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: 10880235
    Abstract: 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: Grant
    Filed: April 3, 2018
    Date of Patent: December 29, 2020
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
  • Publication number: 20180227248
    Abstract: 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: Application
    Filed: April 3, 2018
    Publication date: August 9, 2018
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
  • Patent number: 9973446
    Abstract: 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: Grant
    Filed: August 20, 2009
    Date of Patent: May 15, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
  • Publication number: 20130138836
    Abstract: 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: Application
    Filed: August 20, 2009
    Publication date: May 30, 2013
    Applicant: Xsigo Systems
    Inventors: Ariel Cohen, Ashok Krishnamurthi, Viswanath Krishnamurthy, Frank Salzmann, David S. Allison, Cheng Tang
  • Patent number: 7346903
    Abstract: 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: Grant
    Filed: February 4, 2003
    Date of Patent: March 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael S. Ball, Cristina N. Cifuentes, David S. Allison, Liang T. Chen, Ankur Narang
  • Patent number: 7162403
    Abstract: 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: Grant
    Filed: February 14, 2003
    Date of Patent: January 9, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Nasser Nouri, Ping-Chih Wu, Mohamed Soufi, David S. Allison
  • Patent number: 7146601
    Abstract: 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: Grant
    Filed: October 12, 2001
    Date of Patent: December 5, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 7043596
    Abstract: 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: Grant
    Filed: March 29, 2002
    Date of Patent: May 9, 2006
    Assignee: 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: 7028289
    Abstract: 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: Grant
    Filed: October 12, 2001
    Date of Patent: April 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 7003764
    Abstract: 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: Grant
    Filed: October 12, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 6988265
    Abstract: 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: Grant
    Filed: October 12, 2001
    Date of Patent: January 17, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 6988266
    Abstract: 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: Grant
    Filed: May 8, 2001
    Date of Patent: January 17, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: William K. Lam, David S. Allison
  • Patent number: 6961839
    Abstract: 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: Grant
    Filed: February 13, 2003
    Date of Patent: November 1, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 6925640
    Abstract: 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: Grant
    Filed: October 12, 2001
    Date of Patent: August 2, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 6912640
    Abstract: 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: Grant
    Filed: March 14, 2003
    Date of Patent: June 28, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: David S. Allison, Deepankar Bairagi, Jeffrey M. Broughton
  • Publication number: 20040181786
    Abstract: 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: Application
    Filed: March 14, 2003
    Publication date: September 16, 2004
    Inventors: David S. Allison, Deepankar Bairagi, Jeffrey M. Broughton
  • Publication number: 20040162960
    Abstract: 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: Application
    Filed: February 13, 2003
    Publication date: August 19, 2004
    Inventor: David S. Allison
  • Publication number: 20040162717
    Abstract: 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: Application
    Filed: February 14, 2003
    Publication date: August 19, 2004
    Inventors: Nasser Nouri, Ping-Chih Wu, Mohamed Soufi, David S. Allison
  • Publication number: 20040154002
    Abstract: 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: Application
    Filed: February 4, 2003
    Publication date: August 5, 2004
    Inventors: Michael S. Ball, Cristina N. Cifuentes, David S. Allison, Liang T. Chen, Ankur Narang
  • Publication number: 20040049655
    Abstract: 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: Application
    Filed: October 12, 2001
    Publication date: March 11, 2004
    Inventor: David S. Allison