Systems and methods for replicating data
First Claim
1. A method for distributing chunks of data in a system that includes a plurality of servers that store replicas of the chunks, the method comprising:
- determining, by a device, a total number of replicas, of each chunk, stored in the system;
identifying, by the device, chunks that are associated with a total number of replicas, of the determined total number of replicas, below a threshold;
assigning, by the device, priorities to the identified chunks; and
replicating, by the device, the identified chunks in an order that is based substantially on the assigned priorities.
4 Assignments
0 Petitions
Accused Products
Abstract
A system that facilitates the distribution and redistribution of chunks of data among multiple servers, may identify servers to store replicas of the chunks based on at least one of utilization, prior data distribution, and failure correlation properties, and place the replicas at the identified servers. The system may monitor total numbers of replicas available in the system, identify chunks that have a total number of replicas below one or more thresholds, assign priorities to the identified chunks, and re-replicate the identified chunks based on the assigned priorities. The system may monitor utilization of the servers, select one or more of the replicas to redistribute based on the utilization of the servers, select one or more of the servers to which to move the one or more replicas, and move the one or more replicas to the selected one or more servers.
107 Citations
20 Claims
-
1. A method for distributing chunks of data in a system that includes a plurality of servers that store replicas of the chunks, the method comprising:
-
determining, by a device, a total number of replicas, of each chunk, stored in the system; identifying, by the device, chunks that are associated with a total number of replicas, of the determined total number of replicas, below a threshold; assigning, by the device, priorities to the identified chunks; and replicating, by the device, the identified chunks in an order that is based substantially on the assigned priorities. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium storing instructions, the instructions comprising:
-
one or more instructions which, when executed by one or more processors, cause the one or more processors to monitor a plurality of devices storing replicas of portions of data files; one or more instructions which, when executed by the one or more processors, cause the one or more processors to identify, based on the monitoring, one or more of the portions of the data files that comprise a total number of replicas below a threshold number of replicas; one or more instructions which, when executed by the one or more processors, cause the one or more processors to assign priorities to the identified one or more of the portions of the data files; and one or more instructions which, when executed by the one or more processors, cause the one or more processors to replicate the identified one or more of the portions of the data files in an order based on the assigned priorities. - View Dependent Claims (9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20)
-
-
15. A device comprising:
-
a memory storing instructions; and one or more processors to execute the instructions to; monitor a plurality of devices storing replicas of portions of data files, identify, based on monitoring the plurality of devices, one or more of the portions of the data files that are associated a total number of replicas below a threshold number of replicas, assign priorities to the identified one or more of the portions of the data files, and replicate the identified one or more of the portions of the data files in an order based on the assigned priorities.
-
Specification