Patent ID: 8289979

Claim:
A method of routing a data stream amongst a plurality of network nodes including at least a plurality of end-user nodes, the method comprising: establishing a plurality of routes for said stream to a plurality of consuming end-user nodes by forming connections amongst a group of end-user nodes, including at least one route via one or more relaying nodes; at each of a plurality of optimising nodes, executing an optimisation algorithm to determine a respective routing modification with respect to a sub-group of the group of end-user nodes by: evaluating a routing criterion with respect to a collection of end-user nodes within a respective said sub-group which share information with the respective optimising node, determining a change in the routing criterion with respect to the sub-group that would result from one or more potential routing modifications, and determining whether any of said potential modifications is preferred based on the determined change, wherein the different optimising nodes' sub-groups of end-user nodes are at least partially coincident such that each optimising node can determine a different routing modification with respect to at least some of the same end-user nodes; and when one or more of said preferred modifications is found, modifying one or more of said routes accordingly, and transmitting the stream to the consuming end-user nodes via the routes as thus modified.