Method of ensuring real-time transaction integrity in the cloud

US9760598B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9760598-B1
Application numberUS-201715628354-A
CountryUS
Kind codeB1
Filing dateJun 20, 2017
Priority dateDec 7, 2015
Publication dateSep 12, 2017
Grant dateSep 12, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of ensuring application transaction integrity in a multi-node system, the multi-node system including a parent node and a plurality of child nodes, each child node including (i) a processor, (ii) an application executing in the processor, (iii) an indicia engine, and (iv) an instance of a database used by the application, each child node executing transactions, each transaction including a BEGIN step, one or more data manipulation language (DML) or data definition language (DDL) operations, and a transaction END step which is either a COMMIT or an ABORT, the method comprising: (a) the parent node sending to at least two child nodes an identical request to process a transaction; (b) processing in the application executing in the processor at each of the at least two child nodes the identical request in the instance of the child node's database up until the transaction END step; (c) the indicia engine at each of the at least two child nodes: (i) computing indicia of the outcome of the processing of the identical request in step (b), wherein the indicia is dependent upon at least a subset of the DML or DDL operations, and (ii) sending its computed indicia to the parent node; (d) the parent node comparing the received computed indicia from the at least two child nodes; and (e) the parent node instructing the at least two child nodes to complete their respective transaction END steps for the transaction in the application executing in the processor at each of the at least two child nodes to: (i) execute the COMMIT when the result of the comparison in step (d) indicates that the processing in step (b) was correct, and (ii) execute the ABORT when the result of the comparison in step (d) indicates that the processing in step (b) was incorrect, wherein the comparing of the computed indicia occurs independently of any checking as to whether an application on a child node is ready to commit via a commit process. 2. The method of claim 1 further comprising: (f) providing a plurality of cloud providers, each cloud provider including one or more child nodes; and (g) the parent node sending the identical request to process a transaction to child nodes at at least two different cloud providers. 3. The method of claim 2 wherein the plurality of cloud providers are remotely located from the parent node. 4. The method of claim 1 further comprising: (f) providing a cloud provider which is remotely located from the parent node, the cloud provider including the plurality of child nodes; and (g) the parent node sending the identical request to process a transaction to child nodes at the cloud provider. 5. The method of claim 1 further comprising on any child node which executes the ABORT: (f) the parent node rebooting the child node which executes the ABORT, replacing the child node which executes the ABORT, or restarting the application on the child node which executes the ABORT. 6. The method of claim 1 wherein the processing at a child node in step (b) was correct when the received computed indicia in step (d) from the child node matches the majority of received computed indicia from the at least two child nodes. 7. A method of ensuring application transaction integrity in a multi-node system, the multi-node system including a parent node and a plurality of child nodes, each child node including (i) a processor, (ii) an application executing in the processor, (iii) an indicia engine, and (iv) an instance of a database used by the application, each child node executing transactions, each transaction including a BEGIN step, one or more data manipulation language (DML) or data definition language (DDL) operations, and a transaction END step which is either a COMMIT or an ABORT, the method comprising: (a) the parent node sending to at least two child nodes an identical request to process a transaction; (b) processing in the application executing in the processor at each of the at least two child nodes the identical request in the instance of the child node's database up until the transaction END step; (c) the indicia engine at each of the at least two child nodes: (i) computing indicia of the outcome of the processing of the identical request in step (b), wherein the indicia is dependent upon at least a subset of the DML or DDL operations, (ii) sending its computed indicia to the other child nodes that the parent node sent the identical request to in step (a), and (iii) the at least two child nodes receiving the sent computed indicia and comparing the received computed indicia to their own computed indicia; (d) performing the transaction END step for the transaction in the application executing in the processor at each child node by: (i) executing the COMMIT when the result of the comparison in step (c) indicates that the processing in step (b) was correct, and (ii) executing the ABORT when the result of the comparison in step (c) indicates that the processing in step (b) was incorrect, wherein the comparing of the computed indicia occurs independently of any checking as to whether an application on a child node is ready to commit via a commit process; and (e) at least one child node reporting back to the parent node the transaction END steps taken. 8. The method of claim 7 further comprising: (f) providing a plurality of cloud providers, each cloud provider including one or more child nodes; and (g) the parent node sending the identical request to process a transaction to child nodes at at least two different cloud providers. 9. The method of claim 8 wherein the plurality of cloud providers are remotely located from the parent node. 10. The method of claim 7 further comprising: (f) providing a cloud provider which is remotely located from the parent node, the cloud provider including the plurality of child nodes; and (g) the parent node sending the identical request to process a transaction to child nodes at the cloud provider. 11. The method of claim 7 further comprising on any child node which executes the ABORT: (f) the parent node rebooting the child node which executes the ABORT, replacing the child node which executes the ABORT, or restarting the application on the child node which executes the ABORT. 12. The method of claim 7 wherein the processing at a child node in step (b) was correct when the computed indicia in step (c) from the child node matches the majority of computed indicia from the at least two child nodes.

Assignees

Inventors

Classifications

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

  • Physics · mapped topic

  • Updates performed during online database operations; commit processing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9760598B1 cover?
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.
Who is the assignee on this patent?
Gravic Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30377. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 12 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).