Systems and methods for request isolation protection
First Claim
Patent Images
1. A method, comprising:
- receiving, from a given client application at a first server, a request for a particular resource that is provided by a second server;
determining, by the first server, that a data structure includes an entry indicating that a previous request for the particular resource was received from another client application and is still being processed by the second server;
in response to determining that the data structure includes an entry indicating that the previous request was received from another client application, incrementing, in the data structure by the first server, a reference count that tracks a number of pending requests for the particular resource without sending a second request for the particular resource to the second server;
receiving, by the first server, a cancellation of a previously received pending request for the particular resource prior to delivery of the particular resource in response to the previously received pending request;
in response to receiving the cancellation, decrementing, in the data structure by the first server, the reference count that tracks the number of pending requests for the particular resource without cancelling the request; and
managing, by the first server, a status of the previous request for the particular resource, including cancelling the previous request for the particular resource prior to the second server providing the particular resource when the reference count indicates that all pending requests for the particular resource have been cancelled.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for request isolation protection at a first server. The first server receives a resource request from a client device. The first server may receive multiple requests from the same client device or other client devices. The first server caches the multiple requests so that only one resource request is made to a second server storing the resource. The first server detects when the client device cancels the request to the resource. In response, the first server cancels the request made to the second server if there are no other requests made to the resource. If there are other requests remaining, then the first server does not cancel the request to the second server.
-
Citations
20 Claims
-
1. A method, comprising:
-
receiving, from a given client application at a first server, a request for a particular resource that is provided by a second server; determining, by the first server, that a data structure includes an entry indicating that a previous request for the particular resource was received from another client application and is still being processed by the second server; in response to determining that the data structure includes an entry indicating that the previous request was received from another client application, incrementing, in the data structure by the first server, a reference count that tracks a number of pending requests for the particular resource without sending a second request for the particular resource to the second server; receiving, by the first server, a cancellation of a previously received pending request for the particular resource prior to delivery of the particular resource in response to the previously received pending request; in response to receiving the cancellation, decrementing, in the data structure by the first server, the reference count that tracks the number of pending requests for the particular resource without cancelling the request; and managing, by the first server, a status of the previous request for the particular resource, including cancelling the previous request for the particular resource prior to the second server providing the particular resource when the reference count indicates that all pending requests for the particular resource have been cancelled. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving, from a given client application at a first server, a request for a particular resource that is provided by a second server; determining, by the first server, that a data structure includes an entry indicating that a previous request for the particular resource was received from another client application and is still being processed by the second server; in response to determining that the data structure includes an entry indicating that the previous request was received from another client application, incrementing, in the data structure by the first server, a reference count that tracks a number of pending requests for the particular resource without sending a second request for the particular resource to the second server; receiving, by the first server, a cancellation of a previously received pending request for the particular resource prior to delivery of the particular resource in response to the previously received pending request; in response to receiving the cancellation, decrementing, in the data structure by the first server, the reference count that tracks the number of pending requests for the particular resource without cancelling the request; and managing, by the first server, a status of the previous request for the particular resource, including cancelling the previous request for the particular resource prior to the second server providing the particular resource when the reference count indicates that all pending requests for the particular resource have been cancelled. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
18. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
receiving, from a given client application at a first server, a request for a particular resource that is provided by a second server; determining, by the first server, that a data structure includes an entry indicating that a previous request for the particular resource was received from another client application and is still being processed by the second server; in response to determining that the data structure includes an entry indicating that the previous request was received from another client application, incrementing, in the data structure by the first server, a reference count that tracks a number of pending requests for the particular resource without sending a second request for the particular resource to the second server; receiving, by the first server, a cancellation of a previously received pending request for the particular resource prior to delivery of the particular resource in response to the previously received pending request; in response to receiving the cancellation, decrementing, in the data structure by the first server, the reference count that tracks the number of pending requests for the particular resource without cancelling the request; and managing, by the first server, a status of the previous request for the particular resource, including cancelling the previous request for the particular resource prior to the second server providing the particular resource when the reference count indicates that all pending requests for the particular resource have been cancelled. - View Dependent Claims (19, 20)
-
Specification