Network with distributed shared memory
Abstract
A computer network with distributed shared memory, including a clustered memory cache aggregated from and comprised of physical memory locations on a plurality of physically distinct computing systems. The network also includes a plurality of local cache managers, each of which are associated with a different portion of the clustered memory cache, and a metadata service operatively coupled with the local cache managers. Also, a plurality of clients are operatively coupled with the metadata service and the local cache managers. In response to a request issuing from any of the clients for a data item present in the clustered memory cache, the metadata service is configured to respond with identification of the local cache manager associated with the portion of the clustered memory cache containing such data item.
Claims
exact text as granted — not AI-modified1 . A computer network with distributed shared memory, comprising:
a clustered memory cache aggregated from and comprised of physical memory locations on a plurality of physically distinct computing systems; a plurality of local cache managers, each of the local cache managers being local to and associated with a different portion of the clustered memory cache; a metadata service operatively coupled with the local cache managers; and a plurality of clients operatively coupled with the metadata service and the local cache managers, where in response to a request issuing from any of the clients for a data item present in the clustered memory cache, the metadata service is configured to respond with identification of the local cache manager associated with the portion of the clustered memory cache containing such data item.
2 . The computer network of claim 1 , where at least some of the local cache managers are separated from the metadata service via network connections of the computer network.
3 . The computer network of claim 2 , where in response to a request issuing from any of the clients for a data item not present in the clustered memory cache, the metadata service is configured to select a location of the clustered memory cache for caching of such data item.
4 . The computer network of claim 2 , where in response to a request issuing from any of the clients for a data item not present in the clustered memory cache, the metadata service is configured to control whether or not an attempt will be made to cache such data item in the clustered memory cache.
5 . The computer network of claim 2 , where each of the local cache managers is configured to control granting of locks to clients requesting access to data items cached in the portion of the clustered memory cache associated with the local cache manager.
6 . The computer network of claim 2 , where the metadata service is configured to maintain a metadata store of metadata for the portions of the clustered memory cache, and where the metadata is updated in response to messaging received from the local cache managers.
7 . The computer network of claim 2 , where the metadata includes a status indicator for each of the portions of the clustered memory cache.
8 . The computer network of claim 2 , where the metadata includes information about cache locks granted to clients for the different portions of the clustered memory cache.
9 . The computer network of claim 2 , where the clustered memory cache is configured to permit caching of application-specific data.
10 . The computer network of claim 2 , where the clustered memory cache is configured to dynamically vary in size during operation.
11 . The computer network of claim 10 , further comprising a configuration manager operatively coupled with the metadata service, where the configuration manager is configured to register additional physical memory locations to be added to the clustered memory cache, and where the configuration manager is configured to engage in messaging with the metadata service regarding such additions, thereby permitting dynamic variation in size of the clustered memory cache.
12 . The computer network of claim 11 , where such additional physical memory locations are on additional physically distinct computing systems.
13 . The computer network of claim 2 , where the metadata service is configured to direct cache insertion requests and cache eviction requests to the local cache managers, the local cache managers being configured to selectively grant or deny such requests and perform the respective insertions and evictions when such requests are granted.
14 . The computer network of claim 2 , where the metadata service is configured to control a relocation of a cached data item from a first location in the clustered memory cache to a second location in the clustered memory cache
15 . The computer network of claim 2 , where each of the local cache managers is running on a different one of the physically distinct computing systems, and where the portion of the clustered memory cache associated with that local cache manager is comprised of physical memory locations on the same physically distinct computing system.
16 . The computer network of claim 2 , where the local cache managers are configured such that any access request by one of the clients for a data item in the clustered memory cache is negotiated between the client and the cache manager associated with the portion of the clustered memory cache containing the data item.
17 . A method of operating a networked memory resource, comprising:
running a local memory manager on each of a plurality of physically distinct computing systems operatively coupled with each other via network infrastructure; instantiating a metadata service operatively coupled with each the local memory managers via the network infrastructure; conducting communications between the local memory managers and the metadata service to provide the metadata service with information about physical memory locations disposed on each of the plurality of physically distinct computing systems; employing the metadata service as a directory service to facilitate aggregation of and addressing of the physical memory locations of each of the plurality of physically distinct computing systems, such that the physical memory locations are collectively usable by clients as an undifferentiated memory resource.
18 . The method of claim 17 , further comprising, in response to a client request for a data item, determining whether the data item is cached in the undifferentiated memory resource.
19 . The method of claim 18 , where determining whether the data item is cached in the undifferentiated memory resource includes querying the metadata service, and where if the data item is present in the undifferentiated memory resource, the metadata service is configured to respond with identification of a particular location within the undifferentiated memory resource from which the data item may be accessed.
20 . The method of claim 17 , further comprising, in response to a client request for a data item, determining whether to place a copy of the data item in the undifferentiated memory resource.
21 . The method of claim 20 , where determining whether to place a copy of the data item in the undifferentiated memory resource includes determining, at a source of the client request, whether the data item is eligible for caching in the undifferentiated memory resource.
22 . The method of claim 20 , where determining whether to place a copy of the data item in the undifferentiated memory resource includes determining, at the metadata service, whether the data item is eligible for caching in the undifferentiated memory resource.
23 . The method of claim 2 , further comprising, in response to a client request for a data item, determining a particular location in the undifferentiated memory resource to place a copy of the data item.
24 . The method of claim 23 , where determining the particular location in the undifferentiated memory resource to place a copy of the data item includes comparing the data path from a user of the data item to a first candidate location with the data path from the user of the data item to a second candidate location.
25 . The method of claim 23 , where determining the particular location in the undifferentiated memory resource to place a copy of the data item includes comparing the data path from an auxiliary store of the data item to a first candidate location with the data path from the auxiliary store of the data item to a second candidate location.
26 . A networked computer system with a networked memory resource, comprising:
a plurality of local memory managers, each of which is configured to run on a different one of a plurality of physically distinct computing systems operatively coupled with each other via network infrastructure; and a metadata service operatively coupled with each the local memory managers via the network infrastructure; where the metadata service and the local memory managers are configured to communicate with each other to provide the metadata service with information about physical memory locations disposed on each of the plurality of physically distinct computing systems, and where the metadata service is configured to provide a directory service to facilitate aggregation of and addressing of the physical memory locations of each of the plurality of physically distinct computing systems, such that the physical memory locations are collectively usable by clients as an undifferentiated memory resource.
27 . The system of claim 26 , where the metadata service is configured to respond to a client request for a data item by determining whether the data item is cached in the undifferentiated memory resource.
28 . The system of claim 27 , where the metadata service is configured to respond to the client request by indicating where the data item is cached in the undifferentiated memory resource.
29 . The system of claim 26 , where the metadata service is configured to respond to a client request for a data item by determining whether to place a copy of the data item in the undifferentiated memory resource.
30 . The system of claim 26 , where the metadata service is configured to control whether data items accessible from the networked computer system are to be cached in the undifferentiated memory resource.
31 . The system of claim 26 , where the metadata service is configured to respond to a client request for a data item by determining where to cache the data item in the undifferentiated memory resource.Join the waitlist — get patent alerts
Track US2009150511A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.