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).

  • Patent number: 12050606
    Abstract: Techniques for generating a dataflow graph include generating a first dataflow graph with a plurality of first nodes representing first computer operations in processing data, with at least one of the first computer operations being a declarative operation that specifies one or more characteristics of one or more results of processing of data, and transforming the first dataflow graph into a second dataflow graph for processing data in accordance with the first computer operations, the second dataflow graph including a plurality of second nodes representing second computer operations, with at least one of the second nodes representing one or more imperative operations that implement the logic specified by the declarative operation, where the one or more imperative operations are unrepresented by the first nodes in the first dataflow graph.
    Type: Grant
    Filed: February 22, 2023
    Date of Patent: July 30, 2024
    Assignee: Ab Initio Technology LLC
    Inventors: Ian Schechter, Garth Dickie
  • Patent number: 12038921
    Abstract: A method includes executing a program that specifies operations and accessing a translation file that includes instructions for translating the language of the program into a language of a database. The translation file specifies operations in the language of the program that are supported by the database and the semantic meaning of the supported operations in the language of the database. Operations of the program that are unsupported by the database are processed by the program. Operations of the program that are supported by the database are determined from the translation file, and a portion of the program representing the supported operations is translated, using the translation file, into the language of the database and transmitted to the database. Data resulting from execution, within the database, of the translated portion of the program representing the operations that are supported by the database is received by the program.
    Type: Grant
    Filed: September 4, 2020
    Date of Patent: July 16, 2024
    Assignee: Ab Initio Technology LLC
    Inventors: Garth Dickie, Ian Schechter
  • Publication number: 20240028595
    Abstract: Techniques for generating a dataflow graph include generating a first dataflow graph with a plurality of first nodes representing first computer operations in processing data, with at least one of the first computer operations being a declarative operation that specifies one or more characteristics of one or more results of processing of data, and transforming the first dataflow graph into a second dataflow graph for processing data in accordance with the first computer operations, the second dataflow graph including a plurality of second nodes representing second computer operations, with at least one of the second nodes representing one or more imperative operations that implement the logic specified by the declarative operation, where the one or more imperative operations are unrepresented by the first nodes in the first dataflow graph.
    Type: Application
    Filed: February 22, 2023
    Publication date: January 25, 2024
    Inventors: Ian Schechter, Garth Dickie
  • Patent number: 11593380
    Abstract: Techniques for generating a dataflow graph include generating a first dataflow graph with a plurality of first nodes representing first computer operations in processing data, with at least one of the first computer operations being a declarative operation that specifies one or more characteristics of one or more results of processing of data, and transforming the first dataflow graph into a second dataflow graph for processing data in accordance with the first computer operations, the second dataflow graph including a plurality of second nodes representing second computer operations, with at least one of the second nodes representing one or more imperative operations that implement the logic specified by the declarative operation, where the one or more imperative operations are unrepresented by the first nodes in the first dataflow graph.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: February 28, 2023
    Assignee: Ab Initio Technology LLC
    Inventors: Ian Schechter, Garth Dickie
  • Publication number: 20220075778
    Abstract: A method includes executing a program that specifies operations and accessing a translation file that includes instructions for translating the language of the program into a language of a database. The translation file specifies operations in the language of the program that are supported by the database and the semantic meaning of the supported operations in the language of the database. Operations of the program that are unsupported by the database are processed by the program. Operations of the program that are supported by the database are determined from the translation file, and a portion of the program representing the supported operations is translated, using the translation file, into the language of the database and transmitted to the database. Data resulting from execution, within the database, of the translated portion of the program representing the operations that are supported by the database is received by the program.
    Type: Application
    Filed: September 4, 2020
    Publication date: March 10, 2022
    Inventors: Garth Dickie, Ian Schechter
  • Patent number: 11194780
    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: Grant
    Filed: September 18, 2018
    Date of Patent: December 7, 2021
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Dmitry Letin
  • Publication number: 20210232579
    Abstract: Techniques for generating a dataflow graph include generating a first dataflow graph with a plurality of first nodes representing first computer operations in processing data, with at least one of the first computer operations being a declarative operation that specifies one or more characteristics of one or more results of processing of data, and transforming the first dataflow graph into a second dataflow graph for processing data in accordance with the first computer operations, the second dataflow graph including a plurality of second nodes representing second computer operations, with at least one of the second nodes representing one or more imperative operations that implement the logic specified by the declarative operation, where the one or more imperative operations are unrepresented by the first nodes in the first dataflow graph.
    Type: Application
    Filed: April 30, 2020
    Publication date: July 29, 2021
    Inventors: Ian Schechter, Garth Dickie
  • Patent number: 10977276
    Abstract: For balanced partition placement in a distributed database, a first node in a set of nodes is identified, at an application executing using a processor and a memory, for a first primary partition of the distributed database, such that the primary partition and a first replica corresponding to the primary partition reside on different nodes in the set of nodes. A second node in the set of nodes is selected to place the first replica such that the second node does not include a second replica of a second primary partition, wherein the first primary partition and the second primary partition are co-resident on the first node. The first primary partition is placed on the first node and the first replica is placed on the second node.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: April 13, 2021
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Amina Shabbeer
  • Patent number: 10909078
    Abstract: According to embodiments of the present invention, machines, systems, methods and computer program products for processing data are provided. Compressed data is received and a requested operation for uncompressed data is performed on the compressed data by determining an intermediate location in a compression hierarchy of compression nodes and applying the requested operation to the data at that intermediate location.
    Type: Grant
    Filed: February 25, 2015
    Date of Patent: February 2, 2021
    Assignee: International Business Machines Corporation
    Inventors: William B. Ackerman, Garth A. Dickie, Jeffrey M. Keller
  • Patent number: 10901948
    Abstract: According to embodiments of the present invention, machines, systems, methods and computer program products for processing data are provided. Compressed data is received and a requested operation for uncompressed data is performed on the compressed data by determining an intermediate location in a compression hierarchy of compression nodes and applying the requested operation to the data at that intermediate location.
    Type: Grant
    Filed: March 4, 2016
    Date of Patent: January 26, 2021
    Assignee: International Business Machines Corporation
    Inventors: William B. Ackerman, Garth A. Dickie, Jeffrey M. Keller
  • Patent number: 10831747
    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: Grant
    Filed: October 26, 2018
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Patent number: 10831713
    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: Grant
    Filed: October 24, 2017
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Michael Sporer, Jason A. Viehland
  • Patent number: 10810191
    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: Grant
    Filed: December 15, 2017
    Date of Patent: October 20, 2020
    Assignee: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Patent number: 10606837
    Abstract: To perform a join operation on database objects, data structures contained in a first database object are distributed across database partitions in accordance with a partitioning scheme. Data structures of the first database object are associated with respective indices computed complementarily to the partitioning scheme. Other indices are computed from the respective data structures of a second database object. The join operation is performed at each of the database partitions on the data structures in the respective first and second database objects having the indices and the other indices in common.
    Type: Grant
    Filed: May 12, 2016
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Ian R. Finlay
  • Patent number: 10606816
    Abstract: According to one embodiment of the present invention, a system for sorting data records generates a plurality of data structures associated with corresponding record fields used to sort the data records, and inserts values of the record fields into the corresponding data structures. Each of the data structures comprises one or more ordered parts, and each inserted value is inserted into a part of the corresponding data structure. Each part of a data structure corresponding to a record field having a sort priority immediately below another record field corresponds to a distinct value inserted into a part of the data structure corresponding to the other record field. The system processes the generated data structures to determine sorted data records. Embodiments of the present invention further include a method and computer program product for sorting data records in substantially the same manners described above.
    Type: Grant
    Filed: August 26, 2015
    Date of Patent: March 31, 2020
    Assignee: International Business Machines Corporation
    Inventor: Garth A. Dickie
  • Patent number: 10331645
    Abstract: Storage regions in a database are associated with respective intervals including first and second interval values indicating a value range for values within that storage region. The first interval values are sorted into an order that determines a scanning order for a data operation on data in the storage regions. The storage regions are scanned in the scanning order to arrange data from the storage regions in at least a partially ordered sequence for the data operation.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: June 25, 2019
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
  • Patent number: 10324918
    Abstract: Storage regions in a database are associated with respective intervals including first and second interval values indicating a value range for values within that storage region. The first interval values are sorted into an order that determines a scanning order for a data operation on data in the storage regions. The storage regions are scanned in the scanning order to arrange data from the storage regions in at least a partially ordered sequence for the data operation.
    Type: Grant
    Filed: May 6, 2016
    Date of Patent: June 18, 2019
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Ian R. Finlay, Dmitry Letin
  • Patent number: 10235376
    Abstract: Metadata for a plurality of database storage regions within memory are merged, where the metadata for each storage region comprises an interval including first and second interval values indicating a value range for values within that storage region. The first and second interval values are examined to identify overlapping storage regions and produce a sum of over-lapped storage regions. The sum of overlapped storage regions is compared to a threshold and the metadata of the overlapped storage regions are merged based on the comparison.
    Type: Grant
    Filed: July 7, 2016
    Date of Patent: March 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: Garth A. Dickie, Daniel J. Feldman, David L. Meyers
  • Publication number: 20190065546
    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: October 26, 2018
    Publication date: February 28, 2019
    Inventor: Garth A. Dickie
  • Publication number: 20190018872
    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: September 18, 2018
    Publication date: January 17, 2019
    Inventors: Garth A. Dickie, Dmitry Letin