Patents Assigned to Gravic, Inc.
  • 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: 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
  • 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: 10013452
    Abstract: An identical request to process a transaction is initiated at a trusted subsystem of a system and a new subsystem of the system. Computed indicia of the transaction from both subsystems are compared at the trusted subsystem. An error condition is generated that indicates a logic error in the new subsystem when the comparison indicates that the computed indicia of the new subsystem does not match the computed indicia of the trusted subsystem. The error condition indicates a lack of transactional integrity in the new subsystem. The new subsystem may be taken out of service after the error condition is generated.
    Type: Grant
    Filed: February 14, 2018
    Date of Patent: July 3, 2018
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 9996578
    Abstract: An identical request to process a transaction is initiated at multiple nodes or multiple applications, and the results are committed. Subsequent to the commit, indicia regarding the outcome of the processing are compared, and the transaction is rolled back if the comparison indicates that the processing was incorrect.
    Type: Grant
    Filed: February 12, 2018
    Date of Patent: June 12, 2018
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 9985823
    Abstract: A system is provided for mitigating partially correlated failure modes to increase application availability. The system includes a plurality of nodes connected by a computer network, each node configured to run an instance of the same application, a failure analysis engine configured to maintain current availability statistics for the nodes of the system, calculate current mean time to failure (MTTF) for the system as a function of the current time from the availability statistics, and compare the current MTTF to a plurality of threshold values, each of the threshold values corresponding to one or more actions to be taken to increase application availability, and a failure prevention engine that performs the one or more actions to increase application availability.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: May 29, 2018
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Wilbur H. Highleyman, Paul J. Holenstein
  • Patent number: 9922074
    Abstract: A method is provided to verify the computational results of a transaction processing system utilizing cloud resources in a high-availability and scalable fashion. A 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 the majority of the participating child nodes in the cloud. Otherwise, the transaction is aborted.
    Type: Grant
    Filed: September 11, 2017
    Date of Patent: March 20, 2018
    Assignee: Gravic, Inc.
    Inventors: John R. Hoffmann, Bruce D. Holenstein, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 9904721
    Abstract: Methods and apparatus are provided for performing source-side merging of distributed transactions prior to replication, wherein a distributed transaction occurs at a plurality of nodes. A first node includes a database and an audit trail that stores database change events from the database of the first node. One or more other nodes each include a database and an audit trail that stores database change events from the database of the respective node. In use, a transaction is initiated which updates the database of the first node and the database at one or more of the other nodes. The database updates are captured in the audit trails of the respective nodes involved with the transaction. The first node receives and merges the database change events from the audit trails of each of the nodes involved in the transaction. The merged database change events are replicated via a replication engine only from the first node.
    Type: Grant
    Filed: November 16, 2015
    Date of Patent: February 27, 2018
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, John R. Hoffmann
  • Patent number: 9760598
    Abstract: A method is provided to verify the computational results of a transaction processing system utilizing cloud resources. A 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 the majority of the participating child nodes in the cloud. Otherwise, the transaction is aborted.
    Type: Grant
    Filed: June 20, 2017
    Date of Patent: September 12, 2017
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 9734190
    Abstract: A method is provided to verify the computational results of a transaction processing system. A transaction is allowed to modify an application's state only if the validity of the result of the processing of the transaction is verified. Otherwise, the transaction is aborted.
    Type: Grant
    Filed: December 7, 2015
    Date of Patent: August 15, 2017
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, John R. Hoffmann, Paul J. Holenstein, Wilbur H. Highleyman, Dylan Holenstein
  • Patent number: 9569473
    Abstract: Transactions are applied against a database on a transaction processing system. A tracking engine identifies an uncompleted transaction to be joined, joins the uncompleted transaction, and collects one or more non-durable attributes of the joined uncompleted transaction. Collected attributes of the joined uncompleted transaction are compared against rules in a rules engine that are applicable to the transaction to determine whether an applicable rule in the rules engine is met. The joined uncompleted transaction is allowed to go forward and be applied against the database of the transaction processing system using a synchronous replication engine when the applicable rule is met, and an asynchronous replication engine when the applicable rule is not met. Alternatively, the joined uncompleted transaction is allowed to go forward using a replication engine that replicates using encryption when the applicable rule is met, or replicates unencrypted when the applicable rule is not met.
    Type: Grant
    Filed: December 8, 2015
    Date of Patent: February 14, 2017
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 8909604
    Abstract: Both redo operations and undo operations are provided for returning a database that is corrupted to a correct state. When corruption of the database is detected, an automatic selection is made of one or more operations from the redo operations and undo operations for returning the database that is corrupted to a correct state. The selected one or more redo and undo operations are then performed on the database, thereby returning the database that is corrupted to a correct state.
    Type: Grant
    Filed: March 6, 2014
    Date of Patent: December 9, 2014
    Assignee: Gravic, Inc.
    Inventors: Bruce D. Holenstein, Paul J. Holenstein, John R. Hoffmann, Wilbur H. Highleyman
  • Patent number: 8903779
    Abstract: A corrupted database is returned to a correct state by rolling forward or backward through a change queue and applying changes to the database in a selective manner. Changes that did not cause the corruption are applied without modification when rolling forward or are skipped when rolling backward. Changes that caused corruption are addressed when rolling forward, such as by being ignored or modified and then applied. Changes that caused corruption are corrected when rolling backward.
    Type: Grant
    Filed: March 6, 2014
    Date of Patent: December 2, 2014
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, John R. Hoffmann, Jonathan M. Ziegler, Bruce D. Holenstein, Wilbur H. Highleyman
  • Publication number: 20140214669
    Abstract: A method is provided of alerting a merchant after completion of a transaction that the payment instrument used for the transaction has been identified as being suspect. A reporting processor receives payment instrument indicia regarding payment instruments which have been used for completion of transactions by the merchant, and payment instrument indicia regarding payment instruments which have been identified as being suspect. The reporting processor compares the payment instrument indicia which have been used for completion of transactions by the merchant with the payment instrument indicia which have been identified as being suspect to identify matching payment instrument indicia. The matching payment instrument indicia is associated with suspect payment instrument indicia used by the merchant for completion of the transaction. An electronic communication is provided to the merchant regarding any identified suspect payment instrument indicia.
    Type: Application
    Filed: January 29, 2013
    Publication date: July 31, 2014
    Applicant: GRAVIC, INC.
    Inventors: Bruce D. HOLENSTEIN, Dylan HOLENSTEIN, Paul J. HOLENSTEIN, Wilbur H. HIGHLEYMAN
  • Publication number: 20140180797
    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: Application
    Filed: December 26, 2012
    Publication date: June 26, 2014
    Applicant: GRAVIC, INC.
    Inventors: Steven P. JOSLIN, Owen C. DAVISON, Victor F. BERUTTI, Bruce D. HOLENSTEIN
  • Patent number: 8620862
    Abstract: A method is provided for processing base level data of a change queue that is not serialized at the logical level. The base level change queue data is transaction data previously posted to a source database. A logical replication engine is provided to replicate and post the change queue data to a target database in the order that the transaction data is stored in the change queue. Upon detection in the logical replication engine of change queue data that is not serialized at the logical level, the change queue data is reserialized at the logical level before the logical replication engine applies the change queue data to the target database. The change queue data that is not serialized at the logical level may be posted to the target database using asynchronous database access.
    Type: Grant
    Filed: September 13, 2010
    Date of Patent: December 31, 2013
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 8503785
    Abstract: Image data of a response form is processed. The response form has a plurality of response bubbles, including at least one filled and at least one unfilled response bubble. One or more baseline response bubble attributes for unfilled response bubbles are provided in a memory. Image data of a response form is processed to determine one or more response bubbles that are unfilled. One or more actual response bubble attributes of the one or more unfilled response bubbles is then calculated. A difference metric value is then calculated by comparing the one or more baseline response bubble attributes to the one or more actual response bubble attributes. The one or more baseline response bubble attributes are reset to a new set of one or more baseline response bubble attributes if the difference metric value exceeds a predetermined threshold. The one or more baseline response bubble attributes are maintained at their present value if the difference metric value does not exceed the predetermined threshold.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: August 6, 2013
    Assignee: Gravic, Inc.
    Inventors: Owen C. Davison, Victor F. Berutti, Bruce D. Holenstein, Tristan E. Hoffmann
  • Patent number: 8458150
    Abstract: A method of performing transactions in accordance with fairness criteria is provided wherein one of a plurality of entities initiates a transaction on an object at a database. The steps or operations of the initiated transaction are immediately processed up to the transaction ownership step. Propagation delays are determined between the database and at least some of the other entities that are capable of initiating transactions to the database. The propagation delays and a fairness criteria is used to determine the fair propagation delay period. Upon determining that the fair propagation delay period has been exceeded, it is detecting whether any of the other entities initiated a transaction on the same object during the fair propagation delay time period. If not, then the transaction initiating entity performs the transaction ownership step on the initiated transaction.
    Type: Grant
    Filed: July 26, 2012
    Date of Patent: June 4, 2013
    Assignee: Gravic, Inc.
    Inventors: Paul J. Holenstein, Bruce D. Holenstein, Wilbur H. Highleyman
  • Patent number: 8412004
    Abstract: A method is provided for using at least one response bubble on a response form to indicate one or more responses. The response form has a key definition area that includes one or more response bubbles corresponding to one or more intended responses, and a response area that includes one or more response bubbles for indicating intended responses. A response form is completed by defining an unambiguous symbology of one or more marks by completing the key definition area, and filling in the response area using the defined unambiguous symbology. The response form is then electronically imaged. The unambiguous symbology is then automatically interpreted from the key definition area of the response form. The indicated intended responses of the one or more response bubbles of the completed response form are automatically interpreted using the interpreted unambiguous symbology, and the electronically imaged completed response form.
    Type: Grant
    Filed: October 15, 2010
    Date of Patent: April 2, 2013
    Assignee: Gravic, Inc.
    Inventors: Tristan E. Hoffmann, Paul J. Holenstein, Owen C. Davison, Victor F. Berutti, Bruce D. Holenstein
  • Patent number: 8331740
    Abstract: Image data of a zone in a response form that has a plurality of response bubbles in the zone is processed. The image data of the zone has at least one response bubble that is well-formed and at least one response bubble that is not well-formed. Well-formed response bubbles are located in the zone from image data of the zone. The locations of the well-formed response bubbles in the zone are compared to a form template that defines the zone and contains data regarding locations of all expected response bubbles in the zone. It is determined from the comparison whether sufficient information exists to determine that the well-formed response bubbles constitute a specific part of the form template zone. If so, then the well-formed response bubbles are processed from the image data of the zone.
    Type: Grant
    Filed: November 5, 2008
    Date of Patent: December 11, 2012
    Assignee: Gravic, Inc.
    Inventors: Owen C. Davison, Victor F. Berutti, Bruce D. Holenstein, Paul J. Holenstein, Tristan E. Hoffmann