Releasing and retaining resources for use in a NFV environment

Information

  • Patent Grant
  • 11196640
  • Patent Number
    11,196,640
  • Date Filed
    Tuesday, July 28, 2020
    3 years ago
  • Date Issued
    Tuesday, December 7, 2021
    2 years ago
Abstract
A virtual network function (VNF) management system includes a computer-executable set of instructions to deploy a VNF using one or more resources allocated for use by the VNF in which the one or more resources are allocated by communicating with a resource manager that manages the one or more resources. The system then receives a request from a user interface to un-deploy the VNF, and un-deploys the VNF while keeping the resources allocated for use by the VNF. At a later time, the system can then receive a request to restore the VNF from the user interface, and deploy the VNF again using the allocated resources.
Description
TECHNICAL FIELD

The disclosure relates generally to computer networking tools, and more particularly to a system and method for releasing and retaining resources in a network functions virtualization environment.


BACKGROUND

Due to recent network focused advancements in computing hardware, services that were previously only capable of being delivered by proprietary, application-specific hardware can now be provided using software running on computing hardware by utilizing virtualization techniques that run on high-volume server, switch, and storage computing hardware to virtualize network functions. By leveraging virtualization technology to consolidate different types of network equipment onto the computing hardware, switches, storage, and network functions, such as network address translation (NAT), firewalling, intrusion detection, domain name service (DNS), load balancing, caching, and the like can be decoupled from computing hardware and can instead be run as software. This virtualization of network functions on commodity hardware is sometimes referred to as Network Functions Virtualization (NFV).


Network Functions Virtualization (NFV) refers to a technology that is used to design a network structure with industry standard servers, switches, and storage that are provided as devices at a user end. That is, the NFV technology implements network functions as software that can be run in existing industry standard servers and hardware. NFV technology may also be supported by a cloud computing technology and in some cases, may also utilize various industry-standard high volume server technologies.


In an effort to develop a fully virtualized infrastructure, leading service providers have collaborated together to create the European Telecommunications Standards Institute (ETSI) Industry Specification Group (ISG) for Network Functions Virtualization (NFV) working group. This group has helped create the architecture and associated requirements for virtualizing various functions within telecommunications networks. Benefits of NFV include reduced capital expenditure (e.g., by reducing the need to purchase purpose-built hardware), operating expenditure (e.g., by reducing space, power, and cooling requirements), reduced time-to-market (e.g., accelerated deployment), improved flexibility to address constantly changing demands, and the like.





BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will be readily understood by the following detailed description in conjunction with the accompanying drawings in which:



FIG. 1 illustrates an example network functions virtualization (NFV) environment in which a virtual network function (VNF) management system for releasing and retaining cloud resources may be embodied.



FIG. 2 illustrates a call flow diagram showing how the system deploys a VNF in the NFV environment according to some embodiments of the present disclosure.



FIG. 3 illustrates an example call flow diagram that may be performed by the system according to some embodiments of the present disclosure.



FIGS. 4A and 4B illustrate an example main user interface screen and a VNF management user interface screen, respectively, that may be generated on the client computing device according to some embodiments of the present disclosure.



FIG. 5 illustrates the basic computing components of a computing device according to some embodiments of the present disclosure.





DESCRIPTION OF EXAMPLE EMBODIMENTS
Overview

Disclosed are systems, methods and computer-readable devices related to a virtual network function (VNF) service that, when a VNF is un-deployed with the intention of changing or tuning some configuration and instantiating it again, the underlying resources used to support that VNF are not released to be used by other VNFs. Many scenarios exist where the VNF needs to be un-deployed (e.g., brought down) to fix or change a configuration mistake that was done while instantiating the VNF. Embodiments of the present disclosure provide a system, method, and computer-readable instructions to maintain the resources in a dedicated condition in relation to the VNF so that, after the VNF has been un-deployed, the VNF may again be re-deployed on those dedicated resources.


Additional systems, methods and computer-readable devices provide a user interface that displays existing VNFs and a means to un-deploy the VNF instances. When users are finished reconfiguring and making changes to the VNF, they can reinstate the VNF. While un-deployed, the NFV orchestration framework does not release the resources, such as central processing units (CPUs), memory, disk space, and the like, back to the cloud. Additionally, the user interface provides means for releasing the resources back to the cloud in the event that the VNF is no longer needed or desired.


Description


FIG. 1 illustrates an example network functions virtualization (NFV) environment 100 in which a virtual network function (VNF) management system 102 for releasing and retaining cloud resources may be embodied. The system 102 includes a NFV orchestrator 104 that communicates with a client computing device 106 to configure and deploy a VNF 108 on one or more resources 114 in the NFV environment 100. According to embodiments of the present disclosure, the NFV orchestrator 104 provides a technique for, when a previously deployed VNF 108 is to be temporarily un-deployed for some reason, such as to fix a configuration mistake in the VNF 108, the resources 114 used to support the VNF 108 are maintained in a dedicated condition in relation to the VNF 108 so that the VNF 108 may again be deployed on those same resources. In additional embodiments, the system 102 also provides a user interface 110 for displaying the VNF 108 in a deployed or an un-deployed condition, receiving user input to re-deploy the VNF 108, and/or un-deploy the underlying resources when use of the VNF 108 is no longer needed or desired.


In general, VNFs 108 configured in a NFV environment are typically deployed using a technique as specified according to a specification, such as the European Telecommunications Standards Institute (ETSI) Industry Specification Group (ISG) for Network Functions Virtualization (NFV) working group. The ETSI/ISG/NFV specification specifies a certain sequence of operations that should be performed so that, among other things, the resulting VNFs 108 function properly in a consistent manner, and that the resources used to support those functions have ample performance capabilities. Additionally, when the VNF 108 is un-deployed, the specification specifies certain other operations that should be performed so that the VNF 108 is properly un-deployed, and that the resources allocated to the VNF 108 is given back to a resource pool so that those resources may be used by other VNFs.


In some cases, it would be beneficial to temporarily un-deploy the VNF 108. For example, the VNF 108 may have been deployed using a port assignment that is incompatible with another VNF 108, such as via a static Internet protocol (IP) address, or a target IP address/port for a remote destination that is mis-configured during deployment of the VNF 108. To fix these problems, the VNF 108 could un-deployed and re-deployed; however, conventional techniques for deploying VNFs 108, such as those promulgated by the ETSI/ISG/NFV specification, specifies that the underlying resources are also de-allocated when the VNF 108 is un-deployed, thus releasing the resources 114 back to a common pool to be used by other VNFs 108.


Although de-allocating the underlying resources used to support a VNF may appear to provide an adequate solution, it may engender other problems. For example, the physical location of the allocated resources 114 may be proximate to and/or have similar performance characteristics to other resources 114 used to support another VNF 108 that is to be used with the subject VNF 108. Thus, in this case, it would be beneficial to keep those resources 114 dedicated for use with the VNF 108 so that, when the VNF 108 is temporarily un-deployed, those resources 114 may again be used for supporting the VNF 108 in the NFV environment. Additionally, de-allocation and re-allocation of the underlying resources can be a time consuming task that often is an inefficient and cumbersome endeavor.


Certain embodiments of the present disclosure provide a solution to this problem by providing a system that allows a VNF 108 to be un-deployed and re-deployed using a technique that maintains the underlying resources used to support the VNF 108 in a dedicated state relative to the VNF 108. Thus, a VNF 108 can be un-deployed and re-deployed to leverage the advantages of any initialization processes configured for that VNF 108, while ensuring that the underlying resources remain available to support that VNF 108 when it is re-deployed.


The resources 114 on which the VNF 108 may be deployed may be embodied on any suitable computing architecture having multiple resources 114 for supporting the VNF 108. For example, the NFV environment 100 may include a unified computing system, a fabric-based computing system, a dynamic infrastructure, and/or a combination thereof In a particular example, the NFV environment 100 may include a virtualized computing environment having one or more physical resources 114a that execute one or more virtual machine (VM) resources 114b. It should be understood that the NFV environment 100 may include other components, such as gateways for secure management of data used by the VNF 108, communication nodes for communication among multiple computing systems, and/or other devices that support the overall operation of the NFV environment 100.


The NFV environment 100 may involve multiple computing components pre-integrated into an optimized computing solution. The computing components of the NFV environment 100 may include servers, data storage components, networking equipment and software for managing the integrated components. To assist in the scalability, management and sharing of resources, particularly in large computing system environments, the NFV environment 100 may include a pool of server, storage and networking resources, typically virtualized, that can be shared by multiple VNFs 108.


