Scalable self-healing architecture for client-server operations in transient connectivity conditions
First Claim
1. A method for managing data requests in transient network conditions, the method comprising:
- receiving a first client request from a client data processing system, over a data network, at an agent application executing using a processor and a memory in an agent data processing system, the first client request requesting data from a type of service;
responding to the first client request with a first agent response, the first agent response comprising an acknowledgement message to acknowledge receiving the first client request at the agent application;
identifying the type of service requested by the first client request based upon an identifier associated with the first client request;
determining, by the agent application, responsive to the first client request, whether a service queue corresponding to the identified type of service exists for the first client request;
creating, by the agent application, responsive to the agent application determining that the service queue does not exist, the service queue corresponding to the identified type of service for the first client request by consulting a lookup service specified as part of configuring a backend service, the lookup service mapping the identified type of service to the service queue;
queuing the first client request in the service queue corresponding to the identified type of the service, to make the first client request available to a server data processing system that provides the type of the service;
detecting a loss of connectivity between the client data processing system and the agent data processing system;
purging, responsive to the loss of connectivity between the client data processing system and the agent data processing system exceeding a timeout period, the service queue corresponding to the first client request;
receiving a notification that a server response from the server data processing system has been posted into a session specific queue, the session specific queue being a server-created queue responsive to the server data processing system detecting that the service queue has been purged, the server response being responsive to the first client request;
detecting a restoration of connectivity between the client data processing system and the agent data processing system; and
sending, in response to a second client request received from the client data processing system, an agent response, the agent response including the data from the server response posted in the session specific queue, the second client request comprising an HTTP Get request, the agent response responsive to the first client request such that the client data processing system does not have to retransmit the first client request responsive to the restoration of connectivity.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer program product for scalable and self-healing architecture for client-server operations in transient connectivity conditions are provided in the illustrative embodiments. An application in a second system receives a request from a first system, the request requesting data from a type of service. A first response responds to the request. The request is queued in a service queue corresponding to the type of the service, to make the request available to a third system that provides the type of the service. A notification is received that a second response from the third data processing system has been posted into a session specific queue, the second response being responsive to the request. In response to another request received from the first system, a third response is sent to the first system, the third response including the data from the second response from the session specific queue.
29 Citations
18 Claims
-
1. A method for managing data requests in transient network conditions, the method comprising:
-
receiving a first client request from a client data processing system, over a data network, at an agent application executing using a processor and a memory in an agent data processing system, the first client request requesting data from a type of service; responding to the first client request with a first agent response, the first agent response comprising an acknowledgement message to acknowledge receiving the first client request at the agent application; identifying the type of service requested by the first client request based upon an identifier associated with the first client request; determining, by the agent application, responsive to the first client request, whether a service queue corresponding to the identified type of service exists for the first client request; creating, by the agent application, responsive to the agent application determining that the service queue does not exist, the service queue corresponding to the identified type of service for the first client request by consulting a lookup service specified as part of configuring a backend service, the lookup service mapping the identified type of service to the service queue; queuing the first client request in the service queue corresponding to the identified type of the service, to make the first client request available to a server data processing system that provides the type of the service; detecting a loss of connectivity between the client data processing system and the agent data processing system; purging, responsive to the loss of connectivity between the client data processing system and the agent data processing system exceeding a timeout period, the service queue corresponding to the first client request; receiving a notification that a server response from the server data processing system has been posted into a session specific queue, the session specific queue being a server-created queue responsive to the server data processing system detecting that the service queue has been purged, the server response being responsive to the first client request; detecting a restoration of connectivity between the client data processing system and the agent data processing system; and sending, in response to a second client request received from the client data processing system, an agent response, the agent response including the data from the server response posted in the session specific queue, the second client request comprising an HTTP Get request, the agent response responsive to the first client request such that the client data processing system does not have to retransmit the first client request responsive to the restoration of connectivity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer usable program product comprising a computer readable storage device including computer usable code for managing data requests in transient network conditions, the computer usable code comprising:
-
computer usable code for receiving a first client request from a client data processing system, over a data network, at an agent application executing using a processor and a memory in an agent data processing system, the first client request requesting data from a type of service; computer usable code for responding to the first client request with a first agent response, the first agent response comprising an acknowledgement message to acknowledge receiving the first client request at the agent application; computer usable code for identifying the type of service requested by the first client request based upon an identifier associated with the first client request; computer usable code for determining, by the agent application, responsive to the first client request, whether a service queue corresponding to the identified type of service exists for the first client request; computer usable code for creating, by the agent application, responsive to the agent application determining that the service queue does not exist, the service queue corresponding to the identified type of service for the first client request by consulting a lookup service specified as part of configuring a backend service, the lookup service mapping the identified type of service to the service queue; computer usable code for queuing the first client request in the service queue corresponding to the identified type of the service, to make the first client request available to a server data processing system that provides the type of the service; computer usable code for detecting a loss of connectivity between the client data processing system and the agent data processing system; computer usable code for purging, responsive to the loss of connectivity between the client data processing system and the agent data processing system exceeding a timeout period, the service queue corresponding to the first client request; computer usable code for receiving a notification that a server response from the server data processing system has been posted into a session specific queue, the session specific queue being a server-created queue responsive to the server data processing system detecting that the service queue has been purged, the server response being responsive to the first client request; computer usable code for detecting a restoration of connectivity between the client data processing system and the agent data processing system; and computer usable code for sending, in response to a second client request received from the client data processing system, an agent response, the agent response including the data from the server response posted in the session specific queue, the second client request comprising an HTTP Get request, the agent response responsive to the first client request such that the client data processing system does not have to retransmit the first client request responsive to the restoration of connectivity. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A data processing system for managing data requests in transient network conditions, the data processing system comprising:
-
a storage device, wherein the storage device stores computer usable program code; and
a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises;computer usable code for receiving a first client request from a client data processing system, over a data network, at an agent application executing using a processor and a memory in an agent data processing system, the first client request requesting data from a type of service; computer usable code for responding to the first client request with a first agent response, the first agent response comprising an acknowledgement message to acknowledge receiving the first client request at the agent application; computer usable code for identifying the type of service requested by the first client request based upon an identifier associated with the first client request; computer usable code for determining, by the agent application, responsive to the first client request, whether a service queue corresponding to the identified type of service exists for the first client request; computer usable code for creating, by the agent application, responsive to the agent application determining that the service queue does not exist, the service queue corresponding to the identified type of service for the first client request by consulting a lookup service specified as part of configuring a backend service, the lookup service mapping the identified type of service to the service queue; computer usable code for queuing the first client request in the service queue corresponding to the identified type of the service, to make the first client request available to a server data processing system that provides the type of the service; computer usable code for detecting a loss of connectivity between the client data processing system and the agent data processing system; computer usable code for purging, responsive to the loss of connectivity between the client data processing system and the agent data processing system exceeding a timeout period, the service queue corresponding to the first client request; computer usable code for receiving a notification that a server response from the server data processing system has been posted into a session specific queue, the session specific queue being a server-created queue responsive to the server data processing system detecting that the service queue has been purged, the server response being responsive to the first client request; computer usable code for detecting a restoration of connectivity between the client data processing system and the agent data processing system; and computer usable code for sending, in response to a second client request received from the client data processing system, an agent response, the agent response including the data from the server response posted in the session specific queue, the second client request comprising an HTTP Get request, the agent response responsive to the first client request such that the client data processing system does not have to retransmit the first client request responsive to the restoration of connectivity.
-
Specification