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: 20150310063
    Abstract: 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: Application
    Filed: April 23, 2014
    Publication date: October 29, 2015
    Applicant: International Business Machines Corporation
    Inventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
  • Publication number: 20150310066
    Abstract: 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: Application
    Filed: March 21, 2015
    Publication date: October 29, 2015
    Inventors: Thomas A. Beavin, Andrei F. Lurie, Terence P. Purcell
  • Patent number: 9134975
    Abstract: 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: Grant
    Filed: August 22, 2014
    Date of Patent: September 15, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas A. Beavin, David R. Moy, Terence P. Purcell, John B. Tobler, Nigel G. Slinger
  • Publication number: 20150220595
    Abstract: 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: Application
    Filed: January 31, 2014
    Publication date: August 6, 2015
    Applicant: International Business Machines Corporation
    Inventors: Terence P. PURCELL, Thomas A. BEAVIN, Li XIA, Michael R. SHADDUCK, Paramesh S. DESAI, Qianyang YU
  • Publication number: 20150220596
    Abstract: 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: Application
    Filed: December 1, 2014
    Publication date: August 6, 2015
    Inventors: Terence P. PURCELL, Thomas A. BEAVIN, Li XIA, Michael R. SHADDUCK, Paramesh S. DESAI, Qianyang YU
  • Publication number: 20150074134
    Abstract: 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: Application
    Filed: September 10, 2013
    Publication date: March 12, 2015
    Inventors: Thomas A. Beavin, Mengchu Cai, Dengfeng Gao, Jae H. Lee, Li-Mey Lee, Terence P. Purcell, Shengxi Suo
  • Publication number: 20150074135
    Abstract: 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: Application
    Filed: June 25, 2014
    Publication date: March 12, 2015
    Inventors: Thomas A. BEAVIN, Mengchu CAI, Dengfeng GAO, Jae H. LEE, Li-Mey LEE, Terence P. PURCELL, Shengxi SUO
  • Patent number: 8832046
    Abstract: 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: Grant
    Filed: September 14, 2012
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
  • Publication number: 20140214797
    Abstract: 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: Application
    Filed: March 27, 2014
    Publication date: July 31, 2014
    Applicant: International Business Machines Corporation
    Inventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
  • Patent number: 8756208
    Abstract: 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: Grant
    Filed: July 10, 2012
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
  • Publication number: 20140108378
    Abstract: 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: Application
    Filed: October 17, 2012
    Publication date: April 17, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
  • Publication number: 20140019472
    Abstract: 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: Application
    Filed: July 10, 2012
    Publication date: January 16, 2014
    Applicant: International Business Machines Corporation
    Inventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
  • Publication number: 20140019422
    Abstract: 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: Application
    Filed: September 14, 2012
    Publication date: January 16, 2014
    Applicant: International Business Machines Corporation
    Inventors: Hubertus Franke, Balakrishna R. Iyer, Hong Min, Terence P. Purcell, Guogen Zhang
  • Patent number: 8620899
    Abstract: 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: Grant
    Filed: February 9, 2010
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Dongsheng Chen, Hong Min, Terence P. Purcell, Yefim Shuf, Xiaobo Wang, Zhongliang Zhang
  • Patent number: 8380680
    Abstract: 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: Grant
    Filed: June 23, 2010
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Berger, Terence P. Purcell, James Z. Teng
  • Patent number: 8359316
    Abstract: 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: Grant
    Filed: March 1, 2010
    Date of Patent: January 22, 2013
    Assignee: International Business Machines Corporation
    Inventors: Hubertus Franke, You-Chin Fuh, Hong Min, Terence P. Purcell, Yefim Shuf
  • Patent number: 8185701
    Abstract: 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: Grant
    Filed: February 5, 2008
    Date of Patent: May 22, 2012
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey A. Berger, You-Chin Fuh, Yue Huang, Hong Min, Terence P. Purcell, Kou-Horng A. Yang
  • Publication number: 20110320415
    Abstract: 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: Application
    Filed: June 23, 2010
    Publication date: December 29, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: JEFFREY A. BERGER, TERENCE P. PURCELL, JAMES Z. TENG
  • Patent number: 8060495
    Abstract: 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: Grant
    Filed: October 21, 2008
    Date of Patent: November 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Thomas A. Beavin, Patrick D. Bossman, You-Chin Fuh, Adarsh R. Pannu, Terence P. Purcell
  • Publication number: 20110213775
    Abstract: 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: Application
    Filed: March 1, 2010
    Publication date: September 1, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Hubertus Franke, You-Chin Fuh, Hong Min, Terence P. Purcell, Yefim Shuf