# US 11,909,603 B2 · Priority based resource management in a network functions virtualization (NFV) environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,909,603 B2
- Document ID: US11909603B2
- Status: Granted
- Kind: B2
- Application number: 15/829,734
- Filed: 2017-12-01
- Published: 2019-06-06
- Granted: 2024-02-20
- Earliest claimed: 2017-12-01
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Akshya Kumar Singh; Vipin Dravid; Young Kook Bae
- Web page: https://patentgrep.com/patent/US11909603B2

## CPC

- H04L 41/5019: Ensuring fulfilment of SLA
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/0897: by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/5022: by giving priorities, e.g. assigning classes of service
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 41/5054: Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 47/822: {Collecting or measuring resource availability data}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- H04L 41/5009: Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A virtual network function (VNF) controller (or module) instantiates two or more VNFs in a communication network to support a network service where the two or more VNFs include at least a first VNF and a second VNF. The VNF controller assigns a priority value to each VNF base on an overall network impact, a physical location of at least one network resource allocated to the respective VNF, a type of service to be implemented by the respective VNF and a customer impact based on how many customers would be using the respective VNF. The VNF controller monitors network resources allocated to each VNF. The VNF controller further determines the first VNF requires additional network resources and releases the network resources allocated to the second VNF based on respective priority values. The VNF controller further allocates the network resources released by the second VNF to the first VNF.

## Claims

### Claim 1

A method, comprising:
instantiating, by a Virtual Network Functions (VNF) controller, a plurality of VNFs in a communication network to support a network service, the plurality of VNFs comprising a first VNF and a second VNF;
determining a respective priority value for a respective VNF of the plurality of VNFs including a respective priority value assigned to the first VNF and a respective priority value assigned to the second VNF, wherein the respective priority value for the respective VNF is determined based on an overall network impact, a physical location of at least one network resource allocated to the respective VNF, a type of service to be implemented by the respective VNF and a customer impact based on how many customers would be using the respective VNF;
assigning, by the VNF controller to the respective VNF of the plurality of VNFs, the respective priority value determined for the respective VNF of the plurality of VNFs;
monitoring, by the VNF controller, a respective set of network resources allocated to the respective VNF of the plurality of VNFs;
determining that the first VNF requires additional network resources;
releasing one or more network resources from the respective set of network resources that are allocated to the second VNF, the one or more network resources being released based on the respective priority value assigned to the first VNF and the respective priority value assigned to the second VNF; and
allocating, by the VNF controller, the one or more network resources released by the second VNF to the first VNF.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining, based on a network resource allocation between two or more VNFs from the plurality of VNFs, a disproportionate service impact associated the two or more VNFs from the plurality of VNFs; and
determining the respective priority value for each of the two or more VNFs based on the disproportionate service impact associated with the two or more VNFs.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
Determining that the respective priority value assigned to the second VNF is lower than the respective priority value assigned to the first VNF.

### Claim 4 (depends on 1)

The method of claim 1, wherein releasing the one or more network resources further comprises:
instructing, by the VNF controller, the second VNF to release the one or more network resources.

### Claim 5 (depends on 1)

The method of claim 1, wherein allocating the one or more network resources further comprises:
instructing, by the VNF controller, a Virtualized Infrastructure Manager (VIM) to allocate the one or more network resources released by the second VNF to the first VNF.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining that the first VNF requires the additional network resources is based on at least one of a change in network resource availability, a failure of a network resource, or a Service Level Agreement (SLA).

### Claim 7 (depends on 1)

The method of claim 1, wherein the VNF controller includes at least one of a Virtual Network Functions Manager (VNFM), a Virtual Network Functions Orchestrator (VNF-O), or an Element Manager (EM).

### Claim 8 (depends on 1)

The method of claim 1, wherein the respective set of network resources allocated to the respective VNF of the plurality of VNFs comprises at least one of a virtual server resource, a virtual compute resource, or a virtual storage resource.

### Claim 9

