System and method for data redundancy within a cache
First Claim
Patent Images
1. A first computing device, comprising:
- a plurality of memory managers;
one or more memory devices;
a memory of at least one of the one or more memory devices comprising a cache, wherein the cache comprises a first cache portion and a second cache portion;
a configuration manager comprising a journal, wherein the configuration manager coordinates one or more startup events, wherein the one or more startup events comprises initialization of a client;
a first memory manager of the plurality of memory managers associated with the first cache portion, wherein at least a first memory manager of the plurality of memory managers determines the at least one of the one or more memory devices comprising the cache based on an entry in the journal, and wherein the first memory manager manages references to and access to one or more first cached data items of the first cache portion;
a second memory manager of the plurality of memory managers associated with the second cache portion, wherein the second memory manager manages references to and access to one or more second cached data items of the second cache portion;
a metadata service communicatively coupled to at least one of the plurality of memory managers, wherein the at least one of the plurality of memory managers comprises the first memory manager, wherein the metadata service comprises a locality policy, wherein the metadata service tracks one or more cache block references of the cache, wherein the metadata service identifies which of the plurality of memory managers is associated with a requested cached item, wherein the journal comprises information about the metadata service, wherein the information comprises one or more identifiers of one or more metadata servers that have been expelled from the cache;
a first request to access at least one first cached data item of the one or more first cached data items, wherein the first request is granted by the first memory manager, and wherein the first memory manager is identified by the metadata service;
a record maintained by the first memory manager, wherein the record comprises information that the client has a reference to the at least one first cached data item of the one or more first cached data items, wherein the information is indicative of a read lock by the client to a particular block of memory managed by the first memory manager;
a second request to insert a data item into the first cache portion, wherein the second request is granted by the first memory manager based, at least in part, on a cache insertion policy and an eviction policy applied by a policy engine of the metadata service, and wherein the first memory manager coordinates population of a respective memory block of the first cache portion with the data item; and
a metadata entry, wherein the memory comprises the metadata entry, and wherein the metadata entry comprises information associated with the memory, the replica store, the first cache portion, and the second cache portion.
14 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a computing system includes a cache and a cache manager. The cache manager is able to receive data, write the data to a first portion of the cache, write the data to a second portion of the cache, and delete the data from the second portion of the cache when the data in the first portion of the cache is flushed.
-
Citations
20 Claims
-
1. A first computing device, comprising:
-
a plurality of memory managers; one or more memory devices; a memory of at least one of the one or more memory devices comprising a cache, wherein the cache comprises a first cache portion and a second cache portion; a configuration manager comprising a journal, wherein the configuration manager coordinates one or more startup events, wherein the one or more startup events comprises initialization of a client; a first memory manager of the plurality of memory managers associated with the first cache portion, wherein at least a first memory manager of the plurality of memory managers determines the at least one of the one or more memory devices comprising the cache based on an entry in the journal, and wherein the first memory manager manages references to and access to one or more first cached data items of the first cache portion; a second memory manager of the plurality of memory managers associated with the second cache portion, wherein the second memory manager manages references to and access to one or more second cached data items of the second cache portion; a metadata service communicatively coupled to at least one of the plurality of memory managers, wherein the at least one of the plurality of memory managers comprises the first memory manager, wherein the metadata service comprises a locality policy, wherein the metadata service tracks one or more cache block references of the cache, wherein the metadata service identifies which of the plurality of memory managers is associated with a requested cached item, wherein the journal comprises information about the metadata service, wherein the information comprises one or more identifiers of one or more metadata servers that have been expelled from the cache; a first request to access at least one first cached data item of the one or more first cached data items, wherein the first request is granted by the first memory manager, and wherein the first memory manager is identified by the metadata service; a record maintained by the first memory manager, wherein the record comprises information that the client has a reference to the at least one first cached data item of the one or more first cached data items, wherein the information is indicative of a read lock by the client to a particular block of memory managed by the first memory manager; a second request to insert a data item into the first cache portion, wherein the second request is granted by the first memory manager based, at least in part, on a cache insertion policy and an eviction policy applied by a policy engine of the metadata service, and wherein the first memory manager coordinates population of a respective memory block of the first cache portion with the data item; and a metadata entry, wherein the memory comprises the metadata entry, and wherein the metadata entry comprises information associated with the memory, the replica store, the first cache portion, and the second cache portion. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more computer-readable non-transitory storage media embodying logic that is operable when executed to:
-
determine by a first memory manager of a plurality of memory managers if a memory of at least one of one or more memory devices is associated with a cache based on an entry in a journal of a configuration manager, wherein the configuration manager coordinates one or more startup events, wherein the one or more startup events comprises initialization of a client; manage the memory by the plurality of memory managers, wherein the memory comprises the cache; manage by the first memory manager of the plurality of memory managers a first cache portion of the cache of a first computing device, wherein the memory manager manages references to and access to one or more first cached data items of the first cache portion; manage by a second memory manager of the plurality of memory managers a second cache portion of the cache, wherein the second memory manager manages references to and access to one or more second cached data items of the second cache portion; communicatively couple a metadata service to at least one of the plurality of memory managers, wherein the metadata service comprises a locality policy; track, by the metadata service, one or more cache block references of the cache; receive a first request to access at least one first cached data item of the one or more first cached data items; identify by the metadata service which of the plurality of memory managers is associated with the at least one first cached data item of the one or more first cached data items of the first request, wherein the journal comprises information about the metadata service, wherein the information comprises one or more identifiers of one or more metadata servers that have been expelled from the cache; grant, by the first memory manager, the first request to access the at least one first cached data item of the one or more first cached data items, wherein the first memory manager is identified by the metadata service; maintain a record by the first memory manager of information that the client has a reference to the first cached data item of the one or more first cached data items, wherein the information is indicative of a read lock by the client to a particular block of memory managed by the first memory manager; receive, by the metadata service, a second request to insert a data item into the first cache portion; grant, by the first memory manager, the second request to insert the data item into the first cache portion, wherein the second request is granted by the first memory manager based, at least in part, on a cache insertion policy and an eviction policy applied by a policy engine of the metadata service, and wherein the first memory manager is identified by the metadata service; coordinate population, by the first memory manager, of a respective memory block of the first cache portion with the data item; logically copy the data item from the first cache portion to a replica store of data associated with the second cache portion; and create a metadata entry in the memory, wherein the metadata entry comprises information associated with the memory, the replica store, the first cache portion, and the second cache portion. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computing system, comprising:
-
one or more processors; and a memory coupled to the one or more processors comprising instructions executable by the one or more processors, the one or more processors being operable when executing the instructions to; determine by a first memory manager of a plurality of memory managers if a shared memory of at least one of one or more memory devices is associated with a cache based on an entry in a journal of a configuration manager, wherein the configuration manager coordinates one or more startup events, wherein the one or more startup events comprises initialization of a client; manage the shared memory by the plurality of memory managers, wherein the shared memory comprises the cache; manage by the first memory manager of the plurality of memory managers a first cache portion of the cache of a first computing device, wherein the first memory manager manages references to and access to one or more first cached data items of the first cache portion; manage by a second memory manager of the plurality of memory managers a second cache portion of the cache, wherein the second memory manager manages references to and access to one or more second cached data items of the second cache portion; communicatively couple a metadata service to at least one of the plurality of memory managers, wherein the metadata service comprises a locality policy, wherein the at least one of the plurality of memory managers comprises the first memory manager, wherein the journal comprises information about the metadata service, wherein the information comprises one or more identifiers of one or more metadata servers that have been expelled from the cache; track, by the metadata service, one or more cache block references of the cache; receive a first request to access at least one first cached data item of the one or more first cached data items; identify by the metadata service which of the plurality of memory managers is associated with the at least one first cached data item of the one or more first cached data items of the first request; grant, by the first memory manager, the first request to access the at least one first cached data item of the one or more first cached data items, wherein the first memory manager is identified by the metadata service; maintain a record by the first memory manager of information that the client has a reference to the first cached data item of the one or more first cached data items, wherein the information is indicative of a read lock by the client to a particular block of memory managed by the first memory manager; receive, by the metadata service, a second request to insert a data item into the first cache portion; grant, by the first memory manager, the second request to insert the data item into the first cache portion, wherein the second request is granted by the first memory manager based, at least in part, on a cache insertion policy applied by a policy engine of the metadata service, and wherein the first memory manager is identified by the metadata service; coordinate population, by the first memory manager, of a respective memory block of the first cache portion with the data item; logically copy the data item from the first cache portion to a replica store of data associated with the second cache portion; and create a metadata entry in the shared memory, wherein the metadata entry comprises information associated with the shared memory, the replica store, the first cache portion, and the second cache portion. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification