IP Library Granted Patent US 10,505,796
Granted Patent B2
US 10,505,796 · App. 15/319,463 · Granted Dec 10, 2019

Network function virtualization

Inventors: Ignacio Aldama Perez (Alcobendas, ES); Ruben Sevilla Giron (Alcorcon, ES); Norman Kincl (San Jose, CA)
Assignee: Hewlett Packard Enterprise Development LP
H04L41/0806G06F9/445H04L41/0893H04L67/34H04L41/00
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,505,796
App. No.
15/319,463
Granted
Dec 10, 2019
Kind
B2
Abstract

Examples for network function virtualization are described. These examples include accessing definition data defining a virtual network function, the virtual network function comprising one or more components. The definition data is then instantiated to generate an instance of the virtual network function. Physical computing resources may then be assigned to the instance of the virtual network function.

Claims (79)

1. A method comprising:

accessing definition data defining a virtual network function, the definition data comprising a plurality of object definitions representative of a plurality of components of the virtual network function;

instantiating the definition data to generate an instance of the virtual network function, including:

generating a representation of each of the plurality of components based on a respective one of the plurality of object definitions; and

applying one or more policy constraints to at least one of the generated representations to generate the instance; and

applying assignment logic to the generated instance to assign physical computing resources to the virtual network function,

wherein instantiating the definition data further includes:

for a first request to provision the virtual network function, applying a first set of policy constraints to at least one of the generated representations; and

for a second request to provision the virtual network function, applying a second set of policy constraints to at least one of the generated representations.

2. The method of claim 1 , wherein applying assignment logic comprises:

for a first request to provision the virtual network function, applying a first set of assignment logic to the generated instance; and

for a second request to provision the virtual network function, applying a second set of assignment logic to the generated instance.

3. The method of claim 1 , wherein applying assignment logic to the generated instance comprises:

obtaining state information for one or more physical servers; and

determining if the state information meets the requirements of the generated instance with the one or more applied policy constraints.

4. The method of claim 1 , wherein assigning physical resources to the instance of the virtual network function comprises:

assigning one or more physical servers to implement one or more physical components; and

assigning one or more virtual machines operating on one or more physical servers to implement one or more virtual components.

5. The method of claim 1 , wherein the definition data comprises:

one or more artifact definitions, an artifact comprising an entity in a data model, each artifact definition comprising values for one or more attributes of the artifact; and

one or more relationship definitions representing a relationship between the one or more artifacts,

wherein each component is defined as an artifact of a specific type having one or more relationships of a specific type.

6. The method of claim 1 , wherein generating a representation of each of the plurality of components based on a respective one of the plurality of object definitions comprises recursively generating such that at least one of the respective one of the plurality of object definitions includes a same object nested in a recursive manner.

7. The method of claim 1 , wherein the plurality of object definitions include a plurality of artifact definitions representative of the plurality of components of the virtual network function and one or more relationship definitions representative of one or more relationships between the plurality of components, the method further comprising:

using a first template defining one or more limitations to be applied to the definition data to generate the instance of the virtual network function;

applying one or more assignment rules defining how physical resources are to be applied to the instance of the virtual network function; and

using a controller to:

receive a request to provision the virtual network function; and

in response to receiving the request:

apply the first template to the data definition to generate the instance of the virtual network function; and

apply the one or more assignment rules to the instance function to provision the virtual network function on a set of physical computing resources.

8. The method of claim 7 , wherein the one or more components comprise one or more physical components and one or more virtual components, and wherein the instance comprises an instantiated representation of one or more physical servers that are assigned to implement the one or more physical components and an instantiated representation of one or more virtual machines operating on one or more physical servers that are assigned to implement the one or more virtual components.

9. The method of claim 7 , further comprising:

using at least the first template and a second template,

wherein the controller is arranged to parse the request to provision the virtual network function and select one of the first template and the second template based on the request.

10. A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon, which, when executed by a processing system, cause the processing system to:

access definition data defining a virtual network function, the definition data comprising a plurality of object definitions representative of a plurality of components of the virtual network function;

