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: 10432217Abstract: 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: GrantFiled: June 28, 2016Date of Patent: October 1, 2019Assignee: International Business Machines CorporationInventor: Ian R. Finlay
-
Publication number: 20190266159Abstract: 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: ApplicationFiled: May 9, 2019Publication date: August 29, 2019Inventors: Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, David Kalmuk, Timothy R. Malkemus, Calisto Zuzarte
-
Patent number: 10372698Abstract: 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: GrantFiled: June 12, 2015Date of Patent: August 6, 2019Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
-
Patent number: 10366068Abstract: 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: GrantFiled: December 18, 2014Date of Patent: July 30, 2019Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
-
Patent number: 10331645Abstract: 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: GrantFiled: August 17, 2015Date of Patent: June 25, 2019Assignee: International Business Machines CorporationInventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
-
Patent number: 10324918Abstract: 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: GrantFiled: May 6, 2016Date of Patent: June 18, 2019Assignee: International Business Machines CorporationInventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
-
Patent number: 10318484Abstract: 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: GrantFiled: November 20, 2015Date of Patent: June 11, 2019Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Jeffrey M. Keller, Adam J. Storm, Calisto P. Zuzarte
-
Publication number: 20190121890Abstract: 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: ApplicationFiled: October 23, 2017Publication date: April 25, 2019Inventors: Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, David Kalmuk, Timothy R. Malkemus, Calisto Zuzarte
-
Patent number: 10229359Abstract: 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: GrantFiled: May 19, 2016Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Piotr Mierzejewski, Nattavut Sutyanyong, Calisto P. Zuzarte
-
Patent number: 10228855Abstract: 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: GrantFiled: March 30, 2016Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Gennady Yakub
-
Patent number: 10229358Abstract: 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: GrantFiled: August 7, 2015Date of Patent: March 12, 2019Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Piotr Mierzejewski, Nattavut Sutyanyong, Calisto P. Zuzarte
-
Publication number: 20180373567Abstract: 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: ApplicationFiled: June 27, 2017Publication date: December 27, 2018Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Gennady Yakub
-
Patent number: 10067962Abstract: 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: GrantFiled: June 30, 2017Date of Patent: September 4, 2018Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Abhinav Goyal, Robin D. Grosman, Calisto P. Zuzarte
-
Patent number: 10067961Abstract: 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: GrantFiled: September 29, 2015Date of Patent: September 4, 2018Assignee: International Business Machines CorporationInventors: Ian R. Finlay, Abhinav Goyal, Robin D. Grosman, Calisto P. Zuzarte
-
Patent number: 9953025Abstract: 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: GrantFiled: April 26, 2016Date of Patent: April 24, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Naresh K. Chainani, Garth A. Dickie, Ian R. Finlay, Robin D. Grosman
-
Patent number: 9953057Abstract: 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: GrantFiled: June 18, 2015Date of Patent: April 24, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Garth A. Dickie, Ian R. Finlay
-
Publication number: 20180107710Abstract: 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: ApplicationFiled: December 18, 2017Publication date: April 19, 2018Inventors: Ian R. Finlay, Christian M. Garcia-Arellano, Adam J. Storm, Calisto P. Zuzarte
-
Patent number: 9946705Abstract: 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: GrantFiled: June 29, 2015Date of Patent: April 17, 2018Assignee: International Business Machines CorporationInventors: Naresh K. Chainani, Garth A. Dickie, Ian R. Finlay, Robin D. Grosman
-
Patent number: 9946748Abstract: 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: GrantFiled: March 11, 2015Date of Patent: April 17, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ronald J. Barber, Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, Vijayshankar Raman, Liping Zhang
-
Patent number: 9940356Abstract: 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: GrantFiled: July 31, 2014Date of Patent: April 10, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ronald J. Barber, Naresh K. Chainani, Kiran K. Chinta, Ian R. Finlay, Vijayshankar Raman, Liping Zhang