Patent ID: 7936696

Claim:
A method for transmitting a data packet over a network from a first sending node to a first set of recipient nodes, comprising: in the first sending node: dividing the first set of recipient nodes into a subset of selected nodes, selected according to scoring criteria associated with each recipient node, and a subset of unselected nodes; assigning at least one of the unselected nodes to at least two of the selected nodes according to a prioritization scheme; assigning a unique identifier to the data packet, wherein the data packet includes a first payload, a first list of the at least one unselected node assigned to at least two of the selected nodes, and a first data block; transmitting to each of the selected nodes the data packet including the first list, the first list dynamically associating the selected nodes with the at least one unselected node for the transmission of the data packet to the unselected nodes; in each of the selected nodes: receiving the data packet comprising a payload including the data block and a list of the assigned nodes; comparing the scoring criteria of each of the selected nodes with the list of the assigned nodes; dividing the list of the assigned nodes into a subset of selected assigned nodes, selected according to the scoring criteria associated with each assigned node, and a subset of unselected assigned nodes; reassigning at least one of the unselected assigned nodes to at least two of the selected assigned nodes according to the prioritization scheme associated with the respective selected assigned nodes; and transmitting to each selected assigned node a reassigned packet, wherein the reassigned packet includes an identification of the sending node, the unique identifier, the payload, the data block, and a list of the nodes reassigned to the selected assigned node, wherein the selected assigned node compares the unique identifier of the received reassigned packet with a list of unique identifiers received to determine whether the reassigned packet had been received from the first sending node, wherein the selected assigned node rejects the received reassigned packet if the unique identifier is on the list of unique identifiers received by the selected assigned node.