A Virtual Network Functions (VNF) controller, comprising:
one or more processors; and
a memory having stored thereon instructions which, when executed by the one or more processors, cause the one or more processors to:
instantiate a plurality of VNFs in a communication network to support a network service, the plurality of VNFs comprising a first VNF and a second VNF including a respective priority value assigned to the first VNF and a respective priority value assigned to the second VNF;
determine a respective priority value for a respective VNF of the plurality of VNFs, wherein the respective priority value for the respective VNF is determined based on an overall network impact, a physical location of at least one network resource allocated to the respective VNF, a type of service to be implemented by the respective VNF and a customer impact based on how many customers would be using the respective VNF;
assign, to the respective VNF of the plurality of VNFs, the respective priority value determined for the respective VNF of the plurality of VNFs;
monitor a respective set of network resources allocated to the respective VNF of the plurality of VNFs;
determine the first VNF requires additional network resources;
release one or more network resources from the respective set of network resources that are allocated to the second VNF, the one or more network resources being released based on the respective priority value assigned to the first VNF and the respective priority value assigned to the second VNF; and
allocate the one or more network resources released by the second VNF to the first VNF.

### Claim 10 (depends on 9)

The VNF controller of claim 9, the memory having stored thereon instructions which, when executed by the one or more processors, cause the one or more processors to:
determine, based on a network resource allocation between two or more VNFs from the plurality of VNFs, a disproportionate service impact associated the two or more VNFs from the plurality of VNFs; and
determine the respective priority value for each of the two or more VNFs based on the disproportionate service impact associated with the two or more VNFs.

### Claim 11 (depends on 9)

The VNF controller of claim 9, the memory having stored thereon instructions which, when executed by the one or more processors, cause the one or more processors to:
determine that the respective priority value assigned to the second VNF is lower than the respective priority value assigned to the first VNF.

### Claim 12 (depends on 9)

The VNF controller of claim 9, wherein the one or more network resources comprises:
instructing the second VNF to release the at least one of the one or more network resources.

### Claim 13 (depends on 9)

The VNF controller of claim 9, wherein allocating the one or more network resources comprises:
instructing a Virtualized Infrastructure Manager (VIM) to allocate the one or more network resources released by the second VNF to the first VNF.

### Claim 14 (depends on 9)

The VNF controller of claim 9, wherein determining the first VNF requires the additional network resources is based on at least one of a change in network resource availability, a failure of a network resource, or a Service Level Agreement (SLA).

### Claim 15 (depends on 9)

The VNF controller of claim 9, wherein the VNF controller includes at least one of a Virtual Network Functions Manager (VNFM), a Virtual Network Functions Orchestrator (VNF-O), or an Element Manager (EM).

### Claim 16 (depends on 9)

The VNF controller of claim 9, wherein the respective set of network resources allocated to the plurality of VNFs comprises at least one of a virtual server resource, a virtual compute resource, or a virtual storage resource.

### Claim 17

A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by one or more processors, are operable to:
instantiate a plurality of VNFs in a communication network to support a network service, the plurality of VNFs comprising a first VNF and a second VNF including a respective priority value assigned to the first VNF and a respective priority value assigned to the second VNF;
determine a respective priority value for a respective VNF of the plurality of VNFs, wherein the respective priority value for the respective VNF is determined based on an overall network impact, a physical location of at least one network resource allocated to the respective VNF, a type of service to be implemented by the respective VNF and a customer impact based on how many customers would be using the respective VNF;
assign, to the respective VNF of the plurality of VNFs, the respective priority value determined for the respective VNF of the plurality of VNFs;
monitor a respective set of network resources allocated to the respective VNF of the plurality of VNFs;
determine the first VNF requires additional network resources;
release one or more network resources from the respective set of network resources that are allocated to the second VNF, the one or more network resources being released based on the respective priority value assigned to the first VNF and the respective priority value assigned to the second VNF; and
allocate the one or more network resources released by the second VNF to the first VNF.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, storing instructions that, when executed by the one or more processors, are further operable to:
determine, based on a network resource allocation between two or more VNFs from the plurality of VNFs, a disproportionate service impact associated the two or more VNFs from the plurality of VNFs based on at least one of a customer impact, a type of service, a load of the service, or a physical location of the network resources allocated to the respective VNF; and
determine the respective priority value for each of the two or more VNFs based on the disproportionate service impact associated with the two or more VNFs.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein determining the first VNF requires the additional network resources is based on at least one of a change in network resource availability, a failure of a network resource, or a Service Level Agreement (SLA).

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein releasing the one or more network resources comprises:
instructing the second VNF to release the one or more network resources.
