System for transforming large scale electronic processing using application block chain
US-2017295232-A1 · Oct 12, 2017 · US
US10250694B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10250694-B2 |
| Application number | US-201615241918-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 19, 2016 |
| Priority date | Aug 19, 2016 |
| Publication date | Apr 2, 2019 |
| Grant date | Apr 2, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for managing distributed state for stateless transactions are disclosed herein. In some embodiments a distributed state manager detects a state-changing event that corresponds to a stateless transaction between a node and an application server. The stateless transaction is generated from a first instance of an application that is executing on the node and hosted by the application server. The distributed state manager records the event in a blockchain comprising blocks that each record a batch of one or more events associated with execution of the application. The distributed state manager detects an update to the blockchain associated with the recorded event and modifies a state of a second instance of the application executing on at least one other node based, at least in part, on the update to the blockchain.
Opening claim text (preview).
What is claimed is: 1. A method for managing distributed state for stateless transactions, said method comprising: detecting, by an application server, a first state-changing event that corresponds to a stateless transaction between a first node of a plurality of nodes and the application server, wherein the stateless transaction is generated from a first instance of an application that is executing on the first node, and wherein the application is hosted by the application server; broadcasting, by the application server, the first state-changing event to the plurality of nodes; initiating, by at least the first node and a second node of the plurality of nodes, generation of a block for entry into a blockchain based, at least in part, on the broadcasted first state-changing event, wherein the blockchain comprises blocks that each record a batch of one or more state-changing events associated with execution of the application; adding, by the first node, the block to a locally stored copy of the blockchain on the first node based, at least in part, on the first node completing generation of the block prior to the second node; based on detecting that the first node added the block, updating, by each of the plurality of nodes, a locally stored copy of the blockchain with the block generated by the first node to maintain synchronization among the blockchain copies; and modifying, by the second node, a state of a second instance of the application executing on the second node based, at least in part, on the update to the locally stored copy of the blockchain. 2. The method of claim 1 , wherein the application is a distributed application and wherein the blockchain maintains a chronological sequence of state-changing events processed by multiple instances of the distributed application. 3. The method of claim 1 , wherein said adding, by the first node, the block comprises recording metadata indicating context of the first state-changing event within the block. 4. The method of claim 1 , wherein said detecting that the first node added the block comprises: monitoring, by the plurality of nodes, the blockchain to detect addition of the block to the blockchain; and based on detecting the addition of the block, retrieving the block from the first node. 5. The method of claim 1 , further comprising: determining that the first state-changing event comprises selection of a data element generated by the application; and asserting, by at least the second node, an access lock on the data element based, at least in part, on determining that the first state-changing event specifies selection of the data element. 6. The method of claim 1 , further comprising determining that the first node has completed generation of the block based, at least in part, on the first node generating a hash sufficient to satisfy a security threshold. 7. The method of claim 1 , further comprising: determining, by a third node of the plurality of nodes, a type of event indicated in the block added to the blockchain by the first node; and based on determining that the type of event is a modification to a data element, modifying a corresponding data element for an instance of the application executing on the third node in accordance with the event indicated in the block. 8. The method of claim 1 , wherein the application server does not comprise a copy of the blockchain. 9. One or more non-transitory machine-readable storage media having program code for managing distributed state for stateless transactions, the program code configured to: detect, by an application server, a first state-changing event that corresponds to a stateless transaction between a first node of a plurality of nodes and the application server, wherein the stateless transaction is generated from a first instance of an application that is executing on the first node, and wherein the application is hosted by the application server; broadcast, by the application server, the first state-changing event to the plurality of nodes; initiate, by at least the first node and a second node of the plurality of nodes, generation of a block for entry into a blockchain based, at least in part, on the broadcasted first state-changing event, wherein the blockchain comprises blocks that each record a batch of one or more state-changing events associated with execution of the application; add, by the first node, the block to a locally stored copy of the blockchain on the first node based, at least in part, on the first node completing generation of the block prior to the second node; based on detecting that the first node added the block, update, by each of the plurality of nodes, a locally stored copy of the blockchain with the block generated by the first node to maintain synchronization among the blockchain copies; and modify, by the second node, a state of a second instance of the application executing on the second node based, at least in part, on the update to the locally stored copy of the blockchain. 10. The machine-readable storage media of claim 9 , wherein the application is a distributed application and wherein the blockchain maintains a chronological sequence of state-changing events processed by multiple instances of the distributed application. 11. The machine-readable storage media of claim 9 , wherein said program code configured to add, by the first node, the block comprises program code configured to record metadata indicating context of the state-changing event within the block. 12. The machine-readable storage media of claim 9 , wherein said program code configured to detect that the first node added the block comprises program code configured to: monitor, by the plurality of nodes, the blockchain to detect addition of the block to the blockchain; and based on detecting the addition of the block, retrieve the block from the first node. 13. The machine-readable storage media of claim 9 , further comprising program code configured to: determine, by at least the second node, that the first state-changing event comprises selection of a data element generated by the application; and assert, by at least the second node, an access lock on the data element based, at least in part, on determining that the first state-changing event specifies selection of the data element. 14. An apparatus comprising: a processor; and a machine-readable medium having program code executable by the processor to cause the apparatus to: detect, by an application server, a first state-changing event that corresponds to a stateless transaction between a first node of the plurality of nodes and the application server, wherein the stateless transaction is generated from a first instance of an application that is executing on the first node, and wherein the application is hosted by the application server; broadcast, by the application server, the first state-changing event to the plurality of nodes; initiate, by at least the first node and a second node of the plurality of nodes, generation of a block for entry into a blockchain based, at least in part, on the broadcasted first state-changing event, wherein the blockchain comprises blocks that each record a batch of one or more state-changing events associated with execution of the application; add, by the first node, the block to a locally stored copy of the blockchain on the first node based, at least in part, on the first node completing generation of the block prior to the second node; based on detecting that the first node added the block, update, by each of the plurality of nodes, a locally stored copy of the blockchain with the block generated by the firs
Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
Electricity · mapped topic
Electricity · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.