Patents by Inventor Ian R. Finlay

Ian R. Finlay 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: 10432217
    Abstract: Page filtering in a database using a compression dictionary. A page of a database table is compressed, creating a compression dictionary. The compression dictionary includes entries with a byte sequence from the page and a compression symbol associated with the byte sequence. A part of the compressed page, the compression dictionary, and a page symbol list with compression symbols from the dictionary present in the part of the page, are received. A query having a predicate with a predicate value is received. A predicate symbol list, including symbols in the dictionary whose byte sequences at least partially match the predicate value, is generated. Based on the predicate symbol list and the page symbol list, it is determined that at least one symbol from the predicate symbol list is also present in the part of the page. The query is performed by evaluating the predicate on the part of the page.
    Type: Grant
    Filed: June 28, 2016
    Date of Patent: October 1, 2019
    Assignee: International Business Machines Corporation
    Inventor: Ian R. Finlay
  • Publication number: 20190266159
    Abstract: A computer-implemented method for a partitioned bloom filter merge is provided. A non-limiting example of the computer-implemented method includes partitioning, by a processing device, a bloom filter into N equal size filter partitions. The method further includes distributing, by the processing device, each of the filter partitions to an associated node. The method further includes merging, by the processing device, the filter partitions in each of the associated nodes. The method further includes redistributing, by the processing device, the merged filter partitions to each of the N nodes. The method further includes joining, by the processing device, the merged filter partitions in each of the N nodes to assemble a complete merged bloom filter.
    Type: Application
    Filed: May 9, 2019
    Publication date: August 29, 2019
    Inventors: Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, David Kalmuk, Timothy R. Malkemus, Calisto Zuzarte
  • Patent number: 10372698
    Abstract: The method includes identifying at least one of a minimum value, a maximum value, and a Bloom filter value for a row of data in a metadata table, wherein the metadata table contains metadata corresponding to a row of data in a main table. The method includes adjusting at least one of an identified first minimum value to a second minimum value, an identified first maximum value to a second maximum value, and an identified first Bloom filter value to a second Bloom filter value.
    Type: Grant
    Filed: June 12, 2015
    Date of Patent: August 6, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
  • Patent number: 10366068
    Abstract: The method includes identifying at least one of a minimum value, a maximum value, and a Bloom filter value for a row of data in a metadata table, wherein the metadata table contains metadata corresponding to a row of data in a main table. The method includes adjusting at least one of an identified first minimum value to a second minimum value, an identified first maximum value to a second maximum value, and an identified first Bloom filter value to a second Bloom filter value.
    Type: Grant
    Filed: December 18, 2014
    Date of Patent: July 30, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
  • Patent number: 10331645
    Abstract: Storage regions in a database are associated with respective intervals including first and second interval values indicating a value range for values within that storage region. The first interval values are sorted into an order that determines a scanning order for a data operation on data in the storage regions. The storage regions are scanned in the scanning order to arrange data from the storage regions in at least a partially ordered sequence for the data operation.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: June 25, 2019
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
  • Patent number: 10324918
    Abstract: Storage regions in a database are associated with respective intervals including first and second interval values indicating a value range for values within that storage region. The first interval values are sorted into an order that determines a scanning order for a data operation on data in the storage regions. The storage regions are scanned in the scanning order to arrange data from the storage regions in at least a partially ordered sequence for the data operation.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: June 18, 2019
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
  • Patent number: 10318484
    Abstract: An illustrative embodiment for optimizing scans using a Bloom filter synopsis, defines metadata to encode distinct values in a range of values associated with a particular portion of a managed object in a database management system into a probabilistic data structure of a Bloom filter that stores an indicator, encoded in a fixed size bit map with one or more bits, indicating whether an element of the particular portion of the managed object is a member of a set of values summarized in the Bloom filter using a value of 1 or definitely not in the set using a value of 0. The Bloom filter is compressed to create a compressed Bloom filter. The Bloom filter is added to the metadata associated with the managed object and used when testing for values associated with predicates.
    Type: Grant
    Filed: November 20, 2015
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Jeffrey M. Keller, Adam J. Storm, Calisto P. Zuzarte
  • Publication number: 20190121890
    Abstract: A computer-implemented method for a partitioned bloom filter merge is provided. A non-limiting example of the computer-implemented method includes partitioning, by a processing device, a bloom filter into N equal size filter partitions. The method further includes distributing, by the processing device, each of the filter partitions to an associated node. The method further includes merging, by the processing device, the filter partitions in each of the associated nodes. The method further includes redistributing, by the processing device, the merged filter partitions to each of the N nodes. The method further includes joining, by the processing device, the merged filter partitions in each of the N nodes to assemble a complete merged bloom filter.
    Type: Application
    Filed: October 23, 2017
    Publication date: April 25, 2019
    Inventors: Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, David Kalmuk, Timothy R. Malkemus, Calisto Zuzarte
  • Patent number: 10229359
    Abstract: A computer-implemented method includes receiving an artifact and a problem pattern, transforming the artifact into an abstracted artifact structure, and transforming the problem pattern into a query. The query is matched against the abstracted artifact structure. Any matched portions of the abstracted artifact structure are related back to corresponding result portions of the artifact. The corresponding result portions of the artifact are returned. The method may be embodied in a corresponding computer system or computer program product.
    Type: Grant
    Filed: May 19, 2016
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Piotr Mierzejewski, Nattavut Sutyanyong, Calisto P. Zuzarte
  • Patent number: 10228855
    Abstract: A method for optimizing query compilation by tuning memory across a database cluster is provided. The method may include receiving, by a global memory tuner, memory configuration information from a plurality of nodes within the database cluster. The method may also include determining a node within the plurality of nodes having a least available memory value relative to a remainder of nodes within the plurality of nodes based on the received memory configuration information. The method may then include calculating a globally tuned memory value based on a memory value associated with the determined node. The method may further include determining a memory distribution based on the calculated globally tuned memory value. The method may also include sending the determined memory distribution to the plurality of nodes.
    Type: Grant
    Filed: March 30, 2016
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Gennady Yakub
  • Patent number: 10229358
    Abstract: A computer-implemented method includes receiving an artifact and a problem pattern, transforming the artifact into an abstracted artifact structure, and transforming the problem pattern into a query. The query is matched against the abstracted artifact structure. Any matched portions of the abstracted artifact structure are related back to corresponding result portions of the artifact. The corresponding result portions of the artifact are returned. The method may be embodied in a corresponding computer system or computer program product.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: March 12, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Piotr Mierzejewski, Nattavut Sutyanyong, Calisto P. Zuzarte
  • Publication number: 20180373567
    Abstract: A method, computer system, and a computer program product for resource scaling is provided. The present invention may include receiving a request for resources. The present invention may include receiving a request for a plurality of resources from a virtual device. The present invention may then include estimating a resource allocation based on a predetermined level of service based on the received request. The present invention may also include estimating a benefit curve of a workload for a plurality of tiers of resources based on the estimated resource allocation. The present invention may further include estimating a performance cost of the workload for the plurality of tiers of resources based on the estimated benefit curve.
    Type: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Gennady Yakub
  • Patent number: 10067962
    Abstract: Although many techniques provide ways to answer queries very quickly by either avoiding joins and/or aggregation or avoiding expression computations in order to apply filtering predicates, these techniques have significant potential overhead for maintenance, and require a great deal of storage space. The present invention discloses the use of synopsis or zone tables to expressions to provide powerful filtering capabilities to base tables across joins, and aggregations on join results, thus allowing for highly effective region or stride filtering and ordering aggregate ranges to select the most likely candidate tuples for joining to produce top-N or bottom-N result sets for queries.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: September 4, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Abhinav Goyal, Robin D. Grosman, Calisto P. Zuzarte
  • Patent number: 10067961
    Abstract: Although many techniques provide ways to answer queries very quickly by either avoiding joins and/or aggregation or avoiding expression computations in order to apply filtering predicates, these techniques have significant potential overhead for maintenance, and require a great deal of storage space. The present invention discloses the use of synopsis or zone tables to expressions to provide powerful filtering capabilities to base tables across joins, and aggregations on join results, thus allowing for highly effective region or stride filtering and ordering aggregate ranges to select the most likely candidate tuples for joining to produce top-N or bottom-N result sets for queries.
    Type: Grant
    Filed: September 29, 2015
    Date of Patent: September 4, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Abhinav Goyal, Robin D. Grosman, Calisto P. Zuzarte
  • Patent number: 9953025
    Abstract: According to one embodiment of the present invention, a system may execute database queries and may comprise a computer system including at least one processor. The system may select a column of a first table as a candidate column for creating a dictionary, create tokens for a foreign key in a second table that corresponds to a primary key in the first table, generate the dictionary for the selected column using the created tokens as indexes in the dictionary and modify a query accessing the column of the first table to retrieve column values based on the dictionary. Embodiments of the present invention further include a method and computer program product executing database queries in substantially the same manner described above.
    Type: Grant
    Filed: April 26, 2016
    Date of Patent: April 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Naresh K. Chainani, Garth A. Dickie, Ian R. Finlay, Robin D. Grosman
  • Patent number: 9953057
    Abstract: To perform a join operation on database objects, data structures contained in a first database object are distributed across database partitions in accordance with a partitioning scheme. Data structures of the first database object are associated with respective indices computed complementarily to the partitioning scheme. Other indices are computed from the respective data structures of a second database object. The join operation is performed at each of the database partitions on the data structures in the respective first and second database objects having the indices and the other indices in common.
    Type: Grant
    Filed: June 18, 2015
    Date of Patent: April 24, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Garth A. Dickie, Ian R. Finlay
  • Publication number: 20180107710
    Abstract: Embodiments of the present invention provide systems and methods for data management. Synopsis tables have been found to be more effective for maintaining a high level of system performance while answering analytical queries. Synopsis tables, which contain MAX, MIN, and Bloom filter columns, may be modified by dropping ineffective data content within these columns and regenerating dropped data when beneficial. By automatically modifying data, database queries may be optimized.
    Type: Application
    Filed: December 18, 2017
    Publication date: April 19, 2018
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
  • Patent number: 9946705
    Abstract: According to one embodiment of the present invention, a system may execute database queries and may comprise a computer system including at least one processor. The system may select a column of a first table as a candidate column for creating a dictionary, create tokens for a foreign key in a second table that corresponds to a primary key in the first table, generate the dictionary for the selected column using the created tokens as indexes in the dictionary and modify a query accessing the column of the first table to retrieve column values based on the dictionary. Embodiments of the present invention further include a method and computer program product executing database queries in substantially the same manner described above.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: April 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Naresh K. Chainani, Garth A. Dickie, Ian R. Finlay, Robin D. Grosman
  • Patent number: 9946748
    Abstract: According to one embodiment of the present invention, a method of transferring filters for operations in a distributed system comprises generating at each source node a first filter of a first size. The first filter indicates elements of objects that need not be processed for an operation. Each source node generates one more second filters of a second size less than the first size. Each generated second filter is based on a prior generated filter with each location representing a plurality of locations from the prior generated filter. A second filter is transferred from each source node to each of destination node. The elements of the objects to remove for the operation are determined based on the transferred second filters. Embodiments of the present invention further include a system and computer program product for transferring filters in a distributed system in substantially the same manners described above.
    Type: Grant
    Filed: March 11, 2015
    Date of Patent: April 17, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ronald J. Barber, Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, Vijayshankar Raman, Liping Zhang
  • Patent number: 9940356
    Abstract: According to one embodiment of the present invention, a method of transferring filters for operations in a distributed system comprises generating at each source node a first filter of a first size. The first filter indicates elements of objects that need not be processed for an operation. Each source node generates one more second filters of a second size less than the first size. Each generated second filter is based on a prior generated filter with each location representing a plurality of locations from the prior generated filter. A second filter is transferred from each source node to each of destination node. The elements of the objects to remove for the operation are determined based on the transferred second filters. Embodiments of the present invention further include a system and computer program product for transferring filters in a distributed system in substantially the same manners described above.
    Type: Grant
    Filed: July 31, 2014
    Date of Patent: April 10, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ronald J. Barber, Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, Vijayshankar Raman, Liping Zhang