IP Library Granted Patent US 10,263,900
Granted Patent B2
US 10,263,900 · App. 15/674,031 · Granted Apr 16, 2019

Programmable packet processor (PPP)-based adaptive network function chaining

Inventor: Travis Duanne Ewert (Highlands Ranch, CO)
Assignee: Level 3 Communications, LLC
H04L47/2416H04L41/0806H04L41/5054H04L45/24H04L45/308H04L47/2425H04L47/2483
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 10,263,900
App. No.
15/674,031
Granted
Apr 16, 2019
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for dynamically applying PPP-based network functions to traffic flows based on heuristics, policy conditions, and client-specified conditions. A network monitors a network traffic flow to determine whether the network traffic flow meets a first criterion of a first rule. The criterion specifies that when the first criterion is met, a PPP-based network function be used to analyze or process the network traffic flow. When the network traffic flow is determined to meet the first criterion, the network determines a first route through the network to a PPP-based router that provides the PPP-based network function and configures one or more routers along the first route to forward the network traffic flow to the PPP-based router for analysis or processing.

Claims (54)

1. A computer-implemented method for dynamically provisioning a programmable packet processor (PPP)-based network function in a network comprising one or more PPP-based routers, the computer-implemented method comprising:

(a) monitoring a network traffic flow, including at least one packet routed through the network, to determine whether the network traffic flow meets a first criterion of a first rule, the first rule specifying that, when the first criterion is met, the PPP-based network function be used to analyze or process the network traffic flow; and

(b) when the network traffic flow is determined to meet the first criterion:

(i) selecting, from the one or more PPP-based routers of the network, a PPP-based router able to provide the PPP-based network function;

(ii) configuring the selected PPP-based router to enable the PPP-based network function;

(iii) determining a first route through the network to the selected PPP-based router;

(iv) determining one or more routers along the first route; and

(v) configuring the one or more routers along the first route to forward the network traffic flow to the selected PPP-based router for analysis or processing.

2. The computer-implemented method of claim 1 , wherein the selected PPP-based router runs one or more programmable packet processors (PPPs) on a data forwarding plane of the selected PPP-based router.

3. The computer-implemented method of claim 2 , wherein the one or more PPPs of the selected PPP-based router are programmed to provide the PPP-based network function.

4. The computer-implemented method of claim 3 , wherein the one or more PPPs of the selected PPP-based router are programmed to provide the PPP-based network function using a programming protocol-independent packet processors (P4) programming language.

5. The computer-implemented method of claim 1 , wherein the traffic flow is routed through an existing route before the traffic flow is determined to meet the first criterion, and the selecting the PPP-based router (b)(i) comprises:

(1) determining that the existing route includes a PPP-based router able to provide the PPP-based network function;

(2) selecting the PPP-based router included in the existing route; and

(3) keeping the existing route as the determined first route.

6. The computer-implemented method of claim 1 , wherein the PPP-based network function comprises at least one of real-time in-band network telemetry, real-time path load-balancing, real-time service chaining, real-time firewall, and real-time Access Control List (ACL).

7. The computer-implemented method of claim 1 , wherein the configuring (b)(ii) comprises enabling a PPP program corresponding to the PPP-based network function.

8. A program storage device tangibly embodying a program of instructions executable by at least one machine to dynamically provision a programmable packet processor (PPP)-based network function in a network comprising one or more PPP-based routers, the instructions comprising the steps of:

(a) monitoring a network traffic flow, including at least one packet routed through the network, to determine whether the network traffic flow meets a first criterion of a first rule, the first rule specifying that, when the first criterion is met, the PPP-based network function be used to analyze or process the network traffic flow; and

(b) when the network traffic flow is determined to meet the first criterion:

(i) selecting, from the one or more PPP-based routers of the network, a PPP-based router able to provide the PPP-based network function;

(ii) configuring the selected PPP-based router to enable the PPP-based network function;

(iii) determining a first route through the network to the selected PPP-based router;

(iv) determining one or more routers along the first route; and

(v) configuring the one or more routers along the first route to forward the network traffic flow to the selected PPP-based router for analysis or processing.

9. The program storage device of claim 8 , wherein the selected PPP-based router runs one or more programmable packet processors (PPPs) on a data forwarding plane of the selected PPP-based router.

10. The program storage device of claim 9 , wherein the one or more PPPs are programmed to provide the PPP-based network function.

11. The program storage device of claim 10 , wherein the one or more PPPs are programmed to provide the PPP-based network function using a programming protocol-independent packet processors (P4) programming language.

12. The program storage device of claim 8 , wherein the traffic flow is routed through an existing route before the traffic flow is determined to meet the first criterion, and the selecting the PPP-based router (b)(i) comprises:

(1) determining that the existing route includes a PPP-based router able to provide the PPP-based network function;

(2) selecting the PPP-based router included in the existing route; and

(3) keeping the existing route as the determined first route.

13. The program storage device of claim 8 , wherein the PPP-based network function comprises at least one of real-time in-band network telemetry, real-time path load-balancing, real-time service chaining, real-time firewall, and real-time Access Control List (ACL).

14. The program storage device of claim 8 , wherein the configuring (b)(ii) comprises enabling a PPP program corresponding to the PPP-based network function.

15. A system for dynamically provisioning a programmable packet processor (PPP)-based network function in a network comprising one or more PPP-based routers, comprising:

a memory; and

one or more processors coupled to the memory, the one or more processors configured to:

monitor a network traffic flow, including at least one packet routed through the network, to determine whether the network traffic flow meets a first criterion of a first rule, the first rule specifying that, when the first criterion is met, the PPP-based network function be used to analyze or process the network traffic flow; and

when the network traffic flow is determined to meet the first criterion:

select, from the one or more PPP-based routers of the network, a PPP-based router able to provide the PPP-based network function;

configure the selected PPP-based router to enable the PPP-based network function;

determine a first route through the network to the selected PPP-based router;

determine one or more routers along the first route; and

configure the one or more routers along the first route to forward the network traffic flow to the selected PPP-based router for analysis or processing.

16. The system of claim 15 , wherein the selected PPP-based router runs one or more programmable packet processors (PPPs) on a data forwarding plane of the selected PPP-based router.

17. The system of claim 16 , wherein the one or more PPPs are programmed to provide the PPP-based network function.

18. A computer-implemented method for dynamically provisioning a programmable packet processor (PPP)-based network function in a network comprising one or more routers able to include a PPP, the computer-implemented method comprising:

(a) monitoring a network traffic flow, including at least one packet routed through the network, to determine whether the network traffic flow meets a first criterion of a first rule, the first rule specifying that, when the first criterion is met, the PPP-based network function be used to analyze or process the network traffic flow; and

(b) when the network traffic flow is determined to meet the first criterion:

(i) selecting, from the one or more routers of the network, a router able to provide the PPP-based network function;

(ii) configuring the selected router to enable the PPP-based network function;

(iii) determining a first route through the network to the selected router;

(iv) determining one or more routers along the first route; and

(v) configuring the one or more routers along the first route to forward the network traffic flow to the selected PPP-based router for analysis or processing.

Assignments (3)
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (SECOND LIEN) Recorded Nov 4, 2024
From: LEVEL 3 COMMUNICATIONS, LLC; GLOBAL CROSSING TELECOMMUNICATIONS, INC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069295/0749 →
NOTICE OF GRANT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY (FIRST LIEN) Recorded Nov 4, 2024
From: LEVEL 3 COMMUNICATIONS, LLC; GLOBAL CROSSING TELECOMMUNICATIONS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069295/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2017
From: EWERT, TRAVIS DUANE
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 043489/0209 →
Continuity (2)
Provisional Application 62524261 · Jun 23, 2017
Related Publication 20180375777A1 · Dec 27, 2018