Patents by Inventor Allison L. Holloway

Allison L. Holloway 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: 11966399
    Abstract: Techniques for processing top-K queries are provided. In one technique, a database statement is received that requests top-K results related to a database object and that indicates two columns thereof: a first column by which to partition a result set and a second column by which to order the result set. A buffer is generated. For each of multiple rows in the database object: a first key value that associated with a first value in the first column of said each row is identified; a second key value that associated with a second value in the second column of said each entry is identified; a slot in the buffer is identified based on the first key value and the second key value; and the slot in the buffer may be updated based on the second key value. A response to the database statement is generated based on the buffer.
    Type: Grant
    Filed: October 14, 2022
    Date of Patent: April 23, 2024
    Assignee: Oracle International Corporation
    Inventors: Dennis Lui, Allison L Holloway, Shasank Kisan Chavan
  • Publication number: 20240126760
    Abstract: Techniques for processing top-K queries are provided. In one technique, a database statement is received that requests top-K results related to a database object and that indicates two columns thereof: a first column by which to partition a result set and a second column by which to order the result set. A buffer is generated. For each of multiple rows in the database object: a first key value that associated with a first value in the first column of said each row is identified; a second key value that associated with a second value in the second column of said each entry is identified; a slot in the buffer is identified based on the first key value and the second key value; and the slot in the buffer may be updated based on the second key value. A response to the database statement is generated based on the buffer.
    Type: Application
    Filed: October 14, 2022
    Publication date: April 18, 2024
    Inventors: Dennis Lui, Allison L. Holloway, Shasank Kisan Chavan
  • Publication number: 20230050727
    Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
    Type: Application
    Filed: October 26, 2022
    Publication date: February 16, 2023
    Inventors: Jesse Kamp, Allison L. Holloway, Meichun Hsu, Hideaki Kimura, Boris Klots, Vasudha Krishnaswamy, Kartik Kulkarni, Teck Hua Lee, Yunrui Li, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Garret F. Swart, Shasank K. Chavan, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 11550771
    Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
    Type: Grant
    Filed: October 14, 2020
    Date of Patent: January 10, 2023
    Assignee: Oracle International Corporation
    Inventors: Jesse Kamp, Allison L. Holloway, Meichun Hsu, Hideaki Kimura, Boris Klots, Vasudha Krishnaswamy, Kartik Kulkarni, Teck Hua Lee, Yunrui Li, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Garret F. Swart, Shasank K. Chavan, Tirthankar Lahiri, Juan R. Loaiza
  • Publication number: 20220114153
    Abstract: A shared-nothing database system is provided in which parallelism and workload balancing are increased by assigning the rows of each table to “slices”, and storing multiple copies (“duplicas”) of each slice across the persistent storage of multiple nodes of the shared-nothing database system. When the data for a table is distributed among the nodes of a shared-nothing system in this manner, requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the “primary duplica”. All DML operations (e.g. inserts, deletes, updates, etc.) that target a particular row of the table are performed by the node that has the primary duplica of the slice to which the particular row is assigned. The changes made by the DML operations are then propagated from the primary duplica to the other duplicas (“secondary duplicas”) of the same slice.
    Type: Application
    Filed: October 14, 2020
    Publication date: April 14, 2022
    Inventors: Jesse Kamp, Allison L. Holloway, Meichun Hsu, Hideaki Kimura, Boris Klots, Vasudha Krishnaswamy, Kartik Kulkarni, Teck Hua Lee, Yunrui Li, Aurosish Mishra, Ajit Mylavarapu, Sukhada Pendse, Garret F. Swart, Shasank K. Chavan, Tirthankar Lahiri, Juan R. Loaiza
  • Patent number: 10853371
    Abstract: Techniques related to efficient evaluation of query expressions including grouping clauses are disclosed. Computing device(s) perform a method for aggregating a measure column vector (MCV) according to a plurality of grouping column vectors (GCVs). The MCV and each of the plurality of GCVs may be encoded. The method includes determining a plurality of actual grouping keys (AGKs) and generating a dense identifier (DI) mapping that maps the plurality of AGKs to a plurality of DIs. Each AGK occurs in the plurality of GCVs. Each DI corresponds to a respective workspace. Aggregating the MCV involves aggregating, in each workspace, one or more codes of the MCV that correspond to an AGK mapped to a DI corresponding to the workspace. For a first row of the MCV and the plurality of GCVs, aggregating the one or more codes includes generating a particular grouping key based on codes in the plurality of GCVs.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: December 1, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A. K. Lewis
  • Patent number: 10810208
    Abstract: Techniques related to efficient evaluation of queries with multiple predicate expressions are disclosed. A first predicate expression (PE) is evaluated against a plurality of rows in a first column vector (CV) to determine that a subset of rows does not satisfy the first PE. The subset comprises less than all of the plurality of rows. When a query specifies the first PE in conjunction with a second PE, a selectivity of the first PE is determined. If the selectivity meets a threshold, the second PE is evaluated against all of the plurality of rows in a second CV. If the selectivity does not meet the threshold, the second PE is evaluated against only the subset of rows in the second CV. When a query specifies the first PE in disjunction with the second PE, the second PE may be evaluated against only the subset of rows in the second CV.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: October 20, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A. K. Lewis
  • Patent number: 10789252
    Abstract: Techniques related to efficient evaluation of aggregate functions are disclosed. Computing device(s) may perform a method for aggregating results of performing a multiplication on a first column and a second column of a database table. A first vector stores a subset of values of the first column. A second vector stores a corresponding subset of values of the second column. When it is determined that the first vector has a lower cardinality than the second vector, a third vector stores at least a first distinct value and a second distinct value of the first vector. A first set of one or more values of the second vector is determined, wherein each value of the first set of one or more values corresponds to the first distinct value in the first vector. A first multiplicand is generated based on performing a summation over the first set of one or more values.
    Type: Grant
    Filed: September 12, 2017
    Date of Patent: September 29, 2020
    Assignee: Oracle International Corporation
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A. K. Lewis
  • Patent number: 10229089
    Abstract: A method and apparatus for efficiently processing data in various formats in a single instruction multiple data (“SIMD”) architecture is presented. Specifically, a method to unpack a fixed-width bit values in a bit stream to a fixed width byte stream in a SIMD architecture is presented. A method to unpack variable-length byte packed values in a byte stream in a SIMD architecture is presented. A method to decompress a run length encoded compressed bit-vector in a SIMD architecture is presented. A method to return the offset of each bit set to one in a bit-vector in a SIMD architecture is presented. A method to fetch bits from a bit-vector at specified offsets relative to a base in a SIMD architecture is presented. A method to compare values stored in two SIMD registers is presented.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: March 12, 2019
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Shasank K. Chavan, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Michael J. Gleeson, Allison L. Holloway, Roger Macnicol
  • Patent number: 10204135
    Abstract: Techniques are described for materializing pre-computed results of expressions. In an embodiment, a set of one or more column units are stored in volatile or non-volatile memory. Each column unit corresponds to a column that belongs to an on-disk table within a database managed by a database server instance and includes data items from the corresponding column. A set of one or more virtual column units, and data that associates the set of one or more column units with the set of one or more virtual column units, are also stored in memory. The set of one or more virtual column units includes a particular virtual column unit storing results that are derived by evaluating an expression on at least one column of the on-disk table.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: February 12, 2019
    Assignee: Oracle International Corporation
    Inventors: Aurosish Mishra, Shasank K. Chavan, Allison L. Holloway, Jesse Kamp, Ramesh Kumar, Zhen Hua Liu, Niloy Mukherjee, Amit Ganesh, Tirthankar Lahiri, Vineet Marwah
  • Patent number: 10120895
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Grant
    Filed: January 22, 2018
    Date of Patent: November 6, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jesse Kamp, Amit Ganesh, Vineet Marwah, Vivekanandhan Raja, Tirthankar Lahiri, Allison L. Holloway, Sanket Hase, Shasank K. Chavan, Niloy Mukherjee, Teck Hua Lee, Michael J. Gleeson, Krishna Kunchithapadam
  • Patent number: 10007691
    Abstract: To prioritize repopulation of in-memory compression units (IMCU), a database server compresses, into an IMCU, a plurality of data units from a database table. In response to changes to any of the plurality of data units within the database table, the database server performs the steps of: (a) invalidating corresponding data units in the IMCU; (b) incrementing an invalidity counter of the IMCU that reflects how many data units within the IMCU have been invalidated; (c) receiving a data request that targets one or more of the plurality of data units of the database table; (d) in response to receiving the data request, incrementing an access counter of the IMCU; and (e) determining a priority for repopulating the IMCU based, at least in part, on the invalidity counter and the access counter.
    Type: Grant
    Filed: August 11, 2015
    Date of Patent: June 26, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Michael J. Gleeson, Jesse Kamp, Vineet Marwah, Tirthankar Lahiri, Juan R. Loaiza, Sanket Hase, Niloy Mukherjee, Sujatha Muthulingam, Atrayee Mullick, Allison L. Holloway
  • Publication number: 20180144023
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Application
    Filed: January 22, 2018
    Publication date: May 24, 2018
    Inventors: Jesse Kamp, Amit Ganesh, Vineet Marwah, Vivekanandhan Raja, Tirthankar Lahiri, Allison L. Holloway, Sanket Hase, Shasank K. Chavan, Niloy Mukherjee, Teck Hua Lee, Michael J. Gleeson, Krishna Kunchithapadam
  • Patent number: 9965501
    Abstract: Techniques are provided for more efficiently using the bandwidth of the I/O path between a CPU and volatile memory during the performance of database operation. Relational data from a relational table is stored in volatile memory as column vectors, where each column vector contains values for a particular column of the table. A binary-comparable format may be used to represent each value within a column vector, regardless of the data type associated with the column. The column vectors may be compressed and/or encoded while in volatile memory, and decompressed/decoded on-the-fly within the CPU. Alternatively, the CPU may be designed to perform operations directly on the compressed and/or encoded column vector data. In addition, techniques are described that enable the CPU to perform vector processing operations on the column vector values.
    Type: Grant
    Filed: December 1, 2015
    Date of Patent: May 8, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Lawrence J. Ellison, Amit Ganesh, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Shasank K. Chavan, Michael J. Gleeson, Allison L. Holloway, Manosiz Bhattacharyya
  • Publication number: 20180075113
    Abstract: Techniques related to efficient evaluation of aggregate functions are disclosed. Computing device(s) may perform a method for aggregating results of performing a multiplication on a first column and a second column of a database table. A first vector stores a subset of values of the first column. A second vector stores a corresponding subset of values of the second column. When it is determined that the first vector has a lower cardinality than the second vector, a third vector stores at least a first distinct value and a second distinct value of the first vector. A first set of one or more values of the second vector is determined, wherein each value of the first set of one or more values corresponds to the first distinct value in the first vector. A first multiplicand is generated based on performing a summation over the first set of one or more values.
    Type: Application
    Filed: September 12, 2017
    Publication date: March 15, 2018
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A.K. Lewis
  • Publication number: 20180075096
    Abstract: Techniques related to efficient evaluation of query expressions including grouping clauses are disclosed. Computing device(s) perform a method for aggregating a measure column vector (MCV) according to a plurality of grouping column vectors (GCVs). The MCV and each of the plurality of GCVs may be encoded. The method includes determining a plurality of actual grouping keys (AGKs) and generating a dense identifier (DI) mapping that maps the plurality of AGKs to a plurality of DIs. Each AGK occurs in the plurality of GCVs. Each DI corresponds to a respective workspace. Aggregating the MCV involves aggregating, in each workspace, one or more codes of the MCV that correspond to an AGK mapped to a DI corresponding to the workspace. For a first row of the MCV and the plurality of GCVs, aggregating the one or more codes includes generating a particular grouping key based on codes in the plurality of GCVs.
    Type: Application
    Filed: September 12, 2017
    Publication date: March 15, 2018
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L. Holloway, Sheldon A.K. Lewis
  • Publication number: 20180075105
    Abstract: Techniques related to efficient evaluation of queries with multiple predicate expressions are disclosed. A first predicate expression (PE) is evaluated against a plurality of rows in a first column vector (CV) to determine that a subset of rows does not satisfy the first PE. The subset comprises less than all of the plurality of rows. When a query specifies the first PE in conjunction with a second PE, a selectivity of the first PE is determined. If the selectivity meets a threshold, the second PE is evaluated against all of the plurality of rows in a second CV. If the selectivity does not meet the threshold, the second PE is evaluated against only the subset of rows in the second CV. When a query specifies the first PE in disjunction with the second PE, the second PE may be evaluated against only the subset of rows in the second CV.
    Type: Application
    Filed: September 12, 2017
    Publication date: March 15, 2018
    Inventors: Shasank K. Chavan, Dennis Lui, Allison L Holloway, Sheldon A.K. Lewis
  • Patent number: 9881048
    Abstract: Techniques are provided for maintaining data persistently in one format, but making that data available to a database server in more than one format. For example, one of the formats in which the data is made available for query processing is based on the on-disk format, while another of the formats in which the data is made available for query processing is independent of the on-disk format. Data that is in the format that is independent of the disk format may be maintained exclusively in volatile memory to reduce the overhead associated with keeping the data in sync with the on-disk format copies of the data.
    Type: Grant
    Filed: October 13, 2015
    Date of Patent: January 30, 2018
    Assignee: Oracle International Corporation
    Inventors: Jesse Kamp, Amit Ganesh, Vineet Marwah, Vivekanandhan Raja, Tirthankar Lahiri, Allison L. Holloway, Sanket Hase, Shasank K. Chavan, Niloy Mukherjee, Teck Hua Lee, Michael J. Gleeson, Krishna Kunchithapadam
  • Publication number: 20170300455
    Abstract: A method and apparatus for efficiently processing data in various formats in a single instruction multiple data (“SIMD”) architecture is presented. Specifically, a method to unpack a fixed-width bit values in a bit stream to a fixed width byte stream in a SIMD architecture is presented. A method to unpack variable-length byte packed values in a byte stream in a SIMD architecture is presented. A method to decompress a run length encoded compressed bit-vector in a SIMD architecture is presented. A method to return the offset of each bit set to one in a bit-vector in a SIMD architecture is presented. A method to fetch bits from a bit-vector at specified offsets relative to a base in a SIMD architecture is presented. A method to compare values stored in two SIMD registers is presented.
    Type: Application
    Filed: June 30, 2017
    Publication date: October 19, 2017
    Inventors: Amit Ganesh, Shasank K. Chavan, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Michael J. Gleeson, Allison L. Holloway, Roger Macnicol
  • Patent number: 9792117
    Abstract: A method and apparatus for efficiently processing data in various formats in a single instruction multiple data (“SIMD”) architecture is presented. Specifically, a method to unpack a fixed-width bit values in a bit stream to a fixed width byte stream in a SIMD architecture is presented. A method to unpack variable-length byte packed values in a byte stream in a SIMD architecture is presented. A method to decompress a run length encoded compressed bit-vector in a SIMD architecture is presented. A method to return the offset of each bit set to one in a bit-vector in a SIMD architecture is presented. A method to fetch bits from a bit-vector at specified offsets relative to a base in a SIMD architecture is presented. A method to compare values stored in two SIMD registers is presented.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: October 17, 2017
    Assignee: Oracle International Corporation
    Inventors: Amit Ganesh, Shasank K. Chavan, Vineet Marwah, Jesse Kamp, Anindya C. Patthak, Michael J. Gleeson, Allison L. Holloway, Roger Macnicol