Patents by Inventor Richard S. Sidle

Richard S. Sidle 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).

  • Publication number: 20190197031
    Abstract: In updating a synopsis table of a database system, a database management unit performs a transaction to insert row(s) in a section of the base table and determines whether a synopsis entry for the section is stored in the memory. If stored in the memory, the in-memory synopsis entry is retrieved and metadata values in the in-memory synopsis entry are updated with data from the row(s) to be inserted. If not stored in the memory, the in-memory synopsis entry is generated and the metadata values in the in-memory synopsis entry are updated with data from the row(s). The insert transaction is then committed. Synopsis entry on-disk updates are thus avoided, significantly reducing the cost of updating the synopsis entries from the insert transaction. This yields enhanced performance especially for inserts of a small number of rows, while the benefits of synopsis entries are still available.
    Type: Application
    Filed: February 28, 2019
    Publication date: June 27, 2019
    Inventors: James L FINNIE, Sam S LIGHTSTONE, Richard S SIDLE, Adam J. STORM
  • Patent number: 10303791
    Abstract: A method includes joining data between at least two data sets. Values of one or more join attributes of each of the data sets is represented in a compressed form, indicated by an encoding scheme. A compression scheme for the one or more join attributes is dynamically selected.
    Type: Grant
    Filed: March 20, 2015
    Date of Patent: May 28, 2019
    Assignee: International Business Machines Corporation
    Inventors: Gopi K. Attaluri, Ronald J. Barber, Naresh K. Chainani, Guy M. Lohman, Ippokratis Pandis, Vijayshankar Raman, Richard S. Sidle
  • Patent number: 10296619
    Abstract: A system joins predicate evaluated column bitmaps having varying lengths. The system includes a column unifier for querying column values with a predicate generating an indicator bit for each of the column values that is then joined with the respective column value. The system also includes a bitmap generator for creating a column-major linear bitmap from the column values and indicator bits. The column unifier also determines an offset between adjacent indicator bits. The system also includes a converter for multiplying the column-major linear bitmap with a multiplier to shift the indicator bits into consecutive positions in the linear bitmap.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: May 21, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ronald J Barber, Min-Soo Kim, Jae Gil Lee, Sam S Lightstone, Guy M Lohman, Lin Qiao, Vijayshankar Raman, Richard S Sidle
  • Patent number: 10275481
    Abstract: In updating a synopsis table of a database system, a database management unit performs a transaction to insert row(s) in a section of the base table and determines whether a synopsis entry for the section is stored in the memory. If stored in the memory, the in-memory synopsis entry is retrieved and metadata values in the in-memory synopsis entry are updated with data from the row(s) to be inserted. If not stored in the memory, the in-memory synopsis entry is generated and the metadata values in the in-memory synopsis entry are updated with data from the row(s). The insert transaction is then committed. Synopsis entry on-disk updates are thus avoided, significantly reducing the cost of updating the synopsis entries from the insert transaction. This yields enhanced performance especially for inserts of a small number of rows, while the benefits of synopsis entries are still available.
    Type: Grant
    Filed: October 11, 2016
    Date of Patent: April 30, 2019
    Assignee: International Business Machines Corporation
    Inventors: James L. Finnie, Sam S Lightstone, Richard S Sidle, Adam J. Storm
  • Patent number: 10229141
    Abstract: In one embodiment, a method includes adding, by a computer processor, two or more compressed columns to one or more pages of a database. The adding is performed in parallel by a plurality of page-formatter threads. Each page-formatter thread adds data to the database from no more than a single compressed column.
    Type: Grant
    Filed: March 20, 2018
    Date of Patent: March 12, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ying-Pong Chen, Christina M. Lee, Antti-Pekka Liedes, Sam S. Lightstone, Marko Milek, Vijayshanker Raman, Richard S. Sidle, Jussi Vuorento, Li Zhou
  • Patent number: 10176224
    Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
  • Patent number: 10176205
    Abstract: Provided are techniques for using parallel inserts to insert into a column store. A list of sub-ranges for a columnar table is created. A change statement for one or more rows to be inserted into the columnar table is received. For each of the received change statements, a sub-range from the list of sub-ranges is identified and data is serially inserted into the identified sub-range of the columnar table, while allowing parallel processing of each change statement for different sub-ranges of the columnar table.
    Type: Grant
    Filed: August 3, 2016
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Walter D. Alvey, Chandrasekaran Mohan, Steven R. Pearson, James J. Seeger, Jr., Richard S. Sidle, Adam J. Storm, Roger L. Q. Zheng
  • Patent number: 10176223
    Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
  • Publication number: 20180336236
    Abstract: A method includes performing, by a data structure processor, concurrent read and write operations into a hierarchical data structure that includes a mutable tier including extendible hashing, a hash table, and an immutable tier including a concise hash table (CHT) bitmap. Writers acquire latches on the hierarchical data structure elements that the latches modify. The hierarchical data structure elements are directly accessed by readers without acquiring latches. A modify operation is executed by a writer for one or more levels of the hierarchical data structure. When removed portions of the hierarchical data structure are no longer referenced, tracking is performed by use of a combination of a global state value and a copied local state value.
    Type: Application
    Filed: July 27, 2018
    Publication date: November 22, 2018
    Inventors: Ronald J. Barber, Viktor Leis, Guy M. Lohman, Vijayshankar Raman, Richard S. Sidle
  • Patent number: 10133760
    Abstract: A hardware accelerator includes a bitmap processor that processes a bitmap structure for multiple list population. A population count processor processes population counts for data and aggregates the population counts. The bitmap data structure includes bitmap bit fields interleaved with aggregated population count fields.
    Type: Grant
    Filed: January 12, 2015
    Date of Patent: November 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Richard S. Sidle
  • Patent number: 10108653
    Abstract: A method includes performing, by a data structure processor, concurrent read and write operations into a hierarchical data structure. Writers acquire latches on the hierarchical data structure elements that the latches modify. The hierarchical data structure elements are directly accessed by readers without acquiring latches. A modify operation is executed by a writer for one or more levels of the hierarchical data structure. When removed portions of the hierarchical data structure are no longer referenced, tracking is performed by use of a combination of a global state value and a copied local state value. The global state value transitions through a non-repeating sequence of values. No longer referenced portions of the hierarchical data structure are tagged with the current global state value.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: October 23, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ronald J. Barber, Viktor Leis, Guy M. Lohman, Vijayshankar Raman, Richard S. Sidle
  • Patent number: 10108667
    Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.
    Type: Grant
    Filed: March 7, 2016
    Date of Patent: October 23, 2018
    Assignee: International Business Machines Corporation
    Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
  • Patent number: 10083203
    Abstract: A first request may be received to update a first set of values. The first set of values may be stored at a first location within a first data page of a database. The first location may be read-only. In response to the receiving of the first request, a first set of records may be inserted into a second data page. The first set of records may include the update of the first set of values. In response to the inserting, a forward pointer may be stored in the first data page that points to the first set of records on the second data page. One or more committed values may be identified on the second data page. In response to the identifying, the one or more committed values may be merged from the second data page to a third data page.
    Type: Grant
    Filed: August 11, 2015
    Date of Patent: September 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ronald J. Barber, Bishwaranjan Bhattacharjee, Guy M. Lohman, Chandrasekaran Mohan, Vijayshankar Raman, Mohammad Sadoghi Hamedani, Richard S. Sidle, Adam J. Storm, Xun Xue
  • Publication number: 20180225329
    Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.
    Type: Application
    Filed: April 24, 2018
    Publication date: August 9, 2018
    Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
  • Publication number: 20180225328
    Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.
    Type: Application
    Filed: April 24, 2018
    Publication date: August 9, 2018
    Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
  • Patent number: 10042873
    Abstract: The embodiments described herein relate to accessing a plurality of data elements. A page of column data is compressed and stored in a format that includes a collection of data elements. A tuple map is stored, and the collection of data elements is indexed via the tuple map. A query is processed based on the compressed page by identifying a set of tuple identifiers mapping to stored data in support of the query. Each tuple identifier corresponds to a location of a respective tuple of the compressed page.
    Type: Grant
    Filed: November 19, 2015
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ronald J. Barber, Sam S. Lightstone, Guy M. Lohman, Lin Qiao, Vijayshankar Raman, Richard S. Sidle
  • Publication number: 20180217899
    Abstract: One embodiment provides a method comprising adjusting a runtime of a dataflow processing environment to operate on multiple batches of objects. The method further comprises pre-allocating one or more vectors of objects, and processing the multiple batches one at a time. The one or more vectors of objects are re-used during processing of each batch.
    Type: Application
    Filed: February 2, 2017
    Publication date: August 2, 2018
    Inventors: Ronald J. Barber, Rene Mueller, Vijayshankar Raman, Richard S. Sidle, Pinar Tozun
  • Publication number: 20180218016
    Abstract: In one embodiment, a method includes adding, by a computer processor, two or more compressed columns to one or more pages of a database. The adding is performed in parallel by a plurality of page-formatter threads. Each page-formatter thread adds data to the database from no more than a single compressed column.
    Type: Application
    Filed: March 20, 2018
    Publication date: August 2, 2018
    Inventors: Ying-Pong Chen, Christina M. Lee, Antti-Pekka Liedes, Sam S. Lightstone, Marko Milek, Vijayshanker Raman, Richard S. Sidle, Jussi Vuorento, Li Zhou
  • Publication number: 20180196860
    Abstract: One embodiment provides a method for efficient representation, access and modification of variable length data objects including converting, by a processor, all object updates into appends. The processor divides each object update into bounded size tokens. The tokens are stored normalized as an anchor and a linked list of fragments, the anchor having a pointer to a linked list of fragments. A fragment comprises a contiguous list of tokens that correspond to the appends.
    Type: Application
    Filed: January 6, 2017
    Publication date: July 12, 2018
    Inventors: Ronald J. Barber, Guy M. Lohman, Vijayshankar Raman, Richard S. Sidle, Pinar Tozun
  • Publication number: 20180196650
    Abstract: One embodiment provides a method for transparent partial object instantiation for object oriented applications including analyzing, by a processor, application code to determine a list of objects. The processor determines a list of accessed fields for each of the objects based on performing analysis for each function in the application code for accessed fields and other functions invoked.
    Type: Application
    Filed: January 6, 2017
    Publication date: July 12, 2018
    Inventors: Ronald J. Barber, Rene Mueller, Vijayshankar Raman, Richard S. Sidle, Pinar Tozun