Example hardware resources 114a of the NFV environment 100 may include any type of hardware that provides physical resources for the virtual computing environment, while the virtual resources 114b include logical entities, such as virtual machines, virtual switches, virtual storage units, containers, and other forms of partitioning constructs. Virtual resources 114b may also include logical configuration constructs, such as storage partitions, port groups, virtual private clouds, virtual local area networks (LANs), private virtual data centers (PVDCs), that may be individually allocated to one or more VNFs. These hardware resources 114a and virtual resources 114b function in a collaborative manner to support the VNFs 108.


The resources 114 of the NFV environment 100 may be managed by a resource manager 116. Generally speaking, the resource manager 116 communicates with the physical resources 114a and virtual resources 114b (e.g., VMs) of the NFV environment 100 to manipulate the operation of the resources 114, as well as obtain status information, and report the status information to a user. In some embodiments, the resource manager 116 may function according to an OpenStack™ software platform. For an example in which the NFV environment 100 includes a virtualized computing environment, the compute resources may be managed by an element management application 106, such as a Unified Compute System Management (UCSM) application that is available from Cisco Systems.


The VNF manager 118 may include any type that manages the operation of the VNF 108, and communicates with the NFV orchestrator 104 for deploying the VNF 108 on the resources 114 of the NFV environment 100 through an VNF element manager 120. In some embodiments, the VNF manager 118 functions according to an operational support system (OSS) that manages various operations of the VNF 108 as well as other VNF related devices in the NFV environment 100. The VNF element manager 120 may be included to, among other things, provide network configuration of each or a combination of VNFs 108, network inventory of VNFs 108 in the NFV environment 100, network configuration of VNFs in the NFV environment 100, and fault management of VNFs in the NFV environment 100.



FIG. 2 illustrates a call flow diagram 200 showing how the system 102 deploys the VNF 108 in the NFV environment according to some embodiments of the present disclosure. At step 202, the NFV orchestrator 104 receives a request from the client computing device 106 for deploying the VNF 108. Thereafter at step 204, the NFV orchestrator 104 validates the request. For example, the NFV orchestrator 104 may validate the request by ensuring the client computing device 106 is authorized to request deployment of the VNF 108 and/or a type of the VNF 108 requested by the client computing device 106. The NFV orchestrator 104 may also check the feasibility of the VNF deployment at step 206. For example, the NFV orchestrator 104 may check the request against one or more rules or policies to ensure that the VNF 108 and/or characteristics of the VNF 108 are supported by the NFV environment 100.


At step 208, the NFV orchestrator 104 transmits a request to the VNF manager 118 to deploy the VNF 108. In turn, the VNF manager responds by validating the request at step 210. For example, the VNF manager 118 may validate the request by ensuring sufficient resource capacity exist for fulfilling the request, and/or that the NFV environment possesses the capabilities for deploying the VNF 108 using certain parameters to be associated with the VNF 108 included in the request. When the request is validated at step 210, the VNF manager 118 transmits a response to the request back to the NFV orchestrator 104 requesting that certain resources 114 be allocated for supporting the VNF 108.


At step 214, the NFV orchestrator 104 performs one or more pre-allocation processing for deploying the VNF 108. For example, the NFV orchestrator 104 may update records stored in its memory indicating certain characteristics of the VNF 108, such as information associated with the user who issued the request through the client computing device 106, accounting information (e.g., lease information) to be assessed to the user for use of the VNF 108, and the like. According to some embodiments, the NFV orchestrator may also store identifying information for the resources 114 so that they may be dedicated for use with the VNF 108.


Thereafter at step 216, the NFV orchestrator 104 transmits a request to the resource manager 116 to allocate one or more resources 114 for the VNF 108. In turn, the resource manager 116 allocates its internal connectivity network at step 218 to support the resources 114. For example, the resource manager 116 may deploy and configure one or more virtual network resources 114 (e.g., a load balancer, a router, etc.) that are to be used by certain other resources 114 for supporting the VNF 108. Thereafter at step 220, the resource manager 116 allocates the other resources 114 (e.g., VMs) and attaches the resources 114 to the network configured at step 218. The resource manager 116 then transmits an acknowledgement message back to the NFV orchestrator 104 in response to the request transmitted at step 216 indicating that the resources 114 of the NFV environment 100 have been allocated to support the VNF 108 at step 222.


At step 224, the NFV orchestrator 104 transmits an acknowledgement message back to the VNF manager 118 indicating that the resources 114 of the NFV environment 100 have been successfully allocated. As a result, the VNF manager 118 configures the VNF 108 with deployment specific parameters (e.g., port assignments, routing tables, routing rules, etc.). For example, the VNF manager 118 may communicate with certain resources 114 configured by the resource manager 116 in steps 218 and 220 with additional parameters necessary for implementing the VNF 108. The VNF manager 118 also notifies the VNF element manager 120 that the VNF has been successfully deployed at step 228. Thereafter at step 230, the VNF element manager 120 configures the newly deployed VNF 108 with any particular parameters obtained from the VNF manager 118 at step 230.


At step 232, the VNF manager 118 transmits an acknowledgement message to the NFV orchestrator 104 indicating that the VNF 108 has been successfully deployed in which the NFV orchestrator 104 responds by transmitting an acknowledgement message to the client computing device 106 with the indication at step 234.


At this point, the VNF 108 has been deployed and is available for use by the user of the client computing device 106.



FIG. 3 illustrates an example call flow diagram 300 that may be performed by the system 102 according to some embodiments of the present disclosure. Initially, the VNF 108 has been previously deployed in the NFV environment 100. For example, the steps of the call flow diagram 300 may be performed after the steps of 202-234 have been performed as shown and described above with respect to FIG. 2.


At step 302, the NFV orchestrator 104 receives a request from the client computing device 106 to un-deploy (e.g., terminate) the VNF 108. Thereafter at step 304, the NFV orchestrator 104 validates the request. For example, the NFV orchestrator 104 may validate the request by ensuring the client computing device 106 is authorized to request un-deployment of the VNF 108. At step 306, the NFV orchestrator 104 transmits a request to the VNF manager 118 to un-deploy the VNF 108, in which the VNF manager 118 responds by un-deploying the VNF 108 at step 308. The VNF manager 118 then transmits an acknowledgement message to the NFV orchestrator 104 indicating that the VNF 108 has been successfully un-deployed from the NFV environment 100 at step 310.


At this point, the VNF 108 has been un-deployed from the NFV environment 100, while the resources 114 remain allocated for use with the VNF 108. For example, although the VNF 108 has been un-deployed at step 310, information associated with the resources 114 used to support the VNF 108 that has been stored at step 214 (See FIG. 2) remains persistent in the NFV orchestrator 104. Thus, the VNF 108 can be re-deployed on those same resources 114 using information stored in the NFV orchestrator 104. In one aspect, the resources 114 remain allocated to the VNF 108 because the resource manager 116 has not yet been notified that the underlying resources 114 used to support the VNF 108 has been un-deployed. Thus, the resource manager 116 receives no request to de-allocate the resources 114 used to support the VNF 108 and therefore does not de-allocated those resources 114. Additionally, because the resources 114 remain allocated for use with the VNF 108, other VNFs are restricted from using those resources 114.


At step 312, the NFV orchestrator 104 again deploys the VNF 108 using the resources 114 that have been previously allocated. In some embodiments, the system 102 may deploy the VNF 108 in a similar manner that the VNF 108 was deployed in steps 202-212 and 224-234 of FIG. 2. However, rather than performing the one or more pre-allocation processing for deploying the VNF 108 as is performed in step 214, the NFV orchestrator 104 obtains a unique identity of the VNF 108 being deployed, identifies the resources 114 that have been previously allocated to that VNF 108 according to information about the resources 114 stored in its memory, and selects those resources 114 to be used for supporting the VNF 108. At this point, the VNF 108 is now fully deployed again using the resources 114 that have been previously allocated for that VNF 108.


At some later point in time, it may be desired to un-deploy the VNF 108. Therefore, at step 314, the NFV orchestrator 104 may un-deploy the VNF 108 that has been deployed at step 312. For example, the system 102 may un-deploy the VNF 108 in a similar manner that the VNF 108 was un-deployed in steps 302-310. At this point, the VNF 108 has been un-deployed, but the resources 114 used to support the VNF 108 are still allocated for use with that VNF 108. Thus, the VNF 108 may again be deployed by performing step 312 again, or the resources 114 used to support the VNF 108 may be de-allocated so that those resources 114 may be added to the common pool to be used by other VNFs as described herein below at steps 316-324.


