Dynamic cascaded clustering for dynamic VNF
First Claim
1. A network device comprising:
- a first network interface for communicatively coupling to a data network;
a second network interface for communicatively coupling to a data plane configured to host a plurality of virtual network functions (VNFs) in a cascaded node chain, the cascaded node chain comprising a head node, a middle node, and a tail node providing instances of a single network function in a cascade fashion, wherein the head node is configured to receive external traffic; and
one or more logic elements, including at least a processor and a memory, comprising a resource controller engine operable for;
receiving a network flow via the first network interface, the network flow comprising data for matching the network flow to a resource instance in the cascaded node chain;
sending the network flow to the data plane via the second network interface;
receiving the network flow back from the data plane;
determining that the network flow does not match a resource instance in the cascaded node chain;
provisioning a free flow entry on a resource instance to match the network flow;
determining that no network function instances on the data plane have a free flow entry;
spawning a new network function instance on the data plane; and
designating the new network function instance as a tail node.
1 Assignment
0 Petitions
Accused Products
Abstract
In an example, a server architecture is described for a dynamic cascaded node chain providing a resource cluster. The cascaded node chain may include one or more resource instances provisioned as a head node, zero or more middle nodes, and a tail node. Each node may include a discrete number of available resource entries in a flow table. As traffic enters the head node, each node attempts to match the traffic to an entry in its flow table. If no match is found, the packet is downlinked to the next node in the chain. If the packet reaches the tail node without a match, it is punted to the controller. The controller may then provision a matching entry if an entry is available. If not, the controller may spawn a new resource instance. When the full capacity of the cluster is reached, non-matching entries may be dropped.
31 Citations
20 Claims
-
1. A network device comprising:
-
a first network interface for communicatively coupling to a data network; a second network interface for communicatively coupling to a data plane configured to host a plurality of virtual network functions (VNFs) in a cascaded node chain, the cascaded node chain comprising a head node, a middle node, and a tail node providing instances of a single network function in a cascade fashion, wherein the head node is configured to receive external traffic; and one or more logic elements, including at least a processor and a memory, comprising a resource controller engine operable for; receiving a network flow via the first network interface, the network flow comprising data for matching the network flow to a resource instance in the cascaded node chain; sending the network flow to the data plane via the second network interface; receiving the network flow back from the data plane; determining that the network flow does not match a resource instance in the cascaded node chain; provisioning a free flow entry on a resource instance to match the network flow; determining that no network function instances on the data plane have a free flow entry; spawning a new network function instance on the data plane; and designating the new network function instance as a tail node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of providing a virtualized network function, implemented on a processor and a memory, comprising:
-
receiving a network flow via a first network interface, the network flow comprising data for matching the network flow to a resource instance in a cascaded node chain; sending the network flow to a data plane configured to host a plurality of virtual network functions (VNFs) in the cascaded node chain via a second network interface, the cascaded node chain comprising a head node, a middle node, and a tail node providing instances of a single network function in a cascade fashion, wherein the head node is configured to receive external traffic, and wherein the cascaded node chain has a separate data plane and control plane; receiving the network flow back from the data plane; determining that the network flow does not match a resource instance in the cascaded node chain; provisioning a free flow entry on a resource instance to match the network flow; determining that no network function instances on the data plane have a free flow entry; spawning a new network function instance on the data plane; and designating the new network function instance as a tail node. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. One or more tangible, non-transitory computer-readable mediums having stored thereon executable instructions operable for instructing a processor for providing a virtualized network function (VNF), comprising:
-
receiving a network flow via a first network interface, the network flow comprising data for matching the network flow to a resource instance in a cascaded node chain; sending the network flow to a data plane configured to host a plurality of virtual network functions (VNFs) in the cascaded node chain over a second network interface, the cascaded node chain comprising a head node, a middle node, and a tail node providing instances of a single network function in a cascade fashion, wherein the head node is configured to receive external traffic, and wherein the cascaded node chain has a separate data plane and control plane; receiving the network flow back from the data plane; determining that the network flow does not match a resource instance in the cascaded node chain; provisioning a free flow entry on a resource instance to match the network flow; determining that no network function instances on the data plane have a free flow entry; spawning a new network function instance on the data plane; and designating the new network function instance as a tail node. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification