Multi-processor transaction-based validation architecture that compares indicia associated with matching transaction tags

    公开(公告)号:US11880356B1

    公开(公告)日:2024-01-23

    申请号:US18472010

    申请日:2023-09-21

    Applicant: Gravic, Inc.

    CPC classification number: G06F16/2379 G06F16/2365 G06F16/273

    Abstract: A method is provided for performing transaction processing in a system. The system includes a plurality of processors. Each processor executes a plurality of transactions. Two of the processors receive requests to process the same subset of the plurality of transactions and each of the two processors execute each of the requests to process the same subset of the plurality of transactions. Each of the two processors create local indicia from the outcome of each transaction in the same subset of the plurality of transactions. Each of the two processors assign a transaction tag to each of the local indicia, wherein the same transaction tag is assigned by each of the two processors executing the same transaction. The local indicia and the respectively assigned transaction tags from each of the two processors are queued. It is then detected when queued transaction tags from the two processors match each other. The local indicia associated with the matching transaction tags are then compared to each other. Remediation action is taken when the local indicia associated with matching transaction tags do not match each other.

    Dynamic mixed-mode method for combining active/active and validation architectures for distributed ledgers

    公开(公告)号:US11599528B1

    公开(公告)日:2023-03-07

    申请号:US17737199

    申请日:2022-05-05

    Applicant: Gravic, Inc.

    Abstract: A method is provided for performing transaction processing in a system that includes 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. At least two of the nodes are dynamically selected to receive the same request to process a transaction, and the processor at each of the at least two nodes executes and validates the same request to process a transaction. One or more of the at least two nodes replicates the same request, steps and operations, and/or indicia of the transactions to one or more other nodes in the system. The processor at the one or more other nodes locally processes the transaction and compares its results with the replicated steps and operations and/or indicia of the transaction that were received from one of the at least two nodes and executes one or more remediation actions when the result of the comparison indicates that the replicated steps and operations, and/or indicia of the replicated transactions do not match.

    Validation architecture servicing multiple user requests by queuing and then matching out of order indicia

    公开(公告)号:US12182105B1

    公开(公告)日:2024-12-31

    申请号:US18175976

    申请日:2023-02-28

    Applicant: Gravic, Inc.

    Abstract: A method is provided for performing transaction processing in a system. The system includes a plurality of nodes. Each node in the system includes a processor, an application executing in the processor, and a local queue. Each node executes multiple user transactions. Each transaction includes a BEGIN step, and one or more data manipulation language (DML) or data definition language (DDL) operations. In operation, two of the nodes are selected to receive the same user request to process the transaction. The processor at each of the two nodes executes in the application the same user request to process the transaction. Local indicia is created at each of the two nodes from the outcome of the transaction steps and operations of the transaction and is then exchanged with the other of the two nodes. The processor at each of the two nodes puts on their respective local queues the local indicia created at the same node as the processor, and the local indicia received from the other of the two nodes. One of the local queues of one of the nodes detects whether the two local indicia match each other. A COMMIT is executed in the processor at the one node for the transaction when a match occurs. As a result of this process, multiple user requests are processed on the two nodes even when they occur out of order on the two nodes.

    Apparatus for resolving automatic transaction facility (ATF) failures

    公开(公告)号:US12099416B1

    公开(公告)日:2024-09-24

    申请号:US18457858

    申请日:2023-08-29

    Applicant: Gravic, Inc.

    CPC classification number: G06F11/1469 G06F16/2365 G06F2201/84

    Abstract: An apparatus is provided for resolving an unintended transaction rollback in a system that includes an audited database, a non-audited application, and a facility for converting non-audited applications to use audited database transactions, wherein the unintended transaction rollback is the result of a failure of the facility to convert the unintended transaction rollback to a commit operation, The non-audited application is operated with the facility creating database transactions against the audited database. The database transactions include one or more transaction steps or operations. The created database transactions are monitored to detect transaction rollbacks. A determination is made when a detected transaction rollback for a database transaction is an unintended transaction rollback. The one or more transaction steps or operations of the database transaction that included the unintended transaction rollback are recovered in the audited database. The recovering resolves the unintended transaction rollback. The monitoring, determining, and recovering are performed by an Automatic Transaction Facility (ATF) recovery engine.

    Method of ensuring transactional integrity of a system that includes a first subsystem and a second subsystem

    公开(公告)号:US10394798B1

    公开(公告)日:2019-08-27

    申请号:US16213627

    申请日:2018-12-07

    Applicant: Gravic, Inc.

    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.

    Method and apparatus for using representations of blocks of data when continuously comparing two databases which are actively being kept synchronized

    公开(公告)号:US11921748B1

    公开(公告)日:2024-03-05

    申请号:US18529824

    申请日:2023-12-05

    Applicant: Gravic, Inc.

    CPC classification number: G06F16/273 G06F16/2358 G06F16/2379

    Abstract: An automated method and apparatus 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 database changes that are posted to the source database and replicated to the target database. The source database and the target database are made up of blocks of data. Blocks of data from the source database having database changes are collected. These blocks of data are replicated to the target database. Blocks of data from the target database that correspond to the blocks of data from the source database having database changes are read. Representations of the blocks of data from the source database having database changes are compared to representations of blocks of data from the target database that correspond to the blocks of data from the source database having database changes. A corrective action is performed when the comparison indicates that the representations of the blocks of data from the source database having database changes do not match the representations of blocks of data from the target database that correspond to the blocks of data from the source database having database changes. A similar process is performed using “before images” of blocks of data from the source database having database changes and then comparing representations of these “before images” to representations of “current images” of blocks of data from the target database that correspond to the before images of blocks of data from the source database having database changes.

    Method for validating transactions in a system that includes indeterministic ordering of change log events by using deterministic indicia

    公开(公告)号:US11768822B1

    公开(公告)日:2023-09-26

    申请号:US18296534

    申请日:2023-04-06

    Applicant: Gravic, Inc.

    CPC classification number: G06F16/2358 G06F16/2365 G06F16/2386 H04L9/3239

    Abstract: A method is provided for validating transactions in a system that includes indeterministic ordering of change log events by using deterministic indicia. The system includes a plurality of nodes. Each node in the system includes an instance of a database used by an application, and a change log associated with the instance of the database used by the application. Each node executes transactions. Each transaction includes one or more data manipulation language (DML) or data definition language (DDL) operations. Results of the DML or DDL, operations are stored in the change log as change log events, wherein the order of the change log events stored in the change log on one node is in a different order than the order of change log events stored in the change log of at least one of the other nodes. For each transaction executing at each node, deterministic subunits of the change log events are defined. Indicia are then computed for each subunit of the change log events. The subunits are ordered by the computed indicia. Deterministic indicia are then computed for the transaction from the ordered subunits. The transaction is then validated with at least one of the other nodes using the deterministic indicia. The validation indicates either a match or a mismatch of the deterministic indicia computed at the plurality of nodes.

Patent Agency Ranking