Seamlessly switching overlay network relay trees
First Claim
Patent Images
1. A system comprising:
- a commander node of an overlay network formed over an underlying network, the commander node configured to;
responsive to one or more performance changes of the underlying network, calculate a configuration for a relay tree of the overlay network, wherein the relay tree includes a plurality of nodes forming a sequence traversable by a packet to reach a destination;
calculate multiple media stream set (MSS) configurations for the relay tree, wherein an individual MSS configuration corresponds to an individual node of the plurality of nodes and comprises an MSS configuration version number uniquely identifying the individual MSS configuration and the relay tree;
send the multiple MSS configurations to each of the plurality of nodes;
when a plurality of acknowledgments are received from each of the plurality of nodes within a time-frame, send a switch command to a source node of the plurality of nodes to switch to the relay tree, wherein an individual acknowledgement indicates receipt of a corresponding MSS configuration and creation of an MSS according to the corresponding MSS configuration; and
when at least one acknowledgement is not received from at least one node of the plurality of nodes, calculate another relay tree configuration for another relay tree that does not include the at least one node and calculate other MSS configurations for the another relay tree; and
at least one hardware processor configured to implement the commander node.
2 Assignments
0 Petitions
Accused Products
Abstract
Technologies for switching a set of nodes in an overlay network from one relay tree configuration to another without duplicate packets or packet loss at any of the nodes. A commander node calculates a new relay tree as well as a media stream set configuration for each node in the overlay network, each media stream set corresponding to the new relay tree. Media stream sets include a unique version number or the like that identifies the specific relay tree configuration of which they are a part. Also provided are technologies for associating a media stream with a particular relay tree configuration and the corresponding media stream set of each node in the overlay network.
22 Citations
18 Claims
-
1. A system comprising:
-
a commander node of an overlay network formed over an underlying network, the commander node configured to; responsive to one or more performance changes of the underlying network, calculate a configuration for a relay tree of the overlay network, wherein the relay tree includes a plurality of nodes forming a sequence traversable by a packet to reach a destination; calculate multiple media stream set (MSS) configurations for the relay tree, wherein an individual MSS configuration corresponds to an individual node of the plurality of nodes and comprises an MSS configuration version number uniquely identifying the individual MSS configuration and the relay tree; send the multiple MSS configurations to each of the plurality of nodes; when a plurality of acknowledgments are received from each of the plurality of nodes within a time-frame, send a switch command to a source node of the plurality of nodes to switch to the relay tree, wherein an individual acknowledgement indicates receipt of a corresponding MSS configuration and creation of an MSS according to the corresponding MSS configuration; and when at least one acknowledgement is not received from at least one node of the plurality of nodes, calculate another relay tree configuration for another relay tree that does not include the at least one node and calculate other MSS configurations for the another relay tree; and at least one hardware processor configured to implement the commander node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method implemented at least in part by a computing device, the method comprising:
-
receiving, on a node, a new media stream set (MMS) configuration from a commander node, the new MMS configuration associated with a new relay tree and comprising; an MSS configuration version number uniquely identifying the new MSS configuration and the new relay tree; and a description of one or more other nodes comprising at least one of; an inbound link from which data packets will arrive to the node or an outbound link to which the node will route the data packets; creating a new MMS on the node based on the new MMS configuration; establishing communications with the one or more other nodes as specified by the new MMS, wherein the data packets correspond to the new MMS and are one or both of;
received from the inbound link or routed to the outbound link, as indicated by the new MMS; andwaiting until old data packets associated with an old MMS on the node have been received and then deleting the old MMS. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method implemented at least in part by a computing device, the method comprising:
-
responsive to one or more performance changes of an underlying network formed over an underlying network, calculating a configuration for a relay tree of the overlay network, wherein the relay tree includes a plurality of nodes forming a sequence traversable by a packet to reach a destination; calculating multiple media stream set (MSS) configurations for the relay tree, wherein an individual MSS configuration corresponds to an individual node of the plurality of nodes and comprises an MSS configuration version number uniquely identifying the individual MSS configuration and the relay tree; sending the multiple MSS configurations to each of the plurality of nodes; when a plurality of acknowledgments are received from each of the plurality of nodes within a time-frame, sending a switch command to a source node of the plurality of nodes to switch to the relay tree, wherein an individual acknowledgement indicates receipt of a corresponding MSS configuration and creation of an MSS according to the corresponding MSS configuration; and when at least one acknowledgement is not received from at least one node of the plurality of nodes, calculating another relay tree configuration for another relay tree that does not include the at least one node and calculate other MSS configurations for the another relay tree. - View Dependent Claims (17, 18)
-
Specification