Patent ID: 8923313

Claim:
A method for transmitting a data block over a network from a sending node to a set of recipient nodes, comprising: determining the maximum number of recipient nodes to which the sending node can send simultaneous transmission streams; determining whether there are more recipient nodes in the set of recipient nodes than the maximum number of recipient nodes; if there are more recipient nodes than the maximum number of recipient nodes: selecting a subset of selected nodes from the set of recipient nodes corresponding to the maximum number of recipient nodes based on a scoring criteria associated with each recipient node; assigning at least one unselected node from the set of recipient nodes to at least one selected node according to scoring criteria associated with the respective selected nodes; and approximately simultaneously transmitting to each selected node a packet including the data block and a list of the unselected nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block by each selected node to the unselected nodes.