Patents by Inventor Thomas F. Boehme

Thomas F. Boehme 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: 11687546
    Abstract: Embodiments of the present invention provide a method and system for processing a query on a set of data blocks in analytical databases. The query is on a set of data blocks, having at least one attribute and specifies at least one selection condition on the attribute. The selection condition is associated with at least one selection expression. Attribute value information on each attribute is generated for each data block. Next, a condition is generated on each attribute to negate the selection expression, if the selection expression has a negation operator. Additional conditions are generated for each selection expression that does not contain a negation operation. The attribute value is used to select the positive and negative subsets of data blocks for each condition. Next, a negative subset that does not require processing to evaluate the query is skipped and the positive subsets and the non-skipped negative subsets are processed.
    Type: Grant
    Filed: November 21, 2021
    Date of Patent: June 27, 2023
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20220075774
    Abstract: Embodiments of the present invention provide a method and system for processing a query on a set of data blocks in analytical databases. The query is on a set of data blocks, having at least one attribute and specifies at least one selection condition on the attribute. The selection condition is associated with at least one selection expression. Attribute value information on each attribute is generated for each data block. Next, a condition is generated on each attribute to negate the selection expression, if the selection expression has a negation operator. Additional conditions are generated for each selection expression that does not contain a negation operation. The attribute value is used to select the positive and negative subsets of data blocks for each condition. Next, a negative subset that does not require processing to evaluate the query is skipped and the positive subsets and the non-skipped negative subsets are processed.
    Type: Application
    Filed: November 21, 2021
    Publication date: March 10, 2022
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Patent number: 11188552
    Abstract: Embodiments of the present invention provide a method and system for processing a query on a set of data blocks in analytical databases. The query is on a set of data blocks, having at least one attribute and specifies at least one selection condition on the attribute. The selection condition is associated with at least one selection expression. Attribute value information on each attribute is generated for each data block. Next, a condition is generated on each attribute to negate the selection expression, if the selection expression has a negation operator. Additional conditions are generated for each selection expression that does not contain a negation operation. The attribute value is used to select the positive and negative subsets of data blocks for each condition. Next, a negative subset that does not require processing to evaluate the query is skipped and the positive subsets and the non-skipped negative subsets are processed.
    Type: Grant
    Filed: November 25, 2019
    Date of Patent: November 30, 2021
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Patent number: 11182370
    Abstract: Reorganizing a data table to improve analytical database performance. Attribute value information for data blocks of the data table is determined. One or more queries having respective query predicates involving the attribute may be received and processed. Data blocks having attribute value information matching a query predicate are selected. The selected data blocks are evaluated for the query predicate of the query. For each part of a set of the parts a false positive rate may be determined. The false positive rate may indicate the fraction of data blocks of the selected data blocks of the part, that each contains less than a determined maximum number of rows that satisfy the query predicate. In response to determining the false positive rate, determining a subset of parts including the sorted part that fit into a level of granularity higher than the selected level of granularity and sorting the subset of parts.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: November 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, James L. Finnie, Knut Stolze
  • Patent number: 11151144
    Abstract: A method for sorting a data table is provided. The method may include providing a plurality of attribute value information for each data block of the data table. The method may also include receiving a query requiring a sorting on the first attribute of the data table. The method may further include determining a plurality of sequences of a plurality of data blocks having disjoint value ranges of the first attribute based on the provided plurality of attribute value information. The method may also include, for each determined sequence of the plurality of data blocks, reading a plurality of data, sorting the read plurality of data from each data block, and concatenating the sorted plurality of data from the plurality of data blocks within the determined sequence, thereby providing a sorted plurality of sequences. The method may further include merging the sorted plurality of sequences.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: October 19, 2021
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Patent number: 11074242
    Abstract: A present invention embodiment relates to inserting data to a data table, where the data table has multiple data records and involves at least one organizing attribute. The embodiment defines a set of data blocks having records of the data table and assigns to each data block of the set of data blocks a predefined maximum number of records of the data table or a predefined maximum amount of storage. Data records for each data block of the set of data blocks may be stored on a storage system. Further data records may be sorted based on values of the organizing attribute in the buffered data records. The sorted data records may be written on the storage system in their order. Attribute value information may be determined for the further data blocks for supporting query processing against the data table.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: July 27, 2021
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Patent number: 10915533
    Abstract: The method may include providing a plurality of synopsis techniques for determining a plurality of attribute value information indicative of the at least one attribute. The method may include determining a data characteristic describing the plurality of data rows of the current data block. The method may include selecting, based on the determined data characteristic, at least one synopsis technique of the provided plurality of synopsis techniques suitable for generating the plurality of attribute value information for the at least one attribute of the current data block. The method may include determining the plurality of attribute value information for the at least one attribute of the plurality of data rows of the current data block using the at least one selected synopsis technique. The method may include storing the determined plurality of attribute value information for the current data block to be used for query processing against the data table.
    Type: Grant
    Filed: February 15, 2019
    Date of Patent: February 9, 2021
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Patent number: 10915534
    Abstract: The method may include providing a plurality of synopsis techniques for determining a plurality of attribute value information indicative of the at least one attribute. The method may include determining a data characteristic describing the plurality of data rows of the current data block. The method may include selecting, based on the determined data characteristic, at least one synopsis technique of the provided plurality of synopsis techniques suitable for generating the plurality of attribute value information for the at least one attribute of the current data block. The method may include determining the plurality of attribute value information for the at least one attribute of the plurality of data rows of the current data block using the at least one selected synopsis technique. The method may include storing the determined plurality of attribute value information for the current data block to be used for query processing against the data table.
    Type: Grant
    Filed: February 15, 2019
    Date of Patent: February 9, 2021
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Patent number: 10783115
    Abstract: Sorting and storing a dataset, the dataset comprising at least one attribute. The method includes defining a set of data blocks and assigning to each data block a predefined maximum number of entries or a predefined maximum amount of storage, dividing the dataset into a sequence of multiple sub-datasets each having one value or a range of values of the attribute, wherein each pair of successive sub-datasets of the sequence are non-overlapping or overlapping at their respective extremum value of the attribute, for each sub-dataset of the multiple sub-datasets: in case the sub-dataset fully or partially fits into a data block of the defined data blocks storing the sub-dataset into at least the data block, the sub-dataset that partially fits into the data block comprising a number of entries that is smaller than a predefined maximum threshold.
    Type: Grant
    Filed: June 12, 2018
    Date of Patent: September 22, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Patent number: 10678784
    Abstract: A method, computer program product, and system for processing attribute value information for a data set. The method, computer program product, and system includes receiving a first data query on the data set. The first data query includes a condition on at least one attribute of the data set. While processing the first data query, data blocks containing records of the data set may be scanned. The data blocks contain first data blocks that are full. Attribute value information may be generated for the at least one attribute for the first data blocks. The attribute value information may be stored and a second data query involving a condition on at least one of the at least one attribute may be processed using the stored attribute value information.
    Type: Grant
    Filed: January 4, 2018
    Date of Patent: June 9, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Oliver Koeth, Oliver Schiller
  • Patent number: 10671592
    Abstract: A mechanism is provided for updating attribute value information for a data table. The data table involves a set of attributes. The data table has multiple records associated with multiple data blocks. Attribute value information is associated with each data block of the multiple data blocks. The attribute value information is descriptive of at least one attribute of the set of attributes. A first data block may be marked as modified in response to a delete process for deleting from a first data block of the multiple data blocks a record having at least one attribute value that is used for generating the attribute value information of the first data block. In response to scanning the marked first data block, the attribute value information associated with the first data block may be updated based on the scan results.
    Type: Grant
    Filed: January 26, 2018
    Date of Patent: June 2, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Alexander Lang, Oliver Schiller
  • Patent number: 10664464
    Abstract: A mechanism is provided for updating attribute value information for a data table. The data table involves a set of attributes. The data table has multiple records associated with multiple data blocks. Attribute value information is associated with each data block of the multiple data blocks. The attribute value information is descriptive of at least one attribute of the set of attributes. A first data block may be marked as modified in response to a delete process for deleting from a first data block of the multiple data blocks a record having at least one attribute value that is used for generating the attribute value information of the first data block. In response to scanning the marked first data block, the attribute value information associated with the first data block may be updated based on the scan results.
    Type: Grant
    Filed: October 17, 2016
    Date of Patent: May 26, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Alexander Lang, Oliver Schiller
  • Patent number: 10628425
    Abstract: A method for sorting a data table is provided. The method may include providing a plurality of attribute value information for each data block of the data table. The method may also include receiving a query requiring a sorting on the first attribute of the data table. The method may further include determining a plurality of sequences of a plurality of data blocks having disjoint value ranges of the first attribute based on the provided plurality of attribute value information. The method may also include, for each determined sequence of the plurality of data blocks, reading a plurality of data, sorting the read plurality of data from each data block, and concatenating the sorted plurality of data from the plurality of data blocks within the determined sequence, thereby providing a sorted plurality of sequences. The method may further include merging the sorted plurality of sequences.
    Type: Grant
    Filed: September 21, 2017
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20200089674
    Abstract: Embodiments of the present invention provide a method and system for processing a query on a set of data blocks in analytical databases. The query is on a set of data blocks, having at least one attribute and specifies at least one selection condition on the attribute. The selection condition is associated with at least one selection expression. Attribute value information on each attribute is generated for each data block. Next, a condition is generated on each attribute to negate the selection expression, if the selection expression has a negation operator. Additional conditions are generated for each selection expression that does not contain a negation operation. The attribute value is used to select the positive and negative subsets of data blocks for each condition. Next, a negative subset that does not require processing to evaluate the query is skipped and the positive subsets and the non-skipped negative subsets are processed.
    Type: Application
    Filed: November 25, 2019
    Publication date: March 19, 2020
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Patent number: 10585872
    Abstract: Reorganizing a data table to improve analytical database performance is presented. Attribute value information for data blocks of the data table is determined. One or more queries having respective query predicates involving the attribute may be received and processed. Data blocks having attribute value information matching a query predicate are selected. The selected data blocks are evaluated for the query predicate of the query. For each part of a set of the parts a false positive rate may be determined. The false positive rate may indicate the fraction of data blocks of the selected data blocks of the part, that each contains less than a determined maximum number of rows that satisfy the query predicate. In response to determining for each part of the set of the parts that the determined false positive rates of the part meet a predefined condition sorting the part by the attribute.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: March 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, James L. Finnie, Knut Stolze
  • Patent number: 10552378
    Abstract: Sorting and storing a dataset, the dataset comprising at least one attribute. The method includes defining a set of data blocks and assigning to each data block a predefined maximum number of entries or a predefined maximum amount of storage, dividing the dataset into a sequence of multiple sub-datasets each having one value or a range of values of the attribute, wherein each pair of successive sub-datasets of the sequence are non-overlapping or overlapping at their respective extremum value of the attribute, for each sub-dataset of the multiple sub-datasets: in case the sub-dataset fully or partially fits into a data block of the defined data blocks storing the sub-dataset into at least the data block, the sub-dataset that partially fits into the data block comprising a number of entries that is smaller than a predefined maximum threshold.
    Type: Grant
    Filed: June 12, 2018
    Date of Patent: February 4, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Patent number: 10540361
    Abstract: Embodiments of the present invention provide a method and system for processing a query on a set of data blocks in analytical databases. The query is on a set of data blocks, having at least one attribute and specifies at least one selection condition on the attribute. The selection condition is associated with at least one selection expression. Attribute value information on each attribute is generated for each data block. Next, a condition is generated on each attribute to negate the selection expression, if the selection expression has a negation operator. Additional conditions are generated for each selection expression that does not contain a negation operation. The attribute value is used to select the positive and negative subsets of data blocks for each condition. Next, a negative subset that does not require processing to evaluate the query is skipped and the positive subsets and the non-skipped negative subsets are processed.
    Type: Grant
    Filed: June 9, 2017
    Date of Patent: January 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20190354522
    Abstract: A method for sorting a data table is provided. The method may include providing a plurality of attribute value information for each data block of the data table. The method may also include receiving a query requiring a sorting on the first attribute of the data table. The method may further include determining a plurality of sequences of a plurality of data blocks having disjoint value ranges of the first attribute based on the provided plurality of attribute value information. The method may also include, for each determined sequence of the plurality of data blocks, reading a plurality of data, sorting the read plurality of data from each data block, and concatenating the sorted plurality of data from the plurality of data blocks within the determined sequence, thereby providing a sorted plurality of sequences. The method may further include merging the sorted plurality of sequences.
    Type: Application
    Filed: July 30, 2019
    Publication date: November 21, 2019
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Patent number: 10417237
    Abstract: A method for sorting a data table is provided. The method may include providing a plurality of attribute value information for each data block of the data table. The method may also include receiving a query requiring a sorting on the first attribute of the data table. The method may further include determining a plurality of sequences of a plurality of data blocks having disjoint value ranges of the first attribute based on the provided plurality of attribute value information. The method may also include, for each determined sequence of the plurality of data blocks, reading a plurality of data, sorting the read plurality of data from each data block, and concatenating the sorted plurality of data from the plurality of data blocks within the determined sequence, thereby providing a sorted plurality of sequences. The method may further include merging the sorted plurality of sequences.
    Type: Grant
    Filed: May 24, 2016
    Date of Patent: September 17, 2019
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20190243814
    Abstract: Reorganizing a data table to improve analytical database performance. Attribute value information for data blocks of the data table is determined. One or more queries having respective query predicates involving the attribute may be received and processed. Data blocks having attribute value information matching a query predicate are selected. The selected data blocks are evaluated for the query predicate of the query. For each part of a set of the parts a false positive rate may be determined. The false positive rate may indicate the fraction of data blocks of the selected data blocks of the part, that each contains less than a determined maximum number of rows that satisfy the query predicate. In response to determining the false positive rate, determining a subset of parts including the sorted part that fit into a level of granularity higher than the selected level of granularity and sorting the subset of parts.
    Type: Application
    Filed: April 22, 2019
    Publication date: August 8, 2019
    Inventors: Thomas F. Boehme, Andreas Brodt, James L. Finnie, Knut Stolze