System and method for efficiently replicating a file
First Claim
1. A method of distributing a file F from a first node to a plurality of recipient nodes, the method comprising:
- logically organizing a plurality of recipient nodes to which a file F is to be distributed into a plurality of groups of recipient nodes, wherein each group comprises a plurality of said recipient nodes;
partitioning said file F into a plurality of subfiles;
performing distribution of said file F to said plurality of groups of recipient nodes using a distribution technique that comprises(a) an origin node attempting to establish concurrent communication connections with recipient nodes of a first group and communicate the plurality of subfiles to the recipient nodes of the first group, wherein the origin node attempts to communicate at least one subfile to each recipient node of said first group but not all of said plurality of subfiles to any recipient node of said first group,(b) said plurality of recipient nodes of said first group attempting to exchange their respective subfiles received from said origin node, and(c) attempting to distribute the plurality of subfiles from at least one node of said first group to recipient nodes of a second group;
detecting a failed node; and
said distribution technique adapting to distribute said file F to each non-failed node of said plurality of recipient nodes to which said file F is to be distributed.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of distributing a file from a first node to a plurality of recipient nodes comprises logically organizing a plurality of recipient nodes to which a file is to be distributed into a plurality of groups of recipient nodes. The file is partitioned into a plurality of subfiles. The file is distributed to a plurality of recipient nodes using a distribution technique comprising (a) an origin node attempting to communicate the plurality of subfiles to recipient nodes of the first group, (b) the plurality of recipient nodes of the first group attempting to exchange their respective subfiles received from the origin node, and (c) attempting to distribute the plurality of subfiles from at least one node of the first group to recipient nodes of a second group. The method further comprises detecting a failed node, and the distribution technique adapting to distribute the file to each non-failed node.
-
Citations
34 Claims
-
1. A method of distributing a file F from a first node to a plurality of recipient nodes, the method comprising:
-
logically organizing a plurality of recipient nodes to which a file F is to be distributed into a plurality of groups of recipient nodes, wherein each group comprises a plurality of said recipient nodes; partitioning said file F into a plurality of subfiles; performing distribution of said file F to said plurality of groups of recipient nodes using a distribution technique that comprises (a) an origin node attempting to establish concurrent communication connections with recipient nodes of a first group and communicate the plurality of subfiles to the recipient nodes of the first group, wherein the origin node attempts to communicate at least one subfile to each recipient node of said first group but not all of said plurality of subfiles to any recipient node of said first group, (b) said plurality of recipient nodes of said first group attempting to exchange their respective subfiles received from said origin node, and (c) attempting to distribute the plurality of subfiles from at least one node of said first group to recipient nodes of a second group; detecting a failed node; and said distribution technique adapting to distribute said file F to each non-failed node of said plurality of recipient nodes to which said file F is to be distributed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
means for logically organizing a plurality of recipient nodes to which a file F is to be distributed into a plurality of groups of recipient nodes, wherein each group comprises a plurality of said recipient nodes; means for partitioning said file F into a plurality of subfiles; means for performing distribution of said file F to said plurality of groups of recipient nodes using a distribution technique that comprises (a) an origin node attempting to establish concurrent communication connections with recipient nodes of a first group and communicate the plurality of subfiles to the recipient nodes of the first group, wherein the origin node attempts to communicate at least one subfile to each recipient node of said first group but not all of said plurality of subfiles to any recipient node of said first group, (b) said plurality of recipient nodes of said first group attempting to exchange their respective subfiles received from said origin node, and (c) attempting to distribute the plurality of subfiles from at least one node of said first group to recipient nodes of a second group; means for detecting a failed node; and said distribution technique adapting, responsive to said detecting means detecting a failed node, to distribute said file F to each non-failed node of said plurality of recipient nodes to which said file F is to be distributed. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system comprising:
-
an origin node that comprises a file F; a plurality of recipient nodes to which said file F is to be distributed; said origin node operable to logically organize said plurality of recipient nodes into a plurality of groups of recipient nodes, wherein each group comprises a plurality of said recipient nodes; said origin node operable to partition said file F into a plurality of subfiles; said origin node operable to attempt to establish concurrent communication connections with recipient nodes of a first group and communicate the plurality of subfiles to the recipient nodes of the first group, wherein the origin node attempts to communicate at least one subfile to each recipient node of said first group but not all of said plurality of subfiles to any recipient node of said first group; said plurality of recipient nodes of said first group operable to attempt to exchange their respective subfiles received from said origin node; at least one node of said first group operable to act as an origin node to attempt to distribute the plurality of subfiles to recipient nodes of a second group; said origin node operable to detect a failed node in said first group; and said origin node operable to manage distribution of said file F upon detecting a failed node in said first group in a manner such that every non-failed node of said first group receives said file F. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. A method of distributing a file F from a first node to a plurality of recipient nodes, the method comprising:
-
logically organizing a plurality of recipient nodes to which a file F is to be distributed into a plurality of groups of recipient nodes, wherein each group comprises a plurality of said recipient nodes; partitioning said file F into a plurality of subfiles; an origin node attempting to establish concurrent communication connections with recipient nodes of a first group and communicate the plurality of subfiles to the recipient nodes of the first group, wherein the origin node attempts to communicate at least one subfile to each recipient node of said first group but not all of said plurality of subfiles to any recipient node of said first group; wherein if said origin node detects a failed node in said first group such that it is unable to communicate a particular subfile to such failed node, then said origin node using the established concurrent communication connections with non-failed nodes of said first group to communicate the particular subfile to said non-failed nodes; said plurality of recipient nodes of said first group attempting to exchange their respective subfiles received from said origin node; wherein if a node in said first group is detected as failed before communicating its respective subfile received from said origin node to all of the other nodes of said first group, then said origin node establishing concurrent communication connections with the non-failed nodes of said first group and communicating the respective subfile of the failed node to each of the non-failed nodes of the first group; attempting to distribute the plurality of subfiles from at least one node of said first group to recipient nodes of a second group; wherein if said origin node detects said at least one node as failed when attempting to distribute the plurality of subfiles to said recipient nodes of said second group, then said origin node establishing concurrent communication connections with the nodes of said second group and communicating the plurality of subfiles to each of the nodes of said second group.
-
Specification