Patents by Inventor Randy L. Egan

Randy L. Egan 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: 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: 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
  • 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
  • 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
  • Patent number: 7653826
    Abstract: The invention, in an embodiment, relates to optimizing database performance by taking advantage of sleepy drives. The invention analyzes queries to indexes based on usage frequency, and determines whether to access an index stored on a sleepy drive, or perform an alternate access plan based on green optimization. Furthermore, the invention transfers data, such as, for example, indexes, files, data areas, journals, and statistics, between active and sleepy drives based on usage frequency. In another embodiment, the invention provides an improved sleepy drive which optimizes energy savings by a graduated degree based on a speed setting. In yet another embodiment, the invention controls when read-write heads are unloaded from disks to reduce drag and power consumption by a disk drive.
    Type: Grant
    Filed: January 20, 2009
    Date of Patent: January 26, 2010
    Assignee: International Business Machines Corporation
    Inventors: Paul Reuben Day, Randy L. Egan, Roger Alan Mittelstadt, Brian Robert Muras
  • 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: 20090182724
    Abstract: A method, apparatus and program product use a first index associated with a field in a database table to identify a range of records in the database table that includes instances of a first key value in the field and use the identified range of records to subset a second index associated with another field in a database table. The database query identifies the first key value for the field in the database table and the second key value for the other field in the database table. By doing so, information from an index may be carried over and applied to another index to subset the other index, often reducing the quantity of entries that are searched in the other index and improving performance.
    Type: Application
    Filed: January 11, 2008
    Publication date: July 16, 2009
    Inventors: Paul Reuben Day, Randy L. Egan, Roger Alan Mittelstadt
  • Publication number: 20080065588
    Abstract: If the cost of an access plan meets a condition, and an exit program is registered, data is logged for the access plan if logging is requested by a return code from the exit program. Execution of the access plan is continued or canceled if requested by the return code. In another embodiment, an inquiry message is sent to an application, the data is logged and execution of the access plan is continued or canceled if requested by a response to the inquiry message. In another embodiment, the data is logged if the logging if an override parameter requests the logging. In various embodiments, the cost of the access plan is calculated by predicting a predicted time for the execution and a predicted amount of storage needed for the execution or by calculating the actual time and the actual amount of storage used by partial execution of the access plan.
    Type: Application
    Filed: August 24, 2006
    Publication date: March 13, 2008
    Inventors: Craig Stephen Aldrich, Mark John Anderson, Robert Joseph Bestgen, Randy L. Egan, Thomas James Schreiber, Mark D. Taylor, Bruce Hubbard Vining
  • Patent number: 7020647
    Abstract: An apparatus and method to significantly improve performance of certain group queries using an encoded vector index (EVI) is disclosed. An EVI provides the data necessary to generate query results for COUNT, SUM, MIN, and MAX commands that specify the one or more database fields upon which the EVI is built. Only the EVI symbol table's key count, and the one or more database fields duplicated in the EVI symbol table are necessary to generate the query results. The key count in each EVI symbol table entry contains the number of records in the database having identical values in the EVI fields (that is, the fields upon which the EVI is built). These duplicated database values are called key values in the EVI symbol table entry. The EVI symbol table entry's key count allows quick generation of query results for COUNT and SUM commands that specify one or more EVI fields. SUM command processing of an EVI field is further facilitated by calculating a product of the key count and the key value of that EVI field.
    Type: Grant
    Filed: June 18, 1999
    Date of Patent: March 28, 2006
    Assignee: International Business Machines Corporation
    Inventors: Randy L. Egan, Kevin J. Kathmann
  • Patent number: 7007009
    Abstract: Optimizers must work with numeric data from a variety of sources including column statistics, estimated filter factors, record counts estimated costs and the like. Embodiments provided herein define and represent any such numeric measurements as a Vector of N dimensions, where n is a number of aspects of measurements that a particular optimizer is configured to consider. A particular embodiment provides a 4-dimensional vector where the dimensions represent magnitude, confidence, variance interval, and penalty. Examples of measurements considered by the optimizer, and which may be represented as a vector, include cost, estimated selectivity of a predicate, estimated number of records returned from part or all of a query, estimated record fanout when joining one file to another, etc.
    Type: Grant
    Filed: March 15, 2001
    Date of Patent: February 28, 2006
    Assignee: International Business Machines Corporation
    Inventors: Robert Joseph Bestgen, Curtis Neal Boger, John David Dietel, Randy L. Egan
  • Publication number: 20030018618
    Abstract: Optimizers must work with numeric data from a variety of sources including column statistics, estimated filter factors, record counts estimated costs and the like. Embodiments provided herein define and represent any such numeric measurements as a Vector of N dimensions, where n is a number of aspects of measurements that a particular optimizer is configured to consider. A particular embodiment provides a 4-dimensional vector where the dimensions represent magnitude, confidence, variance interval, and penalty. Examples of measurements considered by the optimizer, and which may be represented as a vector, include cost, estimated selectivity of a predicate, estimated number of records returned from part or all of a query, estimated record fanout when joining one file to another, etc.
    Type: Application
    Filed: March 15, 2001
    Publication date: January 23, 2003
    Applicant: International Business Machines Corporation
    Inventors: Robert Joseph Bestgen, Curtis Neal Boger, John David Dietel, Randy L. Egan
  • Patent number: 6356888
    Abstract: According to the present invention, an apparatus and method to significantly improve performance of the SQL DISTINCT function processing through the use of an encoded vector index (EVI) is disclosed. An EVI provides the data necessary to generate query results for SQL DISTINCT functions that specify one or more database fields upon which the EVI is built. Sequentially scanning through the EVI symbol table, each unique value or combination of values in the one or more database fields specified in the DISTINCT function are returned to provide the requested query results. By processing the EVI symbol table in lieu of more traditional database indexes, and/or in lieu of the database table itself, query results for SQL DISTINCT functions are generated significantly faster.
    Type: Grant
    Filed: July 27, 1999
    Date of Patent: March 12, 2002
    Assignee: International Business Machines Corporation
    Inventors: Randy L. Egan, Kevin J. Kathmann