Patents Represented by Attorney Ditthavong & Carlson, P.C.
  • 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: 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: 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: 6424961
    Abstract: An adaptive integration network includes a plurality of interconnected neurons that are configured to fire when their excitation level, which is responsive to weighted input signals, is greater than or equal to a threshold. When two neurons fire in close temporal proximity, the weight of the connection is strengthened. Adaptive learning is induced by increasing the activity of the adaptive integration network, such as by lowering the threshold level.
    Type: Grant
    Filed: December 6, 1999
    Date of Patent: July 23, 2002
    Inventor: Francisco José Ayala
  • 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
  • Patent number: 6370524
    Abstract: Queries having a outer query block enclosing an inner query block, such as a reference to a view or a subquery, with a grouping operator, such as GROUP or DISTINCT, are transformed by merging the inner query block into the outer query block. The FROM clause of the transformed query includes the tables referenced in the FROM clauses of the outer query block and the inner query block. A new GROUP BY clause is created for the outer query block that contains the rowids of tables referenced in the FROM list of the original query and the expressions in the GROUP BY clause of the inner query block. The outer query block can be split if the outer query block also contains a GROUP BY or HAVING clause.
    Type: Grant
    Filed: April 2, 1999
    Date of Patent: April 9, 2002
    Assignee: Oracle Corp.
    Inventor: Andrew Witkowski
  • Patent number: 6353828
    Abstract: Concurrency control for maintenance of materialized view defined as a join on a plurality of base tables is provided by obtaining different types of locks. The base table being updated is locked with one type of lock, and the other base tables of the materialized view is locked with a different type of lock. These lock types are defined so that another process attempting to update another base table simultaneously is blocked until the update on the base table is committed. On the other hand, another process attempting to update the same base table is allowed to perform that update concurrently.
    Type: Grant
    Filed: May 14, 1999
    Date of Patent: March 5, 2002
    Assignee: Oracle Corp.
    Inventors: Amit Ganesh, Andrew Witkowski
  • Patent number: 6327606
    Abstract: A method and computer-readable medium for managing memory for complex objects returned from procedure calls are described. Memory for complex objects returned from procedure calls is allotted from memory pools, which are allocated on a “per-call” basis for complex objects. Complex objects allotted from different memory pools can have overlapping lifetimes. The memory used by the complex object is straightforwardly released by deallocating the memory pool. In one aspect, the memory management of complex objects is located in the called procedures, which may be an automatically generated client stub routine for a remote procedure call.
    Type: Grant
    Filed: June 24, 1998
    Date of Patent: December 4, 2001
    Assignee: Oracle Corp.
    Inventor: Lakshminarayanan Chidambaran
  • Patent number: 6289335
    Abstract: A method and apparatus for fast refreshing a subquery snapshot creates the snapshot based on a first table and a second table according to a snapshot definition query, which contains one or more subqueries. Information about modifications to the first and second tables is stored in first and second log, respectively. When a refresh operation is initiated, the snapshot is refreshed by reconciling differences between the snapshot, the first table and second table according to the snapshot definition query, the first log, the second log, the first table, and the second table.
    Type: Grant
    Filed: June 23, 1997
    Date of Patent: September 11, 2001
    Assignee: Oracle Corporation
    Inventors: Alan Downing, Harry Sun, Ashish Gupta
  • Patent number: 6272503
    Abstract: A database containing datafiles is partitioned into a set of tablespaces. Every disk pointer pointing to a data item in a datafile refers to a tablespace-relative file number for the datafile. Data pointed to by a tablespace-relative disk pointer is retrieved by first checking the cache, and upon a cache miss, the tablespace-relative file number is translated into an absolute file number according to a latch-free look up technique.
    Type: Grant
    Filed: May 30, 1997
    Date of Patent: August 7, 2001
    Assignee: Oracle Corporation
    Inventors: William H. Bridge, Jr., Jonathan D. Klein, J. William Lee, Juan R. Loaiza, Alex Tsukerman, GianFranco Putzolu
  • Patent number: 6253226
    Abstract: Memory for complex objects is maintained in pools of dynamic memory on a “per-duration” basis. Each duration is assigned its own area or areas of the heap, and all the memory allocation for a specific duration comes from those assigned areas of the heap. Memory allocation for a complex object is performed with respect to a single duration and, hence, memory is allotted for the complex object from the corresponding memory pool. When a duration is terminated, the memory allocated for its corresponding heap is freed, thereby releasing memory for all the complex object using the memory from the memory pool for that duration. Management of other resources for complex objects such as opening and closing files may also be duration-based. In one aspect, the memory management of complex objects is located in an automatically generated client stub routine for a remote procedure call.
    Type: Grant
    Filed: June 24, 1998
    Date of Patent: June 26, 2001
    Assignee: Oracle Corporation
    Inventors: Lakshminarayanan Chidambaran, Srinath Krishnaswamy, Joyo Wijaya
  • Patent number: 6240428
    Abstract: An object, such as a relational database table, is partitioned into a plurality of subsets. Selected subsets, e.g. partitions, of the object are exported into a dump file, identifying each exported subset of data by writing a marker in the dump file. Selected subsets are imported from the dump file, by determining whether the marker in the dump file corresponds to the selected subsets, then conditionally importing the data associated with the marker. Objects are repartitioned by exporting the some of the subsets, reconfiguring the object, and importing the exported subsets back into the object.
    Type: Grant
    Filed: October 31, 1997
    Date of Patent: May 29, 2001
    Assignee: Oracle Corporation
    Inventors: Sofia Yeung, Chung Chang
  • Patent number: 6236997
    Abstract: An apparatus and method for accessing foreign processes in a heterogeneous database environment includes a local database server having a heterogeneous services module to selectively send requests to the foreign processes based on their respective capabilities. A client application sending a statement to the local database server is checked by the local server process to determine if the statement includes a reference to a foreign database system, or whether the statement is registered as an external routine. The heterogeneous services module selectively outputs a request to an agent process executing in an address space separate from the local server process and in communication with the foreign database. The agent process performs all necessary interaction with the foreign database, including data type translation.
    Type: Grant
    Filed: June 23, 1997
    Date of Patent: May 22, 2001
    Assignee: Oracle Corporation
    Inventors: Roger Bodamer, Eric Voss, Jacco Draaijer
  • Patent number: 6226649
    Abstract: An apparatus and method for accessing foreign processes in a heterogeneous database environment includes a local database server having heterogeneous services to selectively send requests to the foreign processes based on their respective capabilities. A client application sending a statement to the local database server is checked by the local server process to determine if the statement includes a reference to a foreign database system. The local server process selectively outputs a request to an agent process in communication with a foreign database via a generic Application Programming Interface (API). The request output to the foreign database is based on accessing a capabilities table specifying the operations that can be executed by the foreign database.
    Type: Grant
    Filed: September 3, 1999
    Date of Patent: May 1, 2001
    Assignee: Oracle Corporation
    Inventors: Roger Bodamer, Jacco Draaijer, Eric Voss, Raghu Mani
  • Patent number: 6223182
    Abstract: A binary hyperspatial code (BH code) is generated for each row in a table to be partitioned. An intermediate table containing the BH codes and rowids of the original table is created within the database. The intermediate table allows for efficient database operations to be performed to determine how to partition the table without causing the data in the table to go off-line. After the desired partitions have been identified from accessing the intermediate table, the table is subdivided into the desired partitions. In one embodiment, the partitions are stored as index-organized tables index on the BH codes so that rows that are close together (as defined by the BH codes) are likely to be located in the same disk block.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: April 24, 2001
    Assignee: Oracle Corporation
    Inventors: Nipun Agarwal, Linda Feng, Timothy Robertson