Patents by Inventor Thomas A. Beavin
Thomas A. Beavin 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: 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: 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: 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: 8930410Abstract: According to one embodiment of the present invention, a system processes a database query, and comprises a computer system including at least one processor. The system identifies one or more expressions within the database query utilizing a database object with value masking. Masking requirements are determined for each identified expression and the database object utilized by that identified expression is replicated to provide masked and actual versions of that database object in response to the masking requirements for that expression including masked values and actual values of that database object. The value masking of the database object is applied to the identified expressions within the database query based on the determined masking requirements to produce search results with masked values for the database query. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manner described above.Type: GrantFiled: October 3, 2011Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventors: Eric L. Alton, Thomas A. Beavin, Harley W. Boughton, Yao-Ching S. Chen, Curt L. Cotner, Yuping Ding, Dengfeng Gao, Gerald G. Kiernan, Xun Li, Irene C. Liu, Walid Rjaibi, Gregory R. Stager, Joyce A. Taylor, Timothy J. Vincent, Liyan Zhou
-
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
-
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
-
Patent number: 8666969Abstract: Various aspects of this disclosure are directed to receiving, by a computing device, a first table join query that may include a first group of table identifiers that identify the two or more tables. The computing device may determine whether the first table join query includes an outer join command. When the first table join query includes the outer join command, the computing device may compare the first group of table identifiers and a second group of table identifiers of one or more pre-joined tables to determine whether each of the first table identifiers matches at least one of the second group of table identifiers. The computing device may further determine whether a predicate associated with each table identifier matches a predicate associated with a matching second table identifier. When each of the predicates match, the computing device may rewrite the first table join query.Type: GrantFiled: November 14, 2011Date of Patent: March 4, 2014Assignee: International Business Machines CorporationInventors: Thomas A. Beavin, Mengchu Cai, Ruiping Li, James A. Ruddy
-
Publication number: 20130124500Abstract: Various aspects of this disclosure are directed to receiving, by a computing device, a first table join query that may include a first group of table identifiers that identify the two or more tables. The computing device may determine whether the first table join query includes an outer join command. When the first table join query includes the outer join command, the computing device may compare the first group of table identifiers and a second group of table identifiers of one or more pre-joined tables to determine whether each of the first table identifiers matches at least one of the second group of table identifiers. The computing device may further determine whether a predicate associated with each table identifier matches a predicate associated with a matching second table identifier. When each of the predicates match, the computing device may rewrite the first table join query.Type: ApplicationFiled: November 14, 2011Publication date: May 16, 2013Applicant: International Business Machines CorporationInventors: Thomas A. Beavin, Mengchu Cai, Ruiping Li, James A. Ruddy
-
Publication number: 20130086088Abstract: According to one embodiment of the present invention, a system processes a database query, and comprises a computer system including at least one processor. The system identifies one or more expressions within the database query utilizing a database object with value masking. Masking requirements are determined for each identified expression and the database object utilized by that identified expression is replicated to provide masked and actual versions of that database object in response to the masking requirements for that expression including masked values and actual values of that database object. The value masking of the database object is applied to the identified expressions within the database query based on the determined masking requirements to produce search results with masked values for the database query. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manner described above.Type: ApplicationFiled: October 3, 2011Publication date: April 4, 2013Applicant: International Business Machines CorporationInventors: Eric L. Alton, Thomas A. Beavin, Harley W. Boughton, Yao-Ching S. Chen, Curt L. Cotner, Yuping Ding, Dengfeng Gao, Gerald G. Kiernan, Xun Li, Irene C. Liu, Walid Rjaibi, Gregory R. Stager, Joyce A. Taylor, Timothy J. Vincent, Liyan Zhou
-
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
-
Patent number: 7725448Abstract: A method for performing disjunctive single-index access on a database is disclosed. The method includes a query engine determining whether a first OR predicate and a second OR predicate map to a shared index. Responsive to the query engine determining that the first OR predicate and the second OR predicate map to the shared index, the first OR predicate and the second OR predicate are ordered in an ascending sequence. A first range of the first OR predicate is queued. A first row of the shared index is probed for the first range of the first OR predicate. Whether the first row is disqualified by the first OR predicate is determined. Responsive to determining that the first row is not disqualified by the first OR predicate, the row is reported in a result reporting structure.Type: GrantFiled: August 31, 2007Date of Patent: May 25, 2010Assignee: International Business Machines CorporationInventors: Thomas A. Beavin, Patrick D. Bossman, John J. Campbell, You-Chin Fuh, Terence P. Purcell
-
Publication number: 20100114868Abstract: 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: ApplicationFiled: October 21, 2008Publication date: May 6, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. Beavin, Patrick D. Bossman, You-Chin Fuh, Adarsh R. Pannu, Terence P. Purcell
-
Publication number: 20090063397Abstract: A method for performing disjunctive single-index access on a database is disclosed. The method includes a query engine determining whether a first OR predicate and a second OR predicate map to a shared index. Responsive to the query engine determining that the first OR predicate and the second OR predicate map to the shared index, the first OR predicate and the second OR predicate are ordered in an ascending sequence. A first range of the first OR predicate is queued. A first row of the shared index is probed for the first range of the first OR predicate. Whether the first row is disqualified by the first OR predicate is determined. Responsive to determining that the first row is not disqualified by the first OR predicate, the row is reported in a result reporting structure.Type: ApplicationFiled: August 31, 2007Publication date: March 5, 2009Inventors: THOMAS A. BEAVIN, Patrick D. Bossman, John J. Campbell, You-Chin Fuh, Terence P. Purcell
-
Publication number: 20090063458Abstract: A method for minimizing the sorting of data comprises retrieving a database having an index of entries arranged according to a first, second, and third data entries. Additionally, partitioning the index of entries into a first partially-ordered list, wherein the first partially-ordered list comprises information arranged in the form of the first, second, and third data entries. The first partially-ordered list share the same first data entry. Furthermore, partitioning the index of entries into a second partially-ordered list, wherein the second partially-ordered list comprises information arranged in the form of first data entry, second data entry, third data entry. The first data entry within the second partially-ordered list is not the same as the first data entry in the first partially-ordered list. Additionally, querying the first partially-ordered list without querying the second partially-ordered list according to a set of query instructions.Type: ApplicationFiled: August 31, 2007Publication date: March 5, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Thomas A. BEAVIN, Terence Patrick PURCELL
-
Publication number: 20080155641Abstract: A method and system for managing a computer system are described. The method and system include defining and storing a policy using a policy manager. In one aspect, the policy manager also activates and resolves conflicts between policies. The policy is a declarative statement of a directive to be carried out by the computer system. The method and system also include using a policy executor to determine whether a request to the computer system is covered by the policy. The method and system further include utilizing the computer system to carry out the directive for the policy if the request is covered by the policy through a policy enforcer.Type: ApplicationFiled: December 20, 2006Publication date: June 26, 2008Applicant: International Business Machines CorporationInventors: Thomas A. Beavin, Baoqiu Cui, You-Chin Fuh, William Y. Kyu, Adarsh R. Pannu, Lin Qiao, Basuki N. Soetarman
-
Patent number: 7299225Abstract: A method, apparatus, and article of manufacture for improving the performance of evaluating predicates with non-matching operands by aggressively casting the input value to the data type of the target column before the data of the target column is accessed.Type: GrantFiled: November 26, 2002Date of Patent: November 20, 2007Assignee: International Business Machines CorporationInventors: Brian T. Tran, Hsiuying Y. Cheng, Shuanglin Guo, Patrick M. Malone, Thomas A. Beavin, Xiazhen Wang, Xun Li
-
Publication number: 20070078813Abstract: Methods, computer programs and system for executing a query on data that has been partitioned into a plurality of partitions are provided. The method includes providing partitioned data including one or more columns and the plurality of partitions. The partitioned data includes a limit key value associated with each column for a given partition. The method further includes receiving a query including a predicate on one of the one or more columns of the partitioned data; and utilizing the predicate on the one of the one or more columns in a pruning decision on at least one of the one or more partitions based on the limit key values associated with the plurality of partitions.Type: ApplicationFiled: October 4, 2005Publication date: April 5, 2007Applicant: International Business Machines CorporationInventors: Thomas Beavin, Sauraj Goswami, Terence Purcell
-
Publication number: 20060287979Abstract: Techniques are provided that determine that a query includes at least one subquery that may be correlated or decorrelated. An internal representation of the query that represents the subquery in both correlated and decorrelated form is generated, wherein the internal representation includes at least one virtual table.Type: ApplicationFiled: June 17, 2005Publication date: December 21, 2006Inventors: Thomas Beavin, Mengchu Cai, Yao-Ching Chen, Hsiuying Cheng, Fen-Ling Lin, Irene Liu, Jerry Mukai, Demai Ni, Yoichi Tsuji, Li Xia, Ying Zeng
-
Publication number: 20060173833Abstract: Processing non-Boolean term conditions in database queries. A query that is a request for data in a database is received and includes at least one uneven non-Boolean term condition that spans multiple tables in the database. The non-Boolean term condition is split into separate portions, each of the portions providing a Boolean term that can be satisfied by accessing one table in the database. The separate portions are executed independently to find at least one data result in the database that satisfies the Boolean term of each separate portion, and the data result from each separate portion are combined into a final result that satisfies the query.Type: ApplicationFiled: January 28, 2005Publication date: August 3, 2006Inventors: Terence Purcell, Thomas Beavin