IP Library Granted Patent US 10,530,697
Granted Patent B2
US 10,530,697 · App. 15/046,071 · Granted Jan 7, 2020

Intent based network configuration

Inventors: Henry Louis Fourie (Livermore, CA); Hong Zhang (Palo Alto, CA)
Assignee: Futurewei Technologies, Inc.
H04L47/2425H04L41/0806
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,530,697
App. No.
15/046,071
Granted
Jan 7, 2020
Kind
B2
Abstract

An embodiment device includes a network interface, a non-transitory computer readable medium having executable instructions thereon, and a processor coupled to the network interface and the computer readable medium. The executable instructions cause the processor to receive an Intent representing requirements for data traffic on a network having a plurality of endpoints, with the Intent specifying one or more traffic parameters identifying one or more of the endpoints, and and at least one first service. The executable instructions also include instructions to generate one or more networking commands identifying the at least one first service according to the traffic parameters, send the networking commands to one or more network devices on the network and cause the network devices to perform the at least one first service on a first data transmission in response to parameters of the data transmission satisfying the one or more networking commands.

Claims (69)

1. A device comprising:

a network interface configured to communicate with a network having a plurality of endpoints;

a non-transitory computer-readable medium having executable instructions thereon; and

a processor coupled to the network interface and the computer-readable medium, wherein the processor executes the executable instructions to:

receive a representation of requirements for data traffic on the network, the representation comprising:

traffic parameters that include:

a Composite Endpoint Descriptor (CED) source identifier of a source CED for a source endpoint of the plurality of endpoints, the source CED having a first expression with a first flexible endpoint descriptor (FED) identifier of a first FED of the source CED, the first expression being a Boolean expression having a Boolean operator operating on the first FED identifier and a second FED identifier of a second FED of the source CED as Boolean operands, the first FED and the second FED each comprising a type, an FED operator, and a value that is used to partially identify the source endpoint; and

a CED destination identifier of a destination CED for a destination endpoint of the plurality of endpoints, the destination CED having a second expression with a third FED identifier of a third FED of the destination CED; and

an identification of at least one first service for data traffic associated with the traffic parameters;

generate binary parse trees of the first expression and the second expression;

generate tuples from the binary parse trees;

validate the tuples;

generate one or more flow descriptors from the tuples, each of the one or more flow descriptors comprising the CED source identifier and the CED destination identifier, wherein at least one flow descriptor of the one or more flow descriptors is associated with the at least one first service;

generate one or more networking commands identifying the at least one first service, the one or more networking commands comprising the one or more flow descriptors; and

send the one or more networking commands to one or more network devices on the network to cause the one or more network devices to perform the at least one first service on a first data transmission according to parameters of the first data transmission.

2. The device of claim 1 , wherein the parameters of the first data transmission comprise one or more parameters of a source of the first data transmission and one or more parameters of a destination of the first data transmission.

3. The device of claim 1 , wherein the representation comprises an identification of a plurality of services for a service chain for data traffic associated with the traffic parameters, the at least one first service being a part of the plurality of services for the service chain.

4. The device of claim 1 , wherein the second expression is a second Boolean expression having a second Boolean operator operating on the third FED identifier and a fourth FED identifier of a fourth FED of the destination CED as second Boolean operands.

5. The device of claim 1 , wherein at least one of the FEDs of the source CED identifies a data transmission parameter and one of a range of values or a group of values.

6. The device of claim 1 , wherein the processor further executes the executable instructions to:

receive an FED request to create the first FED of the source CED;

create, in a database, the first FED;

receive a CED request to create the source CED, wherein the source CED has the first FED identifier of the first FED in the first expression; and

create, in the database, the source CED.

7. The device of claim 1 , wherein the at least one first service is for at least one of access control, service function chaining, quality of service (QoS) management, logging, and transmission steering.

8. The device of claim 1 , wherein:

the first expression of the source CED and the second expression of the destination CED are text strings; and

the executable instructions causing the processor to generate one or more flow descriptors include executable instructions that cause the processor to:

convert the text strings of the first expression and the second expression to reverse polish notation (RPN) expressions; and

generate, from the RPN expressions of the first expression and the second expression, the binary parse trees of the first expression and the second expression.

9. The device of claim 1 , wherein the first expression of the source CED comprises a second CED identifier of a second CED, the second CED being different than the source CED and the destination CED, the second CED having a third expression with a fourth FED of the second CED.

10. The device of claim 1 , wherein the value of the first FED comprises a single value, a range of values, or a group of values.

11. A method comprising:

receiving a representation of requirements for data traffic on a network having a plurality of endpoints, the representation comprising:

