System and method for proactive caching employing graphical usage description
DCFirst Claim
1. A system, comprising:
- a graphical usage description of a plurality of states of an application;
a request handler, which retrieves data based on a request and produces an indication of a current state of a user based on the request;
an application state controller, which determines a next state based on the current state and the graphical usage description; and
a data generator, which caches data based on the current state and the next state.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A request handler in a server handles requests from a client as a user navigates through an application having a plurality of states. A data generator is coupled to the request handler. A cache is coupled to the data generator. The data generator processes the requests received by the request handler and based, at least in part, on the requests, stores data in the cache. An application state controller is coupled to the request handler, and a preprocessor is coupled to the application state controller. The requests handled by the request handler indicate the current state of the application in which the requesting user is located, and such an indication is forwarded to the application state controller. The application state controller reads the graphical usage description, which graphically illustrates the flow of the application from state to state and determines a likely next state based on the current state. The application state controller produces a control signal based on the indication of the current state of the user and the likely next state. The preprocessor generates a preprocess signal based on the control signal. Responsive to the preprocess signal, the data generator caches the data that are likely to be needed as the user navigates through the states of the application.
-
Citations
28 Claims
-
1. A system, comprising:
-
a graphical usage description of a plurality of states of an application;
a request handler, which retrieves data based on a request and produces an indication of a current state of a user based on the request;
an application state controller, which determines a next state based on the current state and the graphical usage description; and
a data generator, which caches data based on the current state and the next state. - View Dependent Claims (2, 3, 4, 5, 6)
a user of the application is located in one of the plurality of states.
-
-
3. The system of claim 2, wherein:
the application state controller determines the next state before the user accesses the next state.
-
4. The system of claim 1, wherein:
the application state controller reads the graphical usage description to determine the next state.
-
5. The system of claim 1, wherein:
the request handler notifies the application state controller when the current state changes.
-
6. The system of claim 1, wherein:
the data generator retrieves data based on the request.
-
7. A method, comprising:
-
receiving a request for data;
producing a current state based on the request;
determining a next state based on the current state;
caching data based on the current state and the next state; and
associating the request with a user of an application having a plurality of states, wherein the user is located in one of the plurality of states. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
the data generator retrieves data based on the request.
-
-
9. The method of claim 7, further comprising:
determining the next state before the user accesses the next state.
-
10. The method of claim 9, further comprising:
reading a graphical usage description to determine the next state.
-
11. The method of claim 7, further comprising:
retrieving data based on the request.
-
12. The method of claim 7, further comprising:
associating the request with a user of the one client of an application having a plurality of states, wherein the client is located in one of the plurality of states.
-
13. The method of claim 12, further comprising:
the application state controller determines the next state before the client accesses the next state.
-
14. The method of claim 13, further comprising:
the application state controller reads the graphical usage description to determine the next state.
-
15. The method of claim 12, further comprising:
the request handler produces a notification when the current state changes.
-
16. A method comprising:
-
receiving a request for data;
producing a current state based on the request;
determining a next state based on the current state;
caching data based on the current state and the next state; and
producing a notification when the current state changes.
-
-
17. A computer readable medium having stored thereon instructions which, when executed by a processor, cause the processor to perform a method, said method comprising:
-
receiving a request for data;
producing a current state based on the request;
determining a next state based on the current state;
caching data based on the current state and the next state; and
associating the request with a user of an application having a plurality of states, wherein the user is located in one of the plurality of states. - View Dependent Claims (18, 19, 20)
determining the next state before the user accesses the next state.
-
-
19. The computer readable medium of claim 17, said method further comprising:
reading a graphical usage description to determine the next state.
-
20. The computer readable medium of claim 17, said method further comprising:
retrieving data based on the request.
-
21. A computer readable medium comprising:
-
receiving a request for data;
producing a current state based on the request;
determining a next state based on the current state;
caching data based on the current state and the next state; and
producing a notification when the current state changes.
-
-
22. A system comprising:
-
a plurality of processors which are coupled together including a server and at least one client which navigates through data states stored by the server; and
whereinthe server comprises a cache for storing the data states, a data generator, which retrieves and stores the data states from the cache based on a current data state of one of the at least one client and a next data state of the one client, a request handler, which retrieves the stored data states from the data generator based on a request from the one client and produces an indication of the current data state of the one client based on the request and an application state controller, coupled to the request handler, which determines the next data state of the one client based on the current data state and a graphical usage description of how the one client will likely navigate through a plurality of data states of an application in the future. - View Dependent Claims (23, 24, 25, 26, 27)
a user of the application is located in one of the plurality of states.
-
-
24. The system of claim 23, wherein:
the application state controller determines the next state before the user accesses the next state.
-
25. The system of claim 24, wherein:
the application state controller reads the graphical usage description to determine the next state.
-
26. The system of claim 22, wherein:
the request handler notifies the application state controller when the current state changes.
-
27. The system of claim 22, wherein:
the data generator retrieves data based on the request.
-
28. A method of retrieving data in a system including a plurality of processors which are coupled together including a server and at least one client which navigates through data states stored by the server including a cache, a data generator, a request handler and an application state controller coupled to the request handler comprising the steps:
-
storing the data states in the cache;
the data generator retrieves and stores the data states from the cache based on a current data state of one of the at least one client and a next data state of the one client;
the request handler retrieves the stored data states from the data generator based on a request from the one client and produces an indication of the current data state of the one client based on the request; and
the application state controller determines the next data state of the one client based on the current data state and a graphical usage description of how the one client will likely navigate through a plurality of data states of an application in the future.
-
Specification