At step 316, the NFV orchestrator 104 transmits a request to the resource manager 116 to de-allocate the resources 114 used to support the VNF 108. In turn, the resource manager 116 de-allocates its internal connectivity network at step 318. For example, the resource manager 116 may delete the one or more previously allocated virtual network resources 114 (e.g., load balancers, routers, switches, etc.) that were allocated at step 218. Thereafter at step 320, the resource manager 116 de-allocates the resources 114 (e.g., VMs) allocated at step 220. The resource manager 116 then transmits an acknowledgement message back to the NFV orchestrator 104 indicating that the resources 114 have been de-allocated at step 322. Upon receipt of the acknowledgement message, the NFV orchestrator 104 then transmits an acknowledgement message to the client computing device 106 with the indication at step 324. At this point, the resources 114 have been de-allocated and are returned to the resource pool to be used to support the deployment of another VNF 108 by the system.



FIGS. 4A and 4B illustrate an example main user interface screen 400 and a VNF management user interface screen 410, respectively, that may be generated on the client computing device 106 according to some embodiments of the present disclosure. The main user interface screen 400 generally displays one or more icons 402 each representing an individual deployed VNF 108 in the system 102. For example, icon 402a may represent a first VNF 108 deployed in the NFV environment 100, icon 402b may represent a second VNF 108 deployed in the NFV environment 100, while icon 402c may represent a third VNF 108 deployed in the NFV environment 100. In a particular example, the VNFs 108 associated with the icons 402 may be generated by the NFV orchestrator 104 when steps 202-234 of FIG. 2 for each VNF 108 have been successfully completed.


The main user interface 400 provides for receiving user input for deploying, un-deploying, modifying, and/or monitoring VNFs 108 in the NFV environment. For example, the main user interface screen 400 may receive user input for performing steps 302-324 for un-deploying the VNF 108 and de-allocating its associated resources 114. The main user interface screen 400 also displays an un-deployment icon 404 that allows the user to un-deploy the VNFs 108 associated with each of the icons 402 shown in the main user interface 400 without de-allocating its underlying resources 114. For example, to un-deploy one of the VNFs 108 without de-allocating its resources 114, one or more of the icons 402 may be selected followed by selection of the un-deployment icon 404. In response to selection of the un-deployment icon 404, the system 102 may generate the VNF management user interface screen 410 as shown in FIG. 4B.


The VNF management user interface screen 410 displays a detailed list of certain parameters associated with each of the icons 402 displayed in the main user interface screen 400. The management user interface screen 410 may display an indication of the VNFs 108 in rows 412 in which certain parameters of each VNF 108 is displayed in columns 414. As shown, the VNF management user interface screen 410 displays a name of the VNF 108 in a column 414b, a number of CPUs allocated to the VNF 108 in column 414c, an amount of volatile memory allocated to the VNF 108 in column 414d, and amount of persistent storage (e.g., hard disk storage) allocated to the VNF 108 in column 414e. Although a VNF name, a number of CPUs, an amount of volatile memory, and an amount of persistent storage are shown, it should be appreciated that any parameter may be displayed in the VNF management user interface screen 410 without departing from the spirit and scope of the present disclosure.


The VNF management user interface screen 410 also includes a column 414a having a selectable field in each row 412 along with a ‘Release’ button 416 and a ‘Restore’ button 418 that can be used to un-deploy or re-deploy its associated VNF 108 without unallocating its underlying resources 114. For example, by receiving selection of a field in a row of a particular VNF, followed by selection of the ‘Release’ button 416, the system 102 may perform steps 302-310 of FIG. 3 to un-deploy that particular VNF 108 without de-allocating its underlying resources 114. Conversely, the system 102 may receive selection of a field in a row of the particular VNF, followed by selection of the ‘Restore’ button 418 to perform steps 224-234 of FIG. 2 for re-deploying the VNF 108 onto the resources 114 again.


Although FIGS. 4A and 4B illustrate example screens that may be used for receiving user input to un-deploy and re-deploy on resources 114 without de-allocating those resources 114, the system 102 may include additional, fewer, or different entry screens without departing from the spirit and scope of the present disclosure. For example, the system may include one or more other screens for facilitating display of information to the customer, and/or received user input from the customer for other operations to be performed on the VNFs 108.



FIG. 5 illustrates several basic hardware components that can apply to system examples of the present disclosure. For example, the NFV orchestrator 104, the VNF manager 118, the client computing device 106, the resource manager 116, the VNF element manager 120, and/or the physical resources 114 of the VNF environment 100 may include certain hardware components as described herein.


With reference to FIG. 5, an exemplary system and/or computing device 500 includes a processing unit (CPU or processor) 510 and a system bus 505 that couples various system components including the system memory 515 such as read only memory (ROM) 520 and random access memory (RAM) 525 to the processor 510. The system 502 can include a cache 512 of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor 510. The system 502 copies data from the memory 515, 520, and/or 525 and/or the storage device 530 to the cache 512 for quick access by the processor 510. In this way, the cache provides a performance boost that avoids processor 510 delays while waiting for data. These and other modules can control or be configured to control the processor 510 to perform various operations or actions. Other system memory 515 may be available for use as well. The memory 515 can include multiple different types of memory with different performance characteristics. It can be appreciated that the disclosure may operate on a computing device 500 with more than one processor 510 or on a group or cluster of computing devices networked together to provide greater processing capability. The processor 510 can include any general purpose processor and a hardware module or software module, such as module 1 532, module 2 534, and module 3 536 stored in storage device 530, configured to control the processor 510 as well as a special-purpose processor where software instructions are incorporated into the processor. The processor 510 may be a self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric. The processor 510 can include multiple processors, such as a system having multiple, physically separate processors in different sockets, or a system having multiple processor cores on a single physical chip. Similarly, the processor 510 can include multiple distributed processors located in multiple separate computing devices, but working together such as via a communications network. Multiple processors or processor cores can share resources such as memory 515 or the cache 512, or can operate using independent resources. The processor 510 can include one or more of a state machine, an application specific integrated circuit (ASIC), or a programmable gate array (PGA) including a field PGA.


The system bus 505 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. A basic input/output system (BIOS) stored in ROM 520 or the like, may provide the basic routine that helps to transfer information between elements within the computing device 500, such as during start-up. The computing device 500 further includes storage devices 530 or computer-readable storage media such as a hard disk drive, a magnetic disk drive, an optical disk drive, tape drive, solid-state drive, RAM drive, removable storage devices, a redundant array of inexpensive disks (RAID), hybrid storage device, or the like. The storage device 530 is connected to the system bus 505 by a drive interface. The drives and the associated computer-readable storage devices provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computing device 500. In one aspect, a hardware module that performs a particular function includes the software component stored in a tangible computer-readable storage device in connection with the necessary hardware components, such as the processor 510, bus 505, an output device such as a display 535, and so forth, to carry out a particular function. In another aspect, the system can use a processor and computer-readable storage device to store instructions which, when executed by the processor, cause the processor to perform operations, a method or other specific actions. The basic components and appropriate variations can be modified depending on the type of device, such as whether the computing device 500 is a small, handheld computing device, a desktop computer, or a computer server. When the processor 510 executes instructions to perform “operations”, the processor 510 can perform the operations directly and/or facilitate, direct, or cooperate with another device or component to perform the operations.


Although the exemplary embodiment(s) described herein employs a storage device such as a hard disk 530, other types of computer-readable storage devices which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, digital versatile disks (DVDs), cartridges, random access memories (RAMs) 525, read only memory (ROM) 520, a cable containing a bit stream and the like, may also be used in the exemplary operating environment. According to this disclosure, tangible computer-readable storage media, computer-readable storage devices, computer-readable storage media, and computer-readable memory devices, expressly exclude media such as transitory waves, energy, carrier signals, electromagnetic waves, and signals per se.


To enable user interaction with the computing device 500, an input device 545 represents any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 535 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems enable a user to provide multiple types of input to communicate with the computing device 500. The communications interface 540 generally governs and manages the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic hardware depicted may easily be substituted for improved hardware or firmware arrangements as they are developed.


For clarity of explanation, the illustrative system embodiment is presented as including individual functional blocks including functional blocks labeled as a “processor” or processor 510. The functions these blocks represent may be provided through the use of either shared or dedicated hardware, including, but not limited to, hardware capable of executing software and hardware, such as a processor 510, that is purpose-built to operate as an equivalent to software executing on a general purpose processor. For example, the functions of one or more processors presented in FIG. 5 can be provided by a single shared processor or multiple processors. (Use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software.) Illustrative embodiments may include microprocessor and/or digital signal processor (DSP) hardware, read-only memory (ROM) 520 for storing software performing the operations described below, and random access memory (RAM) 525 for storing results. Very large scale integration (VLSI) hardware embodiments, as well as custom VLSI circuitry in combination with a general purpose DSP circuit, may also be provided.


