Packet routing to reduce susceptibility to disturbances
AssigneeCisco Technology, Inc.
InventorsRobert E. Gleichauf, Shmuel Shaffer, Robert T. Bell, Joseph F. Khouri
Life of this patent
Estimating the term…
Abstract
In a communications system, a network provides multiple physical paths for communicating packets between participants of communication sessions. During a communication session, elements of the network route packets such that the packets are separated for communication to a destination using multiple physical paths.
Claims20
A method for communicating packets to a remote device comprising:
- receiving packets having encoded streaming data for delivery to a remote device, wherein each of the packets comprises a sequence number;
- separating the packets into a plurality of streams corresponding to a plurality of paths to the remote device, wherein each of the streams comprises a subset of the packets having no more than a predetermined number of consecutive sequence numbers:
- communicating the streams using the corresponding paths to reduce susceptibility to a disturbance on one of the paths;
- monitoring packet loss for each of the paths;
- determining that the packet loss for a selected one of the paths exceeds a threshold;
- and
- reducing a frequency of packets separated into the stream corresponding to the selected one of the paths to reduce bandwidth used on the selected one of the paths.
A method for communicating packets to a remote device comprising:
- receiving packets having encoded streaming data for delivery to a remote device, wherein each of the packets comprises a sequence number;
- separating the packets into a plurality of streams corresponding to a plurality of paths to the remote device, wherein each of the streams comprises a subset of the packets having no more than a predetermined number of consecutive sequence numbers;
- communicating the streams using the corresponding paths to reduce susceptibility to a disturbance on one of the paths;
- storing historical data indicating performance characteristics for each of the paths over a period of time;
- and
- separating the packets into the streams based on the historical data.
A network node comprising:
- a network interface coupled to a plurality of paths to a remote device, the network interface operable to receive packets having encoded streaming data for delivery to the remote device, with each of the packets comprising a sequence number;
- a processor operable to separate the packets into a plurality of streams corresponding to the paths, with each of the streams comprising a subset of the packets having no more than a predetermined number of consecutive sequence numbers;
- the network interface further operable to communicate the streams on the corresponding paths to reduce susceptibility to a disturbance on one of the paths;
- the processor further operable to:
- monitor packet loss for each of the paths;
- determine that the packet loss for a selected one of the paths exceeds a threshold;
- and
- reduce a frequency of packets separated into the stream corresponding to the selected one of the paths to reduce bandwidth used on the selected one of the paths.
A network node comprising:
- a network interface coupled to a plurality of paths to a remote device, the network interface operable to receive packets having encoded streaming data for delivery to the remote device, with each of the packets comprising a sequence number;
- a processor operable to separate the packets into a plurality of streams corresponding to the paths, with each of the streams comprising a subset of the packets having no more than a predetermined number of consecutive sequence numbers;
- the network interface further operable to communicate the streams on the corresponding paths to reduce susceptibility to a disturbance on one of the paths;
- a memory storing historical data indicating performance characteristics for each of the paths over a period of time;
- and wherein:
- the processor is further operable to access the memory to determine the historical data and to separate the packets into the streams based on the historical data.
Logic for communicating packets to a remote device, the logic encoded in a medium and operable when executed to:
- receive packets having encoded streaming data for delivery to a remote device, wherein each of the packets comprises a sequence number;
- separate the packets into a plurality of streams corresponding to a plurality of paths to the remote device, wherein each of the streams comprises a subset of the packets having no more than a predetermined number of consecutive sequence numbers;
- communicate the streams using the corresponding paths to reduce susceptibility to a disturbance on one of the paths;
- store historical data indicating performance characteristics for each of the paths over a period of time;
- and
- separate the packets into the streams based on the historical data.
A network node comprising:
- means for receiving packets having encoded streaming data for delivery to a remote device, wherein each of the packets comprises a sequence number;
- means for separating the packets into a plurality of streams corresponding to a plurality of paths to the remote device, wherein each of the streams comprises a subset of the packets having no more than a predetermined number of consecutive sequence numbers;
- means for communicating the streams using the corresponding paths to reduce susceptibility to a disturbance on one of the paths;
- means for storing historical data indicating performance characteristics for each of the paths over a period of time;
- and
- means for separating the packets into the streams based on the historical data.
Dependencies are inferred from the claim text.