Efficient transmission of data to multiple network nodes
First Claim
1. A method for transmitting a data block 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 one selected node according to scoring criteria associated with the respective selected nodes;
transmitting to each selected node a packet having a payload including the data block and a first list of the nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes;
in at least one recipient node;
receiving from the first sending node the packet having a payload including the data block and the first list of assigned nodes;
dividing the first 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 each of the unselected assigned nodes to at least one selected assigned node according to the scoring criteria associated with the respective selected assigned nodes; and
transmitting to each selected assigned node a packet having a payload including the data block and a list of the nodes reassigned to the selected assigned node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes.
3 Assignments
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
10 Claims
-
1. A method for transmitting a data block 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 one selected node according to scoring criteria associated with the respective selected nodes;
transmitting to each selected node a packet having a payload including the data block and a first list of the nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes;
in at least one recipient node;
receiving from the first sending node the packet having a payload including the data block and the first list of assigned nodes;
dividing the first 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 each of the unselected assigned nodes to at least one selected assigned node according to the scoring criteria associated with the respective selected assigned nodes; and
transmitting to each selected assigned node a packet having a payload including the data block and a list of the nodes reassigned to the selected assigned node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes. - View Dependent Claims (2, 3)
-
-
4. A method for transmitting a data block 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 one selected node according to scoring criteria associated with the respective selected nodes;
transmitting to each selected node a packet having a payload including the data block and a first list of the nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes;
in a second sending node, which is also in the first set of recipient nodes;
dividing a second 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 each of the unselected nodes from the second set of recipient nodes to at least one selected node from the second set of recipient nodes according to scoring criteria associated with the respective selected nodes; and
transmitting to each selected node from the second set of recipient nodes a packet having a payload including the data block and a second list of the nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes. - View Dependent Claims (5)
receiving from the second sending node the packet including the data block and the second list of assigned nodes;
dividing the second 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 each of the unselected assigned nodes from the second list of assigned nodes to at least one selected assigned node from the second list of assigned nodes according to the scoring criteria associated with the respective selected assigned nodes; and
transmitting to each selected assigned node from the second list of assigned nodes a packet including the data block and a list of the nodes reassigned to that node, the list dynamically associating the selected assigned node with the reassigned nodes for the transmission of the data block to the reassigned nodes.
-
-
6. A computer program product residing on a computer readable medium comprising instructions for causing a particular network node, connected to a network having a plurality of network nodes, to:
-
create a first set of recipient nodes from among the plurality of network nodes;
divide 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;
assign at least one of the unselected nodes to at least one selected node according to scoring criteria associated with the respective selected nodes;
transmit to each selected node a packet having a payload including a data block and a list of the nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes;
receive from one of the network nodes a packet having a payload including a data block and a list of assigned nodes;
divide the received 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;
reassign each of the unselected assigned nodes to at least one selected assigned node according to the scoring criteria associated with the respective selected assigned nodes; and
transmit to each selected assigned node a packet having a payload including the received data block and a list of the nodes reassigned to the selected assigned node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes. - View Dependent Claims (7)
-
-
8. A system for transmitting data comprising:
-
a data network;
a plurality of network nodes, including at least one sending node;
wherein each sending node is programmed to;
create a first set of recipient nodes from among the plurality of network nodes;
divide 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;
assign at least one of the unselected nodes to at least one selected node according to scoring criteria associated with the respective selected nodes;
transmit to each selected node a packet having a payload including a data block and a list of the nodes assigned to the selected node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes;
receive from one of the network nodes a packet having a payload including a data block and a list of assigned nodes;
divide 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;
reassign each of the unselected assigned nodes to at least one selected assigned node according to the scoring criteria associated with respective selected assigned nodes; and
transmit to each selected assigned node a packet having a payload including the received data block and a list of the nodes reassigned to the selected assigned node, the list dynamically associating the selected node with the unselected nodes for the transmission of the data block to the unselected nodes. - View Dependent Claims (9, 10)
-
Specification