US 9,813,259 B2
Probing available bandwidth along a network path
Jean-Philippe Vasseur, Saint Martin d'Uriage (FR); and Sukrit Dasgupta, Norwood, MA (US)
Assigned to Cisco Technology, Inc., San Jose, CA (US)
Filed by Cisco Technology, Inc., San Jose, CA (US)
Filed on May 13, 2014, as Appl. No. 14/276,310.
Prior Publication US 2015/0334030 A1, Nov. 19, 2015
Int. Cl. H04L 12/26 (2006.01); H04L 12/46 (2006.01); H04L 12/825 (2013.01); H04L 12/801 (2013.01)
CPC H04L 12/4641 (2013.01) [H04L 43/062 (2013.01); H04L 43/0882 (2013.01); H04L 43/10 (2013.01); H04L 43/12 (2013.01); H04L 47/115 (2013.01); H04L 47/12 (2013.01); H04L 47/25 (2013.01)] 20 Claims
OG exemplary drawing
10. An apparatus, comprising:
one or more network interfaces to communicate with an internal network and an external network;
a processor coupled to the network interfaces and adapted to execute one or more processes; and
a memory configured to store a process executable by the processor, the process when executed operable to:
use a machine learning model to predict user traffic along a path in the external network;
identify a time period in which probe packets are to be sent along the path in the external network based on the predicted user traffic along the path;
send the probe packets during the identified time period along the path;
monitor conditions of the network path during the time period, wherein the monitored conditions include two or more of: a measured amount of jitter associated with the path, a measured amount of delay associated with the path, a queue state of a device along the path, or an application response time metric;
dynamically adjust a rate at which the probe packets are sent during the time period based on the monitored conditions and using a closed-loop control mechanism, wherein the rate is selected based in part on periodically tracking a difference in a volume of traffic egressing or ingressing the internal network and an amount of bandwidth capacity of the external network that is dedicated to the internal network and an instantaneous level of congestion of a given link or traffic class; and
collect results of the monitored conditions to determine an available bandwidth limit along the path.