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: 9916318
    Abstract: An indication to load data into a database table is received. A determination is made whether an existing set of frequency distribution statistics is available. In response to determining that an existing set of frequency distribution statistics is available, the data is loaded into the database table using the existing set of frequency distribution statistics.
    Type: Grant
    Filed: December 29, 2015
    Date of Patent: March 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ian R. Finlay, Robin D. Grosman, Uttam Setty, Adam J. Storm
  • Publication number: 20170371973
    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: Application
    Filed: September 6, 2017
    Publication date: December 28, 2017
    Inventor: Ian R. Finlay
  • Publication number: 20170371972
    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: Application
    Filed: June 28, 2016
    Publication date: December 28, 2017
    Inventor: Ian R. Finlay
  • Publication number: 20170308572
    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: April 26, 2016
    Publication date: October 26, 2017
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
  • Publication number: 20170300515
    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: Application
    Filed: June 30, 2017
    Publication date: October 19, 2017
    Inventors: Ian R. Finlay, Abhinav Goyal, Robin D. Grosman, Calisto P. Zuzarte
  • Publication number: 20170293642
    Abstract: Merging adjacent rows of a synopsis table so as to increase the effectiveness of the synopsis table regarding data skipping. Adjacent rows for merging are identified based on statistics regarding: (i) queries of the database; (ii) effectiveness of the synopsis table for data skipping; and (iii) usage of predicates in queries of the database. Once merged, the synopsis table is smaller, and more effective with respect to data skipping, while fewer computing resources (administrative, maintenance, memory, clock cycles, storage space, etc.) are needed to process the database queries.
    Type: Application
    Filed: March 30, 2017
    Publication date: October 12, 2017
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
  • Publication number: 20170293649
    Abstract: Merging adjacent rows of a synopsis table so as to increase the effectiveness of the synopsis table regarding data skipping. Adjacent rows for merging are identified based on statistics regarding: (i) queries of the database; (ii) effectiveness of the synopsis table for data skipping; and (iii) usage of predicates in queries of the database. Once merged, the synopsis table is smaller, and more effective with respect to data skipping, while fewer computing resources (administrative, maintenance, memory, clock cycles, storage space, etc.) are needed to process the database queries.
    Type: Application
    Filed: April 8, 2016
    Publication date: October 12, 2017
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
  • Publication number: 20170285964
    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: Application
    Filed: March 30, 2016
    Publication date: October 5, 2017
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Gennady Yakub
  • Publication number: 20170285965
    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: Application
    Filed: April 27, 2017
    Publication date: October 5, 2017
    Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Gennady Yakub
  • Patent number: 9780805
    Abstract: Methods and apparatus, including computer program products, implementing and using techniques for predicate application using partial compression dictionary match. A search strategy is developed for each predicate to be applied to compressed data. The compressed data is searched using the search strategy to locate the compression symbols identified in the search strategy. In response to locating a compression symbol from the search strategy in the compressed data, a respective row and applying the predicate is decompressed and a respective row that matches the predicate is returned to a database engine or an application.
    Type: Grant
    Filed: October 22, 2014
    Date of Patent: October 3, 2017
    Assignee: International Business Machines Corporation
    Inventor: Ian R. Finlay
  • Patent number: 9780806
    Abstract: Apparatus and systems, including computer program products, implementing and using techniques for predicate application using partial compression dictionary match. A search strategy is developed for each predicate to be applied to compressed data. The compressed data is searched using the search strategy to locate the compression symbols identified in the search strategy. In response to locating a compression symbol from the search strategy in the compressed data, a respective row and applying the predicate is decompressed and a respective row that matches the predicate is returned to a database engine or an application.
    Type: Grant
    Filed: April 14, 2015
    Date of Patent: October 3, 2017
    Assignee: International Business Machines Corporation
    Inventor: Ian R. Finlay
  • Publication number: 20170185633
    Abstract: An indication to load data into a database table is received. A determination is made whether an existing set of frequency distribution statistics is available. In response to determining that an existing set of frequency distribution statistics is available, the data is loaded into the database table using the existing set of frequency distribution statistics.
    Type: Application
    Filed: April 15, 2016
    Publication date: June 29, 2017
    Inventors: Ian R. Finlay, Robin D. Grosman, Uttam Setty, Adam J. Storm
  • Publication number: 20170185624
    Abstract: An indication to load data into a database table is received. A determination is made whether an existing set of frequency distribution statistics is available. In response to determining that an existing set of frequency distribution statistics is available, the data is loaded into the database table using the existing set of frequency distribution statistics.
    Type: Application
    Filed: December 29, 2015
    Publication date: June 29, 2017
    Inventors: Ian R. Finlay, Robin D. Grosman, Uttam Setty, Adam J. Storm
  • Publication number: 20170091315
    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: Application
    Filed: September 29, 2015
    Publication date: March 30, 2017
    Inventors: Ian R. Finlay, Abhinav Goyal, Robin D. Grosman, Calisto P. Zuzarte
  • Patent number: 9582540
    Abstract: Methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.
    Type: Grant
    Filed: August 21, 2014
    Date of Patent: February 28, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
  • Publication number: 20170052991
    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: Application
    Filed: May 6, 2016
    Publication date: February 23, 2017
    Inventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
  • Publication number: 20170052990
    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: Application
    Filed: August 17, 2015
    Publication date: February 23, 2017
    Inventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
  • Patent number: 9569495
    Abstract: Methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.
    Type: Grant
    Filed: April 7, 2015
    Date of Patent: February 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
  • Publication number: 20170039474
    Abstract: A computer-implemented method includes receiving an artefact and a problem pattern, transforming the artefact into an abstracted artefact structure, and transforming the problem pattern into a query. The query is matched against the abstracted artefact structure. Any matched portions of the abstracted artefact structure are related back to corresponding result portions of the artefact. The corresponding result portions of the artefact are returned. The method may be embodied in a corresponding computer system or computer program product.
    Type: Application
    Filed: August 7, 2015
    Publication date: February 9, 2017
    Inventors: Ian R. Finlay, Piotr Mierzejewski, Nattavut Sutyanyong, Calisto P. Zuzarte
  • Publication number: 20170039240
    Abstract: A computer-implemented method includes receiving an artefact and a problem pattern, transforming the artefact into an abstracted artefact structure, and transforming the problem pattern into a query. The query is matched against the abstracted artefact structure. Any matched portions of the abstracted artefact structure are related back to corresponding result portions of the artefact. The corresponding result portions of the artefact are returned. The method may be embodied in a corresponding computer system or computer program product.
    Type: Application
    Filed: May 19, 2016
    Publication date: February 9, 2017
    Inventors: Ian R. Finlay, Piotr Mierzejewski, Nattavut Sutyanyong, Calisto P. Zuzarte