Patents by Inventor Mathew S. Thoennes
Mathew S. Thoennes 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: 11050822Abstract: An example operation may include one or more of receiving, by a lead peer, a new block from an orderer node over a blockchain network that includes a plurality of peers, acquiring, by the lead peer, a shared memory handler for a channel of the blockchain network from an anchor peer, appending, by the lead peer, the new block to a shared memory buffer based on the handler, and notifying the plurality of the peers that the new block is available on the shared memory buffer.Type: GrantFiled: June 5, 2019Date of Patent: June 29, 2021Assignee: International Business Machines CorporationInventors: Qi Zhang, Petr Novotny, Mathew S. Thoennes, Salman Abdul Baset
-
Patent number: 11023204Abstract: Embodiments include methods, systems and computer program products for performing a tournament tree sort on a hardware accelerator having an external memory. The method includes receiving a plurality of key values by the hardware accelerator, assigning each of the plurality of key values a sequential key number as the plurality of key values are received and performing pairwise comparisons of each of the plurality of key values to identify a winning key and a losing key. The method also includes storing the losing key of each pairwise comparison in a first section of the external memory, wherein a location in the first section is based on the key number of the losing key and storing the winning key of each pairwise comparison in a second section of the external memory, wherein a location in the second section is based on the key number of the winning key.Type: GrantFiled: March 12, 2019Date of Patent: June 1, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bharat Sukhwani, Mathew S. Thoennes
-
Publication number: 20200389518Abstract: An example operation may include one or more of receiving, by a lead peer, a new block from an orderer node over a blockchain network that includes a plurality of peers, acquiring, by the lead peer, a shared memory handler for a channel of the blockchain network from an anchor peer, appending, by the lead peer, the new block to a shared memory buffer based on the handler, and notifying the plurality of the peers that the new block is available on the shared memory buffer.Type: ApplicationFiled: June 5, 2019Publication date: December 10, 2020Inventors: Qi Zhang, Petr Novotny, Mathew S. Thoennes, Salman Abdul Baset
-
Publication number: 20190212978Abstract: Embodiments include methods, systems and computer program products for performing a tournament tree sort on a hardware accelerator having an external memory. The method includes receiving a plurality of key values by the hardware accelerator, assigning each of the plurality of key values a sequential key number as the plurality of key values are received and performing pairwise comparisons of each of the plurality of key values to identify a winning key and a losing key. The method also includes storing the losing key of each pairwise comparison in a first section of the external memory, wherein a location in the first section is based on the key number of the losing key and storing the winning key of each pairwise comparison in a second section of the external memory, wherein a location in the second section is based on the key number of the winning key.Type: ApplicationFiled: March 12, 2019Publication date: July 11, 2019Inventors: BHARAT SUKHWANI, MATHEW S. THOENNES
-
Patent number: 10310813Abstract: Embodiments include methods, systems and computer program products for performing a tournament tree sort on a hardware accelerator having an external memory. The method includes receiving a plurality of key values by the hardware accelerator, assigning each of the plurality of key values a sequential key number as the plurality of key values are received and performing pairwise comparisons of each of the plurality of key values to identify a winning key and a losing key. The method also includes storing the losing key of each pairwise comparison in a first section of the external memory, wherein a location in the first section is based on the key number of the losing key and storing the winning key of each pairwise comparison in a second section of the external memory, wherein a location in the second section is based on the key number of the winning key.Type: GrantFiled: December 29, 2014Date of Patent: June 4, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 10289385Abstract: Embodiments include methods, systems and computer program products for performing a tournament tree sort on a hardware accelerator having an external memory. The method includes receiving a plurality of key values by the hardware accelerator, assigning each of the plurality of key values a sequential key number as the plurality of key values are received and performing pairwise comparisons of each of the plurality of key values to identify a winning key and a losing key. The method also includes storing the losing key of each pairwise comparison in a first section of the external memory, wherein a location in the first section is based on the key number of the losing key and storing the winning key of each pairwise comparison in a second section of the external memory, wherein a location in the second section is based on the key number of the winning key.Type: GrantFiled: June 17, 2015Date of Patent: May 14, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 10169413Abstract: Embodiments include methods, systems and computer program products for offloading multiple processing operations to an accelerator. Aspects include receiving a database query from an application, performing an analysis on the query, and identifying a plurality of available accelerators. Aspects further include retrieving cost information for one or more templates available on each of the plurality of available accelerators, determining a query execution plan based on the cost information and the analysis on the query, and offloading one or more query operations to at least one of the plurality of accelerators based on the query execution plan.Type: GrantFiled: August 17, 2016Date of Patent: January 1, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 10133774Abstract: Embodiments include methods, systems and computer program products a for offloading multiple processing operations to an accelerator includes receiving, by a processing device, a database query from an application. The method also includes performing analysis on the database query and selecting an accelerator template from a plurality of accelerator templates based on the analysis of the database query. The method further includes transmitting an indication of the accelerator template to the accelerator and executing at least a portion of the database query on the accelerator.Type: GrantFiled: September 5, 2013Date of Patent: November 20, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 10127275Abstract: Methods and arrangements for mapping a query operation to an accelerator are provided. The method includes receiving, by a processor, a query operation and determining the design logic of the query operation, receiving a configuration of one or more available accelerators and a design logic of each of the one or more available accelerators, and determining if the query operation can be offloaded to one or more of the one or more available accelerators. Based on a determination that the query operation can be offloaded to one or more of the one or more available accelerators, the method also includes creating software structures to interface with a selected accelerator and executing the query operation on the selected accelerator. Based on a determination that the query operation cannot be offloaded to one or more of the one or more available accelerators, the method further includes executing the query operation in software.Type: GrantFiled: July 11, 2014Date of Patent: November 13, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh Asaad, Parijat Dube, Balakrishna R. Iyer, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9946428Abstract: Content of a web-based application is displayed in a window of a web browser application. A selection of the display region is received from a user or a computer implemented system. A locked region is defined based on the selection. When instructions to modify the content of web-based application is received, the instructions are executed except those to modify the locked region.Type: GrantFiled: January 15, 2015Date of Patent: April 17, 2018Assignee: International Business Machines CorporationInventors: Rahul P. Akolkar, Joao P. Goncalves, Peter K. Malkin, Jacquelyn A. Martino, Mathew S. Thoennes
-
Patent number: 9830354Abstract: Embodiments include methods, systems and computer program products a for offloading multiple processing operations to an accelerator includes receiving, by a processing device, a database query from an application. The method also includes performing analysis on the database query and selecting an accelerator template from a plurality of accelerator templates based on the analysis of the database query. The method further includes transmitting an indication of the accelerator template to the accelerator and executing at least a portion of the database query on the accelerator.Type: GrantFiled: August 7, 2013Date of Patent: November 28, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9710503Abstract: Embodiments include methods, systems and computer program products for performing a composite sort on a tunable hardware sort engine includes determining desired sort performance parameters, configuring a composite sort engine based on the desired sort performance parameters, and receiving a plurality of keys having a payload associated with each of the plurality of keys. The method also includes reserving DRAM storage for each of the payloads, generating a tag for each of the plurality of keys, the tag identifying the DRAM storage reserved for each of the payloads, and storing the payloads in the portions of the DRAM storage. The method further includes generating a composite key for each of the plurality of keys, sorting the composite keys by the composite sort engine, and retrieving the payloads associated with the sorted composite keys from the DRAM storage. The method also includes outputting the payloads associated the sorted composite keys.Type: GrantFiled: December 22, 2015Date of Patent: July 18, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9690813Abstract: Embodiments include methods, systems and computer program products for performing a composite sort on a tunable hardware sort engine includes determining desired sort performance parameters, configuring a composite sort engine based on the desired sort performance parameters, and receiving a plurality of keys having a payload associated with each of the plurality of keys. The method also includes reserving DRAM storage for each of the payloads, generating a tag for each of the plurality of keys, the tag identifying the DRAM storage reserved for each of the payloads, and storing the payloads in the portions of the DRAM storage. The method further includes generating a composite key for each of the plurality of keys, sorting the composite keys by the composite sort engine, and retrieving the payloads associated with the sorted composite keys from the DRAM storage. The method also includes outputting the payloads associated the sorted composite keys.Type: GrantFiled: December 22, 2015Date of Patent: June 27, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9619500Abstract: Embodiments include methods, systems and computer program products for performing a tournament tree sort on a hardware accelerator. The method includes receiving a plurality of key values by the hardware accelerator, storing each the plurality of keys into a location on a memory of the hardware accelerator, and creating a pointer to each of the locations of the plurality of keys. The method also includes storing the pointer to each of the plurality of keys into a first array stored by the hardware accelerator, sorting the plurality of keys by ordering the pointers in the first array and by using a second array for storing the pointers, wherein the sorting identifies a winning key from the plurality of keys in the memory, and outputting the winning key.Type: GrantFiled: September 5, 2013Date of Patent: April 11, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9619499Abstract: Embodiments include methods, systems and computer program products for performing a tournament tree sort on a hardware accelerator. The method includes receiving a plurality of key values by the hardware accelerator, storing each the plurality of keys into a location on a memory of the hardware accelerator, and creating a pointer to each of the locations of the plurality of keys. The method also includes storing the pointer to each of the plurality of keys into a first array stored by the hardware accelerator, sorting the plurality of keys by ordering the pointers in the first array and by using a second array for storing the pointers, wherein the sorting identifies a winning key from the plurality of keys in the memory, and outputting the winning key.Type: GrantFiled: August 7, 2013Date of Patent: April 11, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9535947Abstract: In some embodiments, a query recipient is configured to determine that a database query warrants a first projection operation to project a plurality of input rows to a plurality of projected rows. Each of the input rows has one or more variable-length columns. A projection controller is configured to construct a first projection control block to describe the first projection operation. For this construction, the projection controller is configured to construct a plurality of projection control elements, each one corresponding to a corresponding column in the input rows, and a header to specify the order of the projection control elements. The projection controller is further configured to offload the first projection operation to a hardware accelerator, and to provide the first projection control block to the hardware accelerator, where the first projection control block enables the hardware accelerator to perform the first projection operation at streaming rate.Type: GrantFiled: September 29, 2015Date of Patent: January 3, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Publication number: 20160357817Abstract: Embodiments include methods, systems and computer program products for offloading multiple processing operations to an accelerator. Aspects include receiving a database query from an application, performing an analysis on the query, and identifying a plurality of available accelerators. Aspects further include retrieving cost information for one or more templates available on each of the plurality of available accelerators, determining a query execution plan based on the cost information and the analysis on the query, and offloading one or more query operations to at least one of the plurality of accelerators based on the query execution plan.Type: ApplicationFiled: August 17, 2016Publication date: December 8, 2016Inventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9495418Abstract: Embodiments include methods, systems and computer program products for offloading multiple processing operations to an accelerator. Aspects include receiving a database query from an application, performing an analysis on the query, and identifying a plurality of available accelerators. Aspects further include retrieving cost information for one or more templates available on each of the plurality of available accelerators, determining a query execution plan based on the cost information and the analysis on the query, and offloading one or more query operations to at least one of the plurality of accelerators based on the query execution plan.Type: GrantFiled: August 7, 2013Date of Patent: November 15, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9448845Abstract: Embodiments include methods, systems and computer program products for providing an extendable job structure for executing instructions on an accelerator. The method includes creating a number of data descriptor blocks, each memory location addresses and a pointer to a next of the number of the data descriptor block. The method further includes creating a last data descriptor block having memory location addresses and a last block indicator. Based on determining that additional memory is required for executing instructions on the accelerator, the method includes modifying the last data descriptor block to become a data extender block having a pointer to one of one or more new data descriptor blocks and creating a new last data descriptor block.Type: GrantFiled: April 7, 2016Date of Patent: September 20, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Donald W. Schmidt, Bharat Sukhwani, Mathew S. Thoennes
-
Publication number: 20160224268Abstract: Embodiments include methods, systems and computer program products for providing an extendable job structure for executing instructions on an accelerator. The method includes creating a number of data descriptor blocks, each memory location addresses and a pointer to a next of the number of the data descriptor block. The method further includes creating a last data descriptor block having memory location addresses and a last block indicator. Based on determining that additional memory is required for executing instructions on the accelerator, the method includes modifying the last data descriptor block to become a data extender block having a pointer to one of one or more new data descriptor blocks and creating a new last data descriptor block.Type: ApplicationFiled: April 7, 2016Publication date: August 4, 2016Inventors: Sameh W. Asaad, Parijat Dube, Hong Min, Donald W. Schmidt, Bharat Sukhwani, Mathew S. Thoennes