Patents Assigned to Gravic, Inc.
  • Patent number: 11210320
    Abstract: Target database constraint violations are potentially resolved in a database replication system by replacing, converting, or removing deferred database changes.
    Type: Grant
    Filed: October 8, 2020
    Date of Patent: December 28, 2021
    Assignee: GRAVIC, INC.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 11120047
    Abstract: An automated method and system are provided for comparing a source database and a target database that are intended to be kept in synchronization with each other. An application processes transactions that are posted to the source database and replicated to the target database. Changes made to the source database resulting from transactions posted to the source database are collected into a first change log and then replicated to the target database. Changes made to the target database resulting from replication are collected into a second change log. The changes in the first change log are compared with representations of the changes in the second change log that correspond to the same respective changes that were made to the source database and replicated to the target database. Corrective action is performed when the comparison indicates that the representations of the changes in the first change log do not match the representations of the changes in the second change log.
    Type: Grant
    Filed: August 22, 2019
    Date of Patent: September 14, 2021
    Assignee: GRAVIC, INC.
    Inventors: John R. Hoffmann, Paul J. Holenstein, Bruce D. Holenstein, Dylan R. Holenstein
  • Patent number: 11030219
    Abstract: An automated method is provided for replacing a currently operating data replication engine with a new data replication engine. The currently operating data replication engine replicates source database transactions including any new source database transactions committed in an audit trail of the source database before the currently operating data replication engine stops replicating. A list of active database transactions is generated and recorded as a first token in the audit trail. The currently operating data replication engine is stopped when all of the database transactions in the first token have completed. The new data replication engine is started and positioned to begin processing source database transactions in the audit trail of the source database at a beginning position that is located at or prior to the position of the first token in the audit trail.
    Type: Grant
    Filed: November 11, 2019
    Date of Patent: June 8, 2021
    Assignee: GRAVIC, INC.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, John R. Hoffmann, Wilbur H. Highleyman
  • 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: 10891577
    Abstract: A method and article of manufacture are provided for detecting message impressions from a document. The document includes one or more data collection areas adapted to receive input, and one or more message areas. Each message area includes a message. Memory representations of messages are stored in a memory. The document is received at a document processing engine which is adapted to access the memory to obtain the representations of messages. Message impressions are detected from the document by analyzing the document in the document processing engine. Message impressions are detected if it is determined that there is relevant input in the one or more data collection areas, and the document includes a representation of one or more of the messages.
    Type: Grant
    Filed: December 26, 2012
    Date of Patent: January 12, 2021
    Assignee: GRAVIC, INC.
    Inventors: Steven P. Joslin, Owen C. Davison, Victor F. Berutti, Bruce D. Holenstein
  • 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: 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: 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: 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: 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