instantiate the definition data to generate an instance of the virtual network function, using instructions to:

generate a representation of each of the plurality of components based on a respective one of the plurality of object definitions; and

apply one or more policy constraints to at least one of the generated representations to generate the instance; and

apply assignment logic to the generated instance to assign physical computing resources to the virtual network function,

wherein the instructions to cause the processing system to instantiate the definition data include instructions to cause the processing system to:

for a first request to provision the virtual network function, apply a first set of policy constraints to at least one of the generated representations; and

for a second request to provision the virtual network function, apply a second set of policy constraints to at least one of the generated representations.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to cause the processing system to generate the representation of each of the plurality of components based on the respective one of the plurality of object definitions include instructions to cause the processing system to recursively generate such that at least one of the respective one of the plurality of object definitions includes a same object nested in a recursive manner.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to apply assignment logic include instructions to:

for a first request to provision the virtual network function, apply a first set of assignment logic to the generated instance; and

for a second request to provision the virtual network function, apply a second set of assignment logic to the generated instance.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to cause the processing system to instantiate the definition by applying assignment logic to the generated instance include instructions to cause the processing system to:

obtain state information for one or more physical servers; and

determine if the state information meets the requirements of the generated instance with the one or more applied policy constraints.

14. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to cause the processing system to assign physical resources to the instance of the virtual network function include instructions to cause the processing system to:

assign one or more physical servers to implement one or more physical components; and

assign one or more virtual machines operating on one or more physical servers to implement one or more virtual components.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the definition data comprises:

one or more artifact definitions, an artifact comprising an entity in a data model, each artifact definition comprising values for one or more attributes of the artifact; and

one or more relationship definitions representing a relationship between the one or more artifacts,

wherein each component is defined as an artifact of a specific type having one or more relationships of a specific type.

16. A computer system comprising:

a processing system; and

a non-transitory computer-readable storage medium communicatively coupled to the processing system and storing a set of computer-readable instructions, which, when executed by the processing system, cause the processing system to:

access definition data defining a virtual network function, the definition data comprising a plurality of object definitions representative of a plurality of components of the virtual network function;

instantiate the definition data to generate an instance of the virtual network function, using instructions to:

generate a representation of each of the plurality of components based on a respective one of the plurality of object definitions; and

apply one or more policy constraints to at least one of the generated representations to generate the instance; and

apply assignment logic to the generated instance to assign physical computing resources to the virtual network function,

wherein the instructions to cause the processing system to instantiate the definition data include instructions to cause the processing system to:

for a first request to provision the virtual network function, apply a first set of policy constraints to at least one of the generated representations; and

for a second request to provision the virtual network function, apply a second set of policy constraints to at least one of the generated representations.

17. The computer system of claim 16 , wherein the instructions to cause the processing system to generate the representation of each of the plurality of components based on the respective one of the plurality of object definitions include instructions to cause the processing system to recursively generate such that at least one of the respective one of the plurality of object definitions includes a same object nested in a recursive manner.

18. The computer system of claim 16 , wherein the instructions to apply assignment logic include instructions to:

for a first request to provision the virtual network function, apply a first set of assignment logic to the generated instance; and

for a second request to provision the virtual network function, apply a second set of assignment logic to the generated instance.

19. The computer system of claim 16 , wherein the instructions to cause the processing system to instantiate the definition by applying assignment logic to the generated instance include instructions to cause the processing system to:

obtain state information for one or more physical servers; and

determine if the state information meets the requirements of the generated instance with the one or more applied policy constraints.

20. The computer system of claim 16 , wherein the instructions to cause the processing system to assign physical resources to the instance of the virtual network function include instructions to cause the processing system to:

assign one or more physical servers to implement one or more physical components; and

assign one or more virtual machines operating on one or more physical servers to implement one or more virtual components.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: PEREZ, IGNACIO ALDAMA; GIRON, RUBEN SEVILLA
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 048515/0077 →
Continuity (1)
Related Publication 20170324612A1 · Nov 9, 2017