Patent ID: 9026559
Filing Date: 2015-05-05
Classification: G06F,H04L

Abstract:
1. A method implemented on a first data storage node for maintaining a data storage system, the method comprising: the first data storage node monitoring a plurality of data storage nodes that are included on a node list stored at the first data storage node, wherein the node list includes at least a second data storage node and a third data storage node that are members of a storage group that includes the first data storage node; the first data storage node detecting a condition that indicates that at least one file stored on the second data storage node may require replication, wherein the condition comprises one or more of an indication that the second data storage node is malfunctioning, a file inconsistency associated with a copy of the at least one file, a deletion of a copy of the at least one file, an unsuccessful write operation associated with the at least one file, detection of an obsolete copy of the at least one file, updating of the at least one file, or storage of the at least one file on less than a predetermined number of data storage nodes; the first data storage node performing a search of an internal directory to determine that the at least one file is also locally stored on the first data storage node, wherein a local host list stored on the first data storage node is associated with the at least one file, and the local host list indicates that the at least one file is also stored on the second data storage node; the first data storage node updating a replication list to include the at least one file based on detecting the condition, wherein the replication list comprises the at least one file and at least a second file, each file included on the replication list is associated with a replication priority level, the replication priority level for files included on the replication list is assigned based on the type of condition that triggered the addition of the file to the replication list, and the replication priority levels are used to indicate relative replication priorities between files included on the replication list; and the first data storage node initiating a data replication procedure based on the replication list in accordance with the assigned replication priority levels, wherein the data replication procedure comprises: