IP Library Granted Patent US 10,666,516
Granted Patent B2
US 10,666,516 · App. 15/090,024 · Granted May 26, 2020

Constraint-based virtual network function placement

Inventors: Vishwanath Jayaraman (Austin, TX); Thomas D. Nadeau (Hampton, NH)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04L41/12H04L12/4641H04L67/10
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,666,516
App. No.
15/090,024
Granted
May 26, 2020
Kind
B2
Abstract

A network function virtualization (NFV) orchestration manager utilizes characteristics of the particular host, such as the platform itself, the hypervisor and the network interface to determine virtual network function (VNF) deployment. Exemplary platform characteristics are latency, throughput, scalability and migration. Factors are developed for each characteristic to provide positive or negative values used in the determination so that each host receives values for each characteristic. Each VNF is associated with desirable characteristics. When a VNF is to be deployed, the NVF orchestration manager determines the host factors relevant to the VNF. After analyzing the hosts and comparing them to the VNF requirements, a host choice is determined and the VNF is deployed to that host, with a virtual machine (VM) being created if needed. In a similar manner, VNFs can be chosen for inclusion in a service function chain (SFC).

Claims (96)

1. A method, comprising:

determining, by a virtual network function (VNF) operation managing server that manages a VNF, whether a host is being added to a network; and

in response to determining that the host is being added to the network:

gathering platform characteristics of the host;

providing the platform characteristics of the host to a global database;

determining, for each platform characteristic, a plurality of platform factors used for VNF placement of the host;

analyzing the plurality of platform factors to determine a number of platform factors having positive values and a number of platform factors having negative values;

determining a difference between the plurality of platform factors by subtracting the number of platform factors having negative values from the number of platform factors having positive values;

updating the platform characteristics of the host in the global database based on the determined difference;

gathering, hypervisor characteristics of the host;

providing the hypervisor characteristics of the host to the global database;

determining, for each hypervisor characteristic, a plurality of hypervisor factors used for VNF placement of the host;

analyzing the plurality of hypervisor factors to determine a number of hypervisor factors having positive values and a number of factors having negative values;

determining a difference between the plurality of hypervisor factors by subtracting the number of hypervisor factors having negative values from the number of hypervisor factors having positive values;

updating the hypervisor characteristics of the host in the global database based on the determined difference;

gathering, network characteristics of the host;

providing the network characteristics of the host to the global database;

determining, for each network characteristic, a plurality of network factors used for VNF placement of the host;

analyzing the plurality of network factors to determine a number of network factors having positive values and a number of factors having negative values;

determining a difference between the plurality of network factors by subtracting the number of network factors having negative values from the number of network factors having positive values; and

updating the network characteristics of the host in the global database based on the determined difference.

2. The method of claim 1 , further comprising:

deploying the VNF to the host.

3. The method of claim 1 , further comprising:

indicating inclusion of the VNF and the host into a service function chain (SFC).

4. The method of claim 1 , further comprising:

migrating the VNF to the host.

5. The method of claim 1 , wherein the platform characteristics are latency reduction, throughput enhancement, scalability enhancement and migration conduciveness.

6. The method of claim 5 , wherein

the platform factors include a processor being non-uniform memory access (NUMA), that hyperthreading of the processor has been disabled, the processor being dedicated, presence of a single root I/O virtualization (SR-IOV) network interface card (NIC),

the hypervisor factors include a presence of vhost.net operation, huge pages, a presence of a PCI pass-through card, a use of Data Plane Development Kit (DPDK) and a use of the Quick Emulator (QEMU), and

the network factors include a presence of high-speed NIC and a capability to do NIC bonding.

7. A system, comprising:

a processor;

a network interface card communicating with a virtual network function (VNF) manager, a virtual machine (VM) manager and a software defined network (SDN) manager;

memory coupled to the processor and storing executable instructions that cause the processor to:

determine whether a host is being added to a network; and

in response to determining that the host is being added to the network:

gather platform characteristics of the host;

provide the platform characteristics of the host to a global database;

determine, for each platform characteristic, a plurality of platform factors used for VNF placement of the host;

analyze the plurality of platform factors to determine a number of platform factors having positive values and a number of platform factors having negative values;

determine a difference between the plurality of platform factors by subtracting the number of platform factors having negative values from the number of platform factors having positive values;

update the platform characteristics of the host in the global database based on the determined difference;

gather, hypervisor characteristics of the host;

provide the hypervisor characteristics of the host to the global database;

determine, for each hypervisor characteristic, a plurality of hypervisor factors used for VNF placement of the host;

analyze the plurality of hypervisor factors to determine a number of hypervisor factors having positive values and a number of hypervisor number of factors having negative values;

determine a difference between the plurality of hypervisor factors by subtracting the number of hypervisor factors having negative values from the number of hypervisor factors having positive values;

update the hypervisor characteristics of the host in the global database based on the determined difference;

gather, network characteristics of the host;

provide the network characteristics of the host to the global database;

determine, for each network characteristic, a plurality of network factors used for VNF placement of the host;

analyze the plurality of network factors to determine a number of network factors having positive values and a number of network factors having negative values;

determine a difference between the plurality of network factors by subtracting the number of network factors having negative values from the number of network factors having positive values; and

update the network characteristics of the host in the global database based on the determined difference.

8. The system of claim 7 , wherein the processor is further configured to deploy the VNF to the host.

9. The system of claim 7 , wherein the processor is further configured to indicate inclusion of the VNF and the host into a service function chain (SFC).

10. The system of claim 7 , wherein the processor is further configured to migrate the VNF to the host.

11. The system of claim 7 , wherein the platform characteristics are latency reduction, throughput enhancement, scalability enhancement and migration conduciveness.

12. The system of claim 7 , wherein

the platform factors include a processor being non-uniform memory access (NUMA), that hyperthreading of the processor has been disabled, the processor being dedicated, presence of a single root I/O virtualization (SR-IOV) network interface card (NIC),

the hypervisor factors include a presence of vhost.net operation, huge pages, a presence of a PCI pass-through card, a use of Data Plane Development Kit (DPDK) and a use of the Quick Emulator (QEMU), and

the network factors include a presence of high-speed NIC and a capability to do NIC bonding.

13. A non-transitory storage medium storing computer executable instructions which, when executed by a processor of a virtual network (VNF) operation managing server that manages a VNF, causes the processor to execute a method comprising:

determining whether a host is being added to a network; and

in response to determining that the host is being added to the network:

gathering platform characteristics of the host;

providing the platform characteristics of the host to a global database;

determining, for each platform characteristic, a plurality of platform factors used for VNF placement of the host;

analyzing the plurality of platform factors to determine a number of platform factors having positive values and a number of platform factors having negative values;

determining a difference between the plurality of platform factors by subtracting the number of platform factors having negative values from the number of platform factors having positive values;

updating the platform characteristics of the host in the global database based on the determined difference;

gathering, hypervisor characteristics of the host;

providing the hypervisor characteristics of the host to the global database;

determining, for each hypervisor characteristic, a plurality of hypervisor factors used for VNF placement of the host;

analyzing the plurality of hypervisor factors to determine a number of hypervisor factors having positive values and a number of factors having negative values;

determining a difference between the plurality of hypervisor factors by subtracting the number of hypervisor factors having negative values from the number of hypervisor factors having positive values;

updating the hypervisor characteristics of the host in the global database based on the determined difference;

gathering, network characteristics of the host;

providing the network characteristics of the host to the global database;

determining, for each network characteristic, a plurality of network factors used for VNF placement of the host;

analyzing the plurality of network factors to determine a number of network factors having positive values and a number of factors having negative values;

determining a difference between the plurality of network factors by subtracting the number of network factors having negative values from the number of network factors having positive values; and

updating the network characteristics of the host in the global database based on the determined difference.

14. The non-transitory storage medium of claim 13 , wherein the method further comprises:

deploying the VNF to the host.

15. The non-transitory storage medium of claim 13 , wherein the method further comprises:

indicating inclusion of the VNF and the host into a service function chain (SFC).

16. The non-transitory storage medium of claim 13 , wherein the method further comprises:

migrating the VNF to the host.

17. The non-transitory storage medium of claim 13 , wherein the platform characteristics are latency reduction, throughput enhancement, scalability enhancement and migration conduciveness.

18. The non-transitory storage medium of claim 13 , wherein

the platform factors include a processor being non-uniform memory access (NUMA), that hyperthreading of the processor has been disabled, the processor being dedicated, presence of a single root I/O virtualization (SR-IOV) network interface card (NIC),

the hypervisor factors include a presence of vhost.net operation, huge pages, a presence of a PCI pass-through card, a use of Data Plane Development Kit (DPDK) and a use of the Quick Emulator (QEMU), and

the network factors include a presence of high-speed NIC and a capability to do NIC bonding.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2017
From: JAYARAMAN, VISHWANATH; NADEAU, THOMAS D.
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 044113/0643 →
Cited By (2)
US 12,236,229 US 12,495,009