Patents by Inventor Paul J. Holenstein

Paul J. Holenstein 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: 11010256
    Abstract: A system and method of backing up an online database to a storage device is provided wherein the online database is actively changed by one or more applications. The backed up online database is then subsequently restored. The online database is backed up by copying the online database to the storage device, and during the copying of the online database, writing changes that are made to the online database to a change log for the portion of the online database that has already been copied to the storage device, and not writing changes that are made to the online database to the change log for the portion of the online database that has not yet been copied to the storage device. The changes in the change log are applied to the storage device by rolling the change log backwards, and applying only the most recent change contained in the change log for each data item in the storage device.
    Type: Grant
    Filed: February 10, 2021
    Date of Patent: May 18, 2021
    Assignee: GRAVIC, INC.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman, John R. Hoffmann
  • Patent number: 10922186
    Abstract: A system and method of backing up an online database to a storage device is provided wherein the online database is actively changed by one or more applications. The backed up online database is then subsequently restored. The online database is backed up by copying the online database to the storage device, and during the copying of the online database, writing changes that are made to the online database to a change log for the portion of the online database that has already been copied to the storage device, and not writing changes that are made to the online database to the change log for the portion of the online database that has not yet been copied to the storage device. The online database is then restored by loading the backed up online database to a target database, and applying the changes in the change log to the target database by rolling the change log backwards, and applying only the most recent change contained in the change log for each data item in the target database.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: February 16, 2021
    Assignee: GRAVIC, INC.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman, John R. Hoffmann
  • Patent number: 10817535
    Abstract: An extractor and an applier of a database replication system are configured to perform the functions of resolving target database constraint violations for replicated database transactions. The extractor replicates changes made at the source database to the target database. An applier immediately applies the changes to the target database that do not cause a constraint violation. The applier also performs the remaining functions, including detecting database changes that cause constraint violations, subsequent processing of these detected database changes, and performing a commit for the database transaction when the constraint violations are resolved.
    Type: Grant
    Filed: February 22, 2019
    Date of Patent: October 27, 2020
    Assignee: GRAVIC, INC.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 10706041
    Abstract: Methods and apparatus are provided to categorize and process an incomplete transaction. A transaction pattern table is provided that includes a plurality of records, each record being defined by a transaction pattern identifier. Each record includes a transaction pattern and a metric of occurrence of the transaction pattern. An incomplete transaction is automatically compared to the transaction patterns in the table and a subset of transaction patterns in the table are identified that are potential candidates for matching the incomplete transaction. The incomplete transaction is categorized using the metric of occurrence of the transaction pattern for each transaction pattern in the subset. The incomplete transaction is then processed using the categorization of the incomplete transaction.
    Type: Grant
    Filed: February 11, 2015
    Date of Patent: July 7, 2020
    Assignee: Gravic, Inc.
    Inventors: John R. Hoffmann, Bruce D. Holenstein, Paul J. Holenstein
  • Patent number: 10705920
    Abstract: A system and method of backing up an online database to a storage device is provided wherein the online database is actively changed by one or more applications. The backed up online database is then subsequently restored. The online database is backed up by copying the online database to the storage device, and during the copying of the online database, writing changes that are made to the online database to a change log for the portion of the online database that has already been copied to the storage device, and not writing changes that are made to the online database to the change log for the portion of the online database that has not yet been copied to the storage device. The online database is then restored by loading the backed up online database to a restore database, and applying the changes in the change log to the restore database.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: July 7, 2020
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman, John R. Hoffmann
  • Patent number: 10706040
    Abstract: A system is configured to ensure transactional integrity thereof. The system includes a first subsystem and a second subsystem. Each of the subsystems receive the same request to process a transaction. An indicia engine at each subsystem computes indicia of the outcome of the processing of the same request. The computed indicia from each of the subsystems is compared. An action is completed at one of the subsystems when the computed indicia does not match. The action completed at one of the subsystems is one or more of issuing a database rollback on one of the subsystems, executing self-diagnostics on one of the subsystems, shutting down one of the subsystems, taking one of the subsystems offline, aborting the transaction executing on one of the subsystems, and generating an error indication for one of the subsystems.
    Type: Grant
    Filed: October 18, 2019
    Date of Patent: July 7, 2020
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan R. Holenstein
  • Patent number: 10671641
    Abstract: An automated method and computer program product are provided for synchronizing a column-oriented target database with a row-oriented source database. Change data are replicated from a change log of the row-oriented source database via a staging database to the column-oriented target database. The change data including inserts and deletes. Change data of the change log is read into the staging database and is consolidated and grouped into a consolidated grouping of inserts, and a consolidated grouping of deletes. The consolidated grouping of inserts from the staging database are applied to the target database in a batched manner, and the consolidated grouping of deletes from the staging database are applied to the target database in a batched manner.
    Type: Grant
    Filed: April 25, 2016
    Date of Patent: June 2, 2020
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 10642826
    Abstract: A method is provided for performing transaction processing in a system that includes a transaction distributor and a plurality of nodes. Each of the nodes include a processor, an application executing in the processor, and an instance of a database used by the application. Each node executes transactions. The transaction distributor selects at least two of the nodes to receive the same request to process a transaction, and the processor at each of the at least two nodes executes the same request to process a transaction. Each of the at least two nodes replicates to one or more other nodes in the system the steps and operations of the transactions up until a transaction END step. A check integrity module determines if the transaction integrity should be checked.
    Type: Grant
    Filed: July 24, 2019
    Date of Patent: May 5, 2020
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Dylan R. Holenstein, Paul J. Holenstein
  • Patent number: 10474695
    Abstract: An automated method is provided for replacing a currently operating data replication engine with a new data replication engine. A currently operating data replication engine reports its audit trail position upon stopping. The new data replication engine starts and is positioned at an audit trail position which is prior to the reported stopped audit trail position by an amount of the audit trail which corresponds to time that is equal to or greater than a source database transaction abort timer. The position of the new data replication engine to the stopped audit trail position defines a position window. Audit trail transactions are processed in the position window by the new data replication engine by ignoring transactions which committed or aborted in the position window, and replicating remaining transactions in the position window from the source database to the target database. The new data replication engine replicates all transactions that are started after the stopped audit trail position.
    Type: Grant
    Filed: May 20, 2019
    Date of Patent: November 12, 2019
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, John R. Hoffmann, Wilbur H. Highleyman
  • Patent number: 10467223
    Abstract: A method is provided for performing transaction processing in a system that includes a transaction distributor and a plurality of nodes. Each of the nodes include a processor, an application executing in the processor, and an instance of a database used by the application. Each node executes transactions. The transaction distributor selects at least two of the nodes to receive the same request to process a transaction, and the processor at each of the at least two nodes executes the same request to process a transaction. Each of the at least two nodes replicates to one or more other nodes in the system the steps and operations of the transactions up until a transaction END step.
    Type: Grant
    Filed: February 14, 2019
    Date of Patent: November 5, 2019
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Dylan R. Holenstein, Paul J. Holenstein
  • Patent number: 10452648
    Abstract: A method is provided for ensuring transactional integrity of a system that includes a first subsystem and a second subsystem. Each of the subsystems receive the same request to process a transaction. An indicia engine at each subsystem computes indicia of the outcome of the processing of the same request. The computed indicia from each of the subsystems is compared. An action is completed at one of the subsystems when the computed indicia does not match. The action completed at one of the subsystems is one or more of issuing a database rollback on one of the subsystems, executing self-diagnostics on one of the subsystems, shutting down one of the subsystems, taking one of the subsystems offline, aborting the transaction executing on one of the subsystems, and generating an error indication for one of the subsystems.
    Type: Grant
    Filed: May 20, 2019
    Date of Patent: October 22, 2019
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan R. Holenstein
  • Patent number: 10394798
    Abstract: A method is provided for ensuring transactional integrity of a system that includes a first subsystem and a second subsystem. The first subsystem receives a request to process a transaction. The first subsystem sends to the second subsystem the request to process a transaction. Each of the subsystems process the identical request. An indicia engine at each subsystem computes indicia of the outcome of the processing of the identical request. The indicia engine at the second subsystem sends its computed indicia to the first subsystem, and the indicia engine at the first subsystem compares its computed indicia with the indicia received from the second subsystem, and sends a transaction abort directive to the second subsystem when the comparison indicates that the computed indicia of the second subsystem does not match the computed indicia of the first subsystem, thereby indicating a lack of transactional integrity in one or both of the first and second subsystems.
    Type: Grant
    Filed: December 7, 2018
    Date of Patent: August 27, 2019
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan R. Holenstein
  • Patent number: 10303699
    Abstract: An automated method is provided for replacing a currently operating data replication engine with a new data replication engine. A currently operating data replication engine reports its audit trail position upon stopping. The new data replication engine starts and is positioned at an audit trail position which is prior to the reported stopped audit trail position by an amount of the audit trail which corresponds to a source database transaction abort timer. The position of the new data replication engine to the stopped audit trail position defines a position window. Audit trail transactions are processed in the position window by the new data replication engine by ignoring transactions which committed or aborted in the position window, and replicating remaining transactions in the position window from the source database to the target database. The new data replication engine replicates all transactions that are started after the stopped audit trail position.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: May 28, 2019
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, John R. Hoffmann, Wilbur H. Highleyman
  • Patent number: 10296759
    Abstract: A method is provided for controlling whether transactions applied against a database go forward or are aborted on a transaction processing system. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects selected attributes of the joined uncompleted transaction. The collected attributes of the joined uncompleted transaction are compared against rules in a rules engine to determine whether the joined uncompleted transaction goes forward or is aborted. Alternatively, the joined uncompleted transaction is automatically modified so that the collected attributes are in compliance with the rules in the rules engine, thereby allowing the joined uncompleted transaction to go forward and be applied against the database of the transaction processing system.
    Type: Grant
    Filed: July 12, 2018
    Date of Patent: May 21, 2019
    Assignee: RPX Corporation
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 10216820
    Abstract: An extractor and an applier of a database replication system are configured to perform the functions of resolving constraint violations for replicated database transactions. The extractor replicates changes made at the source database to the target database. An applier immediately applies the changes to the target database that do not cause a constraint violation. The applier also performs the remaining functions, including detecting database changes that cause constraint violations, subsequent processing of these detected database changes, and performing a commit for the database transaction when the constraint violations are resolved.
    Type: Grant
    Filed: December 12, 2017
    Date of Patent: February 26, 2019
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 10176243
    Abstract: Systems and methods are provided to log changes to a database on a transaction processing system. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects non-durable attributes of the joined uncompleted transaction. A logging engine makes durable the non-durable attributes by logging the non-durable attributes.
    Type: Grant
    Filed: July 12, 2018
    Date of Patent: January 8, 2019
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 10152506
    Abstract: A method is provided to verify the computational results of a transaction processing system that includes a parent node a plurality of child nodes. The parent node sends to at least two child nodes an identical request to process a transaction. The transaction is allowed to modify an application's state only if the validity of the result of the processing of the transaction is verified across participating child nodes. Otherwise, the transaction is aborted.
    Type: Grant
    Filed: July 3, 2018
    Date of Patent: December 11, 2018
    Assignee: Gravic, Inc.
    Inventors: John R. Hoffmann, Bruce D. Holenstein, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 10095730
    Abstract: An apparatus is provided to verify the computational results of a transaction processing system utilizing a parent node and a plurality of child nodes in a high-availability and scalable fashion. A transaction is executed in an identical manner in two or more participating child nodes, and the transaction is allowed to modify an application's state (e.g., commit) only if the validity of the result of the processing of the transaction is verified across the majority of the participating child nodes. Otherwise, the transaction is aborted. The child nodes may exist within a cloud provider or across multiple cloud providers.
    Type: Grant
    Filed: February 7, 2018
    Date of Patent: October 9, 2018
    Assignee: Gravic, Inc.
    Inventors: John R. Hoffmann, Bruce D. Holenstein, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 10025946
    Abstract: A method is provided for controlling whether transactions applied against a database go forward or are aborted on a transaction processing system. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects one or more attributes of the joined uncompleted transaction. The collected one or more attributes become available as a result of the joining of the uncompleted transaction. The collected one or more attributes of the joined uncompleted transaction are compared against rules in a rules engine to determine whether the joined uncompleted transaction goes forward or is aborted. Alternatively, the joined uncompleted transaction is automatically modified so that the collected attributes are in compliance with the rules in the rules engine, thereby allowing the joined uncompleted transaction to go forward and be applied against the database of the transaction processing system.
    Type: Grant
    Filed: December 8, 2015
    Date of Patent: July 17, 2018
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 10025845
    Abstract: A method is provided for logging non-durable attributes of an uncompleted transaction to a persistent storage medium. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects non-durable attributes of the joined uncompleted transaction. The non-durable attributes of the joined uncompleted transaction are made durable by logging them to the persistent storage medium.
    Type: Grant
    Filed: December 8, 2015
    Date of Patent: July 17, 2018
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman