IP Library Granted Patent US 9,825,858
Granted Patent B2
US 9,825,858 · App. 14/553,772 · Granted Nov 21, 2017

Method to optimize flow-based network function chaining

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 9,825,858
App. No.
14/553,772
Granted
Nov 21, 2017
Kind
B2
Abstract

In a forwarding network comprising a function chain network controller, a plurality of intermediate network functions (NFs) and flow-based chain selectors (FBCSs) forming VNFs and configured to transfer data packets via a plurality of links, a method comprising a FBCS requesting substitution in the header representation of function chain entries of a data packet header in a flow with a different representation of function chain entries, wherein the flow bypasses at least one intermediate FBCS based on the substituted function chain entries representation. The function chain network controller discovers FBCS capable nodes and their topology, and maintains a function chain substitution state and distributes it to the FBCS relevant substitutions. The function chain network controller distributes a list of adjacent FBCSs to the FBCS, and distributes a list of abstracted adjacent FBCSs to the FBCS and translates requests from an abstracted value to a real value.

Claims (48)

1. A method comprising:

receiving a flow at a flow-based chain selector (FBCS) in a virtual network function (VNF), the FBCS in an original network function chain, from a previous network function in the original network function chain;

at the FBCS, substituting an entry for the FBCS in the original network function chain represented in a data packet header associated with the received flow, with another entry for an intermediate network function in the VNF to create a modified network function chain representation; and

transmitting by the FBCS, an instruction to the previous network function in the original network function chain to substitute the modified network function chain for the original network function chain for subsequent data packets in the flow;

the substitution bypassing the FBCS in the VNF and directing the flow to the intermediate network function in the VNF.

2. The method as specified in claim 1 , wherein the original network function chain representation is a source routed representation.

3. The method as specified in claim 2 , wherein the substitution comprises removing or adding an entry to an ordered set of network functions.

4. The method as specified in claim 1 , wherein the original network function chain representation is a locally significant label or a globally significant label.

5. The method as specified in claim 4 , wherein the substitution comprises pushing a label, popping a label, or setting a next network function.

6. The method as specified in claim 1 , wherein the FBCS requests substitutions of entries in the original network function chain representation for a specific flow from another network function.

7. The method as specified in claim 1 , wherein the FBCS maintains sub-flow tables that perform the substitutions and create a network function chain representation for each flow/sub-flow.

8. A method comprising:

a function chain network controller receiving a request from a flow-based chain selector (FBCS) in a virtual network function (VNF), the FBCS in an original network function chain representation receiving a flow from a previous network function in the original network function chain, to bypass the FBCS;

the function chain network controller substituting entries for the FBCS in the original network function chain representation of a data packet header associated with the received flow, with other entries for an intermediate network function in the VNF to create a modified network function chain representation; and

the substitution bypassing the FBCS in the VNF and directing the flow from the previous network function in the original network function chain to the intermediate network function in the VNF.

9. The method as specified in claim 8 , further comprising the function chain network controller:

maintaining a function chain substitution state; and

distributing substitutions to network functions in the original and modified network function chain representations in accordance with the function chain substitution state.

10. The method as specified in claim 8 , further comprising the function chain network controller distributing a list of adjacent network functions to the FBCS.

11. The method as specified in claim 10 , further comprising the function chain network controller:

maintaining a mapping between abstracted network function value and real network function value; and

translating requests from an abstracted network function value to a real network function value.

12. The method as specified in claim 11 , wherein the abstracted value is based on virtual network orchestration information and network function topology.

13. The method as specified in claim 11 , further comprising the function chain network controller fully abstracting the network function adjacencies and translates each said request into zero, one or multiple requests to network functions in the original and modified network function chain representations.

14. A function chain network controller operable in a forwarding network comprising a plurality of network functions configured to transfer data packets via a plurality of links, the function chain network controller comprising:

a processor; and

a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to:

discover the network functions in the forwarding network and their topology;

maintain a function chain substitution state and distribute substitutions to the network functions in accordance with the function chain substitution state; and

direct a flow from a previous network function in an original network function chain to an intermediate network function in a virtual network function (VNF) and bypass a flow-based chain selector (FBCS) in the VNF, the FBCS in the original network function chain representation receiving the flow from the previous network function in the original network function chain, in accordance with a request from the FBCS to bypass the FBCS and direct the flow to the intermediate network function in the VNF.

15. The function chain network controller as specified in claim 14 , wherein the programming includes instructions to distribute a list of adjacent network functions to the network functions.

16. The function chain network controller as specified in claim 14 , wherein the programming includes instructions to distribute a list of abstracted adjacent network functions to other network functions and translate substitution requests from an abstracted network function value to a real network function value.

17. The function chain network controller as specified in claim 16 , wherein the abstracted adjacent network functions are based on virtual network orchestration information and network function topology.

18. The function chain network controller as specified in claim 14 , wherein the programming includes instructions to fully abstract network function adjacencies and translate a substitution request into zero, one or multiple requests to network functions.

19. A flow-based chain selector (FBCS) in a virtual network function (VNF) comprising:

a processor; and

a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to:

receive a flow at the FBCS in an original network function chain from a previous network function in the original network function chain;

substitute by the FBCS an entry for the FBCS in the original network function chain represented in a data packet header associated with the received flow, with another entry for an intermediate network function in the VNF to create a modified network function chain representation; and

transmit by the FBCS an instruction to the previous network function in the original network function chain to substitute the modified network function chain for the original network function chain for subsequent data packets in the flow;

the substitution bypassing the FBCS in the VNF and directing the flow to the intermediate network function in the VNF.

20. The FBCS as specified in claim 19 , wherein the programming includes instructions to maintain sub-flow tables to perform the substitutions and create an ordered set of network functions for each sub-flow.

21. A function chain network controller comprising:

a processor; and

a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to:

receive a request from a flow-based chain selector (FBCS) in a virtual network function (VNF), the FBCS in an original network function chain representation receiving a flow from a previous network function in the original network function chain, to bypass the FBCS and direct the flow to an intermediate network function in the VNF;

substitute entries for the FBCS in the original network function chain representation of a data packet header associated with the received flow, with other entries for the intermediate network function to create a modified network function chain representation; and

the substitution bypassing the FBCS in the VNF and directing the flow from the previous network function in the original network function chain to the intermediate network function in the VNF.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2015
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 037274/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2014
From: ROCH, EVELYNE; BRONSTEIN, ZVIKA
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 034265/0512 →