Patents by Inventor Harlan Sexton

Harlan Sexton 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: 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
  • Patent number: 6769116
    Abstract: Memory management routines for a program are instrumented to check if the address of an object they are handling is equal to the value of a predetermined pointer. If the address of the object equals the value of the global pointer, then a debugging routine is called. In a debugger, a breakpoint is placed on the debugging routine, and the program is run until the breakpoint is tripped. At this or one of the later breakpoints, the corrupted memory address is repeatedly inspected until the operation that caused the corruption is executed.
    Type: Grant
    Filed: May 31, 2000
    Date of Patent: July 27, 2004
    Assignee: Oracle International Corporation
    Inventor: Harlan Sexton
  • 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: 6711657
    Abstract: Methods of memory management in a run-time environment are described. A mechanism is provided for registering a routine to deinitialize or deallocate a large object at the end of a call (e.g. by setting it to null to unreference the object), which prevents the large object from being migrated into session memory, e.g. when live objects are migrated at the end of the call. This routine is called after the finalization of garbage collected objects that may use the large object. In a subsequent call, the large object is checked before use to determine if the object is deinitialized and re-initialized if the large object was deinitialized.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: March 23, 2004
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, Peter Benson, Jerry Schwarz
  • Patent number: 6678697
    Abstract: Objects that are managed within a run-time environment are stored on N-bit aligned addresses. Due to the alignment restriction, the N least significant bits of a reference to an object are available for storing information about the storage properties of the object. This information is extractable by fast register operations. The storage properties can include the lifetime, format, and contiguity of the object, or a combination of these properties. If the run-time environment implements a generational garbage collector, the reference tags are used to encode whether or not the object is recently allocated.
    Type: Grant
    Filed: March 22, 2002
    Date of Patent: January 13, 2004
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 6671783
    Abstract: A method and apparatus for referencing unshared memory in a run-time environment is provided. In one example of the invention, a method is provided for accessing a first object in unshared memory referenced by a second object in shared memory. Pages are allocated in a contiguous virtual address space. One of the pages is assigned to unshared memory. At least one of the other pages is assigned to shared memory, the second object having a reference to the first object, the reference being stored one of these other pages. A pointer is masked to the second object to produce a masked pointer. The first object is accessed based on the masked pointer.
    Type: Grant
    Filed: August 17, 2000
    Date of Patent: December 30, 2003
    Assignee: Oracle Corp.
    Inventor: Harlan Sexton
  • Publication number: 20030225740
    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: Application
    Filed: May 8, 2003
    Publication date: December 4, 2003
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Publication number: 20030220931
    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: Application
    Filed: May 8, 2003
    Publication date: November 27, 2003
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Publication number: 20030221080
    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: Application
    Filed: May 8, 2003
    Publication date: November 27, 2003
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Publication number: 20030221022
    Abstract: A method and software for performing data migration is described in which a common data migration driver routine is provided to handle various and disparate kinds of migration operations in a conceptually unified manner. Differences between the migration operations are handled by variations in how the state of the data migration driver routine is initialized, including pointers to low-level routines. Furthermore, a table of actions can be used to direct the basic operation of object copying, external reference created, and object interning.
    Type: Application
    Filed: May 8, 2003
    Publication date: November 27, 2003
    Inventors: Harlan Sexton, Peter Benson
  • Publication number: 20030212656
    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: Application
    Filed: April 3, 2003
    Publication date: November 13, 2003
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 6604182
    Abstract: Methods for managing memory in a run-time environment are described, in which an object is activated by both initializing the object and registering a routine to deallocate or deactivate the object at the end of a call (e.g. by setting it to null to unreference the object), which prevents the object, which may be a large object, from being migrated into session memory. This deactivation routine is called after the finalization of garbage collected objects that may use the object. In a subsequent call, the object is checked before use to determine if the object is already activated and re-initialized if the object is not activated.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: August 5, 2003
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, Peter Benson, Jerry Schwarz
  • Publication number: 20030105772
    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: Application
    Filed: January 9, 2003
    Publication date: June 5, 2003
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • 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