Managing communications in a multi-client, multi-server environment
First Claim
1. A method of processing a request received from a client, the method being implemented by one of a plurality of servers in a server cluster and comprising:
- receiving, from the client, a request that includes;
a session identifier (ID) identifying a session between the client and the server; and
a correlation ID that is linked to the request;
determining whether the correlation ID is included in an individual server-specific session microcache of the session;
if the correlation ID is not included in the session microcache, processing the request to determine a response, adding the response to the session microcache, and sending the response along with an indication of the correlation ID to the client;
if the correlation ID and a response to the request are stored in the session microcache, re-sending the response along with an indication of the correlation ID to the client; and
transferring the session ID and session microcache to another of the plurality of servers in the server cluster to continue the session;
starting a timer based on a duplicate request being received; and
if a response to the duplicate request is not available after the timer indicates that a predefined time period has transpired, sending an error response to the client that includes an indication of the correlation ID for the request.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one aspect of the present disclosure, a method is implemented by a server in a server cluster. A request received from a client includes a session identifier (ID) identifying a session between the client and the server, and a correlation ID that is linked to the request. If the correlation ID is not included in an individual server-specific session microcache for the session, the request is processed to determine a response, the response is added to the session microcache, and the response and an indication of the correlation ID are sent to the client. If the correlation ID and a response to the request are stored in the session microcache, the response and an indication of the correlation ID are re-sent to the client. The session ID and session microcache are transferred to another of the plurality of servers in the server cluster to continue the session.
27 Citations
18 Claims
-
1. A method of processing a request received from a client, the method being implemented by one of a plurality of servers in a server cluster and comprising:
-
receiving, from the client, a request that includes; a session identifier (ID) identifying a session between the client and the server; and a correlation ID that is linked to the request; determining whether the correlation ID is included in an individual server-specific session microcache of the session; if the correlation ID is not included in the session microcache, processing the request to determine a response, adding the response to the session microcache, and sending the response along with an indication of the correlation ID to the client; if the correlation ID and a response to the request are stored in the session microcache, re-sending the response along with an indication of the correlation ID to the client; and transferring the session ID and session microcache to another of the plurality of servers in the server cluster to continue the session; starting a timer based on a duplicate request being received; and if a response to the duplicate request is not available after the timer indicates that a predefined time period has transpired, sending an error response to the client that includes an indication of the correlation ID for the request. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method implemented by a client, comprising:
-
generating a request that includes; a session identifier (ID) that identifies a session between the client and one of a plurality of servers of a server cluster; a correlation ID that is linked to the request; and a response list that contains correlation IDs linked to responses received from one or more servers of the server cluster for requests submitted by the client as part of the session; sending the request to the server; if a response to the request is not received within a predefined time period;
sending a duplicate request to the same or another server of the server cluster; andreceiving an error response that includes an indication of the correlation ID for the request; and if a response to the request is received within the predefined time period, updating the response list to include the correlation ID, and sending the updated response list to the same or another server of the server cluster. - View Dependent Claims (7, 8, 9)
-
-
10. A server that is part of a server cluster which includes a plurality of other servers, the server comprising:
-
a memory circuit configured to store an individual server-specific session microcache for a session between the server and a client; and one or more processing circuits configured to; receive, from the client, a request that includes; a session identifier (ID) identifying the session between the client and the server; and a correlation ID that is linked to the request; determine whether the correlation ID is included in the session microcache; if the correlation ID is not included in the session microcache, process the request to determine a response, add the response to the session microcache, and send the response along with an indication of the correlation ID to the client; if the correlation ID and a response to the request are stored in the session microcache, re-send the response along with an indication of the correlation ID to the client; and transfer the session ID and session microcache to another of the plurality of servers in the server cluster to continue the session; start a timer based on a duplicate request being received; and if a response to the duplicate request is not available after the timer indicates that a predefined time period has transpired, send an error response to the client that includes an indication of the correlation ID for the request. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A client, comprising:
-
one or more processing circuits configured to; generate a request that includes; a session identifier (ID) that identifies a session between the client and one of a plurality of servers of a server cluster; a correlation ID that is linked to the request; and a response list that contains correlation IDs linked to responses received from one or more servers of the server cluster for requests submitted by the client as part of the session; send the request to the server; if a response to the request is not received within a predefined time period; send a duplicate request to the same or another server of the server cluster; and receive an error response that includes an indication of the correlation ID for the request; if a response to the request is received within the predefined time period, update the response list to include the correlation ID, and send the updated response list to the same or another server of the server cluster; and a memory circuit configured to store the response list. - View Dependent Claims (16, 17, 18)
-
Specification