Patents by Inventor Andreas Brodt

Andreas Brodt 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
  • Patent number: 11429641
    Abstract: A method, system and computer program product for copying data from a source database to a target database. A first database engine of the source database assigns a data-change-ID to each changed row in the source table. The data rows of the source table are stored in a plurality of source pages. Each source page comprises a source-page-ID and a highest-data-change-ID indicating its most recently changed data row. The target table comprises a source-page-ID-column. A second database engine of the target database maintains a metadata table comprising a source-page-ID column and a highest-data-change-ID column. The highest-data-change-IDs in the metadata table are compared with the highest-data-change-IDs of the source pages for selectively copying source table rows of source pages whose highest-data-change-ID is higher than their highest-data-change-ID in the metadata table to the target table.
    Type: Grant
    Filed: September 30, 2019
    Date of Patent: August 30, 2022
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Bjoern Broll, Daniel Martin, Jens P. Mueller
  • Patent number: 11403266
    Abstract: A method for deleting a row from a table in a database system comprises logically deleting the row in the first table in the database system by inserting a key of the row into a corresponding row of a dedicated table in the database system; querying the dedicated table during a query against the first table to identify the corresponding row in the dedicated table; and in response to identifying the corresponding row in the dedicated table, deleting the row from the first table and the corresponding row from the dedicated table as part of query processing during a subsequent query.
    Type: Grant
    Filed: June 4, 2019
    Date of Patent: August 2, 2022
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Oliver Koeth, Daniel Martin, Knut Stolze
  • 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: 11238040
    Abstract: Attribute value information on data blocks of a data table is provided that indicates upper and lower bounds of extreme values for an attribute of the data table. In response to determining that processing of a received data table query involves grouping of records according to a grouping attribute, it is determined whether the attribute value information reflects upper and lower bounds of extreme values of the grouping attribute. If the attribute value information indicates the upper and lower bounds of extreme values of the grouping attribute, a scan list is determined that defines which data blocks are to be scanned in a determined scan order. A set of distinct value ranges of the grouping attribute is determined based on the scan order, the data blocks are scanned using the scan list, and the query is processed.
    Type: Grant
    Filed: May 28, 2019
    Date of Patent: February 1, 2022
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Andreas Brodt, 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: 11176123
    Abstract: The present disclosure relates to a method for enforcing constraints on data in a data processing system. The method comprises providing a set of constraints on the data. A first data update request may be received at the transactional engine and executes on the first dataset. A second data update request associated with the received data update request is determined and sent by the transactional engine to the analytical engine. The analytical engine executes the second data, resulting in a set of changes in the second dataset. The transactional engine commits the update of the first dataset before or after receiving the results of the checking of the set of constraints. The update on the first dataset is aborted by the transactional engine in response to receiving the results of the checking of the set of constraints, wherein the results indicate that the set of constraints are not met.
    Type: Grant
    Filed: December 10, 2019
    Date of Patent: November 16, 2021
    Assignee: International Business Machines Corporation
    Inventors: Daniel Martin, Andreas Brodt, Oliver Schiller, Felix Beier, Knut Stolze
  • Patent number: 11176171
    Abstract: A computer-implemented method for controlling a system is provided. The system includes a source database and a target database. The system can asynchronously replicate data changes of at least one part of the source database to the target database. This asynchronous replication includes evaluating, by a capture engine, a log of the source database for identifying any un-replicated data changes of the at least one part of the source database, transferring the identified data changes to an apply engine, and applying, by the apply engine, the transferred data changes to the target database.
    Type: Grant
    Filed: January 3, 2020
    Date of Patent: November 16, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andreas Brodt, Einar Lueck, Daniel Martin, Sabine Perathoner-Tschaffler
  • 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: 11138227
    Abstract: A computer-implemented method for computer query processing and/or data-table management in a computer system. The method includes generating a table that exists as a first instance in a first database and as a second instance in a second database. The method includes generating a current replication batch of pooled changes of the first instance that committed at or before a first time. The method includes propagating changes specified in the current replication batch to the second instance. The method includes assigning a batch-ID of the current replication batch to the query. The method includes executing the query on the second instance using the batch-ID as a filter to exclude any changes that have an assigned batch-ID of a replication batch having committed later than the current replication batch. The method includes returning results of the query execution on the second instance.
    Type: Grant
    Filed: June 12, 2019
    Date of Patent: October 5, 2021
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Oliver Koeth, Daniel Martin, Knut Stolze
  • Patent number: 11132388
    Abstract: The present disclosure relates to a method for processing data blocks of a data table. The data blocks comprise an attribute representing multidimensional spatial data objects, where the attribute has multiple values representing respective dimensions of the multidimensional spatial data object. The method comprises creating for each data block of the data blocks, a respective attribute metadata. The attribute metadata comprises attribute value information defining a multidimensional minimum bounding rectangle that covers attribute values of the attribute comprised in the data block. A query is processed on the multidimensional spatial data objects associated with a query area using the multidimensional minimum bounding rectangle to check whether a data block of the data blocks contains attribute values of the attribute in the query area.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: September 28, 2021
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, James L. Finnie, Knut Stolze, Mathias Trumpp
  • Patent number: 11093461
    Abstract: A mechanism is provided for determining distinct values of an attribute in a data table including the attribute and data records stored in a set of data blocks. Attribute value information is provided for each data block that comprises information indicating distinct values of the attribute in the data blocks. At least part of a current data block of the data table is scanned to determine current distinct values of the attribute. The current distinct values of the attribute of the current data block are added to a list of current distinct values of the data table. The scanning and adding are repeatedly performed for a further data block of the data table if the attribute value information of the further data block indicates at least one distinct value that is not present in the list. The list of current distinct values are then provided.
    Type: Grant
    Filed: December 7, 2017
    Date of Patent: August 17, 2021
    Assignee: International Business Machines Corporation
    Inventor: Andreas Brodt
  • 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: 11061899
    Abstract: A mechanism is provided for generating statistical information for query optimization in a data processing system. The mechanism comprises a first database engine maintaining a current first dataset currently being stored, a second database engine maintaining a second dataset. The second dataset is generated from previous first datasets or from the previous first datasets and current first dataset, the previous first datasets being datasets that were previously maintained by the first database engine. The first database engine receives a database query for accessing the first dataset, the database query involving one or more attributes of the first data set. The first database engine generates a query execution plan for the database query on the first dataset using collected statistical information on at least the second dataset. The first database engine processes the database query according to the query execution plan.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: July 13, 2021
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Oliver Draese, Ruiping Li, Daniel Martin
  • Patent number: 11048701
    Abstract: A mechanism is provided for generating statistical information for query optimization in a data processing system. The mechanism comprises a first database engine maintaining a current first dataset currently being stored, a second database engine maintaining a second dataset. The second dataset is generated from previous first datasets or from the previous first datasets and current first dataset, the previous first datasets being datasets that were previously maintained by the first database engine. The first database engine receives a database query for accessing the first dataset, the database query involving one or more attributes of the first data set. The first database engine generates a query execution plan for the database query on the first dataset using collected statistical information on at least the second dataset. The first database engine processes the database query according to the query execution plan.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: June 29, 2021
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Oliver Draese, Ruiping Li, Daniel Martin
  • Patent number: 11036699
    Abstract: A mechanism is provided for determining distinct values of an attribute in a data table including the attribute and data records stored in a set of data blocks. Attribute value information is provided for each data block that comprises information indicating distinct values of the attribute in the data blocks. At least part of a current data block of the data table is scanned to determine current distinct values of the attribute. The current distinct values of the attribute of the current data block are added to a list of current distinct values of the data table. The scanning and adding are repeatedly performed for a further data block of the data table if the attribute value information of the further data block indicates at least one distinct value that is not present in the list. The list of current distinct values are then provided.
    Type: Grant
    Filed: October 20, 2016
    Date of Patent: June 15, 2021
    Assignee: International Business Machines Corporation
    Inventor: Andreas Brodt
  • Patent number: 10936594
    Abstract: A method, a computer program product and a computer system are provided. Attribute value information contains at least a minimum value representing a smallest value of a first attribute and a maximum value representing a largest value of the first attribute, thereby defining a first range of values of the first attribute. A received query against a data table requests one or more values of at least the first attribute that are covered by the first range of values. The attribute value information may be used for selecting a data block of the data table as a candidate potentially including at least part of the requested one or more values and scanning the data block. In response to determining that the data block does not include the one or more requested values, the attribute value information may be updated accordingly.
    Type: Grant
    Filed: January 2, 2018
    Date of Patent: March 2, 2021
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Patent number: 10929400
    Abstract: A method, a computer program product and a computer system are provided. Attribute value information contains at least a minimum value representing a smallest value of a first attribute and a maximum value representing a largest value of the first attribute, thereby defining a first range of values of the first attribute. A received query against a data table requests one or more values of at least the first attribute that are covered by the first range of values. The attribute value information may be used for selecting a data block of the data table as a candidate potentially including at least part of the requested one or more values and scanning the data block. In response to determining that the data block does not include the one or more requested values, the attribute value information may be updated accordingly.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: February 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Andreas Brodt, Namik Hrle, 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