# US 10,454,812 B2 · Service level agreement based next-hop selection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,454,812 B2
- Document ID: US10454812B2
- Status: Granted
- Kind: B2
- Application number: 15/663,075
- Filed: 2017-07-28
- Published: 2019-01-31
- Granted: 2019-10-22
- Earliest claimed: 2017-07-28
- Assignees: Juniper Networks, Inc.
- Applicants: Juniper Networks, Inc.
- Inventors: Nagaraja Manikkar Shenoy; Prasad V; Kaushik Dutta Majumdar
- Web page: https://patentgrep.com/patent/US10454812B2

## CPC

- H04L 45/64: using an overlay routing layer
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L 45/02: Topology update or discovery
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/123: {Evaluation of link metrics (techniques for monitoring network metrics H04L43/08)}
- H04L 45/28: using route fault recovery
- H04L 43/0829: Packet loss
- H04L 43/087: Jitter
- H04L 43/0888: Throughput
- H04L 45/586: of virtual routers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques are described for selecting paths in accordance with service level agreements. For example, spoke and hub routers may advertise routes associated with virtual routing and forwarding (VRF) instances mapped to service level agreements (SLAs). A virtual route reflector of an intermediate router may receive route advertisements and may add respective path communities associated with particular links selected based on link state measurements in accordance with the SLAs. The hub or spoke routers may receive the route advertisements including a respective path community and install the selected path as a next-hop for a given SLA. In this way, spoke and hub routers may forward traffic on links that satisfy particular SLAs such that Quality of Experience (QoE) for an application may be restored or improved.

## Claims

### Claim 1

A method of a system that includes a controller and a virtual route reflector, the method comprising:
obtaining, by the controller, one or more link state measurements of a plurality of links coupled to a hub router and a plurality of spoke routers in a hub-and-spoke network;
determining, by the controller and based on the one or more link state measurements, whether the plurality of links violates one or more service level agreements (SLAs);
in response to determining that one of the plurality of links violates the one or more SLAs, selecting, by the controller, a path along an alternate link of the plurality of links, wherein the alternate link satisfies the one or more SLAs;
sending, by the controller and to a virtual route reflector (VRR) having routing protocol sessions with the hub router and each of the plurality of spoke routers, instructions for the VRR to add a path community associated with the selected path along the alternate link that satisfies the one or more SLAs to a route advertisement received by the VRR;
receiving, by the VRR and from a first router of the hub router and the plurality of spoke routers, the route advertisement that is configured for import by a second router of the hub router and the plurality of spoke routers;
adding, by the VRR, the path community associated with the selected path along the alternate link that satisfies the one or more SLAs to the route advertisement received from the first router; and
sending, by the VRR and to the second router, the route advertisement including the path community to direct the second router to send traffic to the first router via the selected path.

### Claim 2

The method of 1,
wherein the alternate link is one of a plurality of alternate links that satisfies the one or more SLAs, and
wherein selecting the path along the alternate link of the plurality of links comprises:
selecting the path along the alternate link having a least load, wherein the alternate link having the least load is the alternate link satisfying the least number of SLAs.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining whether the plurality of links violates one or more SLAs comprises:
configuring a threshold number of violations; and
determining that the violation exceeds the threshold number of violations.

### Claim 4

A system comprising:
a controller comprising one or more processors operably coupled to a memory, wherein the one or more processors are configured to:
obtain one or more link state measurements of a plurality of links coupled to a hub router and a plurality of spoke routers in a hub-and-spoke network;
determine, based on the one or more link state measurements, whether the plurality of links violates one or more service level agreements (SLAs);
in response to a determination that one of the plurality of links violates the one or more SLAs, select a path along an alternate link of the plurality of links, wherein the alternate link satisfies the one or more SLAs;
instruct a virtual route reflector (VRR) having routing protocol sessions with the hub router and the plurality of spoke routers to add a path community associated with the selected path along the alternate link that satisfies the one or more SLAs to a route advertisement received by the VRR; and
the VRR comprising different one or more processors operably coupled to a different memory, wherein the different one or more processors are configured to:
receive, from a first router of the hub router and the plurality of spoke routers, the route advertisement that is configured for import by a second router of the hub router and the plurality of spoke routers,
add the path community associated with the selected path along the alternate link that satisfies the one or more SLAs to the route advertisement received from the first router; and
send, to the second router, the route advertisement including the path community to direct the second router to send traffic to the first router via the selected path.

### Claim 5 (depends on 4)

The system of claim 4, wherein, to select the path along the alternate link of the plurality of links, the one or more processors are further configured to:
determine that a plurality of alternate links of the plurality of links satisfies the one or more SLAs;
select the path along one of the plurality of alternate links having a least load, wherein the one of the plurality of alternate links having the least load least load is the alternate link satisfying the least number of SLAs.

### Claim 6 (depends on 4)

The system of claim 4, wherein, to determine whether the plurality of links violates one or more SLAs, the one or more processors are further configured to:
configure a threshold number of violations; and
determine that the violation exceeds the threshold number of violations.

### Claim 7 (depends on 4)

The system of claim 4, wherein the controller and the VRR are executed on a same network device.

### Claim 8 (depends on 4)

The system of claim 4, wherein the controller and the VRR are executed on different network devices.
