Data gravitation
First Claim
Patent Images
1. A computer-implemented method comprising:
- determining, by a first cache node in a tree-structured cluster of cache nodes, that a second cache node in the tree-structured cluster of cache nodes has failed, wherein the first cache node is a backup cache node for the second cache node and stores data of the second cache node as backup data;
taking ownership, by the first cache node, of the data of the second cache node by treating the second cache node data as primary data of the first cache node, wherein a backup cache node for the first cache node stores the second cache node data as backup data for the first cache node in addition to backup data already stored for the first cache node at the backup cache node for the first cache node;
receiving, by the first cache node, a query for the second cache node data from a third cache node in the tree-structured cluster of cache nodes;
replicating, by the first cache node, an instance of the queried second cache node data to the third cache node; and
removing, by the first cache node, the instance of the queried data from the primary data of the first cache node in response to an instruction to delete the instance of the queried data, wherein the third cache node acts as primary owner of the instance of the queried data once it is replicated to the third cache node;
wherein a memory usage for each node in the tree-structured cluster of cache nodes is (b+1)X, where X is the average data size for each node and b is the number of buddies per node.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for obtaining data of a cache node in a tree-structured cluster is described. In one embodiment, a query for data in the cache node of the tree-structured cluster is received. A determination of whether the data is stored in the queried cache node is made. An inquiry of other cache nodes in the cluster for the data is performed. An instance of the data from a cache node storing the data is replicated to the cache node receiving the query.
23 Citations
24 Claims
-
1. A computer-implemented method comprising:
-
determining, by a first cache node in a tree-structured cluster of cache nodes, that a second cache node in the tree-structured cluster of cache nodes has failed, wherein the first cache node is a backup cache node for the second cache node and stores data of the second cache node as backup data; taking ownership, by the first cache node, of the data of the second cache node by treating the second cache node data as primary data of the first cache node, wherein a backup cache node for the first cache node stores the second cache node data as backup data for the first cache node in addition to backup data already stored for the first cache node at the backup cache node for the first cache node; receiving, by the first cache node, a query for the second cache node data from a third cache node in the tree-structured cluster of cache nodes; replicating, by the first cache node, an instance of the queried second cache node data to the third cache node; and removing, by the first cache node, the instance of the queried data from the primary data of the first cache node in response to an instruction to delete the instance of the queried data, wherein the third cache node acts as primary owner of the instance of the queried data once it is replicated to the third cache node; wherein a memory usage for each node in the tree-structured cluster of cache nodes is (b+1)X, where X is the average data size for each node and b is the number of buddies per node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
a memory configured to store primary data for a first cache node of a tree-structured cluster of cache nodes and backup data for a second cache node of the tree-structured cluster of cache nodes; and a processing device coupled to the memory, the processing device configured to; determine that the second cache node has failed; take ownership of the data of the second cache node by treating the second cache node data as primary data of the first cache node, wherein a backup cache node for the first cache node stores the second cache node data as backup data for the first cache node in addition to backup data already stored for the first cache node at the backup cache node for the first cache node; receive a query for the second cache node data from a third cache node in the tree-structured cluster of cache nodes; replicate an instance of the queried second cache node data to the third cache node; and remove the instance of the queried data from the primary data of the first cache node in response to an instruction to delete the instance of the queried data, wherein the third cache node acts as primary owner of the instance of the queried data once it is replicated to the third cache node; wherein a memory usage for each node in the tree-structured cluster of cache nodes is (b+1)X, where X is the average data size for each node and b is the number of buddies per node. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium, having instructions stored therein, which when executed, cause a computer system to perform a method comprising:
-
determining, by a first cache node in a tree-structured cluster of cache nodes, that a second cache node in the tree-structured cluster of cache nodes has failed, wherein the first cache node is a backup cache node for the second cache node and stores data of the second cache node as backup data; taking ownership, by the first cache node, of the data of the second cache node by treating the second cache node data as primary data of the first cache node, wherein a backup cache node for the first cache node stores the second cache node data as backup data for the first cache node in addition to backup data already stored for the first cache node at the backup cache node for the first cache node; receiving, by the first cache node, a query for the second cache node data from a third cache node in the tree-structured cluster of cache nodes; replicating, by the first cache node, an instance of the queried second cache node data to the third cache node; and removing, by the first cache node, the instance of the queried data from the primary data of the first cache node in response to an instruction to delete the instance of the queried data, wherein the third cache node acts as primary owner of the instance of the queried data once it is replicated to the third cache node; wherein a memory usage for each node in the tree-structured cluster of cache nodes is (b+1)X, where X is the average data size for each node and b is the number of buddies per node. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification