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.