IP Library Granted Patent US 11,012,294
Granted Patent B2
US 11,012,294 · App. 16/849,660 · Granted May 18, 2021

Inline data plane monitor placement and operation for network function virtualization

Inventors: Sylvia Ratnasamy (Berkeley, CA); Eugenia Corrales (Los Altos Hills, CA); Travis Duane Ewert (Highlands Ranch, CO)
Assignee: Nefeli Networks, Inc.
H04L41/0803H04L43/0876
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,012,294
App. No.
16/849,660
Granted
May 18, 2021
Kind
B2
Abstract

A method for inline data plane monitor placement and operation for network function virtualization involves receiving, at one or more control modules of a network, a logical monitoring specification. The logical monitoring specification includes a monitoring regime abstracted from a physical topology of the network. The one or more control modules perform one or more of instantiating or identifying one or more monitor instances of the network based on the logical monitoring specification, the one or more monitor instances being or having been instantiated within one or more data plane components of the network. The one or more control modules configure the one or more monitor instances based on the logical monitoring specification.

Claims (69)

1. A method, comprising:

receiving, at one or more control modules of a network, a logical monitoring specification, the logical monitoring specification comprising a monitoring regime abstracted from a physical topology of the network;

performing one of instantiating or identifying, by the one or more control modules, one or more monitor instances of the network based on the logical monitoring specification, the one or more monitor instances being or having been instantiated within one or more data plane components of the network; and

configuring, by the one or more control modules, the one or more monitor instances based on the logical monitoring specification.

2. The method of claim 1 , wherein:

the one or more data plane components comprise a software network switch.

3. The method of claim 1 , wherein:

the one or more monitor instances are in-line to a network packet flow within a data plane of the network.

4. The method of claim 1 , wherein:

the physical topology of the network comprises the one or more monitor instances and one or more software network function (NF) instances.

5. The method of claim 4 , wherein:

the logical monitoring specification indicates one or more logical NFs of the network to be monitored.

6. The method of claim 5 , wherein:

the one or more control modules map each of the one or more logical NFs to a respective corresponding NF instance of the network.

7. The method of claim 1 , wherein configuring the one or more monitor instances comprises:

configuring a first monitor instance of the one or more monitor instances to monitor a network traffic flow of the network if a first monitoring criteria is met.

8. The method of claim 7 , wherein configuring the one or more monitor instances comprises:

configuring a second monitor instance of the one or more monitor instances to monitor the network traffic flow of the network if a second monitoring criteria is met, the second monitoring criteria being substantially different than the first monitoring criteria.

9. The method of claim 1 , wherein configuring the one or more monitor instances comprises:

configuring a first monitor instance of the one or more monitor instances to perform one or more first actions based on first monitoring data generated by the first monitor instance.

10. The method of claim 9 , wherein configuring the one or more monitor instances comprises:

configuring a second monitor instance of the one or more monitor instances to perform one or more second actions based on second monitoring data generated by the second monitor instance, the one or more second actions being substantially different than the one or more first actions.

11. The method of claim 1 , further comprising:

initializing, at a first monitor instance of the one or more monitor instances, a first software process having a first code base; and

initializing, at a second monitor instance of the one or more monitor instances, a second software process having a second code base, the first code base being substantially different than the second code base.

12. The method of claim 11 , further comprising:

configuring, based on a first configuration, the first monitor instance to perform one or more first actions based on first monitoring data generated by the first monitor instance; and

configuring, based on a second configuration, the second monitor instance to perform one or more second actions based on second monitoring data generated by the second monitor instance, the first configuration being incompatible with the second code base, and the second configuration being incompatible with the first code base.

13. The method of claim 11 , further comprising:

configuring, based on a first configuration, the first monitor instance to monitor a network traffic flow of the network if a first monitoring criteria is met; and

configuring, based on a second configuration, the second monitor instance to monitor the network traffic flow of the network if a second monitoring criteria is met, the first configuration being incompatible with the second code base, and the second configuration being incompatible with the first code base.

14. The method of claim 1 , wherein configuring the one or more monitor instances comprises:

generating, by the one or more control modules, one or more monitoring configurations based on the logical monitoring specification; and

identifying, by the one or more control modules, the one or more monitor instances based on the logical monitoring specification; and

propagating, by the one or more control modules, the one or more monitoring configurations to the one or more monitor instances.

15. The method of claim 14 , further comprising:

monitoring, by the one or more monitor instances, a network packet flow of the network based on the one or more monitoring configurations.

16. The method of claim 1 , further comprising:

receiving a network packet at a first monitor instance of the one or more monitor instances, the first monitor instance being instantiated at a compute node of the network; and

propagating, by the first monitor instance, the network packet in the network.

17. The method of claim 16 , wherein propagating the network packet in the network comprises:

propagating the network packet to a software network function (NF) instance of the network, the NF instance being instantiated at the compute node.

18. The method of claim 16 , further comprising:

determining, by the first monitor instance, if a monitoring criteria is met;

generating, at the first monitor instance, monitoring data using the network packet if the monitoring criteria is met, wherein the monitoring data is not generated if the monitoring criteria is not met; and

propagating, by the first monitor instance if the monitoring data is generated, the monitoring data to the one or more control modules.

19. The method of claim 1 , further comprising:

receiving, at a first data plane component of the one or more data plane components, a network packet;

determining, by a first monitor instance of the one or more monitor instances, if a monitoring criteria is met, the first monitor instance being instantiated at the first data plane component;

generating, at the first monitor instance, monitoring data using the network packet if the monitoring criteria is met, wherein the monitoring data is not generated if the monitoring criteria is not met;

propagating, by the first monitor instance if the monitoring data is generated, the monitoring data to the one or more control modules; and

propagating, by the first monitor instance, the network packet.

20. The method of claim 19 , further comprising:

receiving, at the one or more control modules, the monitoring data; and

performing, by the one or more control modules, one or more actions based on the monitoring data, the one or more actions being specified by the logical monitoring specification.

21. The method of claim 1 , wherein identifying the one or more monitor instances of the network comprises:

identifying, by the one or more control modules, a first logical software network function (NF) specified by the logical monitoring specification;

identifying, by the one or more control modules, a first NF instance of the network, the first NF instance being an instance of the first logical NF, the first NF instance being instantiated at a first compute node of the network; and

identifying, by the one or more control modules, a first monitor instance of the one or more monitor instances of the network, the first monitor instance being instantiated at the first compute node.

22. The method of claim 21 , further comprising:

generating, at the first monitor instance, first monitoring data corresponding to the first NF instance; and

propagating, by the first monitor instance, the first monitoring data to the one or more control modules.

23. The method of claim 22 , further comprising:

identifying, by the one or more control modules, a second logical NF specified by the logical monitoring specification;

identifying, by the one or more control modules, a second NF instance of the network, the second NF instance being an instance of the second logical NF, the second NF instance being instantiated at a second compute node of the network; and

identifying, by the one or more control modules, a second monitor instance of the one or more monitor instances of the network, the second monitor instance being instantiated at the second compute node.

24. The method of claim 23 , further comprising:

generating, at the second monitor instance, second monitoring data corresponding to the second NF instance; and

propagating, by the second monitor instance, the second monitoring data to the one or more control modules.

Assignments (3)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2024
From: NEFELI NETWORKS, INC.
To: CLOUDFLARE, INC.
Reel/Frame 066293/0023 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2020
From: RATNASAMY, SYLVIA; CORRALES, EUGENIA; EWERT, TRAVIS DUANE
To: NEFELI NETWORKS, INC.
Reel/Frame 052461/0616 →
Continuity (2)
Provisional Application 62835309 · Apr 7, 2019
Related Publication 20200336369A1 · Oct 22, 2020