Unilateral web services interaction contract
First Claim
1. A system that facilitates persistent states, the system comprising:
- a memory; and
a processor coupled to the memory, the processor executing components comprising;
an interaction component that interacts with at least one entity and unilaterally provides interaction information to facilitate recovery of the entity from a fault condition;
wherein the interaction information is based on, at least in part, a request received from the entity;
wherein the request includes a unique work item ID for tracking the request and enabling exactly-once execution of the request; and
wherein the interaction information is released based upon, at least in part, at least one process selected from a group consisting of a no release required process, a release encouraged process, and a release required process; and
a persistent state component that ensures that executions of requests of the entity result in persistent state changes and that messages to the entity are persistent, wherein the persistent state component is configured to ensure idempotent execution of the request by using the unique work item ID to ensure the request is executed exactly-once by performing acts comprising;
determining if the unique work item ID is being tracked in a message queue; and
determining if the unique work item ID is present in a request message or a reply message;
if the unique work item ID is present in a request message, cancelling the request, the request being a duplicate of a pending request; and
if the unique work item ID is present in a reply message, sending the reply message to the entity in response to the request, the request being a duplicate of a completed request.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention leverages a unilaterally-based interaction contract that enables applications to have a persistent state and ensures an exactly-once execution despite failures between and by communicating entities, permitting disparate software applications to be robustly supported in an environment where little is known about the implementation of the interaction contract. In one instance of the present invention, a web services interaction contract provides a communicating application with duplicate commit request elimination, persistent state transitions, and/or unique persistent reply requests. The present invention permits this interaction contract to be supported by, for example, a persistent application, a workflow, a transaction queue, a database, and a file system to facilitate in providing idempotent executions for requests from a communicating application.
-
Citations
27 Claims
-
1. A system that facilitates persistent states, the system comprising:
-
a memory; and a processor coupled to the memory, the processor executing components comprising; an interaction component that interacts with at least one entity and unilaterally provides interaction information to facilitate recovery of the entity from a fault condition; wherein the interaction information is based on, at least in part, a request received from the entity; wherein the request includes a unique work item ID for tracking the request and enabling exactly-once execution of the request; and wherein the interaction information is released based upon, at least in part, at least one process selected from a group consisting of a no release required process, a release encouraged process, and a release required process; and a persistent state component that ensures that executions of requests of the entity result in persistent state changes and that messages to the entity are persistent, wherein the persistent state component is configured to ensure idempotent execution of the request by using the unique work item ID to ensure the request is executed exactly-once by performing acts comprising; determining if the unique work item ID is being tracked in a message queue; and determining if the unique work item ID is present in a request message or a reply message; if the unique work item ID is present in a request message, cancelling the request, the request being a duplicate of a pending request; and if the unique work item ID is present in a reply message, sending the reply message to the entity in response to the request, the request being a duplicate of a completed request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 25, 27)
-
-
11. A method for facilitating persistent states for entities, the method comprising:
-
interacting via a web service with at least one entity; unilaterally determining, by a processor of the web service, interaction information based on, at least in part, a request received from the entity including a request for service and a request for cancellation of service; wherein the processor is configured to execute a persistent system component which ensures idempotent execution of the request; wherein the request includes a unique work item ID for tracking the request and enabling exactly-once execution of the request; and wherein the interaction information is released based upon, at least in part, at least one process selected from a group consisting of a no release required process, a release encouraged process, and a release required process; providing the interaction information to facilitate recovery of the entity from a fault condition; determining if the unique work item ID is being tracked in a message queue; and determining if the unique work item ID is present in a request message or a reply message; if the unique work item ID is present in a request message, cancelling the request, the request being a duplicate of a pending request; and if the unique work item ID is present in a reply message, sending the reply message to the entity in response to the request, the request being a duplicate of a completed request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26)
-
-
24. A system that facilitates persistent states, comprising:
-
means for interacting with at least one entity; and means for unilaterally providing interaction information to facilitate recovery of the entity from a fault condition including a system failure, an entity failure, and an application component failure;
the information based on, at least in part, requests received from the entity including a request for service and a request for cancellation of service;means for storing the interaction information in a persistent state in accordance with a unilateral pledge, to the entity, to ensure idempotent execution of one or more requests from the entity; means for releasing persistence of the information according to a release obligation in accordance with the unilateral pledge, the release obligation comprising; no release required, wherein without instruction to the contrary, the interaction information is remains persistent; release encouraged, wherein an incentive is provided to the entity to release the obligation to maintain persistence of the information; release strongly encouraged, wherein denying service to the entity until the entity releases the obligation to maintain persistence of the information;
orrelease required, wherein the obligation to maintain persistence of the information is released upon a subsequent contact with the entity or subsequent unilateral pledge to the entity.
-
Specification