Patents by Inventor Daniel James Farrar

Daniel James Farrar 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: 11892999
    Abstract: A system and method for faster access for compressed time series data. A set of blocks are generated based on a table stored in a database of the data platform. The table stores data associated with multiple sources of data provided as consecutive values, each block containing index vectors having a range of the consecutive values. A block index is generated for each block having a field start vector representing a starting position of the block relative to the range of consecutive values, and a starting value vector representing a value of the block at the starting position. The field start vector of the block index is accessed to obtain the starting position of a field corresponding to a first block and to the range of the consecutive values of the first block. The starting value vector is then determined from the block index to determine an end and a length of the field of the first block.
    Type: Grant
    Filed: January 19, 2022
    Date of Patent: February 6, 2024
    Assignee: SAP SE
    Inventors: Gordon Gaumnitz, Robert Schulze, Lars Dannecker, Ivan Bowman, Daniel James Farrar
  • Patent number: 11386104
    Abstract: Disclosed is a system and method for improving database memory consumption and performance using compression of time stamp columns. A number of time stamps of a time series is received. The time stamps have a start time, and are separated by an equal increment of time that defines an interval. The start time and interval are stored in a dictionary of a column store of a database. An index is generated in the column store of the database, the index having a number of index vectors. Using the index vectors, each time stamp of the number of time stamps can be calculated from the start time stored in the dictionary and the position in the time series based on the interval stored in the dictionary.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: July 12, 2022
    Assignee: SAP SE
    Inventors: Gordon Gaumnitz, Lars Dannecker, Robert Schulze, Ivan T. Bowman, Daniel James Farrar
  • Publication number: 20220138173
    Abstract: A system and method for faster access for compressed time series data. A set of blocks are generated based on a table stored in a database of the data platform. The table stores data associated with multiple sources of data provided as consecutive values, each block containing index vectors having a range of the consecutive values. A block index is generated for each block having a field start vector representing a starting position of the block relative to the range of consecutive values, and a starting value vector representing a value of the block at the starting position. The field start vector of the block index is accessed to obtain the starting position of a field corresponding to a first block and to the range of the consecutive values of the first block. The starting value vector is then determined from the block index to determine an end and a length of the field of the first block.
    Type: Application
    Filed: January 19, 2022
    Publication date: May 5, 2022
    Inventors: Gordon Gaumnitz, Robert Schulze, Lars Dannecker, Ivan Bowman, Daniel James Farrar
  • Patent number: 11263196
    Abstract: A system and method for faster access for compressed time series data. A set of blocks are generated based on a table stored in a database of the data platform. The table stores data associated with multiple sources of data provided as consecutive values, each block containing index vectors having a range of the consecutive values. A block index is generated for each block having a field start vector representing a starting position of the block relative to the range of consecutive values, and a starting value vector representing a value of the block at the starting position. The field start vector of the block index is accessed to obtain the starting position of a field corresponding to a first block and to the range of the consecutive values of the first block. The starting value vector is then determined from the block index to determine an end and a length of the field of the first block.
    Type: Grant
    Filed: March 19, 2019
    Date of Patent: March 1, 2022
    Assignee: SAP SE
    Inventors: Gordon Gaumnitz, Robert Schulze, Lars Dannecker, Ivan T. Bowman, Daniel James Farrar
  • Publication number: 20200057763
    Abstract: Disclosed is a system and method for improving database memory consumption and performance using compression of time stamp columns. A number of time stamps of a time series is received. The time stamps have a start time, and are separated by an equal increment of time that defines an interval. The start time and interval are stored in a dictionary of a column store of a database. An index is generated in the column store of the database, the index having a number of index vectors. Using the index vectors, each time stamp of the number of time stamps can be calculated from the start time stored in the dictionary and the position in the time series based on the interval stored in the dictionary.
    Type: Application
    Filed: October 23, 2019
    Publication date: February 20, 2020
    Inventors: Gordon Gaumnitz, Lars Dannecker, Robert Schulze, Ivan T. Bowman, Daniel James Farrar
  • Patent number: 10540372
    Abstract: An operator tree is formed for a data processing plan, the operator tree containing a plurality of interconnected nodes and including a grouping of two or more duplicative portions, each of the two or more duplicative portions having identical nodes and structure such that when the operator tree is executed, operators executed in a first duplicative portion using a first thread perform same functions use different data than operators in a second duplicative portion using a second thread. One or more operators in the first portion and one or more operators in the second portion to be synchronized with each other are identified. A synchronization point is created for the identified operators in the first thread and one or more subsequent threads, wherein the synchronization point receives information from each of the identified operators to build an artifact to deliver to one or more operators that depend on the artifact.
    Type: Grant
    Filed: March 23, 2018
    Date of Patent: January 21, 2020
    Assignee: SYBASE, INC.
    Inventors: Daniel James Farrar, Evguenia Eflov
  • Publication number: 20190243816
    Abstract: A system and method for faster access for compressed time series data. A set of blocks are generated based on a table stored in a database of the data platform. The table stores data associated with multiple sources of data provided as consecutive values, each block containing index vectors having a range of the consecutive values. A block index is generated for each block having a field start vector representing a starting position of the block relative to the range of consecutive values, and a starting value vector representing a value of the block at the starting position. The field start vector of the block index is accessed to obtain the starting position of a field corresponding to a first block and to the range of the consecutive values of the first block. The starting value vector is then determined from the block index to determine an end and a length of the field of the first block.
    Type: Application
    Filed: March 19, 2019
    Publication date: August 8, 2019
    Inventors: Gordon Gaumnitz, Robert Schulze, Lars Dannecker, Ivan T. Bowman, Daniel James Farrar
  • Patent number: 10120890
    Abstract: Time stamps for time series data can be efficiently compressed by grouping rows in a database table such that time stamp values of the rows in the group are ordered and characterizable by an increment and an offset, which can be stored for the set of rows respectively in an increment column and an offset column such that the time stamp values of the set of rows are represented by a single slope and offset. A run-length compression can be applied to the increment column and offset column for the table.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: November 6, 2018
    Assignee: SAP SE
    Inventors: Ivan T. Bowman, Daniel James Farrar, Daniil Golod
  • Publication number: 20180210938
    Abstract: An operator tree is formed for a data processing plan, the operator tree containing a plurality of interconnected nodes arid including a grouping of two or more duplicative portions, each of the two or more duplicative portions having identical nodes and structure such that when the operator tree is executed, operators executed in a first duplicative portion using a first thread perform same functions use different data than operators in a second duplicative portion using a second thread. One or more operators in the first portion and one or more operators in the second portion to be synchronized with each other are identified. A synchronization point is created for the identified operators in the first thread and one or more subsequent threads, wherein the synchronization point receives information from each of the identified operators to build an artifact to deliver to one or more operators that depend on the artifact.
    Type: Application
    Filed: March 23, 2018
    Publication date: July 26, 2018
    Inventors: Daniel James Farrar, Evguenia Eflov
  • Patent number: 9953074
    Abstract: An operator tree is formed for a data processing plan, the operator tree containing a plurality of interconnected nodes and including a grouping of two or more duplicative portions, each of the two or more duplicative portions having identical nodes and structure such that when the operator tree is executed, operators executed in a first duplicative portion using a first thread perform same functions use different data than operators in a second duplicative portion using a second thread. One or more operators in the first portion and one or more operators in the second portion to be synchronized with each other are identified. A synchronization point is created for the identified operators in the first thread and one or more subsequent threads, wherein the synchronization point receives information from each of the identified operators to build an artifact to deliver to one or more operators that depend on the artifact.
    Type: Grant
    Filed: January 31, 2014
    Date of Patent: April 24, 2018
    Assignee: SAP SE
    Inventors: Daniel James Farrar, Evguenia Eflov
  • Patent number: 9594644
    Abstract: A method and system for transforming a serial schedule of transactions into a parallel schedule of transaction is disclosed. In one example, a computer system stores a list of data transactions in a transaction log. The computer system then reads a respective data transaction from the transaction log. The computer system determines whether the respective data transaction is dependent on any other currently pending data transaction. In accordance with a determination that the respective data transaction is not dependent on any other currently pending data transaction, the computer system applies the data changes to a reconstructed data set. In accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction, the computer system delays commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set.
    Type: Grant
    Filed: September 19, 2014
    Date of Patent: March 14, 2017
    Assignee: SYBASE, INC.
    Inventors: Mohammed Abouzour, John Smirnios, Daniil Golod, Peter Bumbulis, Anil Kumar Goel, Ivan Thomas Bowman, Daniel James Farrar
  • Publication number: 20160378814
    Abstract: Time stamps for time series data can be efficiently compressed by grouping rows in a database table such that time stamp values of the rows in the group are ordered and characterizable by an increment and an offset, which can be stored for the set of rows respectively in an increment column and an offset column such that the time stamp values of the set of rows are represented by a single slope and offset. A run-length compression can be applied to the increment column and offset column for the table.
    Type: Application
    Filed: June 23, 2015
    Publication date: December 29, 2016
    Inventors: Ivan T. Bowman, Daniel James Farrar, Daniil Golod
  • Publication number: 20160085639
    Abstract: A method and system for transforming a serial schedule of transactions into a parallel schedule of transaction is disclosed. In one example, a computer system stores a list of data transactions in a transaction log. The computer system then reads a respective data transaction from the transaction log. The computer system determines whether the respective data transaction is dependent on any other currently pending data transaction. In accordance with a determination that the respective data transaction is not dependent on any other currently pending data transaction, the computer system applies the data changes to a reconstructed data set. In accordance with a determination that the respective data transaction is dependent on a currently pending second data transaction, the computer system delays commitment of the respective data transaction until the second data transaction has been applied to the reconstructed data set.
    Type: Application
    Filed: September 19, 2014
    Publication date: March 24, 2016
    Inventors: Mohammed Abouzour, John Smirnios, Daniil Golod, Peter Bumbulis, Anil Kumar Goel, Ivan Thomas Bowman, Daniel James Farrar
  • Patent number: 9274767
    Abstract: A flexible, extensible and efficient compile-time mechanism that leverages native high-level application programming language constructs (e.g., the template and macro features of C++), thus minimizing any programmer or a software developer learning curve and eliminating the need for programming tool (e.g., compiler) changes, to identify and control aspects of shared resource access in concurrent software at the time of source code compilation.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: March 1, 2016
    Assignee: IANYWHERE SOLUTIONS, INC.
    Inventor: Daniel James Farrar
  • Publication number: 20150220611
    Abstract: An operator tree is formed for a data processing plan, the operator tree containing a plurality of interconnected nodes and including a grouping of two or more duplicative portions, each of the two or more duplicative portions having identical nodes and structure such that when the operator tree is executed, operators executed in a first duplicative portion using a first thread perform same functions use different data than operators in a second duplicative portion using a second thread. One or more operators in the first portion and one or more operators in the second portion to be synchronized with each other are identified. A synchronization point is created for the identified operators in the first thread and one or more subsequent threads, wherein the synchronization point receives information from each of the identified operators to build an artifact to deliver to one or more operators that depend on the artifact.
    Type: Application
    Filed: January 31, 2014
    Publication date: August 6, 2015
    Applicant: SYBASE, INC.
    Inventors: Daniel James Farrar, Elmi Eflov
  • Patent number: 9047330
    Abstract: Systems, methods and computer program products for compression of database indexes are described herein. A system embodiment includes a sequence determiner to scan a database index and to determine a start of a range and end of a range of consistently changing values in one or more index pages of said database index and an index updater to update said database index based on a sequence determined by said sequence determiner, while suspending writing of one or more values that lie within start of said range and end of said range of values. A method embodiment includes scanning an index, determining a pattern of changing values in one or more index pages of said index and selectively updating said index based on said determining step to minimize index insertions.
    Type: Grant
    Filed: October 27, 2008
    Date of Patent: June 2, 2015
    Assignee: IANYWHERE SOLUTIONS, INC.
    Inventors: Daniel James Farrar, Peter Bumbulis, Nathan Michael Auch
  • Publication number: 20130174134
    Abstract: A flexible, extensible and efficient compile-time mechanism that leverages native high-level application programming language constructs (e.g., the template and macro features of C++), thus minimizing any programmer or a software developer learning curve and eliminating the need for programming tool (e.g., compiler) changes, to identify and control aspects of shared resource access in concurrent software at the time of source code compilation.
    Type: Application
    Filed: December 20, 2012
    Publication date: July 4, 2013
    Inventor: Daniel James Farrar
  • Patent number: 8260761
    Abstract: Systems, methods and computer program products for detecting potential architecture and interfacing issues in database applications are described herein. In an embodiment, the invention operates by accessing trace information. The trace information includes database-related information pertaining to interactions of a database application with a production database. The invention detects potential architecture and interfacing issues in the database application by analyzing the trace information. Such architecture and interfacing issues include, but are not limited to, multiple connections simultaneously blocking on the same row of a table, and client-side joins.
    Type: Grant
    Filed: October 20, 2006
    Date of Patent: September 4, 2012
    Assignee: iAnywhere Solutions, Inc.
    Inventors: Daniel James Farrar, Paul Tonizzo
  • Publication number: 20100114843
    Abstract: Systems, methods and computer program products for compression of database indexes are described herein. A system embodiment includes a sequence determiner to scan a database index and to determine a start of a range and end of a range of consistently changing values in one or more index pages of said database index and an index updater to update said database index based on a sequence determined by said sequence determiner, while suspending writing of one or more values that lie within start of said range and end of said range of values. A method embodiment includes scanning an index, determining a pattern of changing values in one or more index pages of said index and selectively updating said index based on said determining step to minimize index insertions.
    Type: Application
    Filed: October 27, 2008
    Publication date: May 6, 2010
    Applicant: Sybase, Inc.
    Inventors: Daniel James FARRAR, Peter Bumbulis, Nathan Michael Auch
  • Publication number: 20080098033
    Abstract: Systems, methods and computer program products for detecting potential architecture and interfacing issues in database applications are described herein. In an embodiment, the invention operates by accessing trace information. The trace information includes database-related information pertaining to interactions of a database application with a production database. The invention detects potential architecture and interfacing issues in the database application by analyzing the trace information. Such architecture and interfacing issues include, but are not limited to, multiple connections simultaneously blocking on the same row of a table, and client-side joins.
    Type: Application
    Filed: October 20, 2006
    Publication date: April 24, 2008
    Applicant: iAnywhere Sloutions, Inc.
    Inventors: Daniel James Farrar, Paul Tonizzo