Patents by Inventor Garth A. Dickie

Garth A. Dickie 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).

  • Publication number: 20160098439
    Abstract: According to embodiments of the present invention, machines, systems, methods and computer program products for hardware acceleration are presented. A plurality of computational nodes for processing data is provided, each node performing a corresponding operation for data received at that node, A metric module is used to determine a compression benefit metric pertaining to performance of the corresponding operations of one or more computational nodes with recompressed data, An accelerator module recompresses data for processing by the one or more computational nodes based on the compression benefit metric indicating a benefit gained by using the recompressed data. A distribution function may be used to distribute data among a plurality of nodes.
    Type: Application
    Filed: October 3, 2014
    Publication date: April 7, 2016
    Inventors: Garth A. Dickie, Michael Sporer, Jason A. Viehland
  • Publication number: 20160098446
    Abstract: Data within a database object are accessed based on a query with a predicate including a plurality of conditional expressions. Elements of the database object are stored among a plurality of different storage regions along with range values for element values within each storage region. Each conditional expression of the query predicate is applied to the range values for each storage region to produce evaluation results of that conditional expression for each storage region. The evaluation result of each conditional expression for a corresponding storage region is combined to produce aggregated results for each of the storage regions, where the aggregated result for a corresponding storage region indicates results of a tri-state evaluation (e.g., true/false or unknown) of the conditional expressions for that storage region. One or more corresponding individual storage regions are scanned based on the aggregated results for those storage regions when the tri-state evaluation is unknown.
    Type: Application
    Filed: October 6, 2014
    Publication date: April 7, 2016
    Inventor: Garth A. Dickie
  • Publication number: 20160098451
    Abstract: Data within a database object are accessed based on a query with a predicate including a plurality of conditional expressions. Elements of the database object are stored among a plurality of different storage regions along with range values for element values within each storage region. Each conditional expression of the query predicate is applied to the range values for each storage region to produce evaluation results of that conditional expression for each storage region. The evaluation result of each conditional expression for a corresponding storage region is combined to produce aggregated results for each of the storage regions, where the aggregated result for a corresponding storage region indicates results of a tri-state evaluation (e.g., true/false or unknown) of the conditional expressions for that storage region. One or more corresponding individual storage regions are scanned based on the aggregated results for those storage regions when the tri-state evaluation is unknown.
    Type: Application
    Filed: April 29, 2015
    Publication date: April 7, 2016
    Inventor: Garth A. Dickie
  • Publication number: 20160094242
    Abstract: According to embodiments of the present invention, machines, systems, methods and computer program products for hierarchical compression of data are presented comprising creating a compression hierarchy of compression nodes, wherein each compression node is associated with a compression operation to produce compressed data. An output of any of the compression nodes may be compressed by another compression node or the same compression node. A path of one or more compression nodes is determined through said compression hierarchy based upon compression statistics to compress data, and the data is compressed by the compression nodes of the path. Various computational techniques are presented herein for manipulating the compression hierarchy to defer or reduce computation during query evaluation.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: William B. Ackerman, Garth A. Dickie, Jeffrey M. Keller
  • Publication number: 20160094243
    Abstract: According to embodiments of the present invention, machines, systems, methods and computer program products for hierarchical compression of data are presented comprising creating a compression hierarchy of compression nodes, wherein each compression node is associated with a compression operation to produce compressed data. An output of any of the compression nodes may be compressed by another compression node or the same compression node. A path of one or more compression nodes is determined through said compression hierarchy based upon compression statistics to compress data, and the data is compressed by the compression nodes of the path. Various computational techniques are presented herein for manipulating the compression hierarchy to defer or reduce computation during query evaluation.
    Type: Application
    Filed: May 1, 2015
    Publication date: March 31, 2016
    Inventors: William B. Ackerman, Garth A. Dickie, Jeffrey M. Keller
  • Publication number: 20160055210
    Abstract: According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.
    Type: Application
    Filed: August 21, 2014
    Publication date: February 25, 2016
    Inventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
  • Publication number: 20160055208
    Abstract: According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query.
    Type: Application
    Filed: April 7, 2015
    Publication date: February 25, 2016
    Inventors: Thomas A. Beavin, Garth A. Dickie, Ian R. Finlay, Terence P. Purcell
  • Publication number: 20150363447
    Abstract: Elements of a database object are stored among a plurality of different storage regions, each storage region being associated with a first value range indicating upper and lower range values for element values within that storage region. An index is generated and maintained for one or more second value ranges that include range values that comprise subsets of the first value ranges. A query is processed that includes a query value and one or more storage regions to be read is determined by using one of the index and the first value ranges based on the query value relative to a second value range.
    Type: Application
    Filed: March 11, 2015
    Publication date: December 17, 2015
    Inventor: Garth A. Dickie
  • Publication number: 20150363404
    Abstract: Elements of a database object are stored among a plurality of different storage regions, each storage region being associated with a first value range indicating upper and lower range values for element values within that storage region. An index is generated and maintained for one or more second value ranges that include range values that comprise subsets of the first value ranges. A query is processed that includes a query value and one or more storage regions to be read is determined by using one of the index and the first value ranges based on the query value relative to a second value range.
    Type: Application
    Filed: June 16, 2014
    Publication date: December 17, 2015
    Inventor: Garth A. Dickie
  • Publication number: 20150347492
    Abstract: According to embodiments of the present invention, methods, systems and computer-readable media are presented for accessing data within a database object, wherein an element of the database object is stored among a plurality of different storage regions with each storage region being associated with first and second range values indicating a value range for element values within that storage region. One or more element values within a storage region are identified residing outside a range of values of remaining elements within that storage region. Each identified element value is mapped to a second value. The first and second range values are determined for the storage region in accordance with the range of values of the remaining elements within that storage region. The storage region is scanned in accordance with a comparison of a requested value to at least one of the determined first and second range values of those storage regions.
    Type: Application
    Filed: May 28, 2014
    Publication date: December 3, 2015
    Applicant: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Publication number: 20150347087
    Abstract: According to embodiments of the present invention, apparatus, systems, methods and computer program products for sorting and compressing an unordered set of data records from a structured database are provided. Fields of the unordered set of data records are prioritized based on an impact of those fields to a compression scheme for column-oriented compression. The unordered set of data records are sorted based on the prioritized field(s) with a greatest impact on the performance metric. Data of the sorted data records are compressed according to a compression scheme. In some embodiments, prioritizing the fields may be based on an anticipated level of usage of data within those fields and/or a cost function associated with a performance metric as well as optimization of compression. A performance metric may include a faster computational time, reduced I/O computation, faster scan time, etc.
    Type: Application
    Filed: May 27, 2014
    Publication date: December 3, 2015
    Applicant: International Business Machines Corporation
    Inventors: Garth A. Dickie, Jeffrey M. Keller
  • Publication number: 20150347426
    Abstract: According to embodiments of the present invention, apparatus, systems, methods and computer program products for sorting and compressing an unordered set of data records from a structured database are provided. Fields of the unordered set of data records are prioritized based on an impact of those fields to a compression scheme for column-oriented compression. The unordered set of data records are sorted based on the prioritized field(s) with a greatest impact on the performance metric. Data of the sorted data records are compressed according to a compression scheme. In some embodiments, prioritizing the fields may be based on an anticipated level of usage of data within those fields and/or a cost function associated with a performance metric as well as optimization of compression. A performance metric may include a faster computational time, reduced I/O computation, faster scan time, etc.
    Type: Application
    Filed: March 11, 2015
    Publication date: December 3, 2015
    Inventors: Garth A. Dickie, Jeffrey M. Keller
  • Publication number: 20150293967
    Abstract: According to one embodiment of the present invention, a system performs a grouping operation for a database query. The system assigns data elements to groups and aggregates information for a group in response to assigning the group two or more data elements. The system passes the aggregated information for a group of two or more data elements for processing in accordance with the query, and passes information for a data element of a single-member group in a received form for processing in accordance with the query. Embodiments of the present invention further include a method and computer program product for grouping data elements in substantially the same manners described above.
    Type: Application
    Filed: April 9, 2014
    Publication date: October 15, 2015
    Applicant: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Publication number: 20150293968
    Abstract: According to one embodiment of the present invention, a system performs a grouping operation for a database query. The system assigns data elements to groups and aggregates information for a group in response to assigning the group two or more data elements. The system passes the aggregated information for a group of two or more data elements for processing in accordance with the query, and passes information for a data element of a single-member group in a received form for processing in accordance with the query. Embodiments of the present invention further include a method and computer program product for grouping data elements in substantially the same manners described above.
    Type: Application
    Filed: March 10, 2015
    Publication date: October 15, 2015
    Inventor: Garth A. Dickie
  • Publication number: 20150288691
    Abstract: According to embodiments of the present invention, methods, systems and computer-readable media are presented for processing a database query. The query may specify an arrangement for resulting data. A digest is generated for each of a plurality of database object elements. The plurality of database object dements are grouped or mapped into one or more groups based on the digest to arrange the database object elements in digest order. The database object elements from the one or more groups are extracted and/or processed in order of the digest, in accordance with the specified arrangement.
    Type: Application
    Filed: March 4, 2015
    Publication date: October 8, 2015
    Inventor: Garth A. Dickie
  • Publication number: 20150288381
    Abstract: Each binary floating-point value in a set of binary floating-point values is converted to a decimal floating-point value. Data are determined including an exponent, a mantissa and a quantity of decimal digits of the mantissa for each decimal floating-point value. The exponents, the mantissas and the quantity of decimal digits are individually compressed to produce compressed floating-point values based on the individual compressions.
    Type: Application
    Filed: March 4, 2015
    Publication date: October 8, 2015
    Inventor: Garth A. Dickie
  • Publication number: 20150286465
    Abstract: Each binary floating-point value in a set of binary floating-point values is converted to a decimal floating-point value. Data are determined including an exponent, a mantissa and a quantity of decimal digits of the mantissa for each decimal floating-point value. The exponents, the mantissas and the quantity of decimal digits are individually compressed to produce compressed floating-point values based on the individual compressions.
    Type: Application
    Filed: April 7, 2014
    Publication date: October 8, 2015
    Applicant: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Publication number: 20150286676
    Abstract: According to embodiments of the present invention, methods, systems and computer readable media are presented for processing a database query. The query may specify an arrangement for resulting data. A digest is generated for each of a plurality of database object elements. The plurality of database object elements are grouped or mapped into one or more groups based on the digest to arrange the database object elements in digest order. The database object elements from the one or more groups are extracted and/or processed in order of the digest, in accordance with the specified arrangement.
    Type: Application
    Filed: April 7, 2014
    Publication date: October 8, 2015
    Applicant: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Publication number: 20150242452
    Abstract: According to embodiments of the present invention, methods, systems and computer-readable media are presented for scanning a plurality of storage regions within memory for a specified quantity of results, wherein each storage region is associated with an interval including first and second interval values indicating a value range for values within that storage region. The techniques comprise sorting the first interval values into an order, wherein the order of the first interval values determines a scanning order for the plurality of storage regions, determining a result value, wherein the result value is an upper bound, a lower bound, or is outside of the specified quantity of results, and examining the sorted first interval values and scanning corresponding individual storage regions in response to a comparison of the determined result value with the first interval value of that storage region.
    Type: Application
    Filed: February 25, 2014
    Publication date: August 27, 2015
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Garth A. Dickie, Dmitry Letin
  • Publication number: 20150242506
    Abstract: According to embodiments of the present invention, methods, systems and computer-readable media are presented for scanning a plurality of storage regions within memory for a specified quantity of results, wherein each storage region is associated with an interval including first and second interval values indicating a value range for values within that storage region. The techniques comprise sorting the first interval values into an order, wherein the order of the first interval values determines a scanning order for the plurality of storage regions, determining a result value, wherein the result value is an upper bound, a lower bound, or is outside of the specified quantity of results, and examining the sorted first interval values and scanning corresponding individual storage regions in response to a comparison of the determined result value with the first interval value of that storage region.
    Type: Application
    Filed: November 24, 2014
    Publication date: August 27, 2015
    Inventors: Garth A. Dickie, Dmitry Letin