Patents Assigned to Oracle Corp.
  • 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
  • Patent number: 6631386
    Abstract: A version control system is described for use in connection with a database management system to facilitate versioning of a database table, the system including a database table and a version control module. The database table comprises a plurality of records, each record including at least one data field for storing user data and at least some of the records including a version control field including version control information. The version control module is configured to, in response to a user query related to the database table and related to a version, generate an augmented query for processing by the data base management system, the augmented query relating to the user query and the version control information.
    Type: Grant
    Filed: April 22, 2000
    Date of Patent: October 7, 2003
    Assignee: Oracle Corp.
    Inventors: Gopalan Arun, Ramesh Vasudevan, Jayanta Banerjee
  • Patent number: 6631374
    Abstract: A system and method for selectively viewing temporal row data in a consistent read-implemented database are described. Committed transactions effecting row data changes to a database are tracked and a stored system change number is assigned upon each committed transaction. Rollback segments for uncommitted transactions are stored. Each rollback segment stores a transaction identifier and transaction table entries containing ordered row data values reflecting the database changes. The database is transitioned into successive consistent versions responsive to each committed transaction at a journaled commit time. The transaction table entries are maintained for a user-definable retention period following the commit time of each committed transaction. A queried selection of row data values from the database is performed as of a query time occurring prior to the commit time of at least one committed transaction.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: October 7, 2003
    Assignee: Oracle Corp.
    Inventors: Jonathan D. Klein, Amit Ganesh, Juan R. Loaiza, Gary C. Ngai
  • 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
  • Patent number: 6598059
    Abstract: A version control system is described for use in connection with a database management system to facilitate versioning of a database table, the system including a database table and a version control module. The database table comprises a plurality of records, each record including at least one data field for storing user data and at least some of the records including a version control field including version control information. The version control module is configured to, in response to a user query related to the database table and related to a version, generate an augmented query for processing by the data base management system, the augmented query relating to the user query and the version control information.
    Type: Grant
    Filed: April 22, 2000
    Date of Patent: July 22, 2003
    Assignee: Oracle Corp.
    Inventors: Ramesh Vasudevan, Gopalan Arun, Mahesh Girkar
  • Patent number: 6584476
    Abstract: A version control system is described for use in connection with a database management system to facilitate versioning of a database table, the system including a database table and a version control module. The database table comprises a plurality of records, each record including at least one data field for storing user data and at least some of the records including a version control field including version control information. The version control module is configured to, in response to a user query related to the database table and related to a version, generate an augmented query for processing by the data base management system, the augmented query relating to the user query and the version control information.
    Type: Grant
    Filed: April 22, 2000
    Date of Patent: June 24, 2003
    Assignee: Oracle Corp.
    Inventors: Ramkrishna Chatterjee, Ramesh Vasudevan, Gopalan Arun, David Mor
  • 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: 6532479
    Abstract: Replication for front office automation involves the use of snapshots that are instantiated on laptops, in which refreshing the snapshots is driven from a master site with a high-performance protocol. All of the necessary snapshot metadata for performing the snapshot refreshes is stored at the master site, so that the laptop only needs to send a single refresh request. In response to the refresh request, the master site reconciles the differences between the master tables and the laptop's snapshots and transmits the differences to the laptop, reducing the necessary network traffic for updating a snapshot to a single round trip.
    Type: Grant
    Filed: May 28, 1999
    Date of Patent: March 11, 2003
    Assignee: Oracle Corp.
    Inventors: Benny Souder, Alan Robert Downing, Harry Sun, Alan J. Demers, James William Stamos, John C. Graham, Curtis Elsbernd, Mahesh Subramaniam, Wayne E. Smith
  • Patent number: 6529904
    Abstract: Mass deployment of snapshots is fostered by allowing collections of snapshots, called refresh groups, to be defined by a template. The template allows for a parameterized snapshot definition query or other DDL text to be defined, so that user-specific or site-specific values can be substituted into parameters to create different objects. Furthermore, off-line instantiation of snapshots is provided, so that the data for an entire suite of front office applications can be stored on a floppy disk, magnetic disk, CD ROM, or other transportable computer-readable medium.
    Type: Grant
    Filed: May 28, 1999
    Date of Patent: March 4, 2003
    Assignee: Oracle Corp.
    Inventors: Curtis Elsbernd, Benny Souder, Wayne E. Smith
  • 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: 6496830
    Abstract: A method and apparatus is disclosed for implementing descending indexes in a database management system. A key value to be inserted within an index is decomposed into individual data bytes, such as an integer character value, that make up the key value and dictate the location where the key value will be inserted relative to other key values. A first function is applied to the data sequences in order to generate a reversed key value having reversed sorting properties. The reversed key values are then inserted into the index. The resulting index thus contains key values that are sorted in descending order. Additionally, indexes may be created on multiple key columns, with the sub_keys being independently sorted in either ascending or descending order. The present invention also discloses transformations that may be performed by a server in order to properly interpret statements that require the creation of standard or functional indexes in descending order.
    Type: Grant
    Filed: June 11, 1999
    Date of Patent: December 17, 2002
    Assignee: Oracle Corp.
    Inventor: Robert J. Jenkins, Jr.
  • Patent number: 6457000
    Abstract: A method and apparatus is disclosed for allowing access to one or more previously generated rows of data. A server receives a statement that requires delivery of one or more rows of data to a client, and designates a particular row of data as a current row within a generation sequence. As the rows of data are being delivered to the client, the server accesses select previously generated rows of data that has already been delivered to the client without designating a new particular row of data as the current row. Once the previously generated row is accessed, data is retrieved from predetermined columns. The data retrieved may be used to perform various calculations that will insert values into the current row prior to delivery of the current row to the client. The statement transmitted by the client may include various parameters, including a default parameter, that specifies a default value to be used by the server.
    Type: Grant
    Filed: July 29, 1999
    Date of Patent: September 24, 2002
    Assignee: Oracle Corp.
    Inventors: Andrew Witkowski, Bhaskar Ghosh
  • Patent number: 6457019
    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: February 11, 1999
    Date of Patent: September 24, 2002
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, David Unietis, Peter Benson
  • Patent number: 6438541
    Abstract: A query containing an outer join of a view based on a join of two tables is transformed by pushing one or more predicates of the outer join into the view. The pushed predicates provide new access paths and join methods that are used by a database server in generating an access plan to evaluate the view. In one embodiment, costs for processing the original and transformed queries are estimated and the lower cost query is processed.
    Type: Grant
    Filed: February 9, 1999
    Date of Patent: August 20, 2002
    Assignee: Oracle Corp.
    Inventor: Andrew Witkowski
  • 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
  • Patent number: 6401185
    Abstract: A fast division technique is provided to calculate the address of a slot in a paged object, when the slot is located on a different page than the beginning of the object. The fast division technique employs arithmetical-logical operations of shifting and masking, that are faster than most hardware implementations of integer division and modulus, respectively. In one aspect, the use of these operations is facilitated by requiring the page size and the size of the page header to be a power of two.
    Type: Grant
    Filed: May 27, 1999
    Date of Patent: June 4, 2002
    Assignee: Oracle Corp.
    Inventors: Harlan Sexton, David Unietis
  • Patent number: 6377943
    Abstract: Multiple initial orderings of tables are used a multiple starting point in a cost-base, cut-off search for a good ordering of tables in processing a database query that specifies multiple join operations. Multiple heuristics may be used to generate the multiple initial orderings of the tables. The database query is executed with the good ordering of tables.
    Type: Grant
    Filed: January 20, 1999
    Date of Patent: April 23, 2002
    Assignee: Oracle Corp.
    Inventor: HÃ¥kan Jakobsson
  • Patent number: 6374232
    Abstract: An index is built upon on one more columns of a database table. In order to retrieve values from the database table, a block-order scan is performed on the index by sequentially reading one or more units of contiguous blocks of the index. For a B-tree index, branch nodes in the blocks are ignored, but column values from within leaf nodes are retrieved. The column whose values are read can be determined from processing a query that references the column. The index can be partitioned so that the block-order index can be performed on only some of the index. Moreover, the block-order index scan is suitable for a table organized as an index.
    Type: Grant
    Filed: June 24, 1998
    Date of Patent: April 16, 2002
    Assignee: Oracle Corp.
    Inventors: Benoit Dageville, Alexander Channing Ho, Mohammed Zait, Cetin Ozbutin