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: 9720970Abstract: 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: GrantFiled: April 23, 2014Date of Patent: August 1, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Douglas Surber, Jean De Lavarene, Ashok Shivarudraiah, Edward Shirk, Mark Jungerman
-
Publication number: 20140380004Abstract: 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: ApplicationFiled: April 23, 2014Publication date: December 25, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Douglas Surber, Jean De Lavarene, Ashok Shivarudraiah, Edward Shirk, Mark Jungerman
-
Patent number: 8413125Abstract: 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: GrantFiled: January 26, 2007Date of Patent: April 2, 2013Assignee: Oracle International CorporationInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Patent number: 8341609Abstract: 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: GrantFiled: January 26, 2007Date of Patent: December 25, 2012Assignee: Oracle International CorporationInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Patent number: 8037460Abstract: 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: GrantFiled: January 26, 2007Date of Patent: October 11, 2011Assignee: Oracle International CorporationInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Patent number: 7490330Abstract: 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: GrantFiled: January 10, 2005Date of Patent: February 10, 2009Assignee: Oracle International Corporation (OIC)Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
-
Publication number: 20080184195Abstract: 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: ApplicationFiled: January 26, 2007Publication date: July 31, 2008Applicant: Oracle International CorporationInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Publication number: 20080184212Abstract: 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: ApplicationFiled: January 26, 2007Publication date: July 31, 2008Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Publication number: 20080184210Abstract: 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: ApplicationFiled: January 26, 2007Publication date: July 31, 2008Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Robert H. Lee, David Unietis, Mark Jungerman
-
Patent number: 7093263Abstract: 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: GrantFiled: February 25, 2000Date of Patent: August 15, 2006Assignee: Oracle International CorporationInventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 7080382Abstract: 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: GrantFiled: January 25, 2001Date of Patent: July 18, 2006Assignee: Oracle International CorporationInventors: Harlan Sexton, David Unietis, Mark Jungerman, Peter Benson
-
Publication number: 20050132368Abstract: 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: ApplicationFiled: January 10, 2005Publication date: June 16, 2005Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 6854114Abstract: 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: GrantFiled: February 25, 2000Date of Patent: February 8, 2005Assignee: Oracle International Corp.Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 6829761Abstract: 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: GrantFiled: February 25, 2000Date of Patent: December 7, 2004Assignee: Oracle International CorporationInventors: Harlan Sexton, David Unietis, Peter Benson, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 6782532Abstract: 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: GrantFiled: February 29, 2000Date of Patent: August 24, 2004Assignee: Oracle International CorporationInventors: Harlan Sexton, David Unietis, Peter Benson, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 6760825Abstract: 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: GrantFiled: February 29, 2000Date of Patent: July 6, 2004Assignee: Oracle International CorporationInventors: Harlan Sexton, David Unietis, Peter Benson, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 6564223Abstract: 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: GrantFiled: September 30, 1999Date of Patent: May 13, 2003Assignee: Oracle Corp.Inventors: Harlan Sexton, David Unietis, Mark Jungerman
-
Patent number: 6499095Abstract: 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: GrantFiled: February 11, 1999Date of Patent: December 24, 2002Assignee: Oracle Corp.Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer, David Rosenberg
-
Patent number: 6434685Abstract: 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: GrantFiled: February 11, 1999Date of Patent: August 13, 2002Assignee: Oracle Corp.Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Scott Meyer
-
Publication number: 20010047436Abstract: 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: ApplicationFiled: January 25, 2001Publication date: November 29, 2001Inventors: Harlan Sexton, David Unietis, Mark Jungerman, Peter Benson