Patents by Inventor Terence P. Purcell
Terence P. Purcell 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: 20150310063Abstract: Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths.Type: ApplicationFiled: April 23, 2014Publication date: October 29, 2015Applicant: International Business Machines CorporationInventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Publication number: 20150310066Abstract: Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths.Type: ApplicationFiled: March 21, 2015Publication date: October 29, 2015Inventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
-
Patent number: 9134975Abstract: Source code of a computer program is compiled by a compiler to generate object code. During compilation of the source code, for each function of the source code compiled, an identifier indicating the function can be entered into a module entry point list. An update for the compiler is received. Responsive to receiving the compiler update, a determination is made, by processing the module entry point list, whether any of the functions of the source code were compiled at least one compiler module to be changed by the compiler update. Responsive to determining that at least one of the functions of the source code was compiled by a compiler module to be changed by the compiler update, a determination is made that the source code of the computer program is a candidate to be recompiled with an updated version of the compiler having the compiler update applied.Type: GrantFiled: August 22, 2014Date of Patent: September 15, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, David R. Moy, Terence P. Purcell, John B. Tobler, Nigel G. Slinger
-
Publication number: 20150220595Abstract: Embodiments presented herein provide techniques for setting different methods of skipping duplicate values when executing a query statement in a relational database. A distance between a two distinct keys in an index, a current index key and a next distinct index key, are estimated. Based on the estimated distance, an appropriate duplicate-skipping method is determined. If the proximity between the distinct keys is relatively far apart (e.g., the keys reside in index pages that are at least an index page apart), then a “big skip” method is performed. Otherwise, if the proximity between the distinct keys is relatively near (e.g., the keys reside in the same index page), then a “little skip” method is performed.Type: ApplicationFiled: January 31, 2014Publication date: August 6, 2015Applicant: International Business Machines CorporationInventors: Terence P. PURCELL, Thomas A. BEAVIN, Li XIA, Michael R. SHADDUCK, Paramesh S. DESAI, Qianyang YU
-
Publication number: 20150220596Abstract: Embodiments presented herein provide techniques for setting different methods of skipping duplicate values when executing a query statement in a relational database. A distance between a two distinct keys in an index, a current index key and a next distinct index key, are estimated. Based on the estimated distance, an appropriate duplicate-skipping method is determined. If the proximity between the distinct keys is relatively far apart (e.g., the keys reside in index pages that are at least an index page apart), then a “big skip” method is performed. Otherwise, if the proximity between the distinct keys is relatively near (e.g., the keys reside in the same index page), then a “little skip” method is performed.Type: ApplicationFiled: December 1, 2014Publication date: August 6, 2015Inventors: Terence P. PURCELL, Thomas A. BEAVIN, Li XIA, Michael R. SHADDUCK, Paramesh S. DESAI, Qianyang YU
-
Publication number: 20150074134Abstract: System, method, and computer program product to modify a received query, the received query including a first predicate specifying a comparison operator and a second predicate specifying an IS NULL operator, by replacing the comparison operator of the first predicate with an extended comparison operator, and removing the IS NULL operator from the received query, the extended comparison operator configured to support searching of NULL values in a database management system (DBMS), wherein the extended comparison operator is configured to return rows having column data matching a value predefined to represent NULL values.Type: ApplicationFiled: September 10, 2013Publication date: March 12, 2015Inventors: Thomas A. Beavin, Mengchu Cai, Dengfeng Gao, Jae H. Lee, Li-Mey Lee, Terence P. Purcell, Shengxi Suo
-
Publication number: 20150074135Abstract: System, method, and computer program product to modify a received query, the received query including a first predicate specifying a comparison operator and a second predicate specifying an IS NULL operator, by replacing the comparison operator of the first predicate with an extended comparison operator, and removing the IS NULL operator from the received query, the extended comparison operator configured to support searching of NULL values in a database management system (DBMS), wherein the extended comparison operator is configured to return rows having column data matching a value predefined to represent NULL values.Type: ApplicationFiled: June 25, 2014Publication date: March 12, 2015Inventors: Thomas A. BEAVIN, Mengchu CAI, Dengfeng GAO, Jae H. LEE, Li-Mey LEE, Terence P. PURCELL, Shengxi SUO
-
Patent number: 8832046Abstract: Techniques are provided for encoded data processing which allows for continuous data processing as encoded data changes. Data is decomposed into one or more blocks with each block containing at least one data record. At least one data record within a given block is encoded with a first encoding process selected from one or more encoding processes. The first encoding process is associated with the given data block. Techniques evaluate whether or not to implement an encoding change for a given block when updating a given data record in the given block. Responsive to the evaluation, the given block is re-encoded with a second encoding process. Responsive to the re-encoding, the association of the given block is updated. A map is formed to convert the given data record encoded with the first encoding process to the second encoding process so as to preserve comparative relationships of the given data record.Type: GrantFiled: September 14, 2012Date of Patent: September 9, 2014Assignee: International Business Machines CorporationInventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
-
Publication number: 20140214797Abstract: A technique for factoring uncertainty into cost-based query optimization includes: determining the degree of uncertainty involved in the cost estimates for the query, determining the degree of sensitivity the query has to that uncertainty, and determining if there is an access path that performs well across the range of possible conditions that could occur at execution time, reducing the risk of performance spikes and performance volatility. If such an access path exists, select that access path; if not, perform parametric query optimization or query re-optimization.Type: ApplicationFiled: March 27, 2014Publication date: July 31, 2014Applicant: International Business Machines CorporationInventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
-
Patent number: 8756208Abstract: Techniques for encoded data processing which allow for continuous data processing as encoded data changes. Data is decomposed into one or more blocks with each block containing at least one data record. At least one data record within a given block is encoded with a first encoding process selected from one or more encoding processes. The first encoding process is associated with the given data block. Techniques evaluate whether or not to implement an encoding change for a given block when updating a given data record in the given block. Responsive to the evaluation, the given block is re-encoded with a second encoding process. Responsive to the re-encoding, the association of the given block is updated. A map is formed to convert the given data record encoded with the first encoding process to the second encoding process so as to preserve comparative relationships of the given data record.Type: GrantFiled: July 10, 2012Date of Patent: June 17, 2014Assignee: International Business Machines CorporationInventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
-
Publication number: 20140108378Abstract: A technique for factoring uncertainty into cost-based query optimization includes: determining the degree of uncertainty involved in the cost estimates for the query, determining the degree of sensitivity the query has to that uncertainty, and determining if there is an access path that performs well across the range of possible conditions that could occur at execution time, reducing the risk of performance spikes and performance volatility. If such an access path exists, select that access path; if not, perform parametric query optimization or query re-optimization.Type: ApplicationFiled: October 17, 2012Publication date: April 17, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
-
Publication number: 20140019472Abstract: Techniques for encoded data processing which allow for continuous data processing as encoded data changes. Data is decomposed into one or more blocks with each block containing at least one data record. At least one data record within a given block is encoded with a first encoding process selected from one or more encoding processes. The first encoding process is associated with the given data block. Techniques evaluate whether or not to implement an encoding change for a given block when updating a given data record in the given block. Responsive to the evaluation, the given block is re-encoded with a second encoding process. Responsive to the re-encoding, the association of the given block is updated. A map is formed to convert the given data record encoded with the first encoding process to the second encoding process so as to preserve comparative relationships of the given data record.Type: ApplicationFiled: July 10, 2012Publication date: January 16, 2014Applicant: International Business Machines CorporationInventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
-
Publication number: 20140019422Abstract: Techniques are provided for encoded data processing which allows for continuous data processing as encoded data changes. Data is decomposed into one or more blocks with each block containing at least one data record. At least one data record within a given block is encoded with a first encoding process selected from one or more encoding processes. The first encoding process is associated with the given data block. Techniques evaluate whether or not to implement an encoding change for a given block when updating a given data record in the given block. Responsive to the evaluation, the given block is re-encoded with a second encoding process. Responsive to the re-encoding, the association of the given block is updated. A map is formed to convert the given data record encoded with the first encoding process to the second encoding process so as to preserve comparative relationships of the given data record.Type: ApplicationFiled: September 14, 2012Publication date: January 16, 2014Applicant: International Business Machines CorporationInventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
-
Patent number: 8620899Abstract: Techniques for generating a set of one or more materialized query table (MQT) candidates for a workload are provided. The techniques include receiving a workload, wherein the workload comprises a set of one or more queries, generating one or more best matching MQTs (BMQTs) based on one or more query blocks of the one or more queries by removing syntax that is not qualified for a MQT re-write, determining one or more frequently used multi-joins in the workload, using the one or more BMQTs and the one or more frequently used multi-joins to generate a set of one or more workload MQTs (WMQTs), and grouping one or more WMQTs and one or more BMQTs into one or more groups to merge into a set of a smaller number of MQTs and to cover the workload.Type: GrantFiled: February 9, 2010Date of Patent: December 31, 2013Assignee: International Business Machines CorporationInventors: Dongsheng Chen, Hong Min, Terence P. Purcell, Yefim Shuf, Xiaobo Wang, Zhongliang Zhang
-
Patent number: 8380680Abstract: Prefetching data using a piecemeal list prefetching method. This is achieved by various means, including building a plurality of data pages, sorting the plurality of data pages into sequential data pages and a list of non-sequential pages, prefetching the sequential data pages using a first prefetching technique, and prefetching the non-sequential list of data pages using a second prefetching technique.Type: GrantFiled: June 23, 2010Date of Patent: February 19, 2013Assignee: International Business Machines CorporationInventors: Jeffrey Berger, Terence P. Purcell, James Z. Teng
-
Patent number: 8359316Abstract: Techniques for database table look-up are provided. The techniques include storing one or more column attributes of a database table in a data structure, wherein the data structure also comprises a record identification (RID) column of a table, one or more predicate columns corresponding to the RID column, and a sequence number column that is associated with one or more updated records, generating a key using one or more portions from one or more of the one or more predicate columns, using the key to partition the data structure, wherein partitioning the data structure comprises partitioning the one or more predicate columns for evaluation, and evaluating the one or more predicate columns against the data structure for each matching predicate column-data structure partition.Type: GrantFiled: March 1, 2010Date of Patent: January 22, 2013Assignee: International Business Machines CorporationInventors: Hubertus Franke, You-Chin Fuh, Hong Min, Terence P. Purcell, Yefim Shuf
-
Patent number: 8185701Abstract: A method, system, and computer program product are provided for retrieving records into a main memory. A first number of gaps and a first total gap size are received for a list of records from a database subsystem. A determination is made of a first average gap size using the first number of gaps and the first total gap size. A determination is made as to whether the first average gap size is greater than a prestaging threshold value. Responsive to the first average gap size being equal to or less than the prestaging threshold value, a prestaging flag is set for the list of records. Then, the list of records is retrieved into the main memory using prestaging.Type: GrantFiled: February 5, 2008Date of Patent: May 22, 2012Assignee: International Business Machines CorporationInventors: Jeffrey A. Berger, You-Chin Fuh, Yue Huang, Hong Min, Terence P. Purcell, Kou-Horng A. Yang
-
Publication number: 20110320415Abstract: Prefetching data using a piecemeal list prefetching method. This is achieved by various means, including building a plurality of data pages, sorting the plurality of data pages into sequential data pages and a list of non-sequential pages, prefetching the sequential data pages using a first prefetching technique, and prefetching the non-sequential list of data pages using a second prefetching technique.Type: ApplicationFiled: June 23, 2010Publication date: December 29, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: JEFFREY A. BERGER, TERENCE P. PURCELL, JAMES Z. TENG
-
Patent number: 8060495Abstract: An apparatus, system, and method are disclosed for improving query execution plan efficiency in a database management system. The present invention binds both static database queries and dynamic database queries to new query execution plans (QEPs) that produce the same result set as a former QEP bound to the database queries. Next, the present invention identifies one of the former QEPs and the new QEP as an active QEP and automatically collects execution statistics for one of the former QEPs and the new QEP. Finally, the present invention automatically selects one of the former QEPs and the new QEP as the active QEP in response to completion of the automatic collection of execution statistics, the active QEP selected such that the automatically selected QEP provides optimal execution performance based on performance criteria in comparison to the automatically unselected QEP, the active QEP selected based on the execution statistics.Type: GrantFiled: October 21, 2008Date of Patent: November 15, 2011Assignee: International Business Machines CorporationInventors: Thomas A. Beavin, Patrick D. Bossman, You-Chin Fuh, Adarsh R. Pannu, Terence P. Purcell
-
Publication number: 20110213775Abstract: Techniques for database table look-up are provided. The techniques include storing one or more column attributes of a database table in a data structure, wherein the data structure also comprises a record identification (RID) column of a table, one or more predicate columns corresponding to the RID column, and a sequence number column that is associated with one or more updated records, generating a key using one or more portions from one or more of the one or more predicate columns, using the key to partition the data structure, wherein partitioning the data structure comprises partitioning the one or more predicate columns for evaluation, and evaluating the one or more predicate columns against the data structure for each matching predicate column-data structure partition.Type: ApplicationFiled: March 1, 2010Publication date: September 1, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Hubertus Franke, You-Chin Fuh, Hong Min, Terence P. Purcell, Yefim Shuf