Patents by Inventor Ulrich Thiemann

Ulrich Thiemann 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: 7921102
    Abstract: A method, apparatus and program product is provided for optimizing a database query. A query syntax, system generated predicates, and requisite statistics of the database query are analyzed to determine if a predicate structure is a good candidate for a symbol table only data structure. The predicate structure is analyzed to determine if the predicate structure is already encompassed by an encoded vector index. The symbol table only data structure is generated for at least one column in a database table without generating a corresponding vector data structure from an encoded vector index if the predicate structure is a good candidate and not encompassed by an encoded vector index. The symbol table only data structure is maintained by detecting a change in data associated with the symbol table only data structure and updating the symbol table only data structure to reflect the change in the data.
    Type: Grant
    Filed: July 20, 2010
    Date of Patent: April 5, 2011
    Assignee: International Business Machines Corporation
    Inventors: Michael W. Cain, Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20100287206
    Abstract: A method, apparatus and program product is provided for optimizing a database query. A query syntax, system generated predicates, and requisite statistics of the database query are analyzed to determine if a predicate structure is a good candidate for a symbol table only data structure. The predicate structure is analyzed to determine if the predicate structure is already encompassed by an encoded vector index. The symbol table only data structure is generated for at least one column in a database table without generating a corresponding vector data structure from an encoded vector index if the predicate structure is a good candidate and not encompassed by an encoded vector index. The symbol table only data structure is maintained by detecting a change in data associated with the symbol table only data structure and updating the symbol table only data structure to reflect the change in the data.
    Type: Application
    Filed: July 20, 2010
    Publication date: November 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael W. Cain, Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Patent number: 7792823
    Abstract: A method, apparatus and program product is provided for optimizing a database query. A query syntax, system generated predicates, and requisite statistics of the database query are analyzed to determine if a predicate structure is a good candidate for a symbol table only data structure. The predicate structure is analyzed to determine if the predicate structure is already encompassed by an encoded vector index. The symbol table only data structure is generated for at least one column in a database table without generating a corresponding vector data structure from an encoded vector index if the predicate structure is a good candidate and not encompassed by an encoded vector index. The symbol table only data structure is maintained by detecting a change in data associated with the symbol table only data structure and updating the symbol table only data structure to reflect the change in the data.
    Type: Grant
    Filed: January 15, 2008
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventors: Michael W. Cain, Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20100036805
    Abstract: Embodiments of the invention provide techniques for maintaining I/O value caches for database queries. Each maintained cache may be configured for use with a particular database query. Each cache may be persistently maintained in a system, meaning the cache is not automatically deleted after some period of time, and may thus be used to process subsequent instances of the same query. By use of the maintained cache, executing subsequent instances of the query may be avoided, thus saving time and system resources. Further, the maintained cache may be adapted to process other queries having similar characteristics to the initial query. The data included in each cache may be refreshed as required by changes to the underlying data.
    Type: Application
    Filed: August 5, 2008
    Publication date: February 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas William Blamer, Wei Hu, Kevin James Kathmann, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20100036804
    Abstract: Embodiments of the invention provide techniques for maintaining I/O value caches for database queries. Each maintained cache may be configured for use with a particular database query. Each cache may be persistently maintained in a system, meaning the cache is not automatically deleted after some period of time, and may thus be used to process subsequent instances of the same query. By use of the maintained cache, executing subsequent instances of the query may be avoided, thus saving time and system resources. Further, the maintained cache may be adapted to process other queries having similar characteristics to the initial query. The data included in each cache may be refreshed as required by changes to the underlying data.
    Type: Application
    Filed: August 5, 2008
    Publication date: February 11, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas William Blamer, Wei Hu, Kevin James Kathmann, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20090319475
    Abstract: Embodiments of the invention provide techniques for aggregating database queries for energy efficiency. In one embodiment, queries received by a DBMS are aggregated and staged according to hard-disk drives required for query execution. Each group of queries accessing a given drive may be dispatched for execution together. Further, the queries received by a DBMS may be matched to patterns of previously received queries. The matching patterns may be used to predict other queries which are likely to be received by the DBMS. The received queries may be staged to be dispatched with the predicted queries. By aggregating queries to be executed, access to each hard-disk drive may be optimized, thus reducing the overall energy consumption required for executing the queries.
    Type: Application
    Filed: June 19, 2008
    Publication date: December 24, 2009
    Inventors: Robert Joseph Bestgen, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20090319474
    Abstract: Embodiments of the invention provide techniques for aggregating database queries for energy efficiency. In one embodiment, queries received by a DBMS are aggregated and staged according to hard-disk drives required for query execution. Each group of queries accessing a given drive may be dispatched for execution together. Further, the queries received by a DBMS may be matched to patterns of previously received queries. The matching patterns may be used to predict other queries which are likely to be received by the DBMS. The received queries may be staged to be dispatched with the predicted queries. By aggregating queries to be executed, access to each hard-disk drive may be optimized, thus reducing the overall energy consumption required for executing the queries.
    Type: Application
    Filed: June 19, 2008
    Publication date: December 24, 2009
    Inventors: Robert Joseph Bestgen, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20090282272
    Abstract: Embodiments of the invention provide techniques for optimizing database queries for energy efficiency. In general, a query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. In one embodiment, the query optimizer may also compare time performance of the query plans, and may select a query plan by matching to a user preference for a relative priority between energy requirements and time performance.
    Type: Application
    Filed: May 8, 2008
    Publication date: November 12, 2009
    Inventors: Robert J. Bestgen, Wei Hu, Shantan Kethireddy, Andrew P. Passe, Ulrich Thiemann
  • Publication number: 20090281986
    Abstract: Embodiments of the invention provide techniques for optimizing database queries for energy efficiency. In general, a query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. In one embodiment, the query optimizer may also compare time performance of the query plans, and may select a query plan by matching to a user preference for a relative priority between energy requirements and time performance.
    Type: Application
    Filed: May 8, 2008
    Publication date: November 12, 2009
    Inventors: Robert J. Bestgen, Wei Hu, Shantan Kethireddy, Andrew P. Passe, Ulrich Thiemann
  • Publication number: 20090281992
    Abstract: Embodiments of the invention provide techniques for optimizing database queries for energy efficiency. In general, a query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. In one embodiment, the query optimizer may also compare time performance of the query plans, and may select a query plan by matching to a user preference for a relative priority between energy requirements and time performance.
    Type: Application
    Filed: May 8, 2008
    Publication date: November 12, 2009
    Inventors: Robert J. Bestgen, Wei Hu, Shantan Kethireddy, Andrew P. Passe, Ulrich Thiemann
  • Publication number: 20090276394
    Abstract: A plan for executing a query in a relational database is obtained. A query for accessing data in the relational database is received. The query specifies N tables in the relational database from which data is to be retrieved. A determination is made whether a syntax of the query matches a syntax of a plan in a plan cache for executing the query. Matches are identified between generic table formats of the N tables specified in the query to generic table formats of N tables specified in the plan responsive to the syntax of the query matching the syntax of a plan in the plan cache for executing the query. The plan for executing the query is obtained based on whether the syntax of the query matches the syntax of the plan and based on identified matches between the generic table formats of the N tables specified in the query to the generic table formats of the N tables specified in the plan.
    Type: Application
    Filed: May 5, 2008
    Publication date: November 5, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert J. Bestgen, Wei Hu, Shantan Kethireddy, Andrew P. 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: 20090182720
    Abstract: A method, apparatus and program product is provided for optimizing a database query. A query syntax, system generated predicates, and requisite statistics of the database query are analyzed to determine if a predicate structure is a good candidate for a symbol table only data structure. The predicate structure is analyzed to determine if the predicate structure is already encompassed by an encoded vector index. The symbol table only data structure is generated for at least one column in a database table without generating a corresponding vector data structure from an encoded vector index if the predicate structure is a good candidate and not encompassed by an encoded vector index. The symbol table only data structure is maintained by detecting a change in data associated with the symbol table only data structure and updating the symbol table only data structure to reflect the change in the data.
    Type: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Inventors: Michael W. Cain, Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Patent number: 7523094
    Abstract: This is an example of a new method for optimization of database queries which uses an asynchronous task which keeps the most current status of the database objects by directly interfacing the existing storage management system. This asynchronous task in combination with query plan and cache data is able to aid in detecting and choosing “warm” query costing alternatives. The cold/warm status information of the asynchronous task helps query optimizer to determine: if it is suitable to use “warm” costing for a new query optimization; validate previous decisions to use a “warm”-optimized query plan, when it comes to potentially reuse and run with such a plan again; decide whether it's worthwhile to still cache such a plan in the plan cache.
    Type: Grant
    Filed: March 16, 2008
    Date of Patent: April 21, 2009
    Assignee: International Business Machines Corporation
    Inventors: Ulrich Thiemann, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Robert Joseph Bestgen
  • Publication number: 20090077013
    Abstract: A method, system, and computer program product for user-driven targeted query re-optimizations using delta values are provided. The method includes displaying a query tree for a query via a graphical user interface (GUI), where the query tree includes a plurality of interconnected nodes in a tree structure, and outputting a delta value as a difference between an estimated and an actual performance metric of query execution. The method also includes receiving a request to provide alternative execution plans for a subtree of a selected node of the query tree, and displaying at least one alternative execution plan description for the subtree of the selected node. The method further includes receiving a re-optimization request for a user selected alternative execution plan description, and displaying a re-optimized query tree resulting from the re-optimization request.
    Type: Application
    Filed: September 19, 2007
    Publication date: March 19, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wei Hu, Shantan Kethireddy, Andrew P. Passe, Ulrich Thiemann
  • Publication number: 20080301085
    Abstract: Embodiments of the invention provide techniques for generating database statistics for optimizing union queries. In general, working sets including samples of values in database columns are persistently maintained in a database. To optimize a union query, the working sets describing the columns included in the union query are combined to generate an ad hoc working set. The ad hoc working set is then used to generate a database statistic describing the combined columns. In another embodiment, working sets may also be maintained for generating statistics for optimizing non-union queries, thus enabling statistics to be refreshed more frequently.
    Type: Application
    Filed: May 31, 2007
    Publication date: December 4, 2008
    Inventors: Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20080256024
    Abstract: A method, apparatus and program product to optimize a database query. A query plan is generated for the database query where the query plan includes first and second subplans. Cached optimization data associated with the first subplan and generated during evaluation of another query plan for a previous query that uses the first subplan is retrieved. The first subplan is evaluated for resource cost using the retrieved optimization data. The second subplan is also evaluated for resource cost. The query plan is then evaluated for resource cost based upon the evaluations of resource cost for the first and second subplans. A query plan is selected based on evaluations of resource cost and the plan is executed to generate a result set.
    Type: Application
    Filed: April 13, 2007
    Publication date: October 16, 2008
    Inventors: Robert Victor Downer, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20080256025
    Abstract: A method, apparatus and program product to optimize a database query. In a first system having a first dataspace, a query plan is generated for the database query. Remote statistics collection associated with the database query is initiated on a second system having a second dataspace. The remote statistics collection uses the second dataspace, which includes a current copy of at least a portion of the first dataspace on the first system. Database statistics are collected for the first system by analyzing the second dataspace and then communicating the collected database statistics to the first system for use in optimizing database queries executed by the first system.
    Type: Application
    Filed: April 13, 2007
    Publication date: October 16, 2008
    Inventors: Robert Joseph Bestgen, Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Publication number: 20080183684
    Abstract: Methods, apparatus, and products are disclosed for caching an access plan for a query that include: receiving, in a SQL module of a DBMS, a SQL query that specifies data for retrieval from a database, the database characterized by database statistics, the SQL query characterized by one or more host variable values; generating, by the SQL module, an access plan in dependence upon the SQL query; calculating, by the SQL module, a routing code for the SQL query in dependence upon the host variable values of the SQL query and a portion of the database statistics; and storing, by the SQL module, the access plan in an access plan cache, including associating with the access plan the routing code for the SQL query and the portion of the database statistics used to calculate the routing code.
    Type: Application
    Filed: January 26, 2007
    Publication date: July 31, 2008
    Inventors: Robert J. Bestgen, Michael S. Faunce, Wei Hu, Shantan Kethireddy, Andrew P. Passe, Ulrich Thiemann
  • Publication number: 20080168427
    Abstract: Methods, systems, and products are provided for code path tracking. Embodiments include identifying an instrumented trace point in software code to be path tracked; identifying a function executed at the instrumented trace point in the software code; identifying parameters for the function executed at the instrumented trace point; and recording a description of the function, the parameters, and the result of the execution of the function using the parameters.
    Type: Application
    Filed: January 10, 2007
    Publication date: July 10, 2008
    Inventors: Robert J. Bestgen, Robert D. Driesch, Wei Hu, Shantan Kethireddy, Edward J. Miller, Andrew P. Passe, Ulrich Thiemann