IP Library Granted Patent US 12,489,702
Granted Patent B1
US 12,489,702 · App. 18/350,470 · Granted Dec 2, 2025

Route preference based on link performance

Inventors: Mohan Thangavel (Bangalore, IN); Saurav Shaw (Bangalore, IN); Vijay Sai Ram Paruchuri (Bangalore, IN)
Assignee: Juniper Networks, Inc.
H04L45/125H04L45/123H04L45/124
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,489,702
App. No.
18/350,470
Granted
Dec 2, 2025
Kind
B1
Abstract

Techniques are disclosed for computing a priority of routes advertised by nodes implementing Layer-3 (L3) Multi-Node High Availability (MNHA) for a Software-Defined Wide Area Network (SD-WAN) interconnecting a first network device and a second network device according to link adherence to performance requirements. In one example, a node computes a priority for a route to the second network device based at least in part on a comparison between (1) one or more performance measurements of a link between the node and the second network device and (2) one or more performance requirements for the link. In some examples, the computed priority for the route is further based in part on a preference for the node. The node exports, to the first network device, the route to the second network device, wherein the route comprises data specifying the computed priority for the route.

Claims (45)

1 . A computing system comprising processing circuitry having access to memory, the processing circuitry configured to:

execute a node of a plurality of nodes connected to a first network device via an access network, the plurality of nodes implementing Layer-3 (L3) Multi-Node High Availability (MNHA) for a Software-Defined Wide Area Network (SD-WAN) interconnecting the plurality of nodes with a second network device, wherein the first network device and second network device comprise edge devices for a Layer-2 (L2) network, and wherein to implement L3 MNHA, the node is configured to synchronize state with other nodes of the plurality of nodes via one or more inter-chassis links (ICLs) interconnecting the plurality of nodes,

wherein, to execute the node, the processing circuitry is configured to:

compute a priority value for a route to the second network device based at least in part on: (a) a comparison between one or more performance measurements of a link between the node and the second network device and one or more performance requirements for the link; and (b) a preference value, that is assigned to the node for forwarding network traffic to the second network device, relative to preference values that are assigned to other nodes of the plurality of nodes for forwarding network traffic to the second network device; and

provide, to the first network device, the route to the second network device, wherein the route comprises data specifying the priority value for the route.

2 . The computing system of claim 1 , wherein, to compute the priority value for the route to the second network device, the processing circuitry is configured to:

compute a first priority value for the route based at least in part on a determination that the one or more performance measurements of the link satisfy the one or more performance requirements for the link, wherein the first priority value indicates that the route is more preferred than other routes to the second network device provided by other nodes of the plurality of nodes; or

compute a second priority value for the route based at least in part on a determination that the one or more performance measurements of the link do not satisfy the one or more performance requirements for the link, wherein the second priority value indicates that the route is less preferred than the other routes to the second network device provided by the other nodes of the plurality of nodes.

3 . The computing system of claim 1 , wherein the processing circuitry is further configured to obtain the one or more performance measurements of the link between the node and the second network device.

4 . The computing system of claim 1 , wherein the one or more performance measurements of the link comprise measurements of one or more of: jitter, latency, round trip time (RTT), or packet loss of the link.

5 . The computing system of claim 1 , wherein the one or more performance requirements for the link comprise one or more Service-level Agreement (SLA) requirements for one or more of: jitter, latency, round trip time (RTT), or packet loss of the link.

6 . The computing system of claim 1 ,

wherein the one or more performance measurements of the link comprise a plurality of performance measurements of the link, and

wherein the one or more performance requirements for the link comprise a plurality of performance requirements for the link.

7 . The computing system of claim 6 , wherein, to compute the priority value for the route to the second network device, the processing circuitry is configured to compute the priority value for the route based at least in part on a number of the plurality of performance measurements of the link that satisfy corresponding ones of the plurality of performance requirements for the link.

8 . The computing system of claim 1 , wherein the processing circuitry is configured to compute the priority value for the route and provide the route in response to a failure of a link of a plurality of links, wherein each link of the plurality of links is between a respective node of the plurality of nodes and the second network device.

9 . The computing system of claim 1 , wherein the processing circuitry is configured to compute the priority value for the route and provide the route in response to a load balancing operation to load balance network traffic from the first network device to the second network device.

10 . The computing system of claim 1 ,

wherein the one or more performance requirements for the link comprise one or more first performance requirements for the link with respect to a first application and one or more second performance requirements for the link with respect to a second application, and

wherein, to compute the priority value for the route to the second network device, the processing circuitry is configured to:

compute a first priority value for the route based at least in part on a determination that the one or more performance measurements of the link satisfy the one or more first performance requirements for the link with respect to the first application, wherein the first priority value indicates that the route is more preferred than other routes to the second network device provided by other nodes of the plurality of nodes for network traffic associated with the first application; and

compute a second priority value for the route based at least in part on a determination that the one or more performance measurements of the link do not satisfy the one or more second performance requirements for the link with respect to the second application, wherein the second priority value indicates that the route is less preferred than the other routes to the second network device provided by the other nodes of the plurality of nodes for network traffic associated with the second application; and

wherein, to export the route, the node is configured to:

provide, to the first network device, a first route to the second network device, wherein the first route comprises data specifying the first priority value for the first route with respect to network traffic associated with the first application; and

provide, to the first network device, a second route to the second network device, wherein the second route comprises data specifying the second priority value for the second route with respect to network traffic associated with the second application.

11 . A method comprising:

computing, by processing circuitry configured to execute a node of a plurality of nodes connected to a first network device via an access network, the plurality of nodes implementing Layer-3 (L3) Multi-Node High Availability (MNHA) for a Software-Defined Wide Area Network (SD-WAN) interconnecting the plurality of nodes with a second network device, a priority value for a route to the second network device based at least in part on: (a) a comparison between one or more performance measurements of a link between the node and the second network device and one or more performance requirements for the link; and (b) a preference value, that is assigned to the node for forwarding network traffic to the second network device, relative to preference values that are assigned to other nodes of the plurality of nodes for forwarding network traffic to the second network device, wherein the first network device and second network device comprise edge devices for a Layer-2 (L2) network, and wherein to implement L3 MNHA, the node is configured to synchronize state with other nodes of the plurality of nodes via one or more inter-chassis links (ICLs) interconnecting the plurality of nodes; and

providing, by the processing circuitry and to the first network device, the route to the second network device, wherein the route comprises data specifying the priority value for the route.

12 . The method of claim 11 , wherein computing the priority value for the route to the second network device comprises:

computing a first priority value for the route based at least in part on a determination that the one or more performance measurements of the link satisfy the one or more performance requirements for the link, wherein the first priority value indicates that the route is more preferred than other routes to the second network device provided by other nodes of the plurality of nodes; or

computing a second priority value for the route based at least in part on a determination that the one or more performance measurements of the link do not satisfy the one or more performance requirements for the link, wherein the second priority value indicates the route is less preferred than the other routes to the second network device provided by the other nodes of the plurality of nodes.

13 . The method of claim 11 , wherein the one or more performance measurements of the link comprise measurements of one or more of: jitter, latency, round trip time (RTT), or packet loss of the link.

14 . The method of claim 11 , wherein the one or more performance requirements for the link comprise one or more Service-level Agreement (SLA) requirements for one or more of: jitter, latency, round trip time (RTT), or packet loss of the link.

15 . The method of claim 11 ,

wherein the one or more performance measurements of the link comprise a plurality of performance measurements of the link,

wherein the one or more performance requirements for the link comprise a plurality of performance requirements for the link, and

wherein, computing the priority value for the route to the second network device comprises:

computing the priority value for the route based at least in part on a number of the plurality of performance measurements of the link that satisfy corresponding ones of the plurality of performance requirements for the link.

16 . The method of claim 11 , wherein computing the priority value for the route and providing the route is in response to a failure of a link of a plurality of links, wherein each link of the plurality of links is between a respective node of the plurality of nodes and the second network device.

17 . The method of claim 11 , wherein computing the priority value for the route and providing the route is in response to a load balancing operation to load balance network traffic from the first network device to the second network device.

18 . Non-transitory, computer-readable media comprising instructions, that, when executed, are configured to cause processing circuitry of a computing system to:

execute a node of a plurality of nodes connected to a first network device via an access network, the plurality of nodes implementing Layer-3 (L3) Multi-Node High Availability (MNHA) for a Software-Defined Wide Area Network (SD-WAN) interconnecting the plurality of nodes with a second network device, wherein the first network device and second network device comprise edge devices for a Layer-2 (L2) network, and wherein to implement L3 MNHA, the node is configured to synchronize state with other nodes of the plurality of nodes via one or more inter-chassis links (ICLs) interconnecting the plurality of nodes,

wherein, to execute the node, the processing circuitry is configured to:

compute a priority value for a route to the second network device based at least in part on: (a) a comparison between one or more performance measurements of a link that is between the node and the second network device and one or more performance requirements for the link and (b) a preference value, that is assigned to the node for forwarding network traffic to the second network device, relative to preference values that are assigned to other nodes of the plurality of nodes for forwarding network traffic to the second network device; and

provide, to the first network device, the route to the second network device, wherein the route comprises data specifying the priority value for the route.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2023
From: THANGAVEL, MOHAN; SHAW, SAURAV; PARUCHURI, VIJAY SAI RAM
To: JUNIPER NETWORKS, INC.,
Reel/Frame 064215/0603 →
References Cited (24)
US 7586899B1 · Mohaban · 2009 [cited by examiner]
US 10708144B2 · Mohan et al. · 2020 [cited by applicant]
US 11425034B1 · Boopathy · 2022 [cited by examiner]
US 11637753B1 · Wang et al. · 2023 [cited by applicant]
US 20090310509A1 · Kumai · 2009 [cited by examiner]
US 20160191304A1 · Muller · 2016 [cited by examiner]
US 20190334820A1 · Zhao · 2019 [cited by examiner]
US 20230012609A1 · Wang et al. · 2023 [cited by applicant]
US 20230107735A1 · Wang et al. · 2023 [cited by applicant]
US 20240039806A1 · Singwi · 2024 [cited by examiner]
US 20240106739A1 · Rajagopalan · 2024 [cited by examiner]
US 20240305564A1 · Thoria · 2024 [cited by examiner]
WO 2013184846A1 · 2013 [cited by applicant]
D. Suh et al., “Toward Highly Available and Scalable Software Defined Networks for Service Providers,” in IEEE Communications Magazine, vol. 55, No. 4, pp. 100-107, Apr. 2017 (Year: 2017). [cited by examiner]
Z. Wen, Y. Liang and G. Li, “Design and Implementation of High-availability PaaS Platform Based on Virtualization Platform,” 2020 IEEE 5th Information Technology and Mechatronics Engineering Conference (ITOEC), Chongqin… [cited by examiner]
“FortiNAC—High Availability”, 2023, fortinet.com, document library, p. 1-64 (Year: 2023). [cited by examiner]
I. M. Suartana, M. A. N. Anggraini and A. Z. Pramudita, “High Availability in Software-Defined Networking using Cluster Controller: A Simulation Approach,” 2020 Third International Conference on Vocational Education and… [cited by examiner]
Assaf Muller, “Layer 3 High Availability”, assafmuller.com, OperStack, p. 1-13, 2014 (Year: 2014). [cited by examiner]
V. Pashkov and R. Smeliansky, “On High Availability Distributed Control Plane for Software-Defined Networks,” 2018 International Scientific and Technical Conference Modern Computer Network Technologies (MoNeTeC), Moscow… [cited by examiner]
P. Segeč, M. Moravčik, J. Uratmová, J. Papán and O. Yeremenko, “SD-WAN—architecture, functions and benefits,” 2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA), Koice, Sloven… [cited by examiner]
Juniper, “IPsec VPN Support in Multinode High Availability,” Junos OS High Availability User Guide, Jan. 2, 2023, 6 pp. [cited by applicant]
Juniper, “Multinode High Availability Services,” Junos OS High Availability User Guide, Dec. 15, 2022, 4 pp. [cited by applicant]
Juniper, “Multinode High Availability,” Junos OS High Availability User Guide, May 12, 2023, 33 pp. [cited by applicant]
Juniper, “Prepare Your Environment for Multinode High Availability Deployment,” Junos OS High Availability User Guide, Mar. 9, 2023, 4 pp. [cited by applicant]
Cited By (2)
US 12,689,550 US 12,712,806