Peer-to-peer redundant file server system and methods
First Claim
1. A method for maintaining peer set nodes of a computer file storage system, a peer set comprising a plurality of storage nodes that are each implemented on different storage servers of the computer file storage system, the method comprising:
- identifying, with a microprocessor of the computer file storage system, a plurality of waiting nodes associated with a current peer set via producing, at a root node, an updated list of the current peer set nodes, wherein at least a portion of file data content stored by the peer set is to be synchronized across two or more storage nodes of the peer set; and
establishing, with the microprocessor of the computer file storage system, a hierarchy and role distribution among the identified waiting nodes via conducting a dialog among the identified plurality of waiting nodes, the dialog comprising;
transmitting merge messages from the root node to each of the plurality of waiting nodes of the current peer set, wherein the merge messages contain descriptors of waiting nodes associated with the current peer set, and wherein each of the plurality of waiting nodes is configured to, in response to receiving the merge message from the root, pass the received merge message to at least a portion of the remaining waiting nodes of the current peer set, andtransmitting invitations from each of the plurality of waiting nodes to each of the other waiting nodes of the current peer set, each invitation triggering a receiving waiting node to respond by sending an acknowledgment to a corresponding sending waiting node.
4 Assignments
0 Petitions
Accused Products
Abstract
Peer-to-peer redundant file server system and methods include clients that determine a target storage provider to contact for a particular storage transaction based on a pathname provided by the filesystem and a predetermined scheme such as a hash function applied to a portion of the pathname. Servers use the same scheme to determine where to store relevant file information so that the clients can locate the file information. The target storage provider may store the file itself and/or may store metadata that identifies one or more other storage providers where the file is stored. A file may be replicated in multiple storage providers, and the metadata may include a list of storage providers from which the clients can select (e.g., randomly) in order to access the file.
27 Citations
6 Claims
-
1. A method for maintaining peer set nodes of a computer file storage system, a peer set comprising a plurality of storage nodes that are each implemented on different storage servers of the computer file storage system, the method comprising:
-
identifying, with a microprocessor of the computer file storage system, a plurality of waiting nodes associated with a current peer set via producing, at a root node, an updated list of the current peer set nodes, wherein at least a portion of file data content stored by the peer set is to be synchronized across two or more storage nodes of the peer set; and establishing, with the microprocessor of the computer file storage system, a hierarchy and role distribution among the identified waiting nodes via conducting a dialog among the identified plurality of waiting nodes, the dialog comprising; transmitting merge messages from the root node to each of the plurality of waiting nodes of the current peer set, wherein the merge messages contain descriptors of waiting nodes associated with the current peer set, and wherein each of the plurality of waiting nodes is configured to, in response to receiving the merge message from the root, pass the received merge message to at least a portion of the remaining waiting nodes of the current peer set, and transmitting invitations from each of the plurality of waiting nodes to each of the other waiting nodes of the current peer set, each invitation triggering a receiving waiting node to respond by sending an acknowledgment to a corresponding sending waiting node. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer file storage system, comprising:
-
a plurality of storage servers each implementing one or more storage nodes; a peer set comprising a plurality of storage nodes that are each implemented on different storage servers of the computer file storage system, wherein at least a portion of file data content stored by the peer set is to be synchronized across two or more storage nodes of the peer set; and a root node for maintaining peer set nodes of the computer file storage system, comprising one or more microprocessors, the root node being configured to; identify a plurality of waiting nodes associated with the current peer set via producing an updated list of the current peer set nodes; and establish a hierarchy and role distribution among the identified plurality of waiting nodes via a dialog conducted among the identified plurality of waiting nodes, wherein the dialog comprises; transmitting merge messages from the root node to each of the plurality of waiting nodes of the current peer set, wherein the merge messages contain descriptors of waiting nodes associated with the current peer set, and wherein each of the plurality of waiting nodes is configured to, in response to receiving the merge message from the root, pass the received merge message to at least a portion of the remaining waiting nodes of the current peer set, and transmitting invitations from each of the plurality of waiting nodes to each of the other waiting nodes of the current peer set, each invitation triggering a receiving waiting node to respond by sending an acknowledgment to a corresponding sending waiting node.
-
Specification