Patents by Inventor Oliver Schiller

Oliver Schiller 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: 20190179822
    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: Application
    Filed: February 15, 2019
    Publication date: June 13, 2019
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Publication number: 20190179823
    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: Application
    Filed: February 15, 2019
    Publication date: June 13, 2019
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Patent number: 10296614
    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: December 7, 2016
    Date of Patent: May 21, 2019
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Patent number: 10262002
    Abstract: The disclosure relates to a system comprising a first and a second database engine and a replication module. The replication module replicates changes from a first database maintained by the first engine to a second database maintained by the second engine. The system maps state times and sync times. The state times are specified in a first temporal reference system used by the first engine and the sync times are specified in a second temporal reference system used by the second engine. Each mapped state time and sync time pair indicate an identical state of the first and second database or parts thereof. The system executes a query partially by the first and partially by the second engine and uses the mapping to execute the query by the first and/or second engine on data of a single defined state.
    Type: Grant
    Filed: August 11, 2016
    Date of Patent: April 16, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Daniel Martin, Jens P. Mueller, Oliver Schiller, Knut Stolze
  • Patent number: 10262033
    Abstract: The present disclosure provides a computer implemented method and system for processing queries. The first data table comprises a set of data blocks. Each of the set of data blocks may be assigned respective attribute value information. A query involving a query condition on at least a first attribute of the first data table may be received. And a subset of the set of data blocks to be accessed may be selected based on the query condition and using the attribute value information. Furthermore, a guaranteed bound may be determined for a statistical metric on the first attribute based on at least one of the number of data blocks of the subset of data blocks and the attribute value information of the subset of data blocks. The guaranteed bound for the statistical metric may be used when determining a query execution plan for the received query.
    Type: Grant
    Filed: March 18, 2016
    Date of Patent: April 16, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andreas Brodt, Oliver Schiller, Marc Schwind, Mathias Trumpp
  • Patent number: 10255325
    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: September 21, 2017
    Date of Patent: April 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Patent number: 10248695
    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: May 23, 2016
    Date of Patent: April 2, 2019
    Assignee: International Business Machines Corporation
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Publication number: 20190087156
    Abstract: A computer-implemented method, a system, and a computer program product for sorting a data table by an attribute of the data table is provided. Each data block of the data table is provided with attribute value information being indicative of distinct values and/or ranges of values of the attribute in each of the data blocks of the data table. Distinct ranges and/or distinct values of the attribute of the data table are derived from the attribute value information. For each determined distinct range and/or distinct value, a bucket may be created. For each created bucket, it may be determined, using the attribute value information, which data block of the data table is to be scanned. Each scanned record is distributed to a corresponding bucket. The entries or records in each bucket having more than one record, may be sorted by the attribute.
    Type: Application
    Filed: September 21, 2017
    Publication date: March 21, 2019
    Inventors: Felix Beier, Andreas Brodt, Oliver Schiller, Knut Stolze
  • Publication number: 20190065495
    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: Application
    Filed: August 31, 2017
    Publication date: February 28, 2019
    Inventors: Daniel Martin, Andreas Brodt, Oliver Schiller, Felix Beier, Knut Stolze
  • Publication number: 20190057126
    Abstract: A method for enforcing constraints on a database table. The method includes: storing the database table on an analytical engine of a data processing system. An index is created on the database table on a transactional engine of the data processing system, wherein the database table stored on the analytical engine is scanned for creating the index. A data manipulation statement associated with a set of constraints on the database table is provided. The transactional engine enforces the set of constraints based on the index. In response to the set of constraints being successfully enforced: executing the data manipulation statement on the database table in the analytical engine, and updating the index in the transactional engine accordingly to the data manipulation statement.
    Type: Application
    Filed: August 17, 2017
    Publication date: February 21, 2019
    Inventors: Felix Beier, Andreas Brodt, Daniel Martin, Oliver Schiller, Knut Stolze
  • Patent number: 10210223
    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: October 27, 2015
    Date of Patent: February 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20190026340
    Abstract: A first data table and a second table to be joined is determined. The first data table and the second data table have a join attribute. Data blocks of the first data table are stored on a storage device. An attribute value information for the join attribute for the data block of the first data table is determined. At least one partition for the first data table and the second table is defined using at least he attribute value information on the join attribute. Each partition of the at least one partition has a respective partition range of values of the join attribute. A pair wise partition join is processed on a first partition range of the determined partition ranges.
    Type: Application
    Filed: September 21, 2018
    Publication date: January 24, 2019
    Inventors: Thomas Boehme, Andreas Brodt, Oliver Koeth, Oliver Schiller
  • Patent number: 10180946
    Abstract: The disclosure relates to a system comprising a first and a second database engine and a replication module. The replication module replicates changes from a first database maintained by the first engine to a second database maintained by the second engine. The system maps state times and sync times. The state times are specified in a first temporal reference system used by the first engine and the sync times are specified in a second temporal reference system used by the second engine. Each mapped state time and sync time pair indicate an identical state of the first and second database or parts thereof. The system executes a query partially by the first and partially by the second engine and uses the mapping to execute the query by the first and/or second engine on data of a single defined state.
    Type: Grant
    Filed: November 9, 2017
    Date of Patent: January 15, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andreas Brodt, Daniel Martin, Jens P. Mueller, Oliver Schiller, Knut Stolze
  • Publication number: 20180293250
    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: Application
    Filed: June 12, 2018
    Publication date: October 11, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Publication number: 20180293251
    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: Application
    Filed: June 12, 2018
    Publication date: October 11, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Publication number: 20180260439
    Abstract: Attribute value information on data blocks, of a data table with multiple data blocks, is provided that indicates upper and lower bounds of extreme values for at least one attribute of the data table. In response to determining that processing of a received data table query involves grouping of records with respect 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 of the data table are to be scanned and a scan order is determined. 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: Application
    Filed: March 7, 2017
    Publication date: September 13, 2018
    Inventors: Felix O. Beier, Andreas Brodt, Oliver Schiller
  • Patent number: 10025511
    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: August 9, 2016
    Date of Patent: July 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Publication number: 20180157694
    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: Application
    Filed: December 7, 2016
    Publication date: June 7, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Publication number: 20180150502
    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: Application
    Filed: January 26, 2018
    Publication date: May 31, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Alexander Lang, Oliver Schiller
  • Publication number: 20180129675
    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: Application
    Filed: January 4, 2018
    Publication date: May 10, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Oliver Koeth, Oliver Schiller