Patents by Inventor Terence Patrick Purcell
Terence Patrick 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).
-
Patent number: 8364677Abstract: A method and apparatus for generating partition keys in an information handling system having a partitioned database. Partition keys are generated by concatenating a partition subrange identifier specifying a subrange of key values and a sequence number specifying a particular key value within a subrange. Partition keys are assigned with the aid of a partition key control table that stores subrange and available key block information and is updated whenever key blocks are reserved or the database is repartitioned. An activity indicator maintained for each partition indicates recent activity in the partition. In response to a request for a partition key, a partition is selected for key assignment having the least recent activity as indicated by its activity indicator. Specific activity indicators disclosed include a timestamp for each partition in the control table, as well as a count of the threads in a particular application instance concurrently accessing a partition.Type: GrantFiled: August 1, 2008Date of Patent: January 29, 2013Assignee: International Business Machines CorporationInventors: Richard J. Brodfuehrer, Terence Patrick Purcell, Michael S. Wang, Kim Jon Worm
-
Patent number: 8200657Abstract: 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: GrantFiled: September 26, 2008Date of Patent: June 12, 2012Assignee: International Business Machines CorporationInventors: Terence Patrick Purcell, Thomas Abel Beavin
-
Patent number: 8140522Abstract: A database query is partitioned into an initial partition including a plurality of parallel groups, and is executed, via an execution plan, based on the initial partition. A sampling subset of data is identified from the plurality of parallel groups. Substantially in parallel with the executing of the query, the execution plan is executed on the sampling subset of data as a sampling thread. The execution plan is modified based on feedback from the execution of the execution plan on the sampling subset of data.Type: GrantFiled: August 12, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Hong Min, Yefim Shuf, Terence Patrick Purcell, You-Chin Fuh, Chunfeng Pei, Ou Jin
-
Patent number: 7970756Abstract: A system for executing a query on data that has been partitioned into a plurality of partitions is provided. The system 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 system 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: GrantFiled: November 10, 2008Date of Patent: June 28, 2011Assignee: International Business Machines CorporationInventors: Thomas Abel Beavin, Sauraj Goswami, Terence Patrick Purcell
-
Patent number: 7953726Abstract: Processing a multiple table query includes: determining if any tables in the query require materialization; for each table in the query that requires materialization, deriving at least one join predicate on a join column; determining if any tables earlier in a join sequence for the query has same join predicates; and applying the at least one derived join predicate to an earlier table in the join sequence, if there is at least one table earlier in the join sequence that has the same join predicate. This significantly reduces the number of rows that are joined before arriving at the final result.Type: GrantFiled: August 3, 2008Date of Patent: May 31, 2011Assignee: International Business Machines CorporationInventor: Terence Patrick Purcell
-
Patent number: 7930294Abstract: Techniques for partitioning a query are provided. The techniques include establishing one or more criterion for partitioning a query, wherein the query comprises one or more tables, materializing a first of the one or more tables, partitioning the first of the one or more tables until the one or more criterion have been satisfied, and partitioning and joining a remainder of the one or more tables of the query.Type: GrantFiled: August 12, 2008Date of Patent: April 19, 2011Assignee: International Business Machines CorporationInventors: Yefim Shuf, Hong Min, Terence Patrick Purcell, Ou Jin, Fen-Ling Lin, Brian Thinh-Vinh Tran, Patrick Dooling Bossman
-
Patent number: 7895185Abstract: A method, computer program product, and system for managing row identifier (RID) list processing on an index are provided. The method, computer program product, and system provide for accessing one or more key values in the index based on one or more keys specified in a query, retrieving a plurality of row identifiers corresponding to the one or more key values from the index, and predicting an actual number of row identifiers to be retrieved from the index based on the one or more key values accessed and the plurality of row identifiers retrieved.Type: GrantFiled: September 28, 2006Date of Patent: February 22, 2011Assignee: International Business Machines CorporationInventors: Ying-Lin Chen, You-Chin Fuh, Fen-Ling Lin, Terence Patrick Purcell, Ying Zeng
-
Publication number: 20100042607Abstract: A database query is partitioned into an initial partition including a plurality of parallel groups, and is executed, via an execution plan, based on the initial partition. A sampling subset of data is identified from the plurality of parallel groups. Substantially in parallel with the executing of the query, the execution plan is executed on the sampling subset of data as a sampling thread. The execution plan is modified based on feedback from the execution of the execution plan on the sampling subset of data.Type: ApplicationFiled: August 12, 2008Publication date: February 18, 2010Applicant: International Business Machines CorporationInventors: Hong Min, Yefim Shuf, Terence Patrick Purcell, You-Chin Fuh, Chunfeng Pei, Ou Jin
-
Publication number: 20100042631Abstract: Techniques for partitioning a query are provided. The techniques include establishing one or more criterion for partitioning a query, wherein the query comprises one or more tables, materializing a first of the one or more tables, partitioning the first of the one or more tables until the one or more criterion have been satisfied, and partitioning and joining a remainder of the one or more tables of the query.Type: ApplicationFiled: August 12, 2008Publication date: February 18, 2010Applicant: International Business Machines CorporationInventors: Yefim Shuf, Hong Min, Terence Patrick Purcell, Ou Jin, Fen-Ling Lin, Brian Thinh-Vinh Tran, Patrick Dooling Bossman
-
Publication number: 20100030800Abstract: A method and apparatus for generating partition keys in an information handling system having a partitioned database. Partition keys are generated by concatenating a partition subrange identifier specifying a subrange of key values and a sequence number specifying a particular key value within a subrange. Partition keys are assigned with the aid of a partition key control table that stores subrange and available key block information and is updated whenever key blocks are reserved or the database is repartitioned. An activity indicator maintained for each partition indicates recent activity in the partition. In response to a request for a partition key, a partition is selected for key assignment having the least recent activity as indicated by its activity indicator. Specific activity indicators disclosed include a timestamp for each partition in the control table, as well as a count of the threads in a particular application instance concurrently accessing a partition.Type: ApplicationFiled: August 1, 2008Publication date: February 4, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Richard J. Brodfuehrer, Terence Patrick Purcell, Michael S. Wang, Kim Jon Worm
-
Patent number: 7565342Abstract: Provided are a techniques for processing a query including semi-joins. At execution time, a next semi-join is selected from the semi-joins for execution in a current round of semi-join executions. A reporting threshold is determined that indicates a number of record-identifiers to be retrieved for the determined semi-join. The selected semi-join is executed until the determined number of record identifiers are retrieved.Type: GrantFiled: September 9, 2005Date of Patent: July 21, 2009Assignee: International Business Machines CorporationInventors: You-Chin Fuh, Fen-Ling Lin, Andrei Fedorovich Lurie, Terence Patrick Purcell, Yoichi Tsuji, Li Xia
-
Patent number: 7536379Abstract: An improved mechanism for processing a multiple table query includes: determining if any tables in the query require materialization; for each table in the query that requires materialization, deriving at least one join predicate on a join column; determining if any tables earlier in a join sequence for the query has same join predicates; and applying the at least one derived join predicate to an earlier table in the join sequence, if there is at least one table earlier in the join sequence that has the same join predicate. This significantly reduces the number of rows that are joined before arriving at the final result.Type: GrantFiled: December 15, 2004Date of Patent: May 19, 2009Assignee: International Business Machines CorporationInventor: Terence Patrick Purcell
-
Publication number: 20090070303Abstract: A system for executing a query on data that has been partitioned into a plurality of partitions is provided. The system 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 system 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: November 10, 2008Publication date: March 12, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: THOMAS ABEL BEAVIN, SAURAJ GOSWAMI, TERENCE PATRICK 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
-
Patent number: 7499917Abstract: 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: GrantFiled: January 28, 2005Date of Patent: March 3, 2009Assignee: International Business Machines CorporationInventors: Terence Patrick Purcell, Thomas Abel Beavin
-
Publication number: 20090019040Abstract: 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: September 26, 2008Publication date: January 15, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: TERENCE PATRICK PURCELL, THOMAS ABEL BEAVIN
-
Patent number: 7461060Abstract: Methods 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 pruni.ng decision on at least one of the one or more partitions based on the limit key values associated with the plurality of partitions.Type: GrantFiled: October 4, 2005Date of Patent: December 2, 2008Assignee: International Business Machines CorporationInventors: Thomas Abel Beavin, Sauraj Goswami, Terence Patrick Purcell
-
Publication number: 20080288469Abstract: Processing a multiple table query includes: determining if any tables in the query require materialization; for each table in the query that requires materialization, deriving at least one join predicate on a join column; determining if any tables earlier in a join sequence for the query has same join predicates; and applying the at least one derived join predicate to an earlier table in the join sequence, if there is at least one table earlier in the join sequence that has the same join predicate. This significantly reduces the number of rows that are joined before arriving at the final result.Type: ApplicationFiled: August 3, 2008Publication date: November 20, 2008Applicant: International Business Machines CorporationInventor: Terence Patrick PURCELL
-
Publication number: 20080082489Abstract: A method, computer program product, and system for managing row identifier (RID) list processing on an index are provided. The method, computer program product, and system provide for accessing one or more key values in the index based on one or more keys specified in a query, retrieving a plurality of row identifiers corresponding to the one or more key values from the index, and predicting an actual number of row identifiers to be retrieved from the index based on the one or more key values accessed and the plurality of row identifiers retrieved.Type: ApplicationFiled: September 28, 2006Publication date: April 3, 2008Applicant: International Business Machines CorporationInventors: Ying-Lin CHEN, You-Chin Fuh, Fen-Ling Lin, Terence Patrick Purcell, Ying Zeng