Patents by Inventor David Glenn Carlson

David Glenn Carlson 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: 9411861
    Abstract: A method, apparatus and program product are provided for performing a query of a database. A database query is received, which includes first and second operations respectively configured to generate first and second disjoint results sets from a dataspace. The database query is analyzed to identify a set of attributes from the dataspace that are used by at least one of the first and second operations in the database query. During execution of the database query, a plurality of records from the dataspace is iteratively processed in a single pass, including, for each of the plurality of records, processing such record by retrieving the plurality of attributes for such record from the dataspace and performing each of the first and second operations on the record using the retrieved attributes for such record to build the first and second disjoint results sets.
    Type: Grant
    Filed: December 21, 2007
    Date of Patent: August 9, 2016
    Assignee: International Business Machines Corporation
    Inventors: Robert Joseph Bestgen, David Glenn Carlson, Robert Victor Downer, Shantan Kethireddy
  • Patent number: 9390108
    Abstract: Nodes in a query execution data structure have monitor and dump methods defined. The monitor method enables the collection of information from the node. The dump method outputs the monitored information from each node. A monitor and debug mechanism of the preferred embodiments includes a graphical user interface that allows a user to graphically examine a query execution tree, to enable monitoring of the nodes on a node-by-node basis, and to view information dumped from the query execution data structure as the query is executed or after the query is executed. The result is a powerful tool that allows efficiently monitoring and debugging a query implemented in an object oriented query execution data structure.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: July 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Steven Virgil Hoeschen, Kevin James Kathmann
  • Patent number: 9092464
    Abstract: Nodes in a query execution data structure have monitor and dump methods defined. The monitor method enables the collection of information from the node. The dump method outputs the monitored information from each node. A monitor and debug mechanism of the preferred embodiments includes a graphical user interface that allows a user to graphically examine a query execution tree, to enable monitoring of the nodes on a node-by-node basis, and to view information dumped from the query execution data structure as the query is executed or after the query is executed. The result is a powerful tool that allows efficiently monitoring and debugging a query implemented in an object oriented query execution data structure.
    Type: Grant
    Filed: November 17, 2005
    Date of Patent: July 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Steven Virgil Hoeschen, Kevin James Kathmann
  • Patent number: 8478889
    Abstract: A stream data node receives real-time streamed data from one or more input devices, dynamically filters the streamed data to reduce the streamed data, and delivers the reduced data when requested. By providing real-time filtering of the data, the amount of data that must be stored in a database may be substantially reduced. The stream data node can perform aggregation functions, group functions, and select functions, thereby also significantly reducing the amount of data that must be stored in a database. The stream data node may also be part of a query execution data structure, where it delivers its data when requested by another node in the query execution data structure.
    Type: Grant
    Filed: February 18, 2009
    Date of Patent: July 2, 2013
    Assignee: International Business Machines Corporation
    Inventors: Robert Joseph Bestgen, David Glenn Carlson, Kevin James Kathmann
  • Patent number: 8082265
    Abstract: A method, apparatus and program product dynamically activate and/or deactivate buffers during execution of a database query. The dynamic deactivation and activation is based on the monitoring of information associated with the consumption of data by a plurality of threads during execution of an access plan for the database query. By doing so, the selection of a less optimal buffer position during optimization may be replaced with a more optimal buffer position during runtime, often resulting in improved query performance and parallelism.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: December 20, 2011
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Wei Hu, Kevin James Kathmann, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20090248618
    Abstract: A method, apparatus and program product dynamically activate and/or deactivate buffers during execution of a database query. The dynamic deactivation and activation is based on the monitoring of information associated with the consumption of data by a plurality of threads during execution of an access plan for the database query. By doing so, the selection of a less optimal buffer position during optimization may be replaced with a more optimal buffer position during runtime, often resulting in improved query performance and parallelism.
    Type: Application
    Filed: March 27, 2008
    Publication date: October 1, 2009
    Inventors: David Glenn Carlson, Wei Hu, Kevin James Kathmann, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20090164412
    Abstract: A method, apparatus and program product are provided for performing a query of a database. A database query is received, which includes first and second operations respectively configured to generate first and second disjoint results sets from a dataspace. The database query is analyzed to identify a set of attributes from the dataspace that are used by at least one of the first and second operations in the database query. During execution of the database query, a plurality of records from the dataspace is iteratively processed in a single pass, including, for each of the plurality of records, processing such record by retrieving the plurality of attributes for such record from the dataspace and performing each of the first and second operations on the record using the retrieved attributes for such record to build the first and second disjoint results sets.
    Type: Application
    Filed: December 21, 2007
    Publication date: June 25, 2009
    Inventors: Robert Joseph Bestgen, David Glenn Carlson, Robert Victor Downer, Shantan Kethireddy
  • Publication number: 20090150560
    Abstract: A stream data node receives real-time streamed data from one or more input devices, dynamically filters the streamed data to reduce the streamed data, and delivers the reduced data when requested. By providing real-time filtering of the data, the amount of data that must be stored in a database may be substantially reduced. The stream data node can perform aggregation functions, group functions, and select functions, thereby also significantly reducing the amount of data that must be stored in a database. The stream data node may also be part of a query execution data structure, where it delivers its data when requested by another node in the query execution data structure.
    Type: Application
    Filed: February 18, 2009
    Publication date: June 11, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Joseph Bestgen, David Glenn Carlson, Kevin James Kathmann
  • Publication number: 20090144307
    Abstract: Methods, systems, and computer program products are provided for executing database rollup queries. Methods can include iterating through a database table which has been grouped and ordered on the different columns which are in the ROLLUP clause. In some embodiments, a GROUP BY ROLLUP construct can be executed while only requiring an additional one storage location per ordered column per each aggregate function to be performed on each database row. The higher level aggregate functions can be executed without relying on accessing any lower level aggregate results in some embodiments. A suitably grouped and ordered database table can have a multiple level hierarchical ROLLUP function executed in a single pass without having to retrieve lower level aggregate results.
    Type: Application
    Filed: November 29, 2007
    Publication date: June 4, 2009
    Inventors: Robert Joseph Bestgen, David Glenn Carlson, Robert Victor Downer, Shantan Kethireddy
  • Patent number: 7512700
    Abstract: A stream data node receives real-time streamed data from one or more input devices, dynamically filters the streamed data to reduce the streamed data, and delivers the reduced data when requested. By providing real-time filtering of the data, the amount of data that must be stored in a database may be substantially reduced. The stream data node can perform aggregation functions, group functions, and select functions, thereby also significantly reducing the amount of data that must be stored in a database. The stream data node may also be part of a query execution data structure, where it delivers its data when requested by another node in the query execution data structure.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: March 31, 2009
    Assignee: International Business Machines Corporation
    Inventors: Robert Joseph Bestgen, David Glenn Carlson, Kevin James Kathmann
  • Publication number: 20080162543
    Abstract: Nodes in a query execution data structure have monitor and dump methods defined. The monitor method enables the collection of information from the node. The dump method outputs the monitored information from each node. A monitor and debug mechanism of the preferred embodiments includes a graphical user interface that allows a user to graphically examine a query execution tree, to enable monitoring of the nodes on a node-by-node basis, and to view information dumped from the query execution data structure as the query is executed or after the query is executed. The result is a powerful tool that allows efficiently monitoring and debugging a query implemented in an object oriented query execution data structure.
    Type: Application
    Filed: February 27, 2008
    Publication date: July 3, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Glenn Carlson, Steven Virgil Hoeschen, Kevin James Kathmann
  • Publication number: 20080148103
    Abstract: Nodes in a query execution data structure have monitor and dump methods defined. The monitor method enables the collection of information from the node. The dump method outputs the monitored information from each node. A monitor and debug mechanism of the preferred embodiments includes a graphical user interface that allows a user to graphically examine a query execution tree, to enable monitoring of the nodes on a node-by-node basis, and to view information dumped from the query execution data structure as the query is executed or after the query is executed. The result is a powerful tool that allows efficiently monitoring and debugging a query implemented in an object oriented query execution data structure.
    Type: Application
    Filed: February 27, 2008
    Publication date: June 19, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Glenn Carlson, Steven Virgil Hoeschen, Kevin James Kathmann
  • Patent number: 7315855
    Abstract: Methods, systems and articles of manufacture of processing a multi-state attribute field query. One embodiment provides a method of processing a multi-state attribute field query, comprising instantiating a plurality of live objects; performing, by each live object, an attribute operation, wherein at least one attribute operation is a comparison operation associated with attributes of the query. The plurality of live objects access a global status storage area only when an operand of the comparison operation is null or error. In any case, execution control is passed from each live object to an adjacent live object.
    Type: Grant
    Filed: May 12, 2005
    Date of Patent: January 1, 2008
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Kevin James Kathmann
  • Patent number: 7136848
    Abstract: Previously-optimized database queries are stored in memory. When a new query needs to be optimized, the previously-optimized queries are examined to determine whether the new query has been previously optimized. If the new query has not been previously optimized, the previously-optimized queries are examined to determine whether any previously-optimized queries differ only in data type of one or more operands when compared to the new query. If a previously-optimized query that differs only in data type is located, the previously-optimized query is refreshed to reflect the different data type without the need of optimizing the new query from scratch. Portions of previously-optimized queries may thus be re-used even when a previously-optimized query is not identical to a new query to be optimized. As a result, the performance of query optimization in a database system is increased.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: November 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Kevin James Kathmann
  • Patent number: 7089230
    Abstract: Methods, systems and articles of manufacture of processing a multi-state attribute field query. One embodiment provides a method of processing a multi-state attribute field query, comprising instantiating a plurality of live objects; performing, by each live object, an attribute operation, wherein at least one attribute operation is a comparison operation associated with attributes of the query. The plurality of live objects access a global status storage area only when an operand of the comparison operation is null or error. In any case, execution control is passed from each live object to an adjacent live object.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: August 8, 2006
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Kevin James Kathmann
  • Patent number: 6999958
    Abstract: An apparatus, program product and method perform runtime query optimization during execution of a query to select from among multiple available plans, or implementations, capable of implementing the query. The runtime query optimization utilizes a runtime-derived performance criterion to dynamically select from among multiple query implementations. A performance criterion is dynamically evaluated during execution of at least a portion of a query, and one of a plurality of query implementations defined in the query is selected based upon the dynamically-evaluated performance criterion. Once selected, execution of the query is continued using the selected query implementation.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: February 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Kevin James Kathmann, Lawrence Kenneth Nash
  • Patent number: 6915291
    Abstract: An apparatus, program product and method represent a database query access plan a query execution data structure including a plurality of query node objects arranged into a tree relationship to define a parent node object and at least one child node object, and an attribute data structure that references a plurality of attributes utilized by the query execution data structure. At least one of the parent and child node objects includes an attribute operation data structure configured to manipulate at least a subset of the plurality of attributes in the attribute data structure by accessing the attribute operation data structure. By partitioning the functionality of a query access plan into a collection of node objects and an attribute data structure, and then providing within at least a subset of the node objects attribute operation data structures that manipulate the attribute data structure, the resulting query engine architecture becomes significantly extendible and adaptable.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: July 5, 2005
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, David Lee Hermsmeier, Kevin James Kathmann, Thomas Owen McKinley
  • Patent number: 6910032
    Abstract: An apparatus, program product and method utilize a dynamically-populated query buffer to facilitate the handling of at least a portion of a database query in parallel. A query is implemented using at least first and second portions, where the second portion of the query is executed in parallel using a plurality of threads. The first portion of the query is executed to dynamically populate a query buffer with records from a data source, and the plurality of threads that execute the second portion of the query are specified to the query buffer so that the effective data source for the second portion of the query comprises the records that are dynamically populated into the query buffer.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: June 21, 2005
    Assignee: International Business Machines Corporation
    Inventors: David Glenn Carlson, Tariq Mahmood Choudhry, Kevin James Kathmann
  • Publication number: 20030229621
    Abstract: Previously-optimized database queries are stored in memory. When a new query needs to be optimized, the previously-optimized queries are examined to determine whether the new query has been previously optimized. If the new query has not been previously optimized, the previously-optimized queries are examined to determine whether any previously-optimized queries differ only in data type of one or more operands when compared to the new query. If a previously-optimized query that differs only in data type is located, the previously-optimized query is refreshed to reflect the different data type without the need of optimizing the new query from scratch. Portions of previously-optimized queries may thus be re-used even when a previously-optimized query is not identical to a new query to be optimized. As a result, the performance of query optimization in a database system is increased.
    Type: Application
    Filed: August 29, 2002
    Publication date: December 11, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Glenn Carlson, Kevin James Kathmann
  • Publication number: 20030229639
    Abstract: An apparatus, program product and method perform runtime query optimization during execution of a query to select from among multiple available plans, or implementations, capable of implementing the query. The runtime query optimization utilizes a runtime-derived performance criterion to dynamically select from among multiple query implementations. A performance criterion is dynamically evaluated during execution of at least a portion of a query, and one of a plurality of query implementations defined in the query is selected based upon the dynamically-evaluated performance criterion. Once selected, execution of the query is continued using the selected query implementation.
    Type: Application
    Filed: June 7, 2002
    Publication date: December 11, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Glenn Carlson, Kevin James Kathmann, Lawrence Kenneth Nash