Patents by Inventor Mark Jungerman

Mark Jungerman 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: 9720970
    Abstract: A system and method for efficient storage and retrieval of fragmented data using a pseudo linear dynamic byte array is provided. In accordance with an embodiment, the system comprises a database driver which provides access by a software application to a database. The database driver uses a dynamic byte array to enable access by the application to data in the database, including determining a size of a required data to be stored in memory, and successively allocating and copying the required data into the dynamic byte array as a succession of blocks. The data stored within the succession of blocks can then be accessed and provided to the application.
    Type: Grant
    Filed: April 23, 2014
    Date of Patent: August 1, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Douglas Surber, Jean De Lavarene, Ashok Shivarudraiah, Edward Shirk, Mark Jungerman
  • Publication number: 20140380004
    Abstract: A system and method for efficient storage and retrieval of fragmented data using a pseudo linear dynamic byte array is provided. In accordance with an embodiment, the system comprises a database driver which provides access by a software application to a database. The database driver uses a dynamic byte array to enable access by the application to data in the database, including determining a size of a required data to be stored in memory, and successively allocating and copying the required data into the dynamic byte array as a succession of blocks. The data stored within the succession of blocks can then be accessed and provided to the application.
    Type: Application
    Filed: April 23, 2014
    Publication date: December 25, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Douglas Surber, Jean De Lavarene, Ashok Shivarudraiah, Edward Shirk, Mark Jungerman
  • 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: 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: 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: 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: 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
  • 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: 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
  • Patent number: 6760825
    Abstract: A method and software for managing memory are provided in which objects residing in session memory are formatted so the references contained in the objects are in a machine-independent format, namely, that the references are encoded numerically. An exit table is provided to handle references with session memory that refer to locations in call memory, in which each entry in the exit table is associated with a corresponding reference in session memory and contains a pointer to the location in call memory.
    Type: Grant
    Filed: February 29, 2000
    Date of Patent: July 6, 2004
    Assignee: Oracle International Corporation
    Inventors: Harlan Sexton, David Unietis, Peter Benson, Mark Jungerman, Scott Meyer, David Rosenberg
  • Patent number: 6564223
    Abstract: Lazy evaluation is used for resolving references to recreatable external objects. A recreatable external object is an object whose state can easily be deallocated and later reconstituted or “activated” based on a much smaller sized descriptor. In one embodiment, a run-time external reference is used that specifies an index into a value array that holds the actual reference and a descriptor array. If the value array entry at the index is null, then the corresponding entry in the descriptor array is used to activate the external object and a reference to the activated external object is cached in the value array.
    Type: Grant
    Filed: September 30, 1999
    Date of Patent: May 13, 2003
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman
  • Patent number: 6499095
    Abstract: An invariant numeric reference format is defined in a run-time environment for both run-time and storage use. A numeric reference to an object encodes the location of the object as an integral offset from an implicit machine pointer. In environments where the size of contiguous virtual memory segments is limited, objects are stored in a number of fixed-size contiguous chunks in virtual memory called pages. A page-offset numeric reference includes an offset and a page number, which is used to index a page map that contains a page pointer to the beginning of the page. Page-offset numeric references are dereferenced by adding the offset in the numeric reference to the page pointer obtained from the page map based on the page number in the numeric reference.
    Type: Grant
    Filed: February 11, 1999
    Date of Patent: December 24, 2002
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
  • Patent number: 6434685
    Abstract: In a paged memory system, memory is allocated as pages and aligned on 2N-byte boundaries that are at least as large as the largest page size. Memory management information about the page is stored in a page header at the beginning of the page, while the remaining space of the page is devoted for storing objects. The page header for the page on which at least some of the object is stored is located by masking off the lower N-bits of the machine pointer. These operation can be applied to converting machine pointers into and out of page-offset numeric references.
    Type: Grant
    Filed: February 11, 1999
    Date of Patent: August 13, 2002
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer
  • Publication number: 20010047436
    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: Application
    Filed: January 25, 2001
    Publication date: November 29, 2001
    Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Peter Benson