The logical operations of the various embodiments are implemented as: (1) a sequence of computer implemented steps, operations, or procedures running on a programmable circuit within a general use computer, (2) a sequence of computer implemented steps, operations, or procedures running on a specific-use programmable circuit; and/or (3) interconnected machine modules or program engines within the programmable circuits. The system 502 shown in FIG. 5 can practice all or part of the recited methods, can be a part of the recited systems, and/or can operate according to instructions in the recited tangible computer-readable storage devices. Such logical operations can be implemented as modules configured to control the processor 510 to perform particular functions according to the programming of the module. For example, FIG. 5 illustrates three modules Mod1 532, Mod2 534 and Mod3 536 which are modules configured to control the processor 510. These modules may be stored on the storage device 530 and loaded into RAM 525 or memory 515 at runtime or may be stored in other computer-readable memory locations.


One or more parts of the example computing device 500, up to and including the entire computing device 500, can be virtualized. For example, a virtual processor can be a software object that executes according to a particular instruction set, even when a physical processor of the same type as the virtual processor is unavailable. A virtualization layer or a virtual “host” can enable virtualized components of one or more different computing devices or device types by translating virtualized operations to actual operations. Ultimately however, virtualized hardware of every type is implemented or executed by some underlying physical hardware. Thus, a virtualization compute layer can operate on top of a physical compute layer. The virtualization compute layer can include one or more of a virtual machine, an overlay network, a hypervisor, virtual switching, and any other virtualization application.


The processor 510 can include all types of processors disclosed herein, including a virtual processor. However, when referring to a virtual processor, the processor 510 includes the software components associated with executing the virtual processor in a virtualization layer and underlying hardware necessary to execute the virtualization layer. The system 502 can include a physical or virtual processor 510 that receive instructions stored in a computer-readable storage device, which cause the processor 510 to perform certain operations. When referring to a virtual processor 510, the system also includes the underlying physical hardware executing the virtual processor 510.


The various aspects disclosed herein can be implemented as hardware, firmware, and/or software logic embodied in a tangible, i.e., non-transitory, medium that, when executed, is operable to perform the various methods and processes described above. That is, the logic may be embodied as physical arrangements, modules, or components. A tangible medium may be substantially any computer-readable medium that is capable of storing logic or computer program code which may be executed, e.g., by a processor or an overall computing system, to perform methods and functions associated with the examples. Such computer-readable mediums may include, but are not limited to including, physical storage and/or memory devices. Executable logic may include, but is not limited to including, code devices, computer program code, and/or executable computer commands or instructions.


It should be appreciated that a computer-readable medium, computer-readable storage device, or a machine-readable medium excludes signals or signals embodied in carrier waves.


It is believed that the present disclosure and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction, and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes.


While the present disclosure has been described with reference to various embodiments, it will be understood that these embodiments are illustrative and that the scope of the disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the present disclosure have been described in the context of particular implementations. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow.

Claims
  • 1. A management system comprising: at least one processor;at least one memory storing instructions which when executed by the at least on processor, cause the at least one processor to: un-deploy a virtual network function (VNF) without releasing one or more resources allocated to the VNF into a resource pool, the one or more resources reserved by un-deploying the VNF without notifying a resource manager configured to manage the one or more resources, the one or more resources dedicated to the VNF by the resource manager and restricting other VNFs from using the one or more resources until the one or more resources are released;re-deploy the VNF using the one or more resources; andun-deploy the VNF and de-allocate the one or more resources allocated to the VNF via a request transmitted to the resource manager.
  • 2. The management system of claim 1, further comprising instructions, which when executed by the at least one processor, cause the at least one processor to: display a user interface; andthe user interface is configured to receive a user input to un-deploy the VNF and display information associated with the one or more resources when the VNF is un-deployed.
  • 3. The management system of claim 2, further comprising instructions, which when executed by the at least one processor, cause the at least one processor to: receive a second user input to de-allocate the one or more resources so the one or more resources are no longer dedicated for use with the VNF when the VNF is un-deployed from the one or more resources.
  • 4. The management system of claim 2, wherein the user interface comprises a portion of a NFV orchestrator.
  • 5. The management system of claim 4, wherein the NFV orchestrator is configured to manage a memory with information associated with the one or more resources.
  • 6. The management system of claim 1, further comprising instructions, which when executed by the at least one processor, cause the at least one processor to: allocate the one or more resources and deploy the VNF according to a European Telecommunications Standards Institute (ETSI) Industry Specification Group (ISG) for Network Functions Virtualization (NFV) working group specification.
  • 7. The management system of claim 1, wherein, when the one or more resources are to be maintained for use by the VNF without release back to the resource pool, the resource manager is not notified when the VNF has been un-deployed, andwhen the one or more resources are to be released back to the resource pool, the resource manager is notified when the VNF has been un-deployed.
  • 8. A method comprising: un-deploying, by at least one processor, a virtual network function (VNF) without releasing one or more resources allocated to the VNF into a resource pool, the one or more resources reserved by un-deploying the VNF without notifying a resource manager configured to manage the one or more resources, the one or more resources dedicated to the VNF by the resource manager and restricting other VNFs from using the one or more resources until the one or more resources are released;re-deploying the VNF using the one or more resources; andun-deploying the VNF and de-allocate the one or more resources allocated to the VNF via a request transmitted to the resource manager.
  • 9. The method of claim 8, further comprising: displaying a user interface, the user interface receiving user input to un-deploy the VNF; anddisplaying information associated with the one or more resources when the VNF is un-deployed.
  • 10. The method of claim 9, further comprising: receiving user input for de-allocating the one or more resources such that the one or more resources are no longer dedicated for use with the VNF when the VNF is un-deployed from the one or more resources.
  • 11. The method of claim 9, wherein the user interface comprises a portion of a NFV orchestrator.
  • 12. The method of claim 11, wherein the NFV orchestrator is configured to manage information associated with the one or more resources.
  • 13. The method of claim 8, further comprising: allocating the one or more resources and deploying the VNF according to a European Telecommunications Standards Institute (ETSI) Industry Specification Group (ISG) for Network Functions Virtualization (NFV) working group specification.
  • 14. The method of claim 8, wherein, when the one or more resources are to be maintained for use by the VNF without release back to the resource pool, the resource manager is not notified when the VNF has been un-deployed, andwhen the one or more resources are to be released back to the resource pool, the resource manager is notified when the VNF has been un-deployed.
  • 15. A non-transitory computer-readable medium storing instructions, which when executed by at least one processor, causes the at least one processer to: un-deploy a virtual network function (VNF) without releasing one or more resources allocated to the VNF into a resource pool, the one or more resources reserved by un-deploying the VNF without notifying a resource manager configured to manage the one or more resources, the one or more resources dedicated to the VNF by the resource manager and restricting other VNFs from using the one or more resources until the one or more resources are released;re-deploying the VNF using the one or more resources; andun-deploying the VNF and de-allocate the one or more resources allocated to the VNF via a request transmitted to the resource manager.
  • 16. The non-transitory computer-readable medium of claim 15, further comprising instructions which when executed by the at least on processor, causes the at least one processor to: display a user interface on a display;the user interface is configured to receive user input to un-deploy the VNF and display information associated with the one or more resources when the VNF is un-deployed.
  • 17. The non-transitory computer-readable medium of claim 16, further comprising instructions which when executed by the at least on processor, causes the at least one processor to: receive user input for de-allocating the one or more resources such that the one or more resources are no longer dedicated for use with the VNF when the VNF is un-deployed from the one or more resources.
  • 18. The non-transitory computer-readable medium of claim 16, wherein the user interface comprises a portion of a NFV orchestrator.
  • 19. The non-transitory computer-readable medium of claim 16, wherein the NFV orchestrator is configured to manage a memory with information associated with the one or more resources.
  • 20. The non-transitory computer-readable medium of claim 15, wherein, when the one or more resources are to be maintained for use by the VNF without release back to the resource pool, the resource manager is not notified when the VNF has been un-deployed, andwhen the one or more resources are to be released back to the resource pool, the resource manager is notified when the VNF has been un-deployed.
CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 15/625,032 filed on Jun. 16, 2017, the contents of which is incorporated by reference in its entirety.

