Interception for optimal caching of distributed applications
First Claim
Patent Images
1. An automatic caching method for a distributed application having a client and a server, comprising:
- intercepting a call between the client and the server in order to collect information about objects accessed on the server during the call;
prefetching data from an object on the server based on collected information;
placing data into a client cache;
synchronizing marked calls with the server; and
synchronizing the client cache with the server.
1 Assignment
0 Petitions
Accused Products
Abstract
An automatic caching method for a distributed application having a client and a server includes intercepting a call between the client and the server in order to collect information about objects accessed on the server during the call, prefetching data from an object based on collected information, placing data into a client cache, synchronizing marked calls with the server, and synchronizing the client cache with the server.
142 Citations
32 Claims
-
1. An automatic caching method for a distributed application having a client and a server, comprising:
-
intercepting a call between the client and the server in order to collect information about objects accessed on the server during the call;
prefetching data from an object on the server based on collected information;
placing data into a client cache;
synchronizing marked calls with the server; and
synchronizing the client cache with the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11, 12)
-
-
10. The automatic caching method of claim 9, wherein invoking the method of the object comprises synchronizing data stored in the proxy with data in the object.
-
13. An automatic caching method for a distributed application having a client and a server, comprising:
-
intercepting a call between the client and the server in order to collect information about objects accessed on the server during the call;
prefetching data from an object on the server based on collected information;
placing data into a client cache;
synchronizing marked calls with the server;
synchronizing the client cache with the server;
invalidating the client cache at the end of an activity;
storing data in a proxy for the object that is locally accessible to the client; and
invoking a method of the object in response to a request received by the proxy to invoke the method of the object.
-
-
14. An automatic caching method for an existing distributed application having a client and a server, comprising:
-
interposing a runtime between the client and the server which intercepts a call between the client and the server, the runtime having a capability to create a proxy for an object on the server;
collecting information about the object accessed by the client during an activity;
prefetching data from the object based on collected information; and
storing data in the proxy for the object that is locally accessible to the client. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. An automatic caching system for a distributed application having a client and a server, comprising:
-
a client runtime interposed between the client and the server, the client runtime having a capability to intercept a call between the client and the server in order to insert a service for collecting information about objects accessed on the server during the call;
means for prefetching data from the objects on the server based on collected information; and
means for storing data fetched from the objects on the server in a memory locally accessible to the client. - View Dependent Claims (22, 23, 24)
-
-
25. A computer-readable medium having recorded thereon instructions executable by a processor, the instructions for:
-
intercepting a call between a client and a server;
collecting information about an object accessed on the server during an activity;
prefetching data from the object based on collected information; and
storing data in a proxy for the object that is locally accessible to the client. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A computer-readable medium having recorded thereon instructions executable by a processor, the instructions for:
-
intercepting a call between a client and a server;
collecting information about an object accessed on the server during an activity;
prefetching data from the object based on collected information;
storing data in a proxy for the object that is locally accessible to the client;
creating the proxy from a proxy class;
obtaining a reference to the object and storing the reference in the proxy;
sending a request to the server to invoke a method of the object;
interposing the proxy for the object such that the client accesses the proxy instead of the object; and
synchronizing data stored in the proxy with data in the object.
-
-
32. An apparatus for a distributed application having a client and a server, comprising:
-
means for intercepting a call between the client and the server in order to collect information about objects accessed on the server during the call;
means for prefetching data from an object on the server based on collected information;
means for placing data into a client cache;
means for synchronizing marked calls with the server; and
means for synchronizing the client cache with the server.
-
Specification