Patents by Inventor Michael Depledge

Michael Depledge 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: 6266662
    Abstract: A method and apparatus for segmenting bitmaps in a bitmap index is provided. A segmented bitmap includes a plurality of bitmap segments that are used to indicate which records in a body of records that is associated with the segmented bitmap satisfy a particular criteria. Each bitmap segment contains a string of bits that correspond to a corresponding range of records in the body of records. There may be gaps between the ranges represented by the bitmap segments when, for example, the body of records does not contain records in a particular range. For the purposes of retrieval, compression, de-compression, locking and logging, the database system treats each bitmap segment as a distinct data item.
    Type: Grant
    Filed: July 17, 2000
    Date of Patent: July 24, 2001
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Jeffrey I. Cohen, Hakan Jakobsson, Michael Depledge, Alexander C. Ho
  • Patent number: 6205442
    Abstract: A method and apparatus for compressing data is provided. The invention compresses an input bit stream into a compressed output bit stream. The input bit streams are byte aligned and classified. Bytes with all bits set to value zero are classified as gap bytes. Bytes with only one bit set to value one are classified as offset bytes. All other bytes are classified as map bytes. Groups of adjacent bytes are organized into two types of groups. The first type is a gap bit group. A gap map group contains gap bytes and one offset byte. The second type is the gap map group. It contains gap bytes and map bytes. The number of gap bytes in a group is called a gap size. The groups are compressed into four types of atoms. Each type of atom has one control byte, zero or more gap size bytes, and zero or map bytes. A control byte describes the atom. The map bytes in an atom are copies of the map bytes in the control group.
    Type: Grant
    Filed: May 13, 1999
    Date of Patent: March 20, 2001
    Assignee: Oracle Corporation
    Inventors: Jeffrey I. Cohen, Michael Depledge, Hakan Jakobsson, Mark Kremer, Cetin Ozbutun, Quoc Tai Tran
  • Patent number: 6195656
    Abstract: A method and apparatus for segmenting bitmaps in a bitmap index is provided. A segmented bitmap includes a plurality of bitmap segments that are used to indicate which records in a body of records that is associated with the segmented bitmap satisfy a particular criteria. Each bitmap segment contains a string of bits that correspond to a corresponding range of records in the body of records. There may be gaps between the ranges represented by the bitmap segments when, for example, the body of records does not contain records in a particular range. For the purposes of retrieval, compression, de-compression, locking and logging, the database system treats each bitmap segment as a distinct data item.
    Type: Grant
    Filed: May 13, 1999
    Date of Patent: February 27, 2001
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Jeffrey I. Cohen, Hakan Jakobsson, Mark Kremer, Michael Depledge, Quoc Tai Tran, Alexander C. Ho, Julian Hyde
  • Patent number: 6144957
    Abstract: A method and apparatus for processing a query combines the use of different index types to minimize the rows of data that need to be retrieved from a table. A first index is accessed based on a query to produce a first result having a first format, for example a bitmap index outputting a bitmap. A second index, for example a B-tree index, is also accessed based on the query to produce a second result having a second format, for example a sequence of rowids. The first result is converted to a converted result having the second format, and the converted result and the second result are combined to obtain an end result. The end result can then be used to locate data that satisfies the query while minimizing the rows of data that need to be retrieved from a table during the query processing.
    Type: Grant
    Filed: May 13, 1999
    Date of Patent: November 7, 2000
    Assignee: Oracle Corporation
    Inventors: Jeffrey Ira Cohen, Cetin Ozbutun, Hakan Jakobsson, Michael Depledge
  • Patent number: 6141656
    Abstract: A method for performing logical operations on bitmap streams from segmented bitmaps. The logical operations include the AND, OR, and Set Minus operations. One embodiment of the invention performs the logical AND operation on a plurality of bitmap streams by searching for a set of overlapping bitmap segments. The ranges corresponding to the overlap among the overlapping bitmap segments are scanned to generate non-gap results. One embodiment of the invention performs the logical OR operation on a plurality of bitmap streams. To generate a result for a given range, only the bitmap segments overlapping the given range are ORed together. One embodiment of the invention performs a Set Minus between bitmap streams. A set minus is the ANDing of a first condition with the negation of another condition. To generate a set minus result, the ranges corresponding to the gaps in the bitmap associated with the negated condition are ignored.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: October 31, 2000
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Jeffrey I. Cohen, Michael Depledge, Julian Hyde, Hakan Jakobsson, Mark Kremer, Quoc Tai Tran
  • Patent number: 6081800
    Abstract: A method and apparatus for generating and using bitmaps in a database system that employs multi-level identifiers is provided. The generated bitmaps include bits that correspond to the identifiers that have been assigned to existing records, as well as bits that correspond to all intervening multi-level identifiers that have not yet been assigned. Therefore, when new rows are inserted into the table associated with the bitmap, new bits do not have to be inserted into the existing bitmap. When existing rows are deleted, the bits that correspond to the deleted rows are not themselves deleted, but are simply set to a value that indicates that the corresponding row does not satisfy the criteria associated with the bitmap.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: June 27, 2000
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Michael Depledge, Hakan Jakobsson, Mark Kremer, Jeffrey I. Cohen, Quoc Tai Tran, Alexander C. Ho
  • Patent number: 6067540
    Abstract: A method and apparatus for segmenting bitmaps in a bitmap index is provided. A segmented bitmap includes a plurality of bitmap segments that are used to indicate which records in a body of records that is associated with the segmented bitmap satisfy a particular criteria. Each bitmap segment contains a string of bits that correspond to a corresponding range of records in the body of records. There may be gaps between the ranges represented by the bitmap segments when, for example, the body of records does not contain records in a particular range. For the purposes of retrieval, compression, de-compression, locking and logging, the database system treats each bitmap segment as a distinct data item.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: May 23, 2000
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Jeffrey I. Cohen, Hakan Jakobsson, Mark Kremer, Michael Depledge, Quoc Tai Tran, Alexander C. Ho, Julian Hyde
  • Patent number: 5974408
    Abstract: Sort plus operations such as "group by" and "distinct" generally require sorting of the retrieved data before performing the sort plus operation. A method and apparatus is disclosed for executing a query specifying a sort plus operation without performing the sorting operation. To perform the sort plus operation, it is determined whether a sorted source exists that can be used to obtain the data specified in the query. If the sorted source does exist, it is then used to perform the sort plus operation.
    Type: Grant
    Filed: August 4, 1998
    Date of Patent: October 26, 1999
    Assignee: Oracle Corporation
    Inventors: Jeffrey Ira Cohen, Cetin Ozbutun, Michael Depledge, Hakan Jakobsson
  • Patent number: 5963935
    Abstract: A method for combining within memory a limit, a plurality of bitmap streams from bitmaps of indefinite size and number. The bitmap streams are merged into a resulting bitmap which can be used in subsequent logical operations.In order to perform a merge within a memory limit, the method relies on the data compression. When compression by itself may be ineffective, the method produces a resulting bitmap for a reduced range.The ensures the production of a resulting bitmap. When the range is reduced, the method may be repeated to produce a merge for a range beyond the reduced range.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: October 5, 1999
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Jeffrey I. Cohen, Michael Depledge, Julian Hyde, Hakan Jakobsson, Mark Kremer, Quoc Tai Tran
  • Patent number: 5963932
    Abstract: In processing a query, a database server parses a string describing a query into a query representation. The query string is parsed again to generate a replica of the query representation. Various transformations can be applied to the replica in order to reduce the amount of processing for the query. In addition, transformations are applied to the query string before parsing again to produce a transformed query representation. A transformed query representation is selected for processing a query according to an estimated cost of using the query representation.
    Type: Grant
    Filed: April 29, 1997
    Date of Patent: October 5, 1999
    Assignee: Oracle Corporation
    Inventors: Hakan Jakobsson, Michael Depledge, Jeffrey I. Cohen, Cetin Ozbutun
  • Patent number: 5924088
    Abstract: A list of indexes, from which indexes are selected for an index access path, is sorted by number of columns upon which each index is built. From the sorted list of indexes, a set of index access methods is generated in a heuristically ordered set of passes from a given WHERE clause. The index access methods that comprise the index access path are selected from the set of index access methods according to a cost/benefit analysis.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: July 13, 1999
    Assignee: Oracle Corporation
    Inventors: Hakan Jakobsson, Michael Depledge, Cetin Ozbutun, Jeffrey I. Cohen
  • Patent number: 5907297
    Abstract: A method and apparatus for compressing data is provided. The invention compresses an input bit stream into a compressed output bit stream. The input bit streams are byte aligned and classified. Bytes with all bits set to value zero are classified as gap bytes. Bytes with only one bit set to value one are classified as offset bytes. All other bytes are classified as map bytes. Groups of adjacent bytes are organized into two types of groups. The first type is a gap bit group. A gap map group contains gap bytes and one offset byte. The second type is the gap map group. It contains gap bytes and map bytes. The number of gap bytes in a group is called a gap size. The groups are compressed into four types of atoms. Each type of atom has one control byte, zero or more gap size bytes, and zero or map bytes. A control byte describes the atom. The map bytes in an atom are copies of the map bytes in the control group.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: May 25, 1999
    Assignee: Oracle Corporation
    Inventors: Jeffrey I. Cohen, Michael Depledge, Hakan Jakobsson, Cetin Ozbutun
  • Patent number: 5903888
    Abstract: A method and apparatus for processing a query combines the use of different index types to minimize the rows of data that need to be retrieved from a table. A first index is accessed based on a query to produce a first result having a first format, for example a bitmap index outputting a bitmap. A second index, for example a B-tree index, is also accessed based on the query to produce a second result having a second format, for example a sequence of rowids. The first result is converted to a converted result having the second format, and the converted result and the second result are combined to obtain an end result. The end result can then be used to locate data that satisfies the query while minimizing the rows of data that need to be retrieved from a table during the query processing.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: May 11, 1999
    Assignee: Oracle Corporation
    Inventors: Jeffrey Ira Cohen, Cetin Ozbutun, Hakan Jakobsson, Michael Depledge
  • Patent number: 5899988
    Abstract: A method and apparatus provide bitmapped indexing with high granularity locking. Whenever a change is made to a data table upon which a bitmapped index is based, two differential entries are generated and stored as index entries in the bitmapped index. Each differential entry identifies a bit to be flipped in the corresponding bitmap index entry. When applied to corresponding bitmap index entry, the changes are reflected in the appropriate bitmaps. Whenever a bitmap is read from the bitmapped index, any corresponding differential entries are applied so that the resulting bitmap reflects the change made to the data table.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: May 4, 1999
    Assignee: Oracle Corporation
    Inventors: Michael Depledge, Jeffrey I. Cohen, Hakan Jakobsson, Mark Kremer, Cetin Ozbutun, Quoc Tai Tran, Alexander C. Ho
  • Patent number: 5884307
    Abstract: A method and apparatus for updating a segmented bitmapped index to reflect a change made to data upon which the segmented index is based. Change records specifying changes to bitmap segments contained in the segmented bitmapped index are sorted by key value (bitmap segment) and row ID (bit) before being applied to the segmented bitmapped index. When the change records are being applied to the bitmap segment contained in the segmented bitmapped index, the index entry containing the bitmap segment to be updated is locked. If a new bitmap segment must be generated, the index entry covering a row in the data having a row ID less than the row ID of the change is first locked. Then a new index entry is generated, stored in the segmented bitmapped index, and the locked index entry unlocked.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: March 16, 1999
    Assignee: Oracle Corporation
    Inventors: Michael Depledge, Hakan Jakobsson, Cetin Ozbutun, Jeffrey I. Cohen
  • Patent number: 5822748
    Abstract: Sort plus operations such as "group by" and "distinct" generally require sorting of the retrieved data before performing the sort plus operation. A method and apparatus is disclosed for executing a query specifying a sort plus operation without performing the sorting operation. A cost-based optimizer determines at least one execution path where the data is retrieved from a sorted source and the data is processed to satisfy the query without sorting. Execution costs are determined for the respective execution paths, and the execution path having the lowest overall execution cost is selected to process the query.
    Type: Grant
    Filed: February 28, 1997
    Date of Patent: October 13, 1998
    Assignee: Oracle Corporation
    Inventors: Jeffrey Ira Cohen, Cetin Ozbutun, Michael Depledge, Hakan Jakobsson
  • Patent number: 5819251
    Abstract: A system and apparatus is disclosed which stores, retrieves and analyzes relational and non-relational data. An application program provides a data query statement containing both relational and non-relational portions to a relational server. In an embodiment, the query statement is a Structured Query Language ("SQL") CONTAINS stored procedure or CONTAINS function statement. The relational data server then provides the non-relational query to either a text queue or database management language ("DML") queue. A non-relational data server then accesses either the text queue or the DML queue. The non-relational data server obtains pointers to the non-relational data and stores them in a temporary table. The pointers and relational data portion are processed by the relational server to obtain the relational and non-relational data. In an embodiment, the non-relational data server is a text server including an engine, filter, lexer, data storage and word list.
    Type: Grant
    Filed: February 6, 1996
    Date of Patent: October 6, 1998
    Assignee: Oracle Corporation
    Inventors: Mark Kremer, Quoc Tai Tran, Michael Depledge, Santanu Mukhopadhyay, William M. Keese, Behrouz Arbab-Dehkordi
  • Patent number: 5819256
    Abstract: A method and apparatus for processing count queries in a database system is provided. The database server determines whether it is possible for the target data specified in a count query to contain null values. If the target data cannot contain null values, the count query is converted into a count star query. Count star queries are executed by counting the number of records that store the target data without actually reading and evaluating the target data. If an index for the table that stores the target data exists, then the number of records are counted without accessing the table itself by counting record identifiers in the index. If the index is a bitmap index, the number of bits that are set in bitmaps from the index are counted without actually generating record identifiers from the bitmaps. Many processes are used to generate intermediate count values from the bitmaps. The intermediate count values are summed to produce a total count value.
    Type: Grant
    Filed: November 20, 1996
    Date of Patent: October 6, 1998
    Assignee: Oracle Corporation
    Inventors: Cetin Ozbutun, Michael Depledge, Hakan Jakobsson, Jeffrey I. Cohen