US Referenced Citations (413)
Number Name Date Kind
3629512 Yuan Dec 1971 A
4769811 Eckberg, Jr. et al. Sep 1988 A
5408231 Bowdon Apr 1995 A
5491690 Alfonsi et al. Feb 1996 A
5557609 Shobatake et al. Sep 1996 A
5600638 Bertin et al. Feb 1997 A
5687167 Bertin et al. Nov 1997 A
6115384 Parzych Sep 2000 A
6167438 Yates et al. Dec 2000 A
6400681 Bertin et al. Jun 2002 B1
6661797 Goel et al. Dec 2003 B1
6687229 Kataria et al. Feb 2004 B1
6799270 Bull et al. Sep 2004 B1
6888828 Partanen et al. May 2005 B1
6993593 Iwata Jan 2006 B2
7027408 Nabkel et al. Apr 2006 B2
7062567 Benitez et al. Jun 2006 B2
7095715 Buckman et al. Aug 2006 B2
7096212 Tribble et al. Aug 2006 B2
7139239 Mcfarland et al. Nov 2006 B2
7165107 Pouyoul et al. Jan 2007 B2
7197008 Shabtay et al. Mar 2007 B1
7197660 Liu et al. Mar 2007 B1
7209435 Kuo et al. Apr 2007 B1
7227872 Biswas et al. Jun 2007 B1
7231462 Berthaud et al. Jun 2007 B2
7333990 Thiagarajan et al. Feb 2008 B1
7443796 Albert et al. Oct 2008 B1
7458084 Zhang et al. Nov 2008 B2
7472411 Wing et al. Dec 2008 B2
7486622 Regan et al. Feb 2009 B2
7536396 Johnson et al. May 2009 B2
7552201 Areddu et al. Jun 2009 B2
7558261 Arregoces et al. Jul 2009 B2
7567504 Darling et al. Jul 2009 B2
7571470 Arregoces et al. Aug 2009 B2
7573879 Narad et al. Aug 2009 B2
7610375 Portolani et al. Oct 2009 B2
7643468 Arregoces et al. Jan 2010 B1
7644182 Banerjee et al. Jan 2010 B2
7647422 Singh et al. Jan 2010 B2
7657898 Sadiq Feb 2010 B2
7657940 Portolani et al. Feb 2010 B2
7668116 Wijnands et al. Feb 2010 B2
7684321 Muirhead et al. Mar 2010 B2
7738469 Shekokar et al. Jun 2010 B1
7751409 Carolan Jul 2010 B1
7793157 Bailey et al. Sep 2010 B2
7814284 Glass et al. Oct 2010 B1
7831693 Lai Nov 2010 B2
7852785 Lund et al. Dec 2010 B2
7860095 Forissier et al. Dec 2010 B2
7860100 Khalid et al. Dec 2010 B2
7895425 Khalid et al. Feb 2011 B2
7899012 Ho et al. Mar 2011 B2
7899861 Feblowitz et al. Mar 2011 B2
7907595 Khanna et al. Mar 2011 B2
7908480 Firestone et al. Mar 2011 B2
7983174 Monaghan et al. Jul 2011 B1
7990847 Leroy et al. Aug 2011 B1
8000329 Fendick et al. Aug 2011 B2
8018938 Fromm et al. Sep 2011 B1
8094575 Vadlakonda et al. Jan 2012 B1
8095683 Balasubramaniam Chandra Jan 2012 B2
8116307 Thesayi et al. Feb 2012 B1
8166465 Feblowitz et al. Apr 2012 B2
8180909 Hartman et al. May 2012 B2
8191119 Wing et al. May 2012 B2
8195774 Lambeth et al. Jun 2012 B2
8280354 Smith et al. Oct 2012 B2
8281302 Durazzo et al. Oct 2012 B2
8291108 Raja et al. Oct 2012 B2
8305900 Bianconi Nov 2012 B2
8311045 Quinn et al. Nov 2012 B2
8316457 Paczkowski et al. Nov 2012 B1
8355332 Beaudette et al. Jan 2013 B2
8442043 Sharma et al. May 2013 B2
8451817 Cheriton May 2013 B2
8464336 Wei et al. Jun 2013 B2
8473981 Gargi Jun 2013 B1
8479298 Keith et al. Jul 2013 B2
8498414 Rossi Jul 2013 B2
8520672 Guichard et al. Aug 2013 B2
8601152 Chou Dec 2013 B1
8605588 Sankaran et al. Dec 2013 B2
8612612 Dukes et al. Dec 2013 B1
8627328 Mousseau et al. Jan 2014 B2
8645952 Biswas et al. Feb 2014 B2
8676965 Gueta Mar 2014 B2
8676980 Kreeger et al. Mar 2014 B2
8700892 Bollay et al. Apr 2014 B2
8724466 Kenigsberg et al. May 2014 B2
8730980 Bagepalli et al. May 2014 B2
8743885 Khan et al. Jun 2014 B2
8751420 Hjelm et al. Jun 2014 B2
8762534 Hong et al. Jun 2014 B1
8762707 Killian et al. Jun 2014 B2
8792490 Jabr et al. Jul 2014 B2
8793400 Mcdysan et al. Jul 2014 B2
8812730 Vos et al. Aug 2014 B2
8819419 Carlson et al. Aug 2014 B2
8825070 Akhtar et al. Sep 2014 B2
8830834 Sharma et al. Sep 2014 B2
8904037 Haggar et al. Dec 2014 B2
8984284 Purdy, Sr. et al. Mar 2015 B2
9001827 Appenzeller Apr 2015 B2
9071533 Hui et al. Jun 2015 B2
9077661 Andreasen et al. Jul 2015 B2
9088584 Feng et al. Jul 2015 B2
9130872 Kumar et al. Sep 2015 B2
9143438 Khan et al. Sep 2015 B2
9160797 Mcdysan Oct 2015 B2
9178812 Guichard et al. Nov 2015 B2
9189285 Ng et al. Nov 2015 B2
9203711 Agarwal et al. Dec 2015 B2
9253274 Quinn et al. Feb 2016 B2
9300579 Frost et al. Mar 2016 B2
9300585 Kumar et al. Mar 2016 B2
9311130 Christenson et al. Apr 2016 B2
9319324 Beheshti-Zavareh et al. Apr 2016 B2
9325565 Yao et al. Apr 2016 B2
9338097 Anand et al. May 2016 B2
9344337 Kumar et al. May 2016 B2
9374297 Bosch et al. Jun 2016 B2
9379931 Bosch et al. Jun 2016 B2
9385950 Quinn et al. Jul 2016 B2
9398486 La Roche, Jr. et al. Jul 2016 B2
9407540 Kumar et al. Aug 2016 B2
9413655 Shatzkamer et al. Aug 2016 B2
9424065 Singh et al. Aug 2016 B2
9436443 Chiosi et al. Sep 2016 B2
9444675 Guichard et al. Sep 2016 B2
9460286 Felstaine et al. Oct 2016 B1
9473570 Bhanujan et al. Oct 2016 B2
9479443 Bosch et al. Oct 2016 B2
9491094 Patwardhan et al. Nov 2016 B2
9537836 Maller et al. Jan 2017 B2
9558029 Behera et al. Jan 2017 B2
9559970 Kumar et al. Jan 2017 B2
9571405 Pignataro et al. Feb 2017 B2
9608896 Kumar et al. Mar 2017 B2
9614739 Kumar et al. Apr 2017 B2
9660909 Guichard et al. May 2017 B2
9723106 Shen et al. Aug 2017 B2
9774533 Zhang et al. Sep 2017 B2
9794379 Kumar et al. Oct 2017 B2
9853914 Felstaine et al. Dec 2017 B1
9882776 Aybay et al. Jan 2018 B2
9882828 Sandlerman Jan 2018 B1
9929945 Schultz et al. Mar 2018 B2
10003530 Zhang et al. Jun 2018 B2
10187260 Chen et al. Jan 2019 B1
10248472 Erickson et al. Apr 2019 B2
10931525 Iovene Feb 2021 B2
20010023442 Masters Sep 2001 A1
20020085562 Hufferd et al. Jul 2002 A1
20020131362 Callon Sep 2002 A1
20020156893 Pouyoul et al. Oct 2002 A1
20020167935 Nabkel et al. Nov 2002 A1
20030023879 Wray Jan 2003 A1
20030026257 Xu et al. Feb 2003 A1
20030037070 Marston Feb 2003 A1
20030088698 Singh et al. May 2003 A1
20030110081 Tosaki et al. Jun 2003 A1
20030120816 Berthaud et al. Jun 2003 A1
20030214913 Kan et al. Nov 2003 A1
20030226142 Rand Dec 2003 A1
20040109412 Hansson et al. Jun 2004 A1
20040148391 Shannon, Sr. et al. Jul 2004 A1
20040199812 Earl Oct 2004 A1
20040213160 Regan et al. Oct 2004 A1
20040264481 Darling et al. Dec 2004 A1
20040268357 Joy et al. Dec 2004 A1
20050044197 Lai Feb 2005 A1
20050058118 Davis Mar 2005 A1
20050060572 Kung Mar 2005 A1
20050086367 Conta et al. Apr 2005 A1
20050120101 Nocera Jun 2005 A1
20050152378 Bango et al. Jul 2005 A1
20050157645 Rabie et al. Jul 2005 A1
20050160180 Rabje et al. Jul 2005 A1
20050204042 Banerjee et al. Sep 2005 A1
20050210096 Bishop et al. Sep 2005 A1
20050257002 Nguyen Nov 2005 A1
20050281257 Yazaki et al. Dec 2005 A1
20050286540 Hurtta et al. Dec 2005 A1
20050289244 Sahu et al. Dec 2005 A1
20060005240 Sundarrajan et al. Jan 2006 A1
20060031374 Lu et al. Feb 2006 A1
20060045024 Previdi et al. Mar 2006 A1
20060074502 Mcfarland Apr 2006 A1
20060092950 Arregoces et al. May 2006 A1
20060095960 Arregoces et al. May 2006 A1
20060112400 Zhang et al. May 2006 A1
20060155862 Kathi et al. Jul 2006 A1
20060168223 Mishra et al. Jul 2006 A1
20060233106 Achlioptas et al. Oct 2006 A1
20060233155 Srivastava Oct 2006 A1
20070061441 Landis et al. Mar 2007 A1
20070067435 Landis et al. Mar 2007 A1
20070094397 Krelbaum et al. Apr 2007 A1
20070143851 Nicodemus et al. Jun 2007 A1
20070237147 Quinn et al. Oct 2007 A1
20070250836 Li et al. Oct 2007 A1
20080056153 Liu Mar 2008 A1
20080080509 Khanna et al. Apr 2008 A1
20080080517 Roy et al. Apr 2008 A1
20080170542 Hu Jul 2008 A1
20080177896 Quinn et al. Jul 2008 A1
20080181118 Sharma et al. Jul 2008 A1
20080196083 Parks et al. Aug 2008 A1
20080209039 Tracey et al. Aug 2008 A1
20080219287 Krueger et al. Sep 2008 A1
20080225710 Raja et al. Sep 2008 A1
20080291910 Tadimeti et al. Nov 2008 A1
20090003364 Fendick et al. Jan 2009 A1
20090006152 Timmerman Jan 2009 A1
20090037713 Khalid et al. Feb 2009 A1
20090094684 Chinnusamy et al. Apr 2009 A1
20090204612 Keshavarz-nia et al. Aug 2009 A1
20090271656 Yokota et al. Oct 2009 A1
20090300207 Giaretta et al. Dec 2009 A1
20090305699 Deshpande et al. Dec 2009 A1
20090328054 Paramasivam et al. Dec 2009 A1
20100058329 Durazzo et al. Mar 2010 A1
20100063988 Khalid Mar 2010 A1
20100080226 Khalid Apr 2010 A1
20100165985 Sharma et al. Jul 2010 A1
20100191612 Raleigh Jul 2010 A1
20100211658 Hoogerwerf et al. Aug 2010 A1
20110023090 Asati et al. Jan 2011 A1
20110032833 Zhang et al. Feb 2011 A1
20110055845 Nandagopal Mar 2011 A1
20110131338 Hu Jun 2011 A1
20110137991 Russell Jun 2011 A1
20110142056 Manoj Jun 2011 A1
20110161494 Mcdysan et al. Jun 2011 A1
20110222412 Kompella Sep 2011 A1
20110255538 Srinivasan et al. Oct 2011 A1
20110267947 Dhar et al. Nov 2011 A1
20120131662 Kuik et al. May 2012 A1
20120147894 Mulligan et al. Jun 2012 A1
20120324442 Barde Dec 2012 A1
20120331135 Alon et al. Dec 2012 A1
20130003735 Chao et al. Jan 2013 A1
20130003736 Szyszko et al. Jan 2013 A1
20130040640 Chen et al. Feb 2013 A1
20130044636 Koponen et al. Feb 2013 A1
20130121137 Feng et al. May 2013 A1
20130124708 Lee et al. May 2013 A1
20130163594 Sharma et al. Jun 2013 A1
20130163606 Bagepalli et al. Jun 2013 A1
20130238806 Moen Sep 2013 A1
20130272305 Lefebvre et al. Oct 2013 A1
20130311675 Kancherla Nov 2013 A1
20130329584 Ghose et al. Dec 2013 A1
20140010083 Hamdi et al. Jan 2014 A1
20140010096 Kamble et al. Jan 2014 A1
20140036730 Nellikar et al. Feb 2014 A1
20140050223 Foo et al. Feb 2014 A1
20140067758 Boldyrev et al. Mar 2014 A1
20140105062 McDysan et al. Apr 2014 A1
20140181267 Wadkins et al. Jun 2014 A1
20140254603 Banavalikar et al. Sep 2014 A1
20140259012 Nandlall et al. Sep 2014 A1
20140279863 Krishnamurthy Sep 2014 A1
20140280836 Kumar et al. Sep 2014 A1
20140317261 Shatzkamer et al. Oct 2014 A1
20140321459 Kumar et al. Oct 2014 A1
20140334295 Guichard et al. Nov 2014 A1
20140344439 Kempf et al. Nov 2014 A1
20140362682 Guichard et al. Dec 2014 A1
20140362857 Guichard et al. Dec 2014 A1
20140369209 Khurshid et al. Dec 2014 A1
20140376558 Rao et al. Dec 2014 A1
20150003455 Haddad et al. Jan 2015 A1
20150012584 Lo et al. Jan 2015 A1
20150012988 Jeng et al. Jan 2015 A1
20150029871 Frost et al. Jan 2015 A1
20150032871 Allan et al. Jan 2015 A1
20150052516 French et al. Feb 2015 A1
20150071285 Kumar et al. Mar 2015 A1
20150074276 DeCusatis et al. Mar 2015 A1
20150082308 Kiess et al. Mar 2015 A1
20150085635 Wijnands et al. Mar 2015 A1
20150085870 Narasimha et al. Mar 2015 A1
20150089082 Patwardhan et al. Mar 2015 A1
20150092564 Aldrin Apr 2015 A1
20150103827 Quinn et al. Apr 2015 A1
20150117308 Kant Apr 2015 A1
20150124622 Kovvali et al. May 2015 A1
20150131484 Aldrin May 2015 A1
20150131660 Shepherd et al. May 2015 A1
20150156035 Foo et al. Jun 2015 A1
20150180725 Varney et al. Jun 2015 A1
20150180767 Tam et al. Jun 2015 A1
20150181309 Shepherd et al. Jun 2015 A1
20150188949 Mahaffey et al. Jul 2015 A1
20150195197 Yong et al. Jul 2015 A1
20150222516 Deval et al. Aug 2015 A1
20150222533 Birrittella et al. Aug 2015 A1
20150236948 Dunbar et al. Aug 2015 A1
20150248461 Theeten et al. Sep 2015 A1
20150319078 Lee et al. Nov 2015 A1
20150319081 Kasturi et al. Nov 2015 A1
20150326473 Dunbar et al. Nov 2015 A1
20150333930 Aysola et al. Nov 2015 A1
20150334027 Bosch et al. Nov 2015 A1
20150341285 Aysola et al. Nov 2015 A1
20150365495 Fan et al. Dec 2015 A1
20150381465 Narayanan et al. Dec 2015 A1
20150381557 Fan et al. Dec 2015 A1
20160028604 Chakrabarti et al. Jan 2016 A1
20160028640 Zhang et al. Jan 2016 A1
20160043952 Zhang et al. Feb 2016 A1
20160048403 Bugenhagen Feb 2016 A1
20160050117 Voellmy et al. Feb 2016 A1
20160050132 Zhang Feb 2016 A1
20160072724 Amann et al. Mar 2016 A1
20160080263 Park et al. Mar 2016 A1
20160080496 Falanga et al. Mar 2016 A1
20160099853 Nedeltchev et al. Apr 2016 A1
20160119159 Zhao et al. Apr 2016 A1
20160119253 Kang et al. Apr 2016 A1
20160127139 Tian et al. May 2016 A1
20160134518 Callon et al. May 2016 A1
20160134535 Callon May 2016 A1
20160139939 Bosch et al. May 2016 A1
20160164776 Biancaniello Jun 2016 A1
20160165014 Nainar et al. Jun 2016 A1
20160170848 Yang et al. Jun 2016 A1
20160173373 Guichard et al. Jun 2016 A1
20160173464 Wang et al. Jun 2016 A1
20160182336 Doctor et al. Jun 2016 A1
20160182342 Singaravelu et al. Jun 2016 A1
20160182684 Connor et al. Jun 2016 A1
20160212017 Li et al. Jul 2016 A1
20160226742 Apathotharanan Aug 2016 A1
20160239330 Mc Bride et al. Aug 2016 A1
20160248685 Pignataro et al. Aug 2016 A1
20160269925 Chou et al. Sep 2016 A1
20160277250 Maes Sep 2016 A1
20160285720 Mäenpää et al. Sep 2016 A1
20160323165 Boucadair et al. Nov 2016 A1
20160335111 Bruun et al. Nov 2016 A1
20160352629 Wang et al. Dec 2016 A1
20160352634 Itsumi Dec 2016 A1
20160353226 Rao et al. Dec 2016 A1
20160380966 Gunnalan et al. Dec 2016 A1
20170019303 Swamy et al. Jan 2017 A1
20170026235 Famaey Jan 2017 A1
20170031804 Ciszewski et al. Feb 2017 A1
20170063648 Nadaf et al. Mar 2017 A1
20170063714 Xiang Mar 2017 A1
20170068559 Lee Mar 2017 A1
20170070594 Oetting et al. Mar 2017 A1
20170078175 Xu et al. Mar 2017 A1
20170078216 Adolph et al. Mar 2017 A1
20170116021 Miller Apr 2017 A1
20170126792 Halpern et al. May 2017 A1
20170141944 Lee et al. May 2017 A1
20170142206 Kodaypak et al. May 2017 A1
20170150399 Kedalagudde et al. May 2017 A1
20170187572 Wu Jun 2017 A1
20170187609 Lee et al. Jun 2017 A1
20170208000 Bosch et al. Jul 2017 A1
20170208147 l'anson et al. Jul 2017 A1
20170214627 Zhang et al. Jul 2017 A1
20170236105 Feldpusch Aug 2017 A1
20170237656 Gage et al. Aug 2017 A1
20170249180 Chen et al. Aug 2017 A1
20170250917 Ruckstuhl et al. Aug 2017 A1
20170272470 Gundamaraju et al. Sep 2017 A1
20170279712 Nainar et al. Sep 2017 A1
20170279923 Kumar et al. Sep 2017 A1
20170288971 Jayaraman Oct 2017 A1
20170300352 Lou et al. Oct 2017 A1
20170310611 Kumar et al. Oct 2017 A1
20170311304 Lu Oct 2017 A1
20170318097 Drew et al. Nov 2017 A1
20170331741 Fedyk et al. Nov 2017 A1
20170331884 Colle et al. Nov 2017 A1
20170339023 Aström et al. Nov 2017 A1
20180013841 Nainar et al. Jan 2018 A1
20180026858 Zhang et al. Jan 2018 A1
20180026884 Nainar et al. Jan 2018 A1
20180026887 Nainar et al. Jan 2018 A1
20180041470 Schultz et al. Feb 2018 A1
20180062991 Nainar et al. Mar 2018 A1
20180069749 Singhal et al. Mar 2018 A1
20180091395 Shinohara Mar 2018 A1
20180123870 Xue et al. May 2018 A1
20180159735 Beyh Jun 2018 A1
20180176088 Ellappan et al. Jun 2018 A1
20180176886 Kodaypak Jun 2018 A1
20180183686 Guillaume et al. Jun 2018 A1
20180191838 Friedman et al. Jul 2018 A1
20180227182 Patton et al. Aug 2018 A1
20180262410 Chou Sep 2018 A1
20180287902 Chitalia et al. Oct 2018 A1
20180314549 Chokkalingam et al. Nov 2018 A1
20180316559 Thulasi et al. Nov 2018 A1
20180316730 Schaefer et al. Nov 2018 A1
20180317134 Leroux Nov 2018 A1
20180324261 Yi Nov 2018 A1
20190052528 Yoshimura Feb 2019 A1
20190052549 Duggal et al. Feb 2019 A1
20190052551 Barczynski et al. Feb 2019 A1
20190109756 Abu Lebdeh et al. Apr 2019 A1
20190109766 Bodog et al. Apr 2019 A1
20190238425 Mladin et al. Aug 2019 A1
20190260690 Sun Aug 2019 A1
20190379728 Hellstrom Dec 2019 A1
Foreign Referenced Citations (12)
Number Date Country
103716123 Apr 2014 CN
103716137 Apr 2014 CN
3160073 Apr 2017 EP
2016149686 Aug 2016 JP
WO 2011029321 Mar 2011 WO
WO 2012056404 May 2012 WO
WO 2015065353 May 2015 WO
WO 2015180559 Dec 2015 WO
WO 2015187337 Dec 2015 WO
WO 2016004556 Jan 2016 WO
WO 2016058245 Apr 2016 WO
WO 2017011607 Jan 2017 WO
Non-Patent Literature Citations (61)
Entry
International Search Report and Written Opinion from the International Searching Authority, dated Sep. 19, 2018, 9 pages, for corresponding International Patent Application No. PCT/US2018/036603.
“OpenNebula 4.6 User Guide,” Jun. 12, 2014, opennebula.org, pp. 1-87.
Aldrin, S., et al. “Service Function Chaining Operation, Administration and Maintenance Framework,” Internet Engineering Task Force, Oct. 26, 2014, 13 pages.
Alizadeh, Mohammad, et al., “CONGA: Distributed Congestion-Aware Load Balancing for Datacenters,” SIGCOMM '14, Aug. 17-22, 2014, 12 pages.
Author Unknown, “ANSI/SCTE 35 2007 Digital Program Insertion Cueing Message for Cable,” Engineering Committee, Digital Video Subcommittee, American National Standard, Society of Cable Telecommunications Engineers, ©Society of Cable Telecommunications Engineers, Inc. 2007 All Rights Reserved, 140 Philips Road, Exton, PA 19341; 42 pages.
Author Unknown, “AWS Lambda Developer Guide,” Amazon Web Services Inc., May 2017, 416 pages.
Author Unknown, “CEA-708,” from Wikipedia, the free encyclopedia, Nov. 15, 2012; 16 pages http://en.wikipedia.org/w/index.php?title=CEA-708&oldid=523143431.
Author Unknown, “Cisco and Intel High-Performance VNFs on Cisco NFV Infrastructure,” White Paper, Cisco and Intel, Oct. 2016, 7 pages.
Author Unknown, “Cloud Functions Overview,” Cloud Functions Documentation, Mar. 21, 2017, 3 pages; https://cloud.google.com/functions/docs/concepts/overview.
Author Unknown, “Cloud-Native VNF Modelling,” Open Source Mano, ©ETSI 2016, 18 pages.
Author Unknown, “Digital Program Insertion,” from Wikipedia, the free encyclopedia, Jan. 2, 2012; 1 page http://en.wikipedia.org/w/index.php?title=Digital_Program_insertion&oldid=469076482.
Author Unknown, “Dynamic Adaptive Streaming over HTTP,” from Wikipedia, the free encyclopedia, Oct. 25, 2012; 3 pages, http://en.wikipedia.org/w/index.php?title=Dynannic_Adaptive_Streanning_over_HTTP&oldid=519749189.
Author Unknown, “GStreamer and in-band metadata,” from RidgeRun Developer Connection, Jun. 19, 2012, 5 pages https://developersidgerun.conn/wiki/index.php/GStreanner_and_in-band_nnetadata.
Author Unknown, “IEEE Standard for the Functional Architecture of Next Generation Service Overlay Networks, IEEE Std. 1903-2011,” IEEE, Piscataway, NJ, Oct. 7, 2011; 147 pages.
Author Unknown, “ISO/IEC JTC 1/SC 29, Information Technology—Dynamic Adaptive Streaming over HTTP (DASH)—Part 1: Media Presentation Description and Segment Formats,” International Standard ©ISO/IEC 2012—All Rights Reserved; Jan. 5, 2012; 131 pages.
Author Unknown, “M-PEG 2 Transmission,” ©Dr. Gorry Fairhurst, 9 pages [Published on or about Jan. 12, 2012] http://www.erg.abdn.ac.uk/future-net/digital-video/mpeg2-trans.html.
Author Unknown, “MPEG Transport Stream,” from Wikipedia, the free encyclopedia, Nov. 11, 2012; 7 pages, http://en.wikipedia.org/w/index.php?title=MPEG_transport_streann&oldid=522468296.
Author Unknown, “Network Functions Virtualisation (NFV); Use Cases,” ETSI, GS NFV 001 v1.1.1, Architectural Framework, © European Telecommunications Standards Institute, Oct. 2013, 50 pages.
Author Unknown, “Understanding Azure, A Guide for Developers,” Microsoft Corporation, Copyright ©2016 Microsoft Corporation, 39 pages.
Author Unknown, “3GPP TR 23.803 V7.0.0 (Sep. 2005) Technical Specification: Group Services and System Aspects; Evolution of Policy Control and Charging (Release 7),” 3rd Generation Partnership Project (3GPP), 650 Route des Lucioles—Sophia Antipolis Val bonne—France, Sep. 2005; 30 pages.
Author Unknown, “3GPP TS 23.203 V8.9.0 (Mar. 2010) Technical Specification: Group Services and System Aspects; Policy and Charging Control Architecture (Release 8),” 3rd Generation Partnership Project (3GPP), 650 Route des Lucioles—Sophia Antipolis Val bonne—France, Mar. 2010; 116 pages.
Author Unknown, “3GPP TS 23.401 V13.5.0 (Dec. 2015) Technical Specification: 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access (Release 13),” 3GPP, 650 Route des Lucioles—Sophia Antipolis Valbonne—France, Dec. 2015, 337 pages.
Author Unknown, “3GPP TS 23.401 V9.5.0 (Jun. 2010) Technical Specification: Group Services and Systems Aspects; General Packet Radio Service (GPRS) Enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) Access (Release 9),” 3rd Generation Partnership Project (3GPP), 650 Route des Lucioles—Sophia Antipolis Valbonne—France, Jun. 2010; 259 pages.
Author Unknown, “3GPP TS 29.212 V13.1.0 (Mar. 2015) Technical Specification: 3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Policy and Charging Control (PCC); Reference points (Release 13),” 3rd Generation Partnership Project (3GPP), 650 Route des Lucioles— Sophia Antipolis Valbonne—France, Mar. 2015; 230 pages.
Author Unknown, “Service-Aware Network Architecture Based on SDN, NFV, and Network Intelligence,” 2014, 8 pages.
Baird, Andrew, et al. “AWS Serverless Multi-Tier Architectures; Using Amazon API Gateway and AWS Lambda,” Amazon Web Services Inc., Nov. 2015, 20 pages.
Bi, Jing, et al., “Dynamic Provisioning Modeling for Virtualized Multi-tier Applications in Cloud Data Center,” 2010 IEEE 3rd International Conference on Cloud Computing, Jul. 5, 2010, pp. 370-377, IEEE Computer Society.
Bitar, N., et al., “Interface to the Routing System (I2RS) for the Service Chaining: Use Cases and Requirements,” draft-bitar-i2rs-service-chaining-01, Feb. 14, 2014, pp. 1-15.
Boucadair, Mohamed, et al., “Differentiated Service Function Chaining Framework,” Network Working Group Internet Draft draft-boucadair-network-function-chaining-03, Aug. 21, 2013, 21 pages.
Bremler-Barr, Anat, et al., “Deep Packet Inspection as a Service,” CoNEXT '14, Dec. 2-5, 2014, pp. 271-282.
Cisco Systems, Inc. “Cisco NSH Service Chaining Configuration Guide,” Jul. 28, 2017, 11 pages.
Cisco Systems, Inc. “Cisco VN-LINK: Virtualization-Aware Networking,” 2009, 9 pages.
Dunbar, et al., “Architecture for Chaining Legacy Layer 4-7 Service Functions,” IETF Network Working Group Internet Draft, draft-dunbar-sfc-legacy-14-17-chain-architecture-03.txt, Feb. 10, 2014; 17 pages.
Ersue, Mehmet, “ETSI NFV Management and Orchestration-An Overview,” Presentation at the IETF# 88 Meeting, Nov. 3, 2013, 14 pages.
Farrel, A., et al., “A Path Computation Element (PCE)—Based Architecture,” RFC 4655, Network Working Group, Aug. 2006, 40 pages.
Fayaz, Seyed K., et al., “Efficient Network Reachability Analysis using a Succinct Control Plane Representation,” 2016, ratul.org, pp. 1-16.
Halpern, Joel, et al., “Service Function Chaining (SFC) Architecture,” Internet Engineering Task Force (IETF), Cisco, Oct. 2015, 32 pages.
Hendrickson, Scott, et al. “Serverless Computation with OpenLambda,” Elastic 60, University of Wisconson, Madison, Jun. 20, 2016, 7 pages, https://www.usenix.org/system/files/conference/hotcloud16/hotcloud16_hendrickson.pdf.
Jiang, Y., et al., “An Architecture of Service Function Chaining,” IETF Network Working Group Internet Draft, draft-jiang-sfc-arch-01.txt, Feb. 14, 2014; 12 pages.
Jiang, Yuanlong, et al., “Fault Management in Service Function Chaining,” Network Working Group, China Telecom, Oct. 16, 2015, 13 pages.
Katsikas, Goergios P., et al., “Profiling and accelerating commodity NFV service chains with SCC,” The Journal of Systems and Software, vol. 127, Jan. 2017, pp. 12-27.
Kumar, Surendra, et al., “Service Function Path Optimization: draft-kumar-sfc-sfp-optimization-00.txt,” Internet Engineering Task Force, IETF; Standard Working Draft, May 10, 2014, 14 pages.
Kumbhare, Abhijit, et al., “Opendaylight Service Function Chaining Use-Cases,” Oct. 14, 2014, 25 pages.
Li, Hongyu, “Service Function Chaining Use Cases”, IETF 88 Vancouver, Nov. 7, 2013, 7 pages.
Mortensen, A., et al., “Distributed Denial of Service (DDoS) Open Threat Signaling Requirements,” DOTS, Mar. 18, 2016, 16 pages; https://tools.ietf.org/pdf/draft-ietf-dots-requirements-01.pdf.
Newman, David, “Review: FireEye fights off multi-stage malware,” Network World, May 5, 2014, 7 pages.
Nguyen, Kim-Khoa, et al. “Distributed Control Plane Architecture of Next Generation IP Routers,” IEEE, 2009, 8 pages.
Penno, Reinaldo, et al. “Packet Generation in Service Function Chains,” draft-penno-sfc-packet-03, Apr. 29, 2016, 25 pages.
Penno, Reinaldo, et al. “Services Function Chaining Traceroute,” draft-penno-sfc-trace-03, Sep. 30, 2015, 9 pages.
Pierre-Louis, Marc-Arhtur, “OpenWhisk: A quick tech preview,” DeveloperWorks Open, IBM, Feb. 22, 2016, modified Mar. 3, 2016, 7 pages; https://developer.IBM.com/open/2016/02/22/openwhisk-a-quick-tech-preview/.
Pujol, Pua Capdevila, “Deployment of NFV and SFC scenarios,” EETAC, Master Thesis, Advisor: David Rincon Rivera, Universitat Politecnica De Catalunya, Feb. 17, 2017, 115 pages.
Quinn, P., et al., “Network Service Header,” Network Working Group, Mar. 24, 2015, 42 pages; https://tools.ietf.org/pdf/draft-ietf-sfc-nsh-00.pdf.
Quinn, P., et al., “Network Service Chaining Problem Statement,” draft-quinn-nsc-problem-statement-03.txt, Aug. 26, 2013, 18 pages.
Quinn, Paul, et al., “Network Service Header,” Network Working Group, draft-quinn-sfc-nsh-02.txt, Feb. 14, 2014, 21 pages.
Quinn, Paul, et al., “Network Service Header,” Network Working Group, draft-quinn-nsh-00.txt, Jun. 13, 2013, 20 pages.
Quinn, Paul, et al., “Network Service Header,” Network Working Group Internet Draft draft-quinn-nsh-01, Jul. 12, 2013, 20 pages.
Quinn, Paul, et al., “Service Function Chaining (SFC) Architecture,” Network Working Group Internet Draftdraft-quinn-sfc-arch-05.txt, May 5, 2014, 31 pages.
Quinn, Paul, et al., “Service Function Chaining: Creating a Service Plane via Network Service Headers,” IEEE Computer Society, 2014, pp. 38-44.
Wong, Fei, et al., “SMPTE-TT Embedded in ID3 for HTTP Live Streaming, draft-smpte-id3-http-live-streaming-00,” Informational Internet Draft, Jun. 2012, 7 pages http://tools.ietf.orq/htnnl/draft-snnpte-id3-http-live-streaming-00.
Yadav, Rishi, “What Real Cloud-Native Apps Will Look Like,” Crunch Network, posted Aug. 3, 2016, 8 pages; https://techcrunch.com/2016/08/03/what-real-cloud-native-apps-will-look-like/.
Zhang, Ying, et al. “StEERING: A Software-Defined Networking for Inline Service Chaining,” IEEE, 2013, IEEE, p. 10 pages.
Related Publications (1)
Number Date Country
20200358666 A1 Nov 2020 US
Continuations (1)
Number Date Country
Parent 15625032 Jun 2017 US
Child 16941336 US