Adaptive write-back and write-through caching for off-line data
First Claim
1. A computer-implemented method of using an intermediary, executing on a first computing device, to facilitate communication between a first server and an application that also executes on the first computing device, the method comprising:
- intercepting, at the intermediary, from the application, a first request to remove, update or store data on the first server, wherein the first request conforms to a first protocol;
relaying, by the intermediary, the first request to the first server using the first protocol;
receiving, by the intermediary, a response from the first server;
responding, by the intermediary, to the first request with the response obtained from the first server; and
updating, by the intermediary, a local store with;
first data obtained from the response; and
second data implied by the first protocol and determined based on the first request;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for facilitating communication between an application and a server are provided. An intermediary sits between an application and a server. The intermediary intercepts and responds to communications on behalf of the intended recipient of the communication. In one technique, the intermediary relays a request to the server and receives a response from the server. The intermediary updates a local store with data that is implied by the protocol to which the request conforms and determined based on the request. In another technique, the intermediary intercepts a request to access data on the server. The intermediary determines, based on characteristics of a computing device, that the request should be responded to using data that is available in a local store. The intermediary responds to the request using that data.
-
Citations
38 Claims
-
1. A computer-implemented method of using an intermediary, executing on a first computing device, to facilitate communication between a first server and an application that also executes on the first computing device, the method comprising:
-
intercepting, at the intermediary, from the application, a first request to remove, update or store data on the first server, wherein the first request conforms to a first protocol; relaying, by the intermediary, the first request to the first server using the first protocol; receiving, by the intermediary, a response from the first server; responding, by the intermediary, to the first request with the response obtained from the first server; and updating, by the intermediary, a local store with; first data obtained from the response; and second data implied by the first protocol and determined based on the first request; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method of using an intermediary that executes on a first computing device to facilitate communication between a server and an application that also executes on the first computing device, the method comprising:
-
intercepting, at the intermediary, from the application, a first request to remove, update, or store data on the server, wherein the first request conforms to a first protocol; without sending the first request to the server, locally processing, by the intermediary, the first request in a manner conforming to the first protocol; updating, by the intermediary, a local store with results of locally processing the first request; responding, by the intermediary, with a first response to the first request using the results of locally processing the first request; after responding to the first request, forwarding, by the intermediary, the first request to the server using the first protocol; receiving, by the intermediary, a second response from the server, wherein the second response is a response to the first request; updating, by the intermediary, the local store with; first data obtained from the second response; and second data implied by the first protocol and determined based on the first request; wherein the method is performed by one or more computing devices. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-implemented method of using an intermediary that executes on a first computing device to facilitate communication between a server and an application that also executes on the first computing device, the method comprising:
-
intercepting, at the intermediary, from the application, a first request to access data on the server, wherein the first request conforms to a first protocol; and determining, by the intermediary, that the first request should be responded to using data that is available in a local store based on characteristics of the first computing device; without sending the first request to the server, responding, by the intermediary, to the first request using the data that is available in the local store; wherein the method is performed by one or more computing devices. - View Dependent Claims (16, 17, 18, 37)
-
-
19. One or more non-transitory computer-readable media carrying instructions for facilitating communication between a first server and an application that executes on a first computing device, wherein the instructions, when executed by one or more processors, causes:
-
intercepting, at an intermediary that executes on the first computing device, from the application, a first request, wherein the first request is a request to remove, update or store data on the first server, wherein the first request conforms to a first protocol; relaying the first request to the first server using the first protocol; receiving a response from the first server; responding to the first request with the response from the first server; and updating a local store with; first data obtained from the response; and second data implied by the first protocol and determined based on the first request. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. One or more non-transitory computer-readable media carrying instructions for facilitating communication between an application and a server, wherein the instructions, when executed by one or more processors, causes:
-
intercepting, at an intermediary, from the application that is running on a first computing device, a first request, wherein the first request is a request to remove, update, or store data on the server, wherein the first request conforms to a first protocol; without sending the first request to the server, locally processing the first request in a manner conforming to the first protocol; updating a local store with results of locally processing the first request; responding, by the intermediary, with a first response to the first request using the results of locally processing the first request; after responding to the first request, forwarding, by the intermediary, the first request to the server using the first protocol; receiving, by the intermediary, a second response from the server, wherein the second response is a response to the first request; updating, by the intermediary, the local store with; first data obtained from the second response; and second data implied by the first protocol and determined based on the first request. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. One or more non-transitory computer-readable media carrying instructions for facilitating communication between a server and an application that executes on a first computing device, wherein the instructions, when executed by one or more processors, causes:
-
intercepting, at an intermediary that executes on the first computing device, from the application, a first request, wherein the first request is a request to access data on the server, wherein the first request conforms to a first protocol; and determining, by the intermediary, that the first request should be responded to using data that is available in a local store based on characteristics of the first computing device; without sending the first request to the server, responding, by the intermediary, to the first request using the data that is available in the local store. - View Dependent Claims (34, 35, 36, 38)
-
Specification