Network with distributed shared memory
First Claim
1. A computer network with distributed shared random access memory (RAM), comprising:
- a clustered memory cache aggregated from and comprised of physical memory locations on RAM chips of a plurality of physically distinct computing systems, the plurality of physically distinct computing systems each including a processor and a memory and operatively coupled via the computer network;
a plurality of local cache managers each executed by the processor and the memory of one of the plurality of physically distinct computing systems, each of the local cache managers being local to and associated with a portion of the clustered memory cache;
a metadata service, executed by a processor and a memory of a first computing system, and operatively coupled with each of the local cache managers via a network and including a metadata store that stores, for each of the portions of the clustered memory cache, a hash of a path to the portion of the clustered memory cache indicating which of the plurality of local cache managers manages that portion of the clustered memory cache;
a plurality of clients operatively coupled with the metadata service and the local cache managers; and
a configuration manager, executed by a processor and a memory of a second computing system, and operatively coupled to the plurality of clients, the configuration manager configured to register each of the clients with the metadata service,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 send a response to the client with an identification of the local cache manager associated with the portion of the clustered memory cache containing such data item based on the hash of the path to the portion of the clustered memory cache in the metadata store, the identification of the local cache manager being different from an identification of the metadata service.
17 Assignments
0 Petitions
Accused Products
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.
-
Citations
31 Claims
-
1. A computer network with distributed shared random access memory (RAM), comprising:
-
a clustered memory cache aggregated from and comprised of physical memory locations on RAM chips of a plurality of physically distinct computing systems, the plurality of physically distinct computing systems each including a processor and a memory and operatively coupled via the computer network; a plurality of local cache managers each executed by the processor and the memory of one of the plurality of physically distinct computing systems, each of the local cache managers being local to and associated with a portion of the clustered memory cache; a metadata service, executed by a processor and a memory of a first computing system, and operatively coupled with each of the local cache managers via a network and including a metadata store that stores, for each of the portions of the clustered memory cache, a hash of a path to the portion of the clustered memory cache indicating which of the plurality of local cache managers manages that portion of the clustered memory cache; a plurality of clients operatively coupled with the metadata service and the local cache managers; and a configuration manager, executed by a processor and a memory of a second computing system, and operatively coupled to the plurality of clients, the configuration manager configured to register each of the clients with the metadata service, 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 send a response to the client with an identification of the local cache manager associated with the portion of the clustered memory cache containing such data item based on the hash of the path to the portion of the clustered memory cache in the metadata store, the identification of the local cache manager being different from an identification of the metadata service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of operating a networked random access memory (RAM) resource, comprising:
-
running a local memory manager on a processor and a memory of each of a plurality of physically distinct computing systems operatively coupled with each other via network infrastructure; instantiating a metadata service on a processor and a memory of a first computing system operatively coupled with each of the local memory managers via the network infrastructure; registering each of a plurality of clients with the metadata service using a configuration manager, the configuration manager instantiated on a processor and a memory of a second computing system; conducting communications between the local memory managers and the metadata service to provide the metadata service with information about physical RAM locations disposed on each of the plurality of physically distinct computing systems; storing, at a metadata service data store included in the metadata service, the information as a plurality of tags, each of the plurality of tags including a hash of a path of a data item resident in the physical RAM location associated with that tag, each tag being associated with one of the physical RAM locations; for each of the plurality of tags, storing, at the metadata service data store, memory management information including an indication of which of the local memory managers is associated with that tag; and employing the metadata service as a directory service to facilitate aggregation of and addressing of the physical RAM locations of each of the plurality of physically distinct computing systems, such that the physical RAM locations are collectively usable by the plurality of clients as an undifferentiated memory resource. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A networked computer system with a networked random access memory (RAM) resource, comprising:
-
a plurality of local memory managers, each of which is configured to run on a processor and a memory of a different one of a plurality of physically distinct computing systems operatively coupled with each other via network infrastructure;
a metadata service, executed by a processor and a memory of a first computing system, operatively coupled with each of the local memory managers via the network infrastructure; anda configuration manager, executed by a processor and a memory of a second computing system, and operatively coupled to the metadata service, where the configuration manager is configured to register each of a plurality of clients with the metadata service, where the metadata service and the local memory managers are configured to communicate with each other to provide the metadata service with a plurality of hashes of paths to physical RAM locations disposed on each of the plurality of physically distinct computing systems, the metadata service including a metadata service data store that stores the plurality of hashes of paths to physical RAM locations as a plurality of tags and memory management information including an indication of which of the local memory managers is associated with each of the plurality of tags, each tag being associated with one of the physical RAM locations; and where the metadata service is configured to provide a directory service to facilitate aggregation of and addressing of the physical RAM locations of each of the plurality of physically distinct computing systems, such that the physical RAM locations are collectively usable by the plurality of clients as an undifferentiated memory resource. - View Dependent Claims (27, 28, 29, 30, 31)
-
Specification