IP Library Granted Patent US 10,469,317
Granted Patent B1
US 10,469,317 · App. 15/473,369 · Granted Nov 5, 2019

Virtualized network function descriptors for virtualized network function configuration

Inventors: Tong Jiang (Fremont, CA); Roshan Joyce (Bangalore, IN); Gopi Krishna (Saratoga, CA); Sankar Ramamoorthi (San Jose, CA)
Assignee: Juniper Networks, Inc.
H04L41/082G06F9/45504H04L12/4641
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,469,317
App. No.
15/473,369
Granted
Nov 5, 2019
Kind
B1
Abstract

Techniques are described for dynamically adapting virtualized network functions (VNFs) to different target environments. A controller stores device profiles that include configuration data and workflows for resolving configuration parameters for instantiating and deploying a VNF package to form a network service. To support the resolution of VNF configuration parameters, a VNF descriptor for the VNF is extended to include a device family parameter that indicates a shared architecture and configuration parameters. The controller, when instantiating the VNF, may identify a device profile usable for resolving the configuration parameters for the VNF and obtain configuration data from the device profile for creating and configuring a VNF instance for the VNF descriptor. Extending the VNF descriptor to specify a device family allows the VNF to be flexibly adapted for different target environments and may avoid the use of numerous pre-defined VNF descriptors.

Claims (63)

1. A method comprising:

receiving, by at least one controller device for a network function virtualization infrastructure, a network service descriptor (NSD) for a network service, the NSD comprising a virtualized network function descriptor (VNFD) that describes a virtualized network function (VNF), the VNFD comprising a device family parameter that indicates a device family for the VNF, wherein the device family for the VNF comprises a plurality of VNFs of different types that have a common architecture with one another and at least one configuration parameter in common with one another;

obtaining, by the at least one controller device based on the VNFD, an executable package for the VNF;

obtaining, by the at least one controller device and based on the device family for the VNF, bootstrap configuration data for the executable package for the VNF;

prior to instantiating an instance of the executable package for the VNF, configuring, by the at least one controller device and based on the bootstrap configuration data, the instance of the executable package for the VNF to execute by the network function virtualization infrastructure as part of the network service;

instantiating, by the at least one controller device after configuring the instance of the executable package for the VNF, the instance of the executable package for the VNF to a host device of the network function virtualization infrastructure;

after instantiating the instance of the executable package for the VNF, obtaining, by the at least one controller device, and based on the device family for the VNF, traffic steering configuration data for the executable package for the VNF; and

configuring, by the at least one controller device, the instance of the executable package for the VNF with the traffic steering configuration data.

2. The method of claim 1 , wherein obtaining the bootstrap configuration data for the executable package for the VNF comprises:

identifying, by the at least one controller device and based at least in part on the device family for the VNF, a device profile that defines one or more bootstrap workflows; and

executing the one or more bootstrap workflows to obtain the bootstrap configuration data.

3. The method of claim 2 , wherein the identifying comprises, by the at least one controller device and based at least in part on the device family for the VNF and a type of virtualized infrastructure manager (VIM), the device profile.

4. The method of claim 3 , wherein the type of the VIM indicates a type of the network function virtualization architecture.

5. The method of claim 1 , wherein obtaining the traffic steering configuration data for the executable package for the VNF comprises:

identifying, by the at least one controller device and based at least in part on the device family for the VNF, a device profile that defines one or more traffic steering configuration workflows; and

executing the one or more traffic steering workflows to obtain the traffic steering configuration data.

6. The method of claim 1 , wherein obtaining the bootstrap configuration data for the executable package for the VNF comprises:

identifying, by the at least one controller device and based at least in part on the device family for the VNF, a device profile that defines one or more input configuration parameters;

supplying respective values for the one or more input configuration parameters;

receiving the bootstrap configuration data comprising the respective values for the one or more input configuration parameters for application to the executable package for the VNF.

7. The method of claim 1 , wherein obtaining the bootstrap configuration data for the executable package for the VNF comprises obtaining at least one completed configuration template by:

identifying, by the at least one controller device and based at least in part on the device family for the VNF, a device profile that defines at least one configuration template and one or more configuration parameters;

resolving the one or more configuration parameters to obtain values for the one or more configuration parameters; and

completing the at least one configuration template with the values for the one or more configuration parameters to generate the at least one completed configuration template.

8. The method of claim 1 , wherein obtaining the bootstrap configuration data for the executable package for the VNF comprises:

identifying, by the at least one controller device and based at least in part on the device family for the VNF, a device profile that specifies values for one or more statically-defined configuration parameters that comprise the bootstrap configuration data.

9. At least one controller device for a network function virtualization infrastructure, the at least one controller device comprising one or more processors operably coupled to a memory and configured to:

receive a network service descriptor (NSD) for a network service, the NSD comprising a virtualized network function descriptor (VNFD) that describes a virtualized network function (VNF), the VNFD comprising a device family parameter that indicates a device family for the VNF, wherein the device family for the VNF comprises a plurality of VNFs of different types that have a common architecture with one another and at least one configuration parameter in common with one another;

obtain, based on the VNFD, an executable package for the VNF;

obtain, based on the device family for the VNF, bootstrap configuration data for the executable package for the VNF;

prior to instantiating an instance of the executable package for the VNF, configure, based on the bootstrap configuration data, the instance of the executable package for the VNF to execute by the network function virtualization infrastructure as part of the network service,

instantiate, after configuring the instance of the executable package for the VNF, the instance of the executable package for the VNF to a host device of the network function virtualization infrastructure;

after instantiating the instance of the executable package for the VNF, obtain, based on the device family for the VNF, traffic steering configuration data for the executable package for the VNF; and

configure the instance of the executable package for the VNF with the traffic steering configuration data.

10. The at least one controller device of claim 9 , wherein, to obtain the bootstrap configuration data for the executable package for the VNF, the at least one controller device is further configured to:

identify, based at least in part on the device family for the VNF, a device profile that defines one or more bootstrap workflows; and

execute the one or more bootstrap workflows to obtain the bootstrap configuration data.

11. The at least one controller device of claim 10 , wherein, to identify, based at least in part on the device family for the VNF, the device profile that defines the one or more bootstrap workflows, the at least one controller device is further configured to identify, based at least in part on the device family for the VNF and a type of virtualized infrastructure manager (VIM), the device profile.

12. The at least one controller device of claim 11 , wherein the type of the VIM indicates a type of the network function virtualization architecture.

13. The at least one controller device of claim 9 , wherein, to obtain the traffic steering configuration data for the executable package for the VNF, the at least one controller device is further configured to:

identify, based at least in part on the device family for the VNF, a device profile that defines one or more traffic steering workflows; and

execute the one or more traffic steering workflows to obtain the traffic steering configuration data.

14. The at least one controller device of claim 9 , wherein, to obtain the bootstrap configuration data for the executable package for the VNF, the at least one controller device is further configured to:

identify, based at least in part on the device family for the VNF, a device profile that defines one or more input configuration parameters;

supply respective values for the one or more input configuration parameters; and

receive the bootstrap configuration data comprising the respective values for the one or more input configuration parameters for application to the executable package for the VNF.

15. The at least one controller device of claim 9 , wherein, to obtain the bootstrap configuration data for the executable package for the VNF, the at least one controller device is further configured to obtain at least one completed configuration template by:

identifying, based at least in part on the device family for the VNF, a device profile that defines at least one configuration template and one or more configuration parameters;

resolving the one or more configuration parameters to obtain values for the one or more configuration parameters; and

completing the at least one configuration template with the values for the one or more configuration parameters to generate the at least one completed configuration template.

16. The at least one controller device of claim 9 , wherein, to obtain the bootstrap configuration data for the executable package for the VNF, the at least one controller device is further configured to:

identify based at least in part on the device family for the VNF, a device profile that specifies values for one or more statically-defined configuration parameters that comprise the bootstrap configuration data.

17. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause at least one controller device for a network function virtualization infrastructure to:

receive a network service descriptor (NSD) for a network service, the NSD comprising a virtualized network function descriptor (VNFD) that describes a virtualized network function (VNF), the VNFD comprising a device family parameter that indicates a device family for the VNF, wherein the device family for the VNF comprises a plurality of VNFs of different types that have a common architecture with one another and at least one configuration parameter in common with one another;

obtain, based on the VNFD, an executable package for the VNF;

obtain, based on the device family for the VNF, bootstrap configuration data for the executable package for the VNF;

prior to instantiating an instance of the executable package for the VNF, configure, based on the bootstrap configuration data, the instance of the executable package for the VNF to execute by the network function virtualization infrastructure as part of the network service,

instantiate, after configuring the instance of the executable package for the VNF, the instance of the executable package for the VNF to a host device of the network function virtualization infrastructure;

after instantiating the instance of the executable package for the VNF, obtain, based on the device family for the VNF, traffic steering configuration data for the executable package for the VNF; and

configure the instance of the executable package for the VNF with the traffic steering configuration data.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions further cause the at least one controller device to:

identify, based at least in part on the device family for the VNF, a device profile that defines one or more bootstrap workflows; and

execute the bootstrap one or more workflows to obtain the bootstrap configuration data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2017
From: JIANG, TONG; JOYCE, ROSHAN; KRISHNA, GOPI; RAMAMOORTHI, SANKAR
To: JUNIPER NETWORKS, INC.
Reel/Frame 041789/0531 →
Cited By (5)
US 12,255,791 US 12,301,455 US 12,316,711 US 12,413,470 US 12,578,987