Efficient transmission of data to multiple network nodes
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved method, system, and computer program product for efficient transmission of data to multiple network nodes is disclosed. A method for transmitting a data block over a network from a first sending node to a first set of recipient nodes, comprises, in the first sending node, a) 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, b) assigning at least one of the unselected nodes to at least one selected node according to scoring criteria associated with the respective selected nodes, c) transmitting to each selected node a packet including the data block and a list of the nodes assigned to the selected node.
-
Citations
18 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for transmitting a data block over a network from a first sending node to a first set of recipient nodes, comprising:
-
in at least one selected node in the first set of recipient nodes; receiving from the sending node the packet having a payload including the data block and a list of assigned nodes assigned to at least two selected nodes; comparing the scoring criteria of the selected node with the list of the assigned nodes; dividing the list of assigned nodes into a subset of selected assigned nodes, selected according to 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 selected assigned nodes according to the scoring criteria associated with the respective selected assigned nodes; and transmitting to each selected assigned node a packet having a unique identifier, a payload including the data block and a list of the nodes reassigned to the selected assigned node, wherein the selected assigned node compares the unique identifier 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 packet if the unique identifier is on the list of unique identifiers received by the selected assigned node. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification