Patents by Inventor Vincent Kulandaisamy
Vincent Kulandaisamy 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: 20250103229Abstract: Examples disclosed herein include writing pages of data to blocks, the data associated with an operator; writing the blocks to a file based on a sequential arrangement of the data in the blocks; writing the file to a spill data store; and executing an instruction by programmable circuitry to batch read the blocks in sequential order from the spill data store to a local memoryType: ApplicationFiled: February 8, 2024Publication date: March 27, 2025Inventors: Yida Wu, Abhishek Rawat, Vincent Kulandaisamy
-
Patent number: 11250001Abstract: Embodiments of the invention relate to processing data records, and for a multi-phase partitioned data reduction. The first phase relates to processing data records and partitioning the records into a first partition of records having a common characteristic and a second partition of records that are not members of the first partition. The data records in each partition are subject to intra-partition data reduction responsive to a resource constraint. The data records in each partition are also subject to an inter-partition data reduction, also referred to as an aggregation to reduce a footprint for storing the records. Partitions and/or individual records are logically aggregated and a data reduction operation for the logical aggregation of records takes place in response to available resources.Type: GrantFiled: August 1, 2014Date of Patent: February 15, 2022Assignee: International Business Machines CorporationInventors: Ronald J. Barber, Vincent Kulandaisamy, Sam S. Lightstone, Guy M. Lohman, Ippokratis Pandis, Vijayshankar Raman, Gregory R. Stager, Wayne J. Young, Liping Zhang
-
Patent number: 11194778Abstract: A database system, computer program product, and a method for evaluating aggregates in database systems includes hashing of aggregation keys on a per bucket basis, and depending on a number of hashed tuples per bucket, sorting said tuples. Additionally, depending on the number of hashed tuples per bucket, the bucket is kept without change. Moreover, depending on the number of hashed tuples per bucket, maintaining a secondary hash table for a particular bucket, map tuples to it, aggregate as you map.Type: GrantFiled: December 18, 2015Date of Patent: December 7, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Rajesh Ramkrishna Bordawekar, Vincent Kulandaisamy, Oded Shmueli
-
Patent number: 10776401Abstract: Provided herein are techniques for processing a database query aggregating data. Data tuples of a database object each including a grouping element and a data element are analyzed to determine a length of the data element for each data tuple. A plurality of tables each accommodate a successively greater length for the data element. A corresponding table of the plurality of tables to store each data tuple is determined based on the length of the data element of that data tuple relative to the accommodated lengths of the plurality of tables. Each data tuple in the determined corresponding table is stored to group the data tuples within each of the plurality of tables based on the grouping element, and an indication of corresponding tables containing members for each group is provided. The groups are combined across the plurality of tables to aggregate the data tuples for a database query.Type: GrantFiled: March 22, 2017Date of Patent: September 15, 2020Assignee: International Business Machines CorporationInventors: Joshua D. Gross, Vincent Kulandaisamy, Wenbin Ma, Liping Zhang, Calisto P. Zuzarte
-
Patent number: 10747763Abstract: A computer program product provides efficient multiple aggregation distinct processing. The computer program product including a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a processor to cause the processor to convert a query with multiple aggregation distincts into a two-stage group-by process using a nest operator. The two-stage group-by process including further program instructions to cause the processor to: perform a first stage group-by process including the nest operator taking a single input row, and concatenating a grouping key with a measure value for each aggregation distinct that forms multiple inputs to a single group-by table, and perform a second stage group-by process including the nest operator bringing together entries for each original group.Type: GrantFiled: May 11, 2016Date of Patent: August 18, 2020Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Patent number: 10592556Abstract: Embodiments include a method, system, and computer program product for encoding data while it is being processed as part of a query is provided. The method includes receiving a query request and determining a set of values associated with data to be encoded for completing the query request. The method also includes encoding those values such that any subsequent processing operations can be performed on the encoded values to complete the requested query. After performing the subsequent processing operations to complete the requested query, each value is decoded back to its original value.Type: GrantFiled: May 10, 2016Date of Patent: March 17, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Sam S. Lightstone, Guy M. Lohman, Ippokratis Pandis, Vijayshankar Raman, Richard S. Sidle, Liping Zhang, Naresh Chainani
-
Patent number: 10489401Abstract: A method, a system, and a computer program product are provided. A filter is created for each portion of a data set. The filter indicates which one or more characteristics are present among each of the portions. Each of the one or more characteristics comprises one or more groups defined by the data grouping operation. The filters for the portions of the data sets are transferred to one or more filter processors and combined within the one or more filter processors to indicate characteristics of data residing across multiple processing elements to produce a result for a data grouping operation, utilizing transfers based on a combined filter result. In various embodiments, the filter may be a Bloom filter.Type: GrantFiled: May 31, 2016Date of Patent: November 26, 2019Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Patent number: 10445318Abstract: A method, a system, and a computer program product are provided. A filter is created for each portion of a data set. The filter indicates which one or more characteristics are present among each of the portions. Each of the one or more characteristics comprises one or more groups defined by the data grouping operation. The filters for the portions of the data sets are transferred to one or more filter processors and combined within the one or more filter processors to indicate characteristics of data residing across multiple processing elements to produce a result for a data grouping operation, utilizing transfers based on a combined filter result. In various embodiments, the filter may be a Bloom filter.Type: GrantFiled: December 5, 2017Date of Patent: October 15, 2019Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Patent number: 10133760Abstract: A hardware accelerator includes a bitmap processor that processes a bitmap structure for multiple list population. A population count processor processes population counts for data and aggregates the population counts. The bitmap data structure includes bitmap bit fields interleaved with aggregated population count fields.Type: GrantFiled: January 12, 2015Date of Patent: November 20, 2018Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Richard S. Sidle
-
Publication number: 20180276289Abstract: Provided herein are techniques for processing a database query aggregating data. Data tuples of a database object each including a grouping element and a data element are analyzed to determine a length of the data element for each data tuple. A plurality of tables each accommodate a successively greater length for the data element. A corresponding table of the plurality of tables to store each data tuple is determined based on the length of the data element of that data tuple relative to the accommodated lengths of the plurality of tables. Each data tuple in the determined corresponding table is stored to group the data tuples within each of the plurality of tables based on the grouping element, and an indication of corresponding tables containing members for each group is provided. The groups are combined across the plurality of tables to aggregate the data tuples for a database query.Type: ApplicationFiled: March 22, 2017Publication date: September 27, 2018Inventors: Joshua D. Gross, Vincent Kulandaisamy, Wenbin Ma, Liping Zhang, Calisto P. Zuzarte
-
Publication number: 20180107732Abstract: A method, a system, and a computer program product are provided. A filter is created for each portion of a data set. The filter indicates which one or more characteristics are present among each of the portions. Each of the one or more characteristics comprises one or more groups defined by the data grouping operation. The filters for the portions of the data sets are transferred to one or more filter processors and combined within the one or more filter processors to indicate characteristics of data residing across multiple processing elements to produce a result for a data grouping operation, utilizing transfers based on a combined filter result. In various embodiments, the filter may be a Bloom filter.Type: ApplicationFiled: December 5, 2017Publication date: April 19, 2018Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Patent number: 9946512Abstract: Systems and methods for sorting a data set stored on an external device. A plurality of smaller radix sizes are determined, based on a first radix size and performance characteristics of an external data storage device, whose sizes add up to a first radix size for an in-place radix sort. The smaller radix sizes reduce a total time to perform the in-place radix sort. Each level of a multiple level in-place radix sort is performed with the smaller radix sizes. Each level of the sort includes dividing the data set into N buckets; dividing the buffer into N buckets; and iteratively loading a respective segment in each bucket of the data set into a respective bucket of the buffer, performing an in-place radix sort on the data in the buffer, and returning sorted buffer data to the data set on the external storage device.Type: GrantFiled: September 25, 2015Date of Patent: April 17, 2018Assignee: International Business Machines CorporationInventors: Minsik Cho, Brian R. Konigsburg, Vincent Kulandaisamy, Ruchir Puri
-
Patent number: 9858040Abstract: Methods for sorting a data set. Data items each having a first portion and a second portion is stored. The first and second portions are stored separately and each has a separate set of keys. The first portion has a pointer indicating the second portion. At least some of the first set of keys for each data item is stored in a local memory of a first processor. At least one data stripe set is defined with one stripe within each bucket. An in-place partial bucket radix sort is performed on data items within one data stripe set with a first processor using an initial key. Incorrectly sorted data items are grouped into respective incorrect data item groups within each bucket. A radix sort is then performed using the initial radix on the incorrect data item groups. A first level sorted output is produced.Type: GrantFiled: June 25, 2015Date of Patent: January 2, 2018Assignee: International Business Machines CorporationsInventors: Rajesh Bordawekar, Daniel Brand, Minsik Cho, Ulrich Finkler, Vincent Kulandaisamy, Ruchir Puri
-
Publication number: 20170344621Abstract: A method, a system, and a computer program product are provided. A filter is created for each portion of a data set. The filter indicates which one or more characteristics are present among each of the portions. Each of the one or more characteristics comprises one or more groups defined by the data grouping operation. The filters for the portions of the data sets are transferred to one or more filter processors and combined within the one or more filter processors to indicate characteristics of data residing across multiple processing elements to produce a result for a data grouping operation, utilizing transfers based on a combined filter result. In various embodiments, the filter may be a Bloom filter.Type: ApplicationFiled: May 31, 2016Publication date: November 30, 2017Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Patent number: 9823896Abstract: Systems and methods for sorting a data set. Data items each having a first portion and a second portion is stored. The first and second portions are stored separately and each has a separate set of keys. The first portion has a pointer indicating the second portion. At least some of the first set of keys for each data item is stored in a local memory of a first processor. At least one data stripe set is defined with one stripe within each bucket. An in-place partial bucket radix sort is performed on data items within one data stripe set with a first processor using an initial key. Incorrectly sorted data items are grouped into respective incorrect data item groups within each bucket. A radix sort is then performed using the initial radix on the incorrect data item groups. A first level sorted output is produced.Type: GrantFiled: February 6, 2015Date of Patent: November 21, 2017Assignee: International Business Machines CorporationInventors: Rajesh Bordawekar, Daniel Brand, Minsik Cho, Ulrich Finkler, Vincent Kulandaisamy, Ruchir Puri
-
Publication number: 20170329823Abstract: A computer program product provides efficient multiple aggregation distinct processing. The computer program product including a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a processor to cause the processor to convert a query with multiple aggregation distincts into a two-stage group-by process using a nest operator. The two-stage group-by process including further program instructions to cause the processor to: perform a first stage group-by process including the nest operator taking a single input row, and concatenating a grouping key with a measure value for each aggregation distinct that forms multiple inputs to a single group-by table, and perform a second stage group-by process including the nest operator bringing together entries for each original group.Type: ApplicationFiled: May 11, 2016Publication date: November 16, 2017Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Publication number: 20170177573Abstract: A database system, computer program product, and a method for evaluating aggregates in database systems includes hashing of aggregation keys on a per bucket basis, and depending on a number of hashed tuples per bucket, sorting said tuples. Additionally, depending on the number of hashed tuples per bucket, the bucket is kept without change. Moreover, depending on the number of hashed tuples per bucket, maintaining a secondary hash table for a particular bucket, map tuples to it, aggregate as you map.Type: ApplicationFiled: December 18, 2015Publication date: June 22, 2017Inventors: Rajesh Ramkrishna Bordawekar, Vincent Kulandaisamy, Oded Shmueli
-
Publication number: 20170090817Abstract: Systems and methods for sorting a data set stored on an external device. A plurality of smaller radix sizes are determined, based on a first radix size and performance characteristics of an external data storage device, whose sizes add up to a first radix size for an in-place radix sort. The smaller radix sizes reduce a total time to perform the in-place radix sort. Each level of a multiple level in-place radix sort is performed with the smaller radix sizes. Each level of the sort includes dividing the data set into N buckets; dividing the buffer into N buckets; and iteratively loading a respective segment in each bucket of the data set into a respective bucket of the buffer, performing an in-place radix sort on the data in the buffer, and returning sorted buffer data to the data set on the external storage device.Type: ApplicationFiled: September 25, 2015Publication date: March 30, 2017Inventors: Minsik CHO, Brian R. KONIGSBURG, Vincent KULANDAISAMY, Ruchir PURI
-
Patent number: 9471710Abstract: Embodiments include a method and computer program product for encoding data while it is being processed as part of a query is provided. The method includes receiving a query request and determining a set of values associated with data to be encoded for completing the query request. The method also includes encoding those values such that any subsequent processing operations can be performed on the encoded values to complete the requested query. After performing the subsequent processing operations to complete the requested query, each value is decoded back to its original value.Type: GrantFiled: June 14, 2013Date of Patent: October 18, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Sam S. Lightstone, Guy M. Lohman, Ippokratis Pandis, Vijayshankar Raman, Richard S. Sidle, Liping Zhang
-
Publication number: 20160253390Abstract: Embodiments include a method, system, and computer program product for encoding data while it is being processed as part of a query is provided. The method includes receiving a query request and determining a set of values associated with data to be encoded for completing the query request. The method also includes encoding those values such that any subsequent processing operations can be performed on the encoded values to complete the requested query. After performing the subsequent processing operations to complete the requested query, each value is decoded back to its original value.Type: ApplicationFiled: May 10, 2016Publication date: September 1, 2016Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Sam S. Lightstone, Guy M. Lohman, Ippokratis Pandis, Vijayshankar Raman, Richard S. Sidle, Liping Zhang, Naresh Chainani