Techniques are provided for determining end-to-end path delay measurements. In one embodiment, a method includes identifying equal-cost multi-path (ECMP) sections comprising at least two different ECMP paths in a network comprising a plurality of nodes. In response to receiving a request to determine a delay measurement for end-to-end paths from an ingress node to an egress node through the network, the method includes determining sets of ECMP sections that are between the ingress node and the egress node and determining a plurality of paths through each set of ECMP sections. The method includes measuring delay for each of the plurality of paths using probe packets and determining delay measurements for all end-to-end paths. The delay measurements for end-to-end paths include a first subset including measured delays from the probe packets and a second subset calculated using combinations of measured delays.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: identifying one or more equal-cost multi-path (ECMP) sections comprising at least two different ECMP paths in a network comprising a plurality of nodes; in response to receiving a request to determine a delay measurement for end-to-end paths from an ingress node to an egress node through the network, determining one or more sets of ECMP sections that are between the ingress node and the egress node in the network by decomposing a nested ECMP section that includes an ECMP section within an ECMP section to eliminate ECMP paths from the nested ECMP section, such that the one or more sets of ECMP sections do not include the nested ECMP section; determining a plurality of paths through each of the one or more sets of ECMP sections, wherein a number of the plurality of paths is less than a number of the end-to-end paths; measuring delay for each path of the plurality of paths using probe packets; and determining delay measurements for all end-to-end paths from the ingress node to the egress node, wherein the delay measurements for all end-to-end paths include a first subset of delay measurements comprising the measured delays from the probe packets and a second subset of delay measurements calculated using different combinations of measured delays for the paths of the plurality of paths.
2. The method of claim 1 , wherein at least one set of the one or more sets of ECMP sections includes at least two ECMP sections in series.
3. The method of claim 1 , wherein the probe packets are defined according to a One-Way Active Measurement Protocol (OWAMP) and/or a Two-Way Active Measurement Protocol (TWAMP).
4. The method of claim 1 , wherein identifying one or more ECMP sections in the network comprises using a Constrained Shortest Path First (CSPF) algorithm.
5. The method of claim 4 , further comprising executing the CSPF algorithm a predetermined number of times, wherein the predetermined number is equal to a number of the plurality of nodes in the network.
6. The method of claim 1 , wherein at least one path of the plurality of paths through each of the one or more sets of ECMP sections is a path from the ingress node to a transit node.
7. The method of claim 1 , wherein the end-to-end paths are atomic paths comprising ECMP paths and/or non-ECMP paths.
8. The method of claim 1 , wherein the delay measurements are determined by the ingress node.
9. The method of claim 1 , wherein the one or more ECMP sections in the network are identified by a network controller for the network using network topology information.
10. The method of claim 1 , wherein a number of the first subset of delay measurements comprising the measured delays from the probe packets increases linearly with a number of the ECMP sections.
11. One or more non-transitory computer readable storage media encoded with instructions that, when executed by a processor of an ingress node in a network comprising a plurality of nodes, cause the processor to: identify one or more equal-cost multi-path (ECMP) sections comprising at least two different ECMP paths in the network; in response to receiving a request to determine a delay measurement for end-to-end paths from the ingress node to an egress node through the network, determine one or more sets of ECMP sections that are between the ingress node and the egress node in the network by decomposing a nested ECMP section that includes an ECMP section within an ECMP section to eliminate ECMP paths from the nested ECMP section, such that the one or more sets of ECMP sections do not include the nested ECMP section; determine a plurality of paths through each of the one or more sets of ECMP sections, wherein a number of the plurality of paths is less than a number of the end-to-end paths; measure delay for each path of the plurality of paths using probe packets; and determine delay measurements for all end-to-end paths from the ingress node to the egress node, wherein the delay measurements for all end-to-end paths include a first subset of delay measurements comprising the measured delays from the probe packets and a second subset of delay measurements calculated using different combinations of measured delays for the paths of the plurality of paths.
12. The one or more non-transitory computer readable storage media of claim 11 , wherein at least one set of the one or more sets of ECMP sections includes at least two ECMP sections in series.
13. The one or more non-transitory computer readable storage media of claim 11 , wherein identifying one or more ECMP sections in the network comprises using a Constrained Shortest Path First (CSPF) algorithm.
14. The one or more non-transitory computer readable storage media of claim 13 , wherein the instructions further cause the processor to execute the CSPF algorithm a predetermined number of times, wherein the predetermined number is equal to a number of the plurality of nodes in the network.
15. The one or more non-transitory computer readable storage media of claim 11 , wherein the end-to-end paths are atomic paths comprising ECMP paths and/or non-ECMP paths.
16. A system comprising: a network including a plurality of nodes; and an apparatus comprising: a plurality of network ports configured to receive inbound packets and to send outbound packets; a memory; a processor coupled to the memory and to the plurality of network ports, wherein the processor is configured to: identify one or more equal-cost multi-path (ECMP) sections comprising at least two different ECMP paths in the network; in response to receiving a request to determine a delay measurement for end-to-end paths from an ingress node to an egress node through the network, determine one or more sets of ECMP sections that are between the ingress node and the egress node in the network by decomposing a nested ECMP section that includes an ECMP section within an ECMP section to eliminate ECMP paths from the nested ECMP section, such that the one or more sets of ECMP sections do not include the nested ECMP section; determine a plurality of paths through each of the one or more sets of ECMP sections, wherein a number of the plurality of paths is less than a number of the end-to-end paths; measure delay for each path of the plurality of paths using probe packets; and determine delay measurements for all end-to-end paths from the ingress node to the egress node, wherein the delay measurements for all end-to-end paths include a first subset of delay measurements comprising the measured delays from the probe packets and a second subset of delay measurements calculated using different combinations of measured delays for the paths of the plurality of paths.
17. The system of claim 16 , wherein at least one set of the one or more sets of ECMP sections includes at least two ECMP sections in series.
18. The system of claim 16 , wherein the processor is configured to identify the one or more ECMP sections in the network using a Constrained Shortest Path First (CSPF) algorithm that is executed a predetermined number of times, wherein the predetermined number is equal to a number of the plurality of nodes in the network.
19. The system of claim 16 , wherein the end-to-end paths are atomic paths comprising ECMP paths and/or non-ECMP paths.
20. The system of claim 16 , wherein the apparatus is the ingress node.
21. The system of claim 16 , wherein the apparatus is a network controller for the network, and wherein the network controller identifies the one or more ECMP sections in the network using network topology information.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 21, 2018
January 12, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.