Patents by Inventor Patrick D. Bossman
Patrick D. Bossman 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: 10754858Abstract: An access plan including multiple indexes is selected for accessing data of a database system. A filtering status of each index within the selected access plan is determined based on information available at execution of the selected access plan. The order of the indexes within the selected access plan is modified based on the filtering status of the indexes, and the selected access plan is executed with the modified order of the indexes. The execution of the selected access plan is interrupted in response to accessing a threshold amount of data and the filtering of the indexes of the selected access plan is estimated. A processing order for the indexes is determined based on the estimated filtering. The execution of the selected access plan resumes based on the determined processing order.Type: GrantFiled: January 6, 2017Date of Patent: August 25, 2020Assignee: International Business Machines CorporationInventors: Brian L. Baggett, Patrick D. Bossman, Shuanglin Guo, Andrei F. Lurie, Terence P. Purcell, Martina Simova
-
Patent number: 10545972Abstract: According to an embodiment of the present invention, methods, systems, and computer readable media are provided for collecting statistics for use in optimizing a database query. Collected statistics for the database are compared to corresponding predetermined states of conditions for optimizing the database query. One or more collected statistics in compliance with the corresponding predetermined states of conditions are identified based on the comparison. Collection of the one or more identified statistics for the query optimization is disabled.Type: GrantFiled: January 6, 2017Date of Patent: January 28, 2020Assignee: International Business Machines CorporationInventors: Jason L. Alpers, Patrick D. Bossman, Terence P. Purcell
-
Patent number: 10459933Abstract: According to an embodiment of the present invention, methods, systems, and computer readable media are provided for collecting statistics for use in optimizing a database query. Collected statistics for the database are compared to corresponding predetermined states of conditions for optimizing the database query. One or more collected statistics in compliance with the corresponding predetermined states of conditions are identified based on the comparison. Collection of the one or more identified statistics for the query optimization is disabled.Type: GrantFiled: September 16, 2015Date of Patent: October 29, 2019Assignee: International Business Machines CorporationInventors: Jason L. Alpers, Patrick D. Bossman, Terence P. Purcell
-
Patent number: 10380104Abstract: A database system searches for any statements that satisfy one or more of a set of filtering criteria. When a given dynamic query statement fully satisfies the set of filtering criteria, the given statement is stabilized by persistently storing a bound form of the given dynamic query statement. When the given dynamic query statement partly satisfies the set of filtering criteria, a monitoring request is created with the set of filtering criteria to begin monitoring subsequent executions of the statement, and the statement is linked to the monitoring request. When the given dynamic query statement subsequently fully satisfies the set of filtering criteria, the statement is stabilized by persistently storing the bound form of the statement. When the given dynamic query is re-executed, the stabilized statement is loaded, and the PREPARE process is bypassed.Type: GrantFiled: August 9, 2016Date of Patent: August 13, 2019Assignee: International Business Machines CorporationInventors: Patrick D. Bossman, Frank D. Bower, Tammie Dang, Peter Kuang, Euna Park, Maryela E. Weihrauch
-
Patent number: 10210210Abstract: An access plan including multiple indexes is selected for accessing data of a database system. A filtering status of each index within the selected access plan is determined based on information available at execution of the selected access plan. The order of the indexes within the selected access plan is modified based on the filtering status of the indexes, and the selected access plan is executed with the modified order of the indexes. The execution of the selected access plan is interrupted in response to accessing a threshold amount of data and the filtering of the indexes of the selected access plan is estimated. A processing order for the indexes is determined based on the estimated filtering. The execution of the selected access plan resumes based on the determined processing order.Type: GrantFiled: October 21, 2015Date of Patent: February 19, 2019Assignee: International Business Machines CorporationInventors: Brian L. Baggett, Patrick D. Bossman, Shuanglin Guo, Andrei F. Lurie, Terence P. Purcell, Martina Simova
-
Publication number: 20180046677Abstract: A database system searches for any statements that satisfy one or more of a set of filtering criteria. When a given dynamic query statement fully satisfies the set of filtering criteria, the given statement is stabilized by persistently storing a bound form of the given dynamic query statement. When the given dynamic query statement partly satisfies the set of filtering criteria, a monitoring request is created with the set of filtering criteria to begin monitoring subsequent executions of the statement, and the statement is linked to the monitoring request. When the given dynamic query statement subsequently fully satisfies the set of filtering criteria, the statement is stabilized by persistently storing the bound form of the statement. When the given dynamic query is re-executed, the stabilized statement is loaded, and the PREPARE process is bypassed.Type: ApplicationFiled: August 9, 2016Publication date: February 15, 2018Inventors: Patrick D. BOSSMAN, Frank D. BOWER, Tammie DANG, Peter KUANG, Euna PARK, Maryela E. WEIHRAUCH
-
Publication number: 20170249360Abstract: A query optimizer receives a relational database management system (RDBMS) query having a join predicate with a join between a first and a second table. The query optimizer determines a high skew value for a first variable joining the first and second tables at columns per the join predicate. A count query on one of the first and second tables is constructed and run only using the high skew value as a substitution for the first variable. A quantity of records for the join of the first and second tables is estimated using results of the count query. Different access paths (e.g., query plans) are used by the query optimizer depending on whether the estimated quantity of records exceeds a previously determined threshold or not.Type: ApplicationFiled: February 26, 2016Publication date: August 31, 2017Inventors: JASON L. ALPERS, TERENCE P. PURCELL, Patrick D. Bossman
-
Publication number: 20170116264Abstract: An access plan including multiple indexes is selected for accessing data of a database system. A filtering status of each index within the selected access plan is determined based on information available at execution of the selected access plan. The order of the indexes within the selected access plan is modified based on the filtering status of the indexes, and the selected access plan is executed with the modified order of the indexes. The execution of the selected access plan is interrupted in response to accessing a threshold amount of data and the filtering of the indexes of the selected access plan is estimated. A processing order for the indexes is determined based on the estimated filtering. The execution of the selected access plan resumes based on the determined processing order.Type: ApplicationFiled: January 6, 2017Publication date: April 27, 2017Inventors: Brian L. Baggett, Patrick D. Bossman, Shuanglin Guo, Andrei F. Lurie, Terence P. Purcell, Martina Simova
-
Publication number: 20170116288Abstract: According to an embodiment of the present invention, methods, systems, and computer readable media are provided for collecting statistics for use in optimizing a database query. Collected statistics for the database are compared to corresponding predetermined states of conditions for optimizing the database query. One or more collected statistics in compliance with the corresponding predetermined states of conditions are identified based on the comparison. Collection of the one or more identified statistics for the query optimization is disabled.Type: ApplicationFiled: January 6, 2017Publication date: April 27, 2017Inventors: Jason L. Alpers, Patrick D. Bossman, Terence P. Purcell
-
Publication number: 20170116275Abstract: An access plan including multiple indexes is selected for accessing data of a database system. A filtering status of each index within the selected access plan is determined based on information available at execution of the selected access plan. The order of the indexes within the selected access plan is modified based on the filtering status of the indexes, and the selected access plan is executed with the modified order of the indexes. The execution of the selected access plan is interrupted in response to accessing a threshold amount of data and the filtering of the indexes of the selected access plan is estimated. A processing order for the indexes is determined based on the estimated filtering. The execution of the selected access plan resumes based on the determined processing order.Type: ApplicationFiled: October 21, 2015Publication date: April 27, 2017Inventors: Brian L. Baggett, Patrick D. Bossman, Shuanglin Guo, Andrei F. Lurie, Terence P. Purcell, Martina Simova
-
Publication number: 20170075954Abstract: According to an embodiment of the present invention, methods, systems, and computer readable media are provided for collecting statistics for use in optimizing a database query. Collected statistics for the database are compared to corresponding predetermined states of conditions for optimizing the database query. One or more collected statistics in compliance with the corresponding predetermined states of conditions are identified based on the comparison. Collection of the one or more identified statistics for the query optimization is disabled.Type: ApplicationFiled: September 16, 2015Publication date: March 16, 2017Inventors: Jason L. Alpers, Patrick D. Bossman, Terence P. Purcell
-
Patent number: 9256643Abstract: 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: GrantFiled: March 27, 2014Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
-
Patent number: 9208198Abstract: 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: GrantFiled: October 17, 2012Date of Patent: December 8, 2015Assignee: International Business Machines CorporationInventors: Jason L. Alpers, Thomas A. Beavin, Patrick D. Bossman, Shuanglin Guo, Terence P. Purcell
-
Patent number: 9063973Abstract: Apparatuses and methods for optimizing access path are provided. Execution of a query statement is sampled to obtain the information about a plurality of executing instances, the information about each executing instance comprises the literal value of the query statement in the instance and the filter factor corresponding to the literal value. The plurality of instances are grouped into a plurality of groups based on the filter factors corresponding to the literal values. The average filter factor of each group and the occurrence frequency of the group are obtained. The candidate access path created for the average filter factor of each group is accordingly obtained, and by taking the occurrence frequencies as weights, the weighted execution cost of each candidate access path is calculated for each group. The candidate access path with the minimum sum of the weighted execution costs for all groups is determined as the optimal access path.Type: GrantFiled: December 20, 2012Date of Patent: June 23, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Patrick D. Bossman, You-Chin Fuh, Ke W. Wei, Jing Zhou, Xiang 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: 8645356Abstract: An adaptive query execution plan enhancement is provided by: selecting a sample of literal sets from an execution history of a query statement; determining a plurality of access paths by applying each literal set in the sample to the query statement; for each given access path of the plurality of access paths, determining a total execution cost by applying each literal set in the sample to the given access path; and selecting a preferred access path from the plurality of access paths based on the total execution costs for each given access path. A plurality of preferred access paths for a plurality of query statements in an application workload is collected and may be presented as a query execution plan enhancement recommendation to users.Type: GrantFiled: March 28, 2012Date of Patent: February 4, 2014Assignee: International Business Machines CorporationInventors: Patrick D Bossman, Curt L. Cotner, You-Chin Fuh, Adarsh R. Pannu, Kun Peng Ren
-
Publication number: 20130262435Abstract: An adaptive query execution plan enhancement is provided by: selecting a sample of literal sets from an execution history of a query statement; determining a plurality of access paths by applying each literal set in the sample to the query statement; for each given access path of the plurality of access paths, determining a total execution cost by applying each literal set in the sample to the given access path; and selecting a preferred access path from the plurality of access paths based on the total execution costs for each given access path. A plurality of preferred access paths for a plurality of query statements in an application workload is collected and may be presented as a query execution plan enhancement recommendation to users.Type: ApplicationFiled: March 28, 2012Publication date: October 3, 2013Applicant: International Business Machines CorporationInventors: Patrick D. BOSSMAN, Curt L. COTNER, You-Chin FUH, Adarsh S. PANNU, Kun Peng REN
-
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