IP Library Granted Patent US 11,329,897
Granted Patent B2
US 11,329,897 · App. 16/824,523 · Granted May 10, 2022

SLA packet steering in network service function chaining

Inventors: Rajneesh Kumar (Bangalore, IN); Peyush Gupta (Bangalore, IN)
Assignee: Juniper Networks, Inc.
H04L41/5025H04L41/5009H04L47/2425H04L69/22
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 11,329,897
App. No.
16/824,523
Granted
May 10, 2022
Kind
B2
Abstract

This disclosure describes techniques that include adding information to a network service header in packets being processed by a set of compute nodes in a service chain. The information added to the network service header can be used during selection of the next hop in a service chain, and may be used to help ensure that service level agreements (SLA) are met with respect to one or more metrics. In one example, this disclosure describes a method that includes receiving, by a service complex having a plurality of service nodes, a packet associated with a service chain representing a series of services to be performed on the packet by one or more of the plurality of service nodes; identifying, by the service complex, one or more service chain constraints associated with the service chain; and modifying the packet, by the service complex, to include information about the service chain constraints.

Claims (49)

1. A method comprising:

receiving, by a service complex having a plurality of service nodes, a packet associated with a service chain representing a series of services to be performed on the packet by one or more of the plurality of service nodes;

identifying, by the service complex, one or more service chain performance constraints associated with the service chain;

identifying, by the service complex and based on the service chain performance constraints, a service node to perform a service function on the packet;

prior to applying the service function to the packet, determining, by the service complex, an expected impact that performance of the service function will have on satisfying the service chain performance constraints; and

modifying the packet, by the service complex, to reflect the expected impact that performance of the service function will have on satisfying the service chain performance constraints, wherein modifying the packet includes modifying the packet to reflect an expected round-trip time that performance of the service function will consume.

2. The method of claim 1 , wherein the service chain performance constraints include a total round-trip time within which the service chain is to be completed, and wherein determining an expected impact includes: determining the expected round-trip time that performance of the service function will consume.

3. The method of claim 2 , wherein identifying the service node includes:

identifying a service node that enables the service function to be performed within the total round-trip time.

4. The method of claim 3 , further comprising:

enabling the service node to perform the service function.

5. The method of claim 1 , wherein the service node is a first service node, wherein the service function is a first service function, and wherein the method further comprises:

identifying, based on information about the service chain performance constraints, a second service node to perform a second service function on the packet;

determining an expected impact that the second service node performing the second service function will have on the service chain performance constraints; and

modifying the packet to reflect the expected impact that the second service node performing the second service function will have on satisfying the service chain performance constraints.

6. The method of claim 1 , wherein the plurality of service nodes are implemented through a plurality of virtualized computing instances.

7. The method of claim 1 , wherein the plurality of service nodes are located across a plurality of data centers.

8. The method of claim 1 , wherein modifying the packet includes:

modifying a network service header included within the packet.

9. The method of claim 1 , wherein the service chain performance constraints involve one or more of: round-trip time, jitter, or packet loss.

10. A service complex comprising a plurality of service nodes, wherein the service complex is configured to perform operations comprising:

receiving a packet associated with a service chain that represents a series of services to be performed on the packet by one or more of the plurality of service nodes;

identifying one or more service chain performance constraints associated with the service chain;

identifying, based on the one or more service chain performance constraints, a service node to perform a service function on the packet;

determining an expected impact that performance of the service function by the service node will have on the service chain performance constraints;

including information in the packet to reflect the expected impact that performance of the service function will have on satisfying the service chain performance constraints, wherein including information in the packet includes modifying the packet to reflect an expected round-trip time that performance of the service function will consume; and

enabling performance of the service function by the service node.

11. The service complex of claim 10 , wherein identifying the service node includes:

identifying a service node that enables the service function to be performed within the service chain performance constraints.

12. The service complex of claim 10 , wherein the service node is a first service node, wherein the service function is a first service function, and wherein the service complex is further configured to perform operations comprising:

identifying, based on the information in the packet reflecting the expected impact that performance of the first service function will have on satisfying the service chain performance constraints, a second service node to perform a second service function on the packet;

determining an expected impact that performance of the second service function by the second service node will have on satisfying the service chain performance constraints;

updating the packet to reflect the expected impact that performance of the second service function by the second service node will have on satisfying the service chain performance constraints; and

enabling performance of the second service function by the service node.

13. The service complex of claim 12 , wherein the service chain performance constraints include a total round-trip time within which the service chain is to be completed, and wherein determining an expected impact that performance of the second service function by the second service node will have on satisfying the service chain performance constraints includes:

determining the expected round-trip time that performance of the second service function by the second service node will consume.

14. The service complex of claim 13 , wherein updating the packet to reflect the expected impact that performance of the second service function by the second service node will have on satisfying the service chain performance constraints includes:

subtracting the expected round-trip time that performance of the second service function by the second service node will consume from the total round-trip time.

15. The service complex of claim 10 , wherein the plurality of service nodes are implemented through a plurality of virtualized computing instances across a plurality of data centers.

16. The service complex of claim 10 , wherein including information in the packet includes:

including information in a network services header that is part of the packet.

17. The service complex of claim 10 , wherein the service chain performance constraints involve one or more of: round-trip time, jitter, or packet loss.

18. A non-transitory computer-readable storage medium comprising instructions that, when executed, configure processing circuitry of a computing system to perform operations comprising:

receiving a packet associated with a service chain that represents a series of services to be performed on the packet by one or more of a plurality of service nodes;

identifying one or more service chain constraints associated with the service chain;

identifying, based on the one or more service chain constraints, a service node to perform a service function on the packet;

determining an expected impact that performance of the service function by the service node will have on the service chain constraints;

including information in the packet to reflect the expected impact that performance of the service function will have on the service chain constraints, wherein including information in the packet includes modifying the packet to reflect an expected round-trip time that performance of the service function will consume; and

enabling performance of the service function by the service node.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Jul 25, 2022
From: KUMAR, RAJNEESH; GUPTA, PEYUSH
To: JUNIPER NETWORKS, INC.
Reel/Frame 060879/0538 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2020
From: KUMAR, RAJNEESH; GUPTA, PEYUSH
To: JUNIPER NETWORKS, INC.
Reel/Frame 052172/0201 →
Continuity (1)
Related Publication 20210297327A1 · Sep 23, 2021