Managing identical data requests
First Claim
1. A computer-implemented method, the method comprising:
- receiving, at a dispatcher associated with a server, an initial request for performing processing associated with a first data object from a first client;
dispatching, by the dispatcher, the initial request to the server to initiate the processing associated with the first data object;
receiving, at the dispatcher and from the first client, and prior to the dispatcher receiving a response to the initial request from the server corresponding to the processing associated with the first data object, a second request for the processing associated with the first data object identical to the initial request from the first client;
in response to determining that the second request is identical to the initial request and prior to the dispatcher receiving the response from the server to the initial request from the first client, holding, by the dispatcher, the second request without dispatching the second request to the server and without transmitting a response to the initial request or the second request to the first client;
receiving, at the dispatcher and from the first client, prior to receiving the response to the initial request corresponding to the processing associated with the first data object, and after receiving the second request from the first client, a third request for the processing associated with the first data object, the third request identical to the initial request and the second request;
in response to determining that the third request is identical to the initial request and the second request, and prior to receiving the response to the initial request from the server, discarding the second request and holding the third request without dispatching the third request to the server and without transmitting a response to the initial request, the second request, or the third request to the first client;
receiving, from the server, at the dispatcher, and in response to the initial request, the response to the initial request corresponding to the processing associated with the first data object; and
in response to receiving the response from the server;
associating the received response with the currently held third request; and
transmitting the response to the first client in response to the third request, the transmitting occurring without dispatching, by the dispatcher, the second request and the third request to the server or responses to the initial or second request to the first client.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosure generally describes methods, software, and systems, including a method for managing co-pending, identical data requests. An initial request is received for a first data object. Processing of the initial request is initiated, including dispatching the initial request to a server. Prior to receiving a response to the dispatched initial request, a first identical request is received. The first identical request is held without dispatching. Prior to receiving the response to the dispatched initial request, a second identical request is received. The first identical request is disregarded and the second identical request is held without dispatching the second identical request to the server. The responsive data object is received in response to the initial request. The responsive data object is provided in response to the second identical request, the providing occurring without initiating processing, by the server, of the first identical request and the second identical request.
9 Citations
14 Claims
-
1. A computer-implemented method, the method comprising:
-
receiving, at a dispatcher associated with a server, an initial request for performing processing associated with a first data object from a first client; dispatching, by the dispatcher, the initial request to the server to initiate the processing associated with the first data object; receiving, at the dispatcher and from the first client, and prior to the dispatcher receiving a response to the initial request from the server corresponding to the processing associated with the first data object, a second request for the processing associated with the first data object identical to the initial request from the first client; in response to determining that the second request is identical to the initial request and prior to the dispatcher receiving the response from the server to the initial request from the first client, holding, by the dispatcher, the second request without dispatching the second request to the server and without transmitting a response to the initial request or the second request to the first client; receiving, at the dispatcher and from the first client, prior to receiving the response to the initial request corresponding to the processing associated with the first data object, and after receiving the second request from the first client, a third request for the processing associated with the first data object, the third request identical to the initial request and the second request; in response to determining that the third request is identical to the initial request and the second request, and prior to receiving the response to the initial request from the server, discarding the second request and holding the third request without dispatching the third request to the server and without transmitting a response to the initial request, the second request, or the third request to the first client; receiving, from the server, at the dispatcher, and in response to the initial request, the response to the initial request corresponding to the processing associated with the first data object; and in response to receiving the response from the server; associating the received response with the currently held third request; and transmitting the response to the first client in response to the third request, the transmitting occurring without dispatching, by the dispatcher, the second request and the third request to the server or responses to the initial or second request to the first client. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
at least one processor; a memory storing; a data store of received requests; and an application operable when executed by the at least one processor to perform operations comprising; receiving, from a first client, an initial request for performing processing associated with a first data object; dispatching the received initial request to a server to initiate the processing associated with the first data object; while waiting to receive a response to the dispatched initial request corresponding to the first data object from the server; receiving, from the first client, by the application and prior to receiving the response to the initial request from the server corresponding to the processing associated with the first data object, at least one identical request for processing associated with the first data object identical to the initial request from the first client; determining that the at least one identical request is identical to the initial request; and holding the most recently received at least one identical request without dispatching any of the previously-received at least one identical requests to the server and discarding the previously-received at least one identical requests; and receiving, from the server in response to the initial request, the response to the initial request corresponding to the processing associated with the first data object; and in response to receiving the response to the initial request from the server; associating the received response with the most recently received identical request; and transmitting, to the first client, the response to the first client to the most recently received of the at least one identical requests to the first client, the transmitting occurring without dispatching any of the at least one identical requests to the server. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer-readable media encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
receiving, at a dispatcher associated with a server and from a first client, an initial request for performing processing associated with a first data object; dispatching, by the dispatcher, the initial request to the server to initiate the processing associated with the first data object; receiving, at the dispatcher and from the first client, and prior to the dispatcher receiving a response to the initial request from the server corresponding to processing associated with the first data object, a second request for processing associated with the first data object identical to the initial request from the first client; in response to determining that the second request is identical to the initial request and prior to the dispatcher receiving the response to the initial response from the first client, holding the second request without dispatching the second request to the server and without transmitting a response to the initial request or the second request to the first client; receiving, at the dispatcher and from the first client, prior to receiving the response to the initial request corresponding to the processing associated with the first data object, and after receiving the second request from the first client, a third request for the processing associated with the first data object, the third request identical to the initial request and the second request; in response to determining that the third request is identical to the initial request and the second request, and prior to receiving the response to the initial request from the server, discarding the second request and holding the third request without dispatching the third request to the server and without transmitting a response to the initial request, the second request, or the third request to the first client; receiving, from the server, at the dispatcher, and in response to the initial request, the response to the initial request corresponding to the processing associated with the first data object; and in response to receiving the response from the server; associating the received response with the currently held third request; and transmitting the response to the first client in response to the third request, the transmitting occurring without dispatching, by the dispatcher, the second request and the third request to the server or responses to the initial or second request to the first client. - View Dependent Claims (12, 13, 14)
-
Specification