Patents by Inventor David S. Allison
David S. Allison has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10880235Abstract: Provided is a novel approach for connecting servers to peripherals, such as NICs, HBAs, and SAS/SATA controllers. Also provided are methods of arranging peripherals within one or more I/O directors, which are connected to the servers over an Ethernet network. Such arrangement allows sharing the same resource among multiple servers.Type: GrantFiled: April 3, 2018Date of Patent: December 29, 2020Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
-
Publication number: 20180227248Abstract: Provided is a novel approach for connecting servers to peripherals, such as NICs, HBAs, and SAS/SATA controllers. Also provided are methods of arranging peripherals within one or more I/O directors, which are connected to the servers over an Ethernet network. Such arrangement allows sharing the same resource among multiple servers.Type: ApplicationFiled: April 3, 2018Publication date: August 9, 2018Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
-
Patent number: 9973446Abstract: Provided is a novel approach for connecting servers to peripherals, such as NICs, HBAs, and SAS/SATA controllers. Also provided are systems for arranging peripherals within one or more I/O directors, which are connected to the servers over an Ethernet network. Such arrangement allows sharing the same resource among multiple servers.Type: GrantFiled: August 20, 2009Date of Patent: May 15, 2018Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
-
Publication number: 20130138836Abstract: Provided is a novel approach for connecting servers to peripherals, such as NICs, HBAs, and SAS/SATA controllers. Also provided are methods of arranging peripherals within one or more I/O directors, which are connected to the servers over an Ethernet network. Such arrangement allows sharing the same resource among multiple servers.Type: ApplicationFiled: August 20, 2009Publication date: May 30, 2013Applicant: Xsigo SystemsInventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
-
Patent number: 7346903Abstract: A method for compiling a logic design includes inputting a logic design and an input file into a plurality of compilers, respectively, where the logic design comprises a plurality of modules, compiling separately the plurality of modules into a plurality of object files, and linking the plurality of object files to execute the logic design.Type: GrantFiled: February 4, 2003Date of Patent: March 18, 2008Assignee: Sun Microsystems, Inc.Inventors: Michael S. Ball, Cristina N. Cifuentes, David S. Allison, Liang T. Chen, Ankur Narang
-
Patent number: 7162403Abstract: A system for tracing signals for a cycle-based simulation includes a traced signal and a system resources availability information of the cycle-based simulation, a runtime compiler configured to use the system resources availability information to assign a system resource to trace the traced signal, a logic design used with the system resources availability information to generate a simulation image, a first value of the traced signal generated by execution of a simulation image, and a traced signal buffer configured to store the first value and upload the first value.Type: GrantFiled: February 14, 2003Date of Patent: January 9, 2007Assignee: Sun Microsystems, Inc.Inventors: Nasser Nouri, Ping-Chih Wu, Mohamed Soufi, David S. Allison
-
Patent number: 7146601Abstract: The present invention provides a method and apparatus by which functions may be derived from other functions in a programming language. A function is essentially processed as a class, except that the object is automatically destructed after the final line of code is executed. In one or more embodiments of the present invention, a function has the ability to inherit from a superfunction. Inheritance in this context means that all functions in the hierarchy execute in order from the lowest level superfunction to the derived function invoked by the calling statement. Further, the derived function has access to all nonprivate methods and variables defined in the superfunctions. All functions in the hierarchy remain instantiated until the derived function has executed. At this point, the functions are destructed in reverse hierarchical order. If a function in the hierarchy enters an error condition, the execution process is halted.Type: GrantFiled: October 12, 2001Date of Patent: December 5, 2006Assignee: Sun Microsystems, Inc.Inventor: David S. Allison
-
Patent number: 7043596Abstract: A method and apparatus for computation is provided. A main cluster crossbar is connected to a plurality of statically scheduled routing processors. A first sub-cluster crossbar is associated with a first one of the plurality of statically scheduled routing processors where the first sub-cluster crossbar is connected to a first plurality of execution processors. A second sub-cluster crossbar is associated with a second one of the plurality of statically scheduled routing processors where the second sub-cluster crossbar is connected to a second plurality of execution processors.Type: GrantFiled: March 29, 2002Date of Patent: May 9, 2006Assignee: Sun Microsystems, Inc.Inventors: Thomas M. McWilliams, Jeffrey B. Rubin, Michael W. Parkin, Oyekunle A. Olukotun, Derek E. Pappas, Jeffrey M. Broughton, David R. Emberson, David S. Allison, Ashley N. Saulsbury, Earl T. Cohen, Nyles I. Nettleton, James B. Burr, Liang T. Chen
-
Patent number: 7028289Abstract: The present invention provides a method and apparatus for implementation of an input/output stream operator in a dynamically typed language. This operator is built into the language, and allows a value of one type to be streamed to a value of another type by taking the form fromvalue?tovalue. Since the programming language is dynamic, the type of values on either side of the ? operator is of any supported type, and can be modified depending upon the type of operands. For example, a value of any type can be streamed to a value of type “stream”. In this instance, the destination value is attached to, for example, a device such as a terminal or disk drive. A value of type “stream” can also be streamed into a value of any type. In this instance an external source is inputted, for example, into a program.Type: GrantFiled: October 12, 2001Date of Patent: April 11, 2006Assignee: Sun Microsystems, Inc.Inventor: David S. Allison
-
Patent number: 7003764Abstract: The present invention provides a method and apparatus for the lexical analysis of computer source code. The lexical analyzer is dynamically configured at runtime to recognize a one or more reserved words or operators. Thus, the analyzer has the ability to interact with multiple languages. In one or more embodiments of the present invention, the analyzer is instantiated by a host application, for example, the parser of a compiler. The host application adds a list of tokens to the analyzer that must be recognized. These tokens comprise at least a subset of the reserved words and operators of the computer language. In one embodiment, the host application then queries the analyzer for the next token in the source code. In another embodiment, tokens are added during the query phase as needed. In a separate embodiment, tokens are dynamically removed from the analyzer as the needs of the host application change.Type: GrantFiled: October 12, 2001Date of Patent: February 21, 2006Assignee: Sun Microsystems, Inc.Inventor: David S. Allison
-
Patent number: 6988265Abstract: The present invention provides a method and apparatus for statement boundary detection. In one embodiment of the present invention, a parser determines a natural end of a statement, where possible, based upon the context of the input stream and the syntax of the programming language. Thus, no statement terminator is necessary when a natural end to a statement is determined. The parser uses the natural end of a statement to terminate one statement and begin parsing another statement. In one embodiment, a special statement termination token is required to terminate a statement when no natural statement end exists. In another embodiment, a special statement termination token can be used to terminate a statement when a natural end of the statement exists.Type: GrantFiled: October 12, 2001Date of Patent: January 17, 2006Assignee: Sun Microsystems, Inc.Inventor: David S. Allison
-
Patent number: 6988266Abstract: A system and method for processing a variable looping statement into a constant looping statement to enable loop unrolling. A lower bound and an upper bound of the loop index within the variable looping statement are determined. A constant looping statement is then formed using the lower bound and upper bound to define a range over which the loop index varies within the constant looping statement. The constant looping statement further includes a conditional statement that reflects conditions in the initial expression and/or the exit expression of the variable looping statement. The conditional statement controls execution of the body of the generated constant looping statement, which includes the body from the original variable looping statement. Loop unrolling may then be performed on the generated constant looping statement.Type: GrantFiled: May 8, 2001Date of Patent: January 17, 2006Assignee: Sun Microsystems, Inc.Inventors: William K. Lam, David S. Allison
-
Patent number: 6961839Abstract: A system for generating native code of a software application includes a page table indexing a plurality of pages using a page pointer, wherein the page pointer includes an address of at least one of the plurality of pages, a memory cache including a page table cache and a page cache, and a statically-generated executable code to obtain data on at least one of the plurality of pages using the memory cache.Type: GrantFiled: February 13, 2003Date of Patent: November 1, 2005Assignee: Sun Microsystems, Inc.Inventor: David S. Allison
-
Patent number: 6925640Abstract: Embodiments of the present invention are directed to a method and apparatus for extending a program element in a dynamically typed programming language. In one embodiment, a program element is extended without altering the source code defining the program element. An extend structure is used to extend a program element in a particular program. In one embodiment, the program element is a function. The function is extended by adding code to be executed by the function. In another embodiment, the program element is an enumeration. The enumeration is extend by adding additional constants to the enumeration. In another embodiment, the program element is a class. In one embodiment, a class is extended by adding code to the constructor of the class. In another embodiment, a class is extended by adding member variables to the class. In yet another embodiment, a class is extended by adding member functions to the class.Type: GrantFiled: October 12, 2001Date of Patent: August 2, 2005Assignee: Sun Microsystems, Inc.Inventor: David S. Allison
-
Patent number: 6912640Abstract: A method for executing an instruction stream includes partitioning the instruction stream using a partition point to obtain a first partition of the instruction stream and a second partition of the instruction stream, configuring the first partition and the second partition to fit separate e-caches, analyzing the first partition and the second partition to generate a runtime execution facility and a data transfer facility, and executing the first partition and the second partition on separate processors using the runtime execution facility and the data transfer facility.Type: GrantFiled: March 14, 2003Date of Patent: June 28, 2005Assignee: Sun Microsystems, Inc.Inventors: David S. Allison, Deepankar Bairagi, Jeffrey M. Broughton
-
Publication number: 20040181786Abstract: A method for executing an instruction stream includes partitioning the instruction stream using a partition point to obtain a first partition of the instruction stream and a second partition of the instruction stream, configuring the first partition and the second partition to fit separate e-caches, analyzing the first partition and the second partition to generate a runtime execution facility and a data transfer facility, and executing the first partition and the second partition on separate processors using the runtime execution facility and the data transfer facility.Type: ApplicationFiled: March 14, 2003Publication date: September 16, 2004Inventors: David S. Allison, Deepankar Bairagi, Jeffrey M. Broughton
-
Publication number: 20040162960Abstract: A system for generating native code of a software application includes a page table indexing a plurality of pages using a page pointer, wherein the page pointer includes an address of at least one of the plurality of pages, a memory cache including a page table cache and a page cache, and a statically-generated executable code to obtain data on at least one of the plurality of pages using the memory cache.Type: ApplicationFiled: February 13, 2003Publication date: August 19, 2004Inventor: David S. Allison
-
Publication number: 20040162717Abstract: A system for tracing signals for a cycle-based simulation includes a traced signal and a system resources availability information of the cycle-based simulation, a runtime compiler configured to use the system resources availability information to assign a system resource to trace the traced signal, a logic design used with the system resources availability information to generate a simulation image, a first value of the traced signal generated by execution of a simulation image, and a traced signal buffer configured to store the first value and upload the first value.Type: ApplicationFiled: February 14, 2003Publication date: August 19, 2004Inventors: Nasser Nouri, Ping-Chih Wu, Mohamed Soufi, David S. Allison
-
Publication number: 20040154002Abstract: A method for compiling a logic design includes inputting a logic design and an input file into a plurality of compilers, respectively, where the logic design comprises a plurality of modules, compiling separately the plurality of modules into a plurality of object files, and linking the plurality of object files to execute the logic design.Type: ApplicationFiled: February 4, 2003Publication date: August 5, 2004Inventors: Michael S. Ball, Cristina N. Cifuentes, David S. Allison, Liang T. Chen, Ankur Narang
-
Publication number: 20040049655Abstract: The present invention provides a method and apparatus for communication to threads of control through streams. According to one embodiment, the streams are standard stream operators in a dynamically typed language. According to another embodiment, the same mechanism (via streams) used for program input and output of a dynamically typed language is used for communication with running threads. According to yet another embodiment, a thread is assigned 2 streams when it is created. The thread can read from one stream (call it input) and write to the other stream (call it output) using the standard stream operator. Furthermore, a parent thread (a thread that starts a child thread) can also use the 2 streams mentioned above to send and receive data from a child thread using the standard stream operator.Type: ApplicationFiled: October 12, 2001Publication date: March 11, 2004Inventor: David S. Allison