Method and apparatus for cache coordination for multiple address spaces
First Claim
1. A method in a data processing system for coordinating caches for a plurality of web application server address spaces comprising:
- receiving a request for a page at a web application server address space within the plurality of web application server address spaces;
responsive to an absence of information for the page being located in a cache within the web application server address space, sending a request to a coordinating address space for the information; and
responsive to an absence of the information being located in the coordinating address space, accessing a storage device associated with the data processing system for the information and sending the information to the coordinating address space.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus in a data processing system for coordinating caches for a plurality of web application server address spaces. These address spaces may be, for example, located in a Java virtual machine. A request for a page is received at a web application server address space within the plurality of web application server address spaces. Responsive to an absence of information for the page being located in a cache within the web application server address space, a request is sent to a coordinating address space for the information. Responsive to an absence of the information being located in the coordinating address space, a storage device associated with the data processing system is accessed for the information. This information is returned to the coordinating address space for use in processing requests for this information from other web application server address spaces within the plurality of web application server address spaces.
-
Citations
30 Claims
-
1. A method in a data processing system for coordinating caches for a plurality of web application server address spaces comprising:
-
receiving a request for a page at a web application server address space within the plurality of web application server address spaces;
responsive to an absence of information for the page being located in a cache within the web application server address space, sending a request to a coordinating address space for the information; and
responsive to an absence of the information being located in the coordinating address space, accessing a storage device associated with the data processing system for the information and sending the information to the coordinating address space. - View Dependent Claims (2, 3, 4, 5, 6, 7)
generating the page using the information; and
returning the page to the requester.
-
-
3. The method of claim 1, wherein the application server address spaces and coordinating address space are located in a Java virtual machine.
-
4. The method of claim 1, wherein the plurality of web application server address spaces are located on a single data processing system.
-
5. The method of claim 1 further comprising:
storing the information sent to the coordinating address space, wherein the information is present for subsequent requests.
-
6. The method of claim 1, wherein the coordinating address space includes a local cache.
-
7. The method of claim 6, wherein information obtained by each of a plurality of web application server address spaces is stored within the local cache.
-
8. A method in a data processing system for coordinating data in a plurality of application server address spaces, the method comprising the data processing system implemented steps of:
-
receiving, at a coordinating address space, a request for data from a requesting application server address space;
responsive to a presence of the data, returning the data to the requesting application server address space;
responsive to an absence of the data, sending a call to the requesting application server address space to generate the data and waiting for the requesting application server address space to return the data; and
responsive to receiving an additional request from another requesting application server address space while waiting for the requesting application server address space to return the data, putting the additional request on hold until the data is returned. - View Dependent Claims (9, 10, 11, 12, 13)
responsive to receiving the data from the requesting application server address space, storing the data in a cache in the coordinating address space.
-
-
10. The method of claim 8 further comprising:
- responsive to receiving the data from the requesting application server address space, sending the data to the another requesting application server address space.
-
11. The method of claim 8, wherein the data is a fragment and further comprising:
-
receiving, from the application server address space, an identification of a group of invalidated fragments in the application server address space;
responsive to the receiving the identification, determining whether any of the group of invalidated fragments are present in the coordinating address space;
returning an identification of invalidated fragments absent from the coordinating address space to the application server address space, wherein the application server address space generates the invalidated fragments absent from the coordinating address space.
-
-
12. The method of claim 8, wherein the plurality of application server address spaces and the coordinating address space are located on a single data processing system.
-
13. The method of claim 8, wherein the plurality of application server address spaces and the coordinating address space are located on a plurality of data processing systems.
-
14. A data processing system comprising:
-
a plurality of web application server address spaces, wherein each of the plurality of web application server address spaces includes;
a rendering engine, wherein the rendering engine receives and responds to requests for a page, wherein the page includes a plurality of fragments, wherein each of the plurality of fragments are stored independently of other fragments within an internal cache; and
an interface to a cache coordinator; and
,a coordinating address space, wherein the coordinating address space includes;
a first interface to the internal caches in the plurality of web application server address spaces;
a second interface to an external cache group;
a central internal cache; and
a cache coordinator, wherein the cache coordinator controls data in the internal cache in each of the plurality of web application server address spaces, the central internal cache in the coordinating address space, and the external cache group. - View Dependent Claims (15)
responsive to the fragment being absent from the internal cache, sending a request for the fragment to the cache coordinator in the coordinating address space.
-
-
16. A data processing system for coordinating caches for a plurality of web application server address spaces comprising:
-
receiving means for receiving a request for a page at a web application server address space within the plurality of web application server address spaces;
sending means, responsive to an absence of information for the page being located in a cache within the web application server address space, for sending a request to a coordinating address space for the information; and
accessing means, responsive to an absence of the information being located in the coordinating address space, for accessing a storage device associated with the data processing system for the information and sending the information to the coordinating address space. - View Dependent Claims (17, 18, 19, 20, 21, 22)
generating means for generating the page using the information; and
returning means for returning the page to the requester.
-
-
18. The data processing system of claim 16, wherein the plurality of web application server address spaces and the coordinating address space are located in a Java virtual machine.
-
19. The data processing system of claim 16, wherein the plurality of web application server address spaces are located on a single data processing system.
-
20. The data processing system of claim 16 further comprising:
storing means for storing the information sent to the coordinating address space, wherein the information is present for subsequent requests.
-
21. The data processing system of claim 16, wherein the coordinating address space includes a local cache.
-
22. The data processing system of claim 21, wherein information obtained by each of a plurality of web application server address spaces is stored within the local cache.
-
23. A data processing system for coordinating data in a plurality of application server address spaces, the data processing system comprising:
-
receiving means for receiving, at a coordinating address space, a request for data from a requesting application server address space;
returning means, responsive to a presence of the data, for returning the data to the requesting application server address space;
sending means, responsive to an absence of the data, for sending a call to the requesting application server address space to generate the data and waiting for the requesting application server address space to return the data; and
putting means, responsive to receiving an additional request from another requesting application server address space while waiting for the requesting application server address space to return the data, for putting the additional request on hold until the data is returned. - View Dependent Claims (24, 25, 26, 27, 28)
storing means, responsive to receiving the data from the requesting application server address space, for storing the data in a cache in the coordinating address space.
-
-
25. The data processing system of claim 23 further comprising:
sending means, responsive to receiving the data from the requesting application server address space, for sending the data to the another requesting application server address space.
-
26. The data processing system of claim 23, wherein the data is a fragment and further comprising:
-
receiving means for receiving, from the application server address space, an identification of a group of invalidated fragments in the application server address space;
determining means, responsive to the receiving the identification, for determining whether any of the group of invalidated fragments are present in the coordinating address space;
returning means for returning an identification of invalidated fragments absent from the coordinating address space to the application server address space, wherein the application server address space generates the invalidated fragments absent from the coordinating address space.
-
-
27. The data processing system of claim 23, wherein the plurality of application server address spaces and the coordinating address space are located on a single data processing system.
-
28. The data processing system of claim 23, wherein the plurality of application server address spaces and the coordinating address space are located on a plurality of data processing systems.
-
29. A computer program product in a computer readable medium for coordinating caches for a plurality of web application server address spaces comprising:
-
first instructions for receiving a request for a page at a web application server address space within the plurality of web application server address spaces;
second instructions, responsive to an absence of information for the page being located in a cache within the web application server address space, for sending a request to a coordinating address space for the information; and
third instructions, responsive to an absence of the information being located in the coordinating address space, for accessing a storage device associated with the data processing system for the information and sending the information to the coordinating address space.
-
-
30. A computer program product in a computer readable medium for coordinating data in a plurality of web application server address spaces, the computer program product comprising:
-
first instructions for receiving, at a coordinating address space, a request for data from a requesting application server address space;
second instructions, responsive to a presence of the data, for returning the data to the requesting application server address space;
third instructions, responsive to an absence of the data, for sending a call to the requesting application server address space to generate the data and waiting for the requesting application server address space to return the data; and
fourth instructions, responsive to receiving an additional request from another requesting application server address space while waiting for the requesting application server address space to return the data, for putting the additional request on hold until the data is returned.
-
Specification