System and method for management and recovery of multi-service web transactions

US10277488B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10277488-B2
Application numberUS-201615260941-A
CountryUS
Kind codeB2
Filing dateSep 9, 2016
Priority dateSep 9, 2016
Publication dateApr 30, 2019
Grant dateApr 30, 2019

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, the method including initiating execution of a macro-transaction comprising a set of micro-transactions, wherein execution of a given micro-transaction is based at least on a set of prerequisites associated with the given micro-transaction; causing a pending state of a first micro-transaction to be stored on a database; executing the first micro-transaction; and updating the state of the first micro-transaction in the database based at least on a result returned in response to executing of the first micro-transaction. An apparatus and computer program product are also provided.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: initiating execution of a macro-transaction comprising a set of micro-transactions, wherein each micro-transaction comprises a set of prerequisites, and wherein execution of a given micro-transaction is based at least on each prerequisite in the set of prerequisites associated with the given micro-transaction being satisfied; causing a state of a first micro-transaction of the set of micro-transaction to be stored on a database to indicate that the first micro-transaction is waiting to be executed in response to at least one prerequisite in the set of prerequisites associated with the first micro-transaction not being satisfied; causing a state of a second micro-transaction to be stored on the database to indicate the second micro-transaction is executing in response to determining that each prerequisite in the set of prerequisites associated with the second micro-transaction is satisfied; updating the state of the second micro-transaction in the database based at least on a result returned in response to executing the second micro-transaction; and determining whether the at least one prerequisite in the set of prerequisites associated with the first micro-transaction is satisfied based on the updated state of the second micro-transaction. 2. The method of claim 1 , wherein the set of prerequisites comprises at least one of: an empty set; and at least one prerequisite comprising a test corresponding to a state of at least one other micro-transaction in the set of micro-transactions such that execution of the given micro-transaction is executed in response to fulfillment of the test. 3. The method of claim 1 , wherein the result returned from executing the second micro-transaction comprises a promise indicating success, failure, or timeout. 4. The method of claim 3 , wherein updating the state of the second micro-transaction comprises: in response to the returned result indicating success, causing the stored state of the second micro-transaction to be updated to indicate that the second micro-transaction was successfully executed. 5. The method of claim 3 , further comprising: in response to the returned result indicating failure: causing the stored state of the second micro-transaction to be updated to indicate that execution of the second micro-transaction failed; and executing a respective compensating function for each micro-transaction in the set that has previously stored a success state in the database. 6. The method of claim 3 , further comprising: in response to the returned result indicating timeout: executing a probe function associated with the second micro-transaction to determine if the execution of the second micro-transaction either failed or succeeded, and wherein the updating the state of the second micro-transaction comprises updating the state based on the result of the probe function. 7. The method of claim 1 , wherein each micro-transaction corresponds to at least one of: a web-service call and a local call. 8. The method of claim 7 , wherein execution of at least one of the micro-transactions in the set invokes another macro-transaction. 9. The method of claim 1 , wherein each micro-transaction is a triple comprising: a do function for executing the micro-transaction; an undo function for compensating for execution of the micro-transaction; and a probe function for testing whether the micro-transaction was successfully executed after a timeout. 10. An apparatus comprising: at least one processor; and at least one non-transitory memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to: initiate execution of a macro-transaction comprising a set of micro-transactions, wherein each micro-transaction comprises a set of prerequisites, and wherein execution of a given micro-transaction is based at least on each prerequisite in the set of prerequisites associated with the given micro-transaction being satisfied; cause a state of a first micro-transaction of the set of micro-transaction to be stored on a database to indicate that the first micro-transaction is waiting to be executed in response to at least one prerequisite in the set of prerequisites associated with the first micro-transaction not being satisfied; cause a state of a second micro-transaction to be stored the database to indicate the second micro-transaction is executing in response to determining that each prerequisite in the set of prerequisites associated with the second micro-transaction is satisfied; cause the state of the second micro-transaction to be updated in the database based at least on a result returned in response to execution of the second micro-transaction; and determine whether the at least one prerequisite in the set of prerequisites associated with the first micro-transaction is satisfied based on the updated state of the second micro-transaction. 11. The apparatus of claim 10 , wherein the set of prerequisites comprises at least one of: an empty set; and at least one prerequisite comprising a test corresponding to a state of at least one other micro-transaction in the set of micro-transactions such that execution of the given micro-transaction is executed in response to fulfillment of the test. 12. The apparatus of claim 10 , wherein the result returned from execution of the second micro-transaction comprises a promise indicating success, failure, or timeout. 13. The apparatus of claim 12 , wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to: cause the stored state of the second micro-transaction to be updated to indicate that the second micro-transaction was successfully executed in response to the returned result indicating success. 14. The apparatus of claim 12 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus at least to: in response to the returned result indicating failure: cause the stored state of the second micro-transaction to be updated to indicate that execution of the second micro-transaction failed; and execute a respective compensating function for each micro-transaction in the set that has a state previously stored in the database indicating successful execution of the micro-transaction. 15. The apparatus of claim 12 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the apparatus at least to: in response to the returned result indicating timeout: execute a probe function associated with the second micro-transaction to determine if the execution of the second micro-transaction failed or succeeded, and cause the state of the second micro-transaction to be updated based on the result of the probe function. 16. The apparatus of claim 10 , wherein each micro-transaction corresponds to at least one of: a web-service call and a local call. 17. The apparatus of claim 16 , wherein execution of at least one of the micro-transactions in the set invokes another macro-transaction. 18. The apparatus of claim 16 , wherein each micro-transaction is a triple comprising: a do function for executing the micro-transaction; an undo function for compensating for execution of the micro-transaction; and a probe function for testing whether the micro-transaction was successfully executed after a timeout.

Assignees

Inventors

Classifications

  • using network fault recovery (ring fault isolation or reconfiguration in loop networks without recovery actions by a network management system H04L12/437) · CPC title

  • Errors, e.g. transmission errors · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • H04L67/142Primary

    Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms · 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 US10277488B2 cover?
A method is provided, the method including initiating execution of a macro-transaction comprising a set of micro-transactions, wherein execution of a given micro-transaction is based at least on a set of prerequisites associated with the given micro-transaction; causing a pending state of a first micro-transaction to be stored on a database; executing the first micro-transaction; and updating t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L43/0823. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 30 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).