Patents by Inventor Roger A. Mittelstadt

Roger A. Mittelstadt 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: 8290936
    Abstract: In an embodiment, a FIRSTIO execution plan is selected that has a lowest estimated execution time for finding a number of records that satisfy the query and are simultaneously viewable. An ALLIO execution plan is selected that has a lowest estimated execution time for finding all records that satisfy the query. The FIRSTIO execution plan is executed for a first time period to create a FIRSTIO result set. The ALLIO execution plan is executed for a second time period to create an ALLIO result set. The FIRSTIO result set is displayed if the FIRSTIO result set comprises more records than the ALLIO result set. The ALLIO result set is displayed if the ALLIO result set comprises more records than the FIRSTIO result set. In an embodiment, the first and second time periods expire in response to the expiration of a maximum time specified by the query.
    Type: Grant
    Filed: August 17, 2010
    Date of Patent: October 16, 2012
    Assignee: International Business Machines Corporation
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt, Brian R. Muras
  • Patent number: 8275761
    Abstract: A method, apparatus and program product that determine a density of a key value referenced in a database query over at least one range of rows, and utilize the determined density to optimize the database query. By doing so, the density of various key values may be determined and compared, and a bit map may be generated over the range of rows of the key value that is denser, resulting in a reduction of resources to build and use the bit map. Moreover, from the bit map over the range of rows to be selected after using the determined density, dense regions may be identified that can be used to optimize block I/O's according to the number of rows to be selected based on the query.
    Type: Grant
    Filed: May 15, 2008
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt
  • Publication number: 20120124056
    Abstract: A disappearing index allows faster processing of a database query without the startup time of a prior art sparse index. The disappearing index starts as a full index but is trimmed of index values that point to a row in the table that is not selected by the query. Thus the traditional index disappears as it becomes a sparse index tailored to the query. The query is able to execute faster using the now sparse index since the target database table is not accessed for duplicate values in the base table of the query. The query optimizer may determine to use a disappearing index based on estimates of the number of duplicate values in the base table. When the query is complete, the created disappearing table may be discarded or used for other queries that match the selection of the query that created the disappearing index.
    Type: Application
    Filed: November 11, 2010
    Publication date: May 17, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Randy L. Egan, Roger A. Mittelstadt, Brian R. Muras
  • Publication number: 20120096054
    Abstract: In an embodiment, a first plurality of rows of a first table are read from memory in an order of page addresses of pages in the memory that comprise the first plurality of rows. First selected rows from the first plurality of rows that meet a query predicate are stored into a result set. After the reading the first plurality of rows in the order of the page addresses, a second plurality of rows of the first table are read from secondary storage, in an order of row identifiers of the second plurality of the rows in the first table. Second selected rows from the second plurality of rows that meet the query predicate are stored into the result set.
    Type: Application
    Filed: October 19, 2010
    Publication date: April 19, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Randy L. Egan, Rafal P. Konik, Roger A. Mittelstadt, Mark W. Theuer
  • Patent number: 8140520
    Abstract: A method, apparatus and program product that determine a density for each key value of a plurality of key values in a table over at least one range of rows in the database table, and store the determined densities in a data structure for use in optimizing a query that references a key value in the plurality of key values in the table. By doing so, the density of various key values may be determined and dynamically maintained, often resulting in optimization data for improved query optimization.
    Type: Grant
    Filed: May 15, 2008
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt
  • Patent number: 8140517
    Abstract: A method, apparatus, and program product is provided to, in response to receiving a first database query for which usage of shared weight indices is prohibited, determine whether a shared weight index associated with a column of a database table referenced by the first database query can be utilized as a non-shared weight index to optimize the database query. The method, apparatus, and program product determine whether the column includes at least one changed weight value and determines whether the database query references at least one changed weight value in the column. The shared weight index is utilized to optimize the first database query in response to determining that the shared weight index can be utilized as a non-shared weight index to optimize the first database query.
    Type: Grant
    Filed: April 6, 2009
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt, Dale M. Stahl
  • Publication number: 20120047125
    Abstract: In an embodiment, a FIRSTIO execution plan is selected that has a lowest estimated execution time for finding a number of records that satisfy the query and are simultaneously viewable. An ALLIO execution plan is selected that has a lowest estimated execution time for finding all records that satisfy the query. The FIRSTIO execution plan is executed for a first time period to create a FIRSTIO result set. The ALLIO execution plan is executed for a second time period to create an ALLIO result set. The FIRSTIO result set is displayed if the FIRSTIO result set comprises more records than the ALLIO result set. The ALLIO result set is displayed if the ALLIO result set comprises more records than the FIRSTIO result set. In an embodiment, the first and second time periods expire in response to the expiration of a maximum time specified by the query.
    Type: Application
    Filed: August 17, 2010
    Publication date: February 23, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt, Brian R. Muras
  • Publication number: 20120023092
    Abstract: Systems, methods and computer program products are disclosed for managing a database cache. In one embodiment, access to a data object stored in a database is monitored. A memory residency priority for the data object is determined, based on the access patterns. Further, an access plan is determined for a query, based on the memory residency priority. Access to the data object is also monitored when the access plan is executed, thereby providing a feedback loop between determining memory residency priorities and determining query access plans.
    Type: Application
    Filed: July 26, 2010
    Publication date: January 26, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Randy L. Egan, Rafal P. Konik, Roger A. Mittelstadt, Mark W. Theuer
  • Publication number: 20120023138
    Abstract: In an embodiment, a command is received from a sender that requests deletion of an object. A determination is made whether the object specifies group authority and whether all of a plurality of members of the group authority have requested deletion of the object. If the object specifies group authority and all of the plurality of members of the group authority have requested deletion of the object, then the object is deleted. If the object specifies group authority and not all of the plurality of members of the group authority have requested deletion of the object, then an indication is saved in the group authority that the sender requested deletion of the object. If the object does not specify group authority, then the object is deleted.
    Type: Application
    Filed: July 26, 2010
    Publication date: January 26, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Randy L. Egan, Rafal P. Konik, Roger A. Mittelstadt, Mark W. Theuer
  • Patent number: 8015191
    Abstract: Dynamic processor allocation is implemented based upon bitmap data density. A bitmap index is used to process the query. A bitmap is created for the query. The bitmap is partitioned into single I/O operations. A variable partition size is provided based upon data density. Data density for each partition is calculated. Processors are assigned based upon data density of each partition. Then the partitions are processed and query results are returned.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: September 6, 2011
    Assignee: International Business Machines Corporation
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt
  • Publication number: 20100312776
    Abstract: A method, apparatus and program product for processing a database query for intelligent performance analysis and isolation of queries associated with potential problems is provided. The method may be performed in a computing system of the type that includes a query optimizer. The method comprises comparing a number of times processing of the database query has been prematurely terminated with a threshold, wherein the number is based upon tracked termination information of the database query. The method further comprises automatically collecting diagnostic information about the database query based upon the comparison, wherein the collected diagnostic information is usable for improving a second execution of the database query.
    Type: Application
    Filed: June 4, 2009
    Publication date: December 9, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Stephanie A. Burrichter, Paul R. Day, Randy L. Egan, Roger A. Mittelstadt
  • Publication number: 20100257153
    Abstract: A method, apparatus, and program product is provided to, in response to receiving a first database query for which usage of shared weight indices is prohibited, determine whether a shared weight index associated with a column of a database table referenced by the first database query can be utilized as a non-shared weight index to optimize the database query. The method, apparatus, and program product determine whether the column includes at least one changed weight value and determines whether the database query references at least one changed weight value in the column. The shared weight index is utilized to optimize the first database query in response to determining that the shared weight index can be utilized as a non-shared weight index to optimize the first database query.
    Type: Application
    Filed: April 6, 2009
    Publication date: October 7, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt, Dale M. Stahl
  • Publication number: 20090287637
    Abstract: A method, apparatus and program product that determine a density of a key value referenced in a database query over at least one range of rows, and utilize the determined density to optimize the database query. By doing so, the density of various key values may be determined and compared, and a bit map may be generated over the range of rows of the key value that is denser, resulting in a reduction of resources to build and use the bit map. Moreover, from the bit map over the range of rows to be selected after using the determined density, dense regions may be identified that can be used to optimize block I/O's according to the number of rows to be selected based on the query.
    Type: Application
    Filed: May 15, 2008
    Publication date: November 19, 2009
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt
  • Publication number: 20090287639
    Abstract: A method, apparatus and program product that determine a density for each key value of a plurality of key values in a table over at least one range of rows in the database table, and store the determined densities in a data structure for use in optimizing a query that references a key value in the plurality of key values in the table. By doing so, the density of various key values may be determined and dynamically maintained, often resulting in optimization data for improved query optimization.
    Type: Application
    Filed: May 15, 2008
    Publication date: November 19, 2009
    Inventors: Paul R. Day, Randy L. Egan, Roger A. Mittelstadt
  • Publication number: 20090248764
    Abstract: Dynamic processor allocation is implemented based upon bitmap data density. A bitmap index is used to process the query. A bitmap is created for the query. The bitmap is partitioned into single I/O operations. A variable partition size is provided based upon data density. Data density for each partition is calculated. Processors are assigned based upon data density of each partition. Then the partitions are processed and query results are returned.
    Type: Application
    Filed: March 27, 2008
    Publication date: October 1, 2009
    Inventors: Paul R Day, Randy L. Egan, Roger A. Mittelstadt
  • Publication number: 20060074874
    Abstract: A query facility for database queries saves and re-uses query execution strategies, and automatically detects that a strategy should be re-optimized as a result of changes to an indexed variable value. Preferably, the number of records evaluated and selected by the index value condition is dynamically monitored during execution, and an alternative query strategy is initiated when this number appears to be out of proportion to expectations. In an exemplary embodiment, an indexed search strategy is changed to a table scan strategy (or vice versa) as a result of a change to the number of records eliminated by the indexed value, although other examples are possible. Preferably, the query engine initiates an alternative search strategy and concurrently continues to execute the original search strategy as separate threads. Search results are obtained from whichever thread completes first.
    Type: Application
    Filed: September 30, 2004
    Publication date: April 6, 2006
    Applicant: International Business Machines Corporation
    Inventors: Paul Day, Lee Jameson, Roger Mittelstadt, Brian Muras