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: 20180121495
    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: Application
    Filed: January 2, 2018
    Publication date: May 3, 2018
    Inventors: Felix O. Beier, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Publication number: 20180113900
    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: Application
    Filed: October 26, 2016
    Publication date: April 26, 2018
    Inventors: Felix O. Beier, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Publication number: 20180107701
    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: October 17, 2016
    Publication date: April 19, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Alexander Lang, Oliver Schiller
  • Patent number: 9934272
    Abstract: A method for processing a database query on a database system includes receiving the database query at the database system, determining a sequence of database operations for processing the database query, estimating a number of incoming data elements of the database system to be processed for each of the database operations, estimating a workload of a programmable integrated circuit of the database system for each of the database operations based on the estimated number of incoming data elements, assuming each of the database operations is performed in a single instantiation, selecting a number of instantiations Ni for a database operation i of the sequence of database operations based on the estimated workload of the programmable integrated circuit for the database operation i, and configuring the programmable integrated circuit to execute the determined sequence of database operations, the database operation i is instantiated Ni times.
    Type: Grant
    Filed: October 22, 2015
    Date of Patent: April 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Florian Braun, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20180067962
    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: Application
    Filed: November 9, 2017
    Publication date: March 8, 2018
    Inventors: Andreas Brodt, Daniel Martin, Jens P. Mueller, Oliver Schiller, Knut Stolze
  • Publication number: 20180046643
    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: Application
    Filed: August 11, 2016
    Publication date: February 15, 2018
    Inventors: Andreas Brodt, Daniel Martin, Jens P. Mueller, Oliver Schiller, Knut Stolze
  • Publication number: 20180011906
    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: September 21, 2017
    Publication date: January 11, 2018
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Publication number: 20180011907
    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: September 21, 2017
    Publication date: January 11, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20180011923
    Abstract: The method may include providing, in accordance with a column-oriented storage technique, the data table as columns corresponding to the plurality of attributes, whereby each column includes a plurality of separate data blocks. The method may also include determining the plurality of records of the provided data table for which a plurality of attribute values of at least one selected column is contained in a plurality of predetermined data blocks. The method may further include determining, for each column of at least a part of the plurality of columns within the determined plurality of records, a plurality of attribute value information descriptive of an associated attribute within the column and providing an indication of the one or more data blocks for which the plurality of attribute value information is determined. The method may also include storing the determined plurality of attribute value information for enabling query processing.
    Type: Application
    Filed: September 21, 2017
    Publication date: January 11, 2018
    Inventors: Thomas F. Boehme, Andreas Brodt, James L. Finnie, Oliver Schiller
  • Patent number: 9852141
    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 5, 2016
    Date of Patent: December 26, 2017
    Assignee: International Business Machines Corporation
    Inventors: Thomas F. Boehme, Andreas Brodt, Namik Hrle, Oliver Schiller
  • Publication number: 20170344608
    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: May 24, 2016
    Publication date: November 30, 2017
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20170337210
    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: May 18, 2016
    Publication date: November 23, 2017
    Inventors: Thomas F. Boehme, Andreas Brodt, Oliver Koeth, Oliver Schiller
  • Publication number: 20170337245
    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: May 23, 2016
    Publication date: November 23, 2017
    Inventors: Felix O. Beier, Thomas F. Boehme, Andreas Brodt, Oliver Schiller
  • Publication number: 20170323003
    Abstract: The method may include providing, in accordance with a column-oriented storage technique, the data table as columns corresponding to the plurality of attributes, whereby each column includes a plurality of separate data blocks. The method may also include determining the plurality of records of the provided data table for which a plurality of attribute values of at least one selected column is contained in a plurality of predetermined data blocks. The method may further include determining, for each column of at least a part of the plurality of columns within the determined plurality of records, a plurality of attribute value information descriptive of an associated attribute within the column and providing an indication of the one or more data blocks for which the plurality of attribute value information is determined. The method may also include storing the determined plurality of attribute value information for enabling query processing.
    Type: Application
    Filed: May 6, 2016
    Publication date: November 9, 2017
    Inventors: Thomas F. Boehme, Andreas Brodt, James L. Finnie, Oliver Schiller
  • Publication number: 20170293530
    Abstract: Providing snapshot isolation to a database managed by a database management system includes providing a program module to analyze a plurality of database queries directed at a table of the database and generates a view for said table. The table comprises a counter value column and the view is configured to selectively read, upon being called, data records having assigned particular counter values. The program module modifies the view of said table such that the particular counter values comprise counter values generated at moments when the program module received respective write queries which have already committed at the moment of modifying the view, are free of counter values of data records having become outdated by an update statement committed at the moment of modifying the view, and are free of counter values generated by the counter after the moment of modifying the view.
    Type: Application
    Filed: August 1, 2016
    Publication date: October 12, 2017
    Inventors: Andreas Brodt, Daniel Martin, Oliver Schiller, Knut Stolze
  • Publication number: 20170277759
    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: June 9, 2017
    Publication date: September 28, 2017
    Inventors: Thomas F. Boehme, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20170270161
    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: Application
    Filed: April 21, 2017
    Publication date: September 21, 2017
    Inventors: Andreas Brodt, Oliver Schiller, Marc Schwind, Mathias Trumpp
  • Publication number: 20170270160
    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: Application
    Filed: March 18, 2016
    Publication date: September 21, 2017
    Inventors: Andreas Brodt, Oliver Schiller, Marc Schwind, Mathias Trumpp
  • Publication number: 20170262500
    Abstract: A method for processing a database query on a database system includes receiving the database query at the database system, determining a sequence of database operations for processing the database query, estimating a number of incoming data elements of the database system to be processed for each of the database operations, estimating a workload of a programmable integrated circuit of the database system for each of the database operations based on the estimated number of incoming data elements, assuming each of the database operations is performed in a single instantiation, selecting a number of instantiations Ni for a database operation i of the sequence of database operations based on the estimated workload of the programmable integrated circuit for the database operation i, and configuring the programmable integrated circuit to execute the determined sequence of database operations, the database operation i is instantiated Ni times.
    Type: Application
    Filed: May 30, 2017
    Publication date: September 14, 2017
    Inventors: Florian Braun, Andreas Brodt, Daniel Martin, Oliver Schiller
  • Publication number: 20170177667
    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: March 8, 2017
    Publication date: June 22, 2017
    Inventors: Thomas Boehme, Andreas Brodt, Oliver Koeth, Oliver Schiller