Patents by Inventor David Unietis

David Unietis 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: 8413125
    Abstract: A computer is programmed to automatically have multiple sessions update a common counter which is shared therebetween, when interpreting a given method so that system-wide statistics are collected for each method. The single counter is commonly accessed for updating by the respective interpreters in the multiple sessions which are executing the method. The computer is further programmed to asynchronously compile the method (regardless of the state of the multiple sessions), to obtain compiled software in the form of executable machine instructions. Specifically, asynchronous compilation starts dynamically, whenever a method's common multi-session counter satisfies a predetermined condition. Finally, each session is informed when compilation is completed so that the next time the method needs to be run, it is not interpreted and instead the compiled software is executed. The compiled software is kept in a shared memory which is accessible to each session.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: April 2, 2013
    Assignee: Oracle International Corporation
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Patent number: 8341609
    Abstract: A computer is programmed to automatically identify multiple sequences of executable code such that each sequence fits within a page of memory. When the executable code comprising several sequences is loaded into the paged memory, each sequence is placed in its own page. The computer is further programmed to prepare a number of structures which identify a corresponding number of instructions that transfer control between sequences. Each structure identifies at least a control transfer instruction in one sequence and a target in another sequence. When loading the sequences into memory, the structures are used to replace destination addresses of control transfers between sequences with new addresses derived from base addresses of pages that have been allocated in memory to hold the sequences.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: December 25, 2012
    Assignee: Oracle International Corporation
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Patent number: 8037460
    Abstract: Software expressed in an intermediate level language is stored into a database and interpreted in a virtual machine in a database management system. A dynamic compilation process in the database management system asynchronously converts the software into native code when predetermined conditions are met. Thereafter, the compilation process persists the native code into the database. At the time of persisting the native code, the compilation process also stores in the database, an indication of any properties that are used in compilation of the native code. At run time, when the native code needs to be executed, the virtual machine checks if the indication stored in the database matches a new indication of the constants, and if they do the persisted code is executed or else the persisted code is invalidated. The persisted code is also invalidated when a new version of ILL software is stored into the database.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: October 11, 2011
    Assignee: Oracle International Corporation
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Patent number: 7490330
    Abstract: Techniques are provided for instantiating separate Java virtual machines for each session established by a server. Because each session has its own virtual machine, the Java programs executed by the server for each user connected to the server are insulated from the Java programs executed by the server for all other users connected to the server. The separate VM instances can be created and run, for example, in separate units of execution that are managed by the operating system of the platform on which the server is executing. For example, the separate VM instances may be executed either as separate processes, or using separate system threads. Because the units of execution used to run the separate VM instances are provided by the operating system, the operating system is able to ensure that the appropriate degree of insulation exists between the VM instances.
    Type: Grant
    Filed: January 10, 2005
    Date of Patent: February 10, 2009
    Assignee: Oracle International Corporation (OIC)
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
  • Publication number: 20080184212
    Abstract: Software expressed in an intermediate level language is stored into a database and interpreted in a virtual machine in a database management system. A dynamic compilation process in the database management system asynchronously converts the software into native code when predetermined conditions are met. Thereafter, the compilation process persists the native code into the database. At the time of persisting the native code, the compilation process also stores in the database, an indication of any properties that are used in compilation of the native code. At run time, when the native code needs to be executed, the virtual machine checks if the indication stored in the database matches a new indication of the constants, and if they do the persisted code is executed or else the persisted code is invalidated. The persisted code is also invalidated when a new version of ILL software is stored into the database.
    Type: Application
    Filed: January 26, 2007
    Publication date: July 31, 2008
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Publication number: 20080184195
    Abstract: A computer is programmed to automatically identify multiple sequences of executable code such that each sequence fits within a page of memory. When the executable code comprising several sequences is loaded into the paged memory, each sequence is placed in its own page. The computer is further programmed to prepare a number of structures which identify a corresponding number of instructions that transfer control between sequences. Each structure identifies at least a control transfer instruction in one sequence and a target in another sequence. When loading the sequences into memory, the structures are used to replace destination addresses of control transfers between sequences with new addresses derived from base addresses of pages that have been allocated in memory to hold the sequences.
    Type: Application
    Filed: January 26, 2007
    Publication date: July 31, 2008
    Applicant: Oracle International Corporation
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Publication number: 20080184210
    Abstract: A computer is programmed to automatically have multiple sessions update a common counter which is shared therebetweeen, when interpreting a given method so that system-wide statistics are collected for each method. The single counter is commonly accessed for updating by the respective interpreters in the multiple sessions which are executing the method. The computer is further programmed to asynchronously compile the method (regardless of the state of the multiple sessions), to obtain compiled software in the form of executable machine instructions. Specifically, asynchronous compilation starts dynamically, whenever a method's common multi-session counter satisfies a predetermined condition. Finally, each session is informed when compilation is completed so that the next time the method needs to be run, it is not interpreted and instead the compiled software is executed. The compiled software is kept in a shared memory which is accessible to each session.
    Type: Application
    Filed: January 26, 2007
    Publication date: July 31, 2008
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Robert H. Lee, David Unietis, Mark Jungerman
  • Patent number: 7376942
    Abstract: A method and software for managing class variables is described in which a variable-format container for static class variables is provided such that numeric class variables can be accessed directly while other kinds of class variables are accessed via a reference to an object.
    Type: Grant
    Filed: May 8, 2003
    Date of Patent: May 20, 2008
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 7246142
    Abstract: A method for scanning objects as for garbage collection is described that employ an ancillary data structure to describe the format of an object. Specifically, the data structure lists which parts of the object are references and how large each part of the object is. Scanning the object can efficiently occur by stepping through the object and the data structure in parallel.
    Type: Grant
    Filed: May 8, 2003
    Date of Patent: July 17, 2007
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 7158995
    Abstract: A method and software for managing pointers to external objects in a run-time environment are described in which eager external references are provided that allow session memory objects to point directly to certain call memory objects with machine pointers. The eager external references contain enough information to recreate the call memory objects in call memory at the beginning of the call and fix the session memory objects to point to the new locations of the recreated call memory objects.
    Type: Grant
    Filed: April 3, 2003
    Date of Patent: January 2, 2007
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 7093263
    Abstract: A computer-implemented method and software are provided for supporting a platform independent object format for a run-time environment in which a definition of an object in terms of a composition of one or more primitive types and a platform-specific description of the one or more primitive types are accessed. A layout for the object is then generated in a high-order language based on the definition of the object and the platform-specific description.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: August 15, 2006
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
  • Patent number: 7080382
    Abstract: Techniques are provided for accessing an instance of a recreatable object in a shorter-duration memory based on a reference located in a longer-duration memory, where the shorter-duration memory is associated with a call. One technique involves (1) locating, within the shorter-duration memory, a context structure associated with the call; (2) locating an XREF pointers array based on data cached within the context structure; (3) determining whether the XREF pointers array includes a pointer associated with the reference; and (4) if the XREF pointers array includes a pointer associated with the reference, then following the pointer to locate the instance within the shorter-duration memory.
    Type: Grant
    Filed: January 25, 2001
    Date of Patent: July 18, 2006
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Peter Benson
  • Patent number: 7073033
    Abstract: A memory model for a run-time environment is disclosed that includes a process-specific area of memory where objects in call-specific area of memory and session-specific area of memory can be migrated to at the end of a database call. User-specific objects can be then migrated to the session-specific area of memory. In one embodiment, the process-specific area of memory can be saved in a disk file and used to hot start another instance of an application server.
    Type: Grant
    Filed: May 8, 2003
    Date of Patent: July 4, 2006
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 6931642
    Abstract: A method and apparatus for communicating between a called routine written in a first programming language and calling routine written in a second programming language is described. User input specifies an interface of a proxy routine and the interface parameters of the interface. Metadata that is generated establishes a mapping of interface parameters to the routine parameters of the called routine. At least one interface parameter is of a data type not supported in the first programming language. The user input may specify that a first attribute of a particular interface parameter is associated with a first routine parameter of the called routine, and a second attribute of the particular interface parameter is associated with a second routine parameter of the called routine. The metadata maps the first attribute to the first routine parameter, and the second attribute to the second routine parameter.
    Type: Grant
    Filed: January 28, 2003
    Date of Patent: August 16, 2005
    Assignee: Oracle International Corporation
    Inventors: Radhakrishna Hari, David Unietis
  • Patent number: 6931423
    Abstract: An approach is provided for maintaining a write barrier during an assignment operation between a source object and a target object. A source tag is obtained from a first reference to the source object, and a target tag is obtained from a second reference to the target object. The source tag and the target tag are compared, such that if the source tag is in a predetermined relationship with the target tag, then a data structure (e.g., a remember table or exit table) associated with the write barrier is updated in accordance with the assignment operation. In one embodiment, the routine to update the data structure is dispatched from a function table based on a tag value in a header associated with the source object.
    Type: Grant
    Filed: January 9, 2003
    Date of Patent: August 16, 2005
    Assignee: Oracle International Corp.
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Publication number: 20050132368
    Abstract: Techniques are provided for instantiating separate Java virtual machines for each session established by a server. Because each session has its own virtual machine, the Java programs executed by the server for each user connected to the server are insulated from the Java programs executed by the server for all other users connected to the server. The separate VM instances can be created and run, for example, in separate units of execution that are managed by the operating system of the platform on which the server is executing. For example, the separate VM instances may be executed either as separate processes, or using separate system threads. Because the units of execution used to run the separate VM instances are provided by the operating system, the operating system is able to ensure that the appropriate degree of insulation exists between the VM instances.
    Type: Application
    Filed: January 10, 2005
    Publication date: June 16, 2005
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
  • Patent number: 6877161
    Abstract: Efficient address calculation of invariant reference within a run-time environment is attained by a self-relative numeric reference format for run-time storage of references. A self-relative numeric reference format specifies the location of a reference object relative to a pointer to the referencing object as an integer value. The machine pointers and numeric references may be tagged, and a tag assignment is disclosed so that a self-relative numeric reference is generated from machine pointers by calculating a pointer difference, and a machine pointer to the referenced object is generated by adding the self-relative numeric reference to a machine pointer to the referencing object.
    Type: Grant
    Filed: February 11, 1999
    Date of Patent: April 5, 2005
    Assignee: Oracle International Corp.
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 6854114
    Abstract: Techniques are provided for instantiating separate Java virtual machines for each session established by a server. Because each session has its own virtual machine, the Java programs executed by the server for each user connected to the server are insulated from the Java programs executed by the server for all other users connected to the server. The separate VM instances can be created and run, for example, in separate units of execution that are managed by the operating system of the platform on which the server is executing. For example, the separate VM instances may be executed either as separate processes, or using separate system threads. Because the units of execution used to run the separate VM instances are provided by the operating system, the operating system is able to ensure that the appropriate degree of insulation exists between the VM instances.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: February 8, 2005
    Assignee: Oracle International Corp.
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
  • Patent number: 6829761
    Abstract: A method and apparatus for managing a run-time environment is provided for improving performance and scalability of networked computer systems. In one example of the invention, a method starts by loading a class file, the class file specifying a class that includes a static class variable and a static initializer to initialize the static class variable. The static initializer is then invoked to initialize the static class variable. The class and the initialized static class variable are then saved in a second class file. The second class file is then loaded into a shared memory, the second class file including the class and the initialized static class variable.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: December 7, 2004
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson, Mark Jungerman, Scott Meyer, David Rosenberg
  • Patent number: 6782532
    Abstract: A static object system is provided to allow for code for implementing a run-time environment to be automatically generated that is compatible with a high-order systems programming language such as C. In particular, the meta-object system is static, object-oriented, and uses generic functions that can dispatch to an appropriate member function based on the types of one or more arguments. In one embodiment, the generated dispatch code uses a multi-way conditional branch.
    Type: Grant
    Filed: February 29, 2000
    Date of Patent: August 24, 2004
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson, Mark Jungerman, Scott Meyer, David Rosenberg