traffic parameters that include:

a Composite Endpoint Descriptor (CED) source identifier of a source CED for a source endpoint of the plurality of endpoints, the source CED having a first expression with a first flexible endpoint descriptor (FED) identifier of a first FED of the source CED, the first expression being a Boolean expression having a Boolean operator operating on the first FED identifier and a second FED identifier of a second FED of the source CED as Boolean operands, the first FED and the second FED each comprising a type, an FED operator, and a value that is used to partially identify the source endpoint; and

a CED destination identifier of a destination CED for a destination endpoint of the plurality of endpoints, the destination CED having a second expression with a third FED identifier of a third FED of the destination CED; and

an identification of at least one first service for data traffic associated with the traffic parameters;

generating binary parse trees of the first expression and the second expression;

generating tuples from the binary parse trees;

validating the tuples;

generating one or more flow descriptors from the tuples, each of the one or more flow descriptors comprising the CED source identifier and the CED destination identifier, at least one flow descriptor of the one or more flow descriptors being associated with the at least one first service;

generating one or more networking commands identifying the at least one first service, the one or more networking commands comprising the one or more flow descriptors; and

sending the one or more networking commands to one or more network devices on the network to cause the one or more network devices to perform the at least one first service on a first data transmission according to parameters of the first data transmission.

12. The method of claim 11 , wherein the parameters of the first data transmission comprise one or more parameters of a source of the first data transmission and one or more parameters of a destination of the first data transmission.

13. The method of claim 11 , wherein the representation comprises an identification of a plurality of services for a service chain for data traffic associated with the traffic parameters, the at least one first service being a part of the plurality of services for the service chain.

14. The method of claim 11 , wherein the second expression is a second Boolean expression having a second Boolean operator operating on the third FED identifier and a fourth FED identifier of a fourth FED of the destination CED as second Boolean operands.

15. The method of claim 11 , wherein at least one of the FEDs of the source CED identifies a data transmission parameter and one of a range of values or a group of values.

16. The method of claim 11 , further comprising:

receiving an FED request to create the first FED of the source CED;

creating, in a database, the first FED;

receiving a CED request to create the source CED, wherein the source CED has the first FED identifier in the first expression; and

creating, in the database, the source CED.

17. The method of claim 11 , wherein the at least one first service is for at least one of access control, service function chaining, quality of service (QoS) management, logging, and transmission steering.

18. A method, comprising:

receiving, at a client application, one or more parameters;

sending, by the client application to a server on a network having a plurality of endpoints, a request to create a representation of requirements for data traffic on the network, the representation for processing data flows by network devices on the network, the representation comprising:

traffic parameters that include:

a Composite Endpoint Descriptor (CED) source identifier of a source CED for a source endpoint of the plurality of endpoints, the source CED having a first expression with a first flexible endpoint descriptor (FED) identifier of a first FED of the source CED, the first expression being a Boolean expression having a Boolean operator operating on the first FED identifier and a second FED identifier of a second FED of the source CED as Boolean operands, the first FED and the second FED each comprising a type, an FED operator, and a value that is used to partially identify the source endpoint; and

a CED destination identifier of a destination CED for a destination endpoint of the plurality of endpoints, the destination CED having a second expression with a third FED identifier of a third FED of the destination CED; and

an identification of a plurality of services for a service chain for data traffic associated with the traffic parameters; and

transmitting a data flow to the network devices so that the representation of the requirements is applied to the data flow, the network devices receiving, from the server, one or more networking commands identifying at least one first service associated with one or more flow descriptors, each of the one or more flow descriptors comprising the CED source identifier and the CED destination identifier, the server generating the one or more flow descriptors by:

generating binary parse trees of the first expression and the second expression;

generating tuples from the binary parse trees;

validating the tuples; and

generating the one or more flow descriptors from the tuples.

19. The method of claim 18 , wherein the plurality of services comprises one or more of access control, service function chaining, quality of service (QoS) management, logging, and transmission steering.

20. The method of claim 18 , wherein the second expression is a second Boolean expression having a second Boolean operator operating on at least the third FED identifier as a second Boolean operand.

21. The method of claim 18 , wherein each of the FEDs identifies a parameter of data transmissions and one of a range of values or a group of values.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2022
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD.
Reel/Frame 059682/0738 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2016
From: FOURIE, HENRY LOUIS; ZHANG, HONG
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 038226/0275 →
Continuity (2)
Provisional Application 62117306 · Feb 17, 2015
Related Publication 20160241436A1 · Aug 18, 2016
Cited By (1)
US 12,309,043