System and method for providing highly available processing of asynchronous service requests
First Claim
1. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
- a client application that instantiates an application view instance and passes a durable client identifier to the application view instance, said application view instance configured to create a service request;
an asynchronous request queue distributed over a server cluster and configured for receiving said service request from the application view instance and for storing said service request in a single physical request queue;
a service processor distributed over the server cluster and for pulling the service request from the single physical request queue and for invoking a service for the service request wherein the service processor is further configured for receiving a service response for the service request from the invoked service; and
an asynchronous response queue distributed over the server cluster and configured for receiving the service response from the service processor and for storing the service response in a single physical response queue;
wherein said client application is configured to query the asynchronous response queue distributed over the server cluster for responses that match the durable client identifier in an event of failure and restart of said client application.
2 Assignments
0 Petitions
Accused Products
Abstract
Highly-available processing of an asynchronous request can be accomplished in a single transaction. A distributed request queue receives a service request from a client application or application view client. A service processor is deployed on each node of a cluster containing the distributed request queue. A service processor pulls the service request from the request queue and invokes the service for the request, such as to an enterprise information system. If that service processor fails, another service processor in the cluster can service the request. The service processor receives a service response from the invoked service and forwards the service response to a distributed response queue. The distributed response queue holds the service response until the response is retrieved for the client application.
-
Citations
27 Claims
-
1. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
-
a client application that instantiates an application view instance and passes a durable client identifier to the application view instance, said application view instance configured to create a service request; an asynchronous request queue distributed over a server cluster and configured for receiving said service request from the application view instance and for storing said service request in a single physical request queue; a service processor distributed over the server cluster and for pulling the service request from the single physical request queue and for invoking a service for the service request wherein the service processor is further configured for receiving a service response for the service request from the invoked service; and an asynchronous response queue distributed over the server cluster and configured for receiving the service response from the service processor and for storing the service response in a single physical response queue; wherein said client application is configured to query the asynchronous response queue distributed over the server cluster for responses that match the durable client identifier in an event of failure and restart of said client application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for high-availability processing of asynchronous requests in a single transaction, comprising:
-
instantiating an application view client by an application and passing a durable client identifier to the application view client, said application view client configured to create a service request maintaining an asynchronous request queue distributed over a server cluster for storing service requests from client applications; maintaining an asynchronous response queue distributed over the server cluster for storing service responses from invoked services; maintaining a service processor distributed over the server cluster for servicing service invocations; receiving a service request to the request queue from the application; pulling the service request from the asynchronous request queue to a service processor and invoking a service for the service request; receiving the service response from the invoked service to the asynchronous response queue and storing the service response until retrieval by the application; and querying the asynchronous response queue distributed over the server cluster for responses that match the durable client identifier in an event of failure and restart of said client application. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
-
an asynchronous request queue distributed over a server cluster and configured for receiving and storing a service request; an application view client for sending the service request to the request queue on behalf of a client application; a service processor distributed over the server duster and configured for pulling the service request from the request queue and invoking the service for the service request, the service processor further receiving a service response for the service request from the invoked service; and an asynchronous response queue distributed over the server cluster and configured for receiving the service response from the service processor and storing the service response until the service response is retrieved for the client application by the application view client.
-
-
25. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
-
an application view client for generating a service request on behalf of a client application, the service request comprising a request document and a service response listener; a request queue distributed over a server cluster and configured for receiving the service request from the application view client and storing the service request; a service processor distributed over the server cluster and configured for pulling the service request from the request queue and invoking the service specified in the request document, the service processor further receiving a service response for the request document from the invoked service; and a response queue distributed over the server cluster and configured for receiving the service response from the service processor and storing the service response until the service response is retrieved for the client application by the application view client, the response listener notifying the application view client when the service response is received in the distributed response queue.
-
-
26. A system for high-availability processing of asynchronous requests in a single transaction, comprising:
-
means for maintaining an asynchronous request queue distributed over a server cluster for storing service requests from client applications; means for maintaining an asynchronous response queue distributed over the server cluster for storing service responses from invoked services; means for maintaining a service processor distributed over the server duster for servicing service invocations; means for receiving a service request to the request queue from a client application; means for pulling the service request from the request queue to a service processor and invoking a service for the service request; and means for receiving the service response from the invoked service to the response queue and storing the service response until retrieval from a client application.
-
-
27. A computer system for high-availability processing of asynchronous requests in a single transaction comprising:
- a processor a computer readable medium, and, object code executed by said processor, and embodied on said computer readable medium said object code configured to;
maintain an asynchronous request queue distributed over a server cluster for storing service requests from client applications; maintain an asynchronous response queue distributed over the server cluster for storing service responses from invoked services; maintain a service processor distributed over the server cluster for servicing service invocations; receive a service request to the request queue from a client application; pull the service request from the request queue to a service processor and invoke a service for the service request; and receive the service response from the invoked service to the response queue and store the service response until retrieval from a client application.
- a processor a computer readable medium, and, object code executed by said processor, and embodied on said computer readable medium said object code configured to;
Specification