Caching information for multiple service applications
First Claim
Patent Images
1. A computer-implemented method for caching information for multiple service applications, comprising:
- receiving a command for a selected one of a plurality of services, wherein receiving a command comprises receiving a command from a client at one of a plurality of adapters, each adapter operable to communicate using a designated communication protocol;
forwarding the command to a data source corresponding to the selected service;
receiving data from the data source;
storing the data in a selected one of a plurality of namespaces in a cache, the selected namespace corresponding to the selected service, wherein determining that data responsive to the command is not stored in the cache;
invalidating the data in the selected namespace according to invalidation criteria provided by the selected service;
receiving a second command for the selected service in the cache from a second client at a second adapter;
determining that data responsive to the second command is stored in the selected namespace in the cache;
retrieving the data from the cache; and
providing the data to the second adapter.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for storing information includes receiving a command for a selected one of a plurality of services, and forwarding the command to a data source corresponding to the selected service. The method also includes, receiving data from the data source, and storing the data in a selected namespace in a cache corresponding to the selected service. The method further includes invalidating the data in the namespace according to invalidation criteria provided by the selected service.
96 Citations
17 Claims
-
1. A computer-implemented method for caching information for multiple service applications, comprising:
-
receiving a command for a selected one of a plurality of services, wherein receiving a command comprises receiving a command from a client at one of a plurality of adapters, each adapter operable to communicate using a designated communication protocol; forwarding the command to a data source corresponding to the selected service; receiving data from the data source; storing the data in a selected one of a plurality of namespaces in a cache, the selected namespace corresponding to the selected service, wherein determining that data responsive to the command is not stored in the cache;
invalidating the data in the selected namespace according to invalidation criteria provided by the selected service;receiving a second command for the selected service in the cache from a second client at a second adapter; determining that data responsive to the second command is stored in the selected namespace in the cache; retrieving the data from the cache; and providing the data to the second adapter. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for caching information for multiple service applications, comprising:
-
receiving a first command from a client at one of a plurality of adapters, each adapter operable to communicate with a corresponding client using a designated communication protocol, the first command comprising a request for data; forwarding the first command to a data source; receiving data from the data source; storing the data in a selected one of a plurality of namespaces in a cache in a normalized form and the selected namespace corresponds to a selected service, wherein each adapter is operable to convert the normalized form into the respective designated communication protocol for the adapter and the data in the selected namespace is invalidated according to invalidation criteria provided by the selected service; providing the stored data in the selected namespace in the cache to one of the adapters in response to a second command from any of the clients requesting the data; receiving a third command from one of the clients; providing the data to a second adapter in response to the third command from a second client; determining that the data is no longer a valid cache entry; and forwarding the third command to the data source. - View Dependent Claims (9, 10, 11)
-
-
12. A server for caching information for multiple service applications, comprising:
-
a processor for processing data; a service layer supporting a plurality of services, each service operable to access a corresponding data source in response to receiving a request for data; a cache operable to store data received in response to the request, the cache organized into a plurality of namespaces, each namespace corresponding to a service supported by the service layer, the cache operable to invalidate the data according to invalidation criteria provided by a service selected from the plurality of services; an adapter layer comprising a plurality of adapters, the adapter layer operable to provide data stored in the cache to one of a plurality of clients in response to the request for data; and a command dispatcher operable to; receive requests for data for a selected service from the adapter layer; determine whether the requested data is available in the namespace corresponding to the selected service in the cache; communicate the request to the selected service of the service layer; and retrieve the data from the selected namespace in the cache if the data is available in the cache; receive the retrieved data intended for a selected client; determine that one of the adapters corresponds to the selected client; and provide the retrieved data to the corresponding adapter. - View Dependent Claims (13, 14)
-
-
15. A computer readable storage medium embodying software for caching information for multiple service applications, the software when executed operable to perform the steps of:
-
receiving a command for a selected one of a plurality of services, wherein receiving a command comprises receiving a command from a client at one of a plurality of adapters, each adapter operable to communicate using a designated communication protocol; forwarding the command to a data source corresponding to the selected service; receiving data from the data source; storing the data in a selected one of a plurality of namespaces in a cache, the selected namespace corresponding to the selected service, wherein the data in the selected namespace is invalidated according to invalidation criteria provided by the selected service; receiving an additional command for the selected service; determining the selected service corresponds to the data in the selected namespace in the cache; determining that the data is valid; and providing the data to an adapter operable to convert the data into a form usable by a user interface. - View Dependent Claims (16)
-
-
17. A server including a cache for caching information for multiple service applications, comprising means for exchanging information with one or more clients, wherein the means for exchanging comprises:
-
a processor for processing data; means for receiving a command for a selected one of a plurality of services; means for forwarding the command to a data source corresponding to the selected service; means for receiving data from the data source; means for storing the data in a selected one of a plurality of namespaces in a cache, the selected namespace corresponding to the selected service, wherein the data in the selected namespace is invalidated according to invalidation criteria provided by the selected service; means for receiving an additional command for the selected service; means for determining the selected service corresponds to the data in the selected namespace in the cache; means for determining that the data is valid; and means for providing the data to an adapter operable to convert the data into a form usable by a user interface.
-
Specification