Various communication systems may benefit from the appropriate selection of monitored parameters. For example, certain wireless communication systems may benefit from virtual network function indicator selection mechanisms that can be applied by a virtual network function manager.
In network function virtualization (NFV), an indicator interface has been defined between the virtual network function (VNF) and VNF manager (VNFM) or between the element manager (EM) and the VNFM. The indicators are declared in the VNF descriptor (VNFD) of each VNF with potential values of the indicators. These indicators and their values can be used for a scale algorithm running in the VNFM. However, the indicator may not be restricted only for scaling, but it can also be used for any other purposes as well. The indicator can provide information about the application status to the VNFM.
VNF indicators are declared in VNFD. The amount of exposed VNF indicators and their possible values are up to each VNF vendor's decision. There may be certain complex VNF types, requiring several indicators with several values to be declared in the VNFD. Some of the indicators could be providing very important information about the VNF health status, while other indicator may be used only for verification/coordination of a specific algorithm.
One generic VNFM is supposed to be able to manage multiple VNFs: multiple instances from multiple vendors. If each VNF exposes lots of indicators, the large number of indicators may overload the VNFM. Therefore, the VNFM may need to select what indicators it can subscribe to, instead of subscribing to all indicators declared by the VNF vendor in the VNFD. Selection of the specific subset of available indicators for subscription may require additional knowledge. Conventionally two options are available to a generic VNFM.
According to a first option, the VNFM subscribes to all the indicators. In this case the scale algorithm implemented as rule or as a script can fully utilize the information received in the indicatorValueChange notifications. If there are several VNFs with lots of indicators, indicator notifications processing may overload the VNFM.
According to a second option, the VNFM selects only an arbitrary subset of indicators and only the selected ones are used for the scale algorithm. If there is no knowledge as to which indicators are important or mandatory for a particular scale algorithm, the scale functionality may not work properly or not work at all.
Conventionally, VNF indicators are not prioritized. They are just declared in the VNFD. The VNFM uses the information that is available in the VNFD. If no priority of the indicator is present in the VNFD, the VNFM has no information as to which indicator is important and which is not. Thus, the VNFM may be unable to select the appropriate indicators to sub scribe to.
The identifier (ID) attribute is a unique identifier. The name attribute is a human readable name of the indicator. The indicator value attribute defines the allowed value of the given indicator.
The source attribute describes the source of the indicator. Possible values of the source can be VNF, EM, or both. The source attribute tells the consumer where to send the subscription request.
The action attribute defines an action that is associated to a particular indicator value. For example, the string in this attribute can be a link to a script or a set of rules.
According to a first embodiment, a method can include preparing an indicator declaration for an indicator value of a virtualized network function descriptor. The method can also include providing, in the indicator declaration, an indication of importance of the indicator value. The indication of importance can be, for example, a priority value or information regarding whether the indicator value is necessary for a particular algorithm or set of algorithms.
According to a second embodiment, a method can include receiving an indicator declaration for an indicator value of a virtualized network function descriptor. The method can also include obtaining, from the indicator declaration, an indication of importance of the indicator value. The indication of importance can be, for example, a priority value or information regarding whether the indicator value is necessary for a particular algorithm or set of algorithms.
According to third and fourth embodiments, an apparatus can include means for performing the method according to the first and second embodiments respectively, in any of their variants.
According to fifth and sixth embodiments, an apparatus can include at least one processor and at least one memory and computer program code. The at least one memory and the computer program code can be configured to, with the at least one processor, cause the apparatus at least to perform the method according to the first and second embodiments respectively, in any of their variants.
According to seventh and eighth embodiments, a computer program product may encode instructions for performing a process including the method according to the first and second embodiments respectively, in any of their variants.
According to ninth and tenth embodiments, a non-transitory computer readable medium may encode instructions that, when executed in hardware, perform a process including the method according to the first and second embodiments respectively, in any of their variants.
For proper understanding of the invention, reference should be made to the accompanying drawings, wherein:
Certain embodiments provide enhancements to VNF indicator declaration in the VNFD. Certain embodiments can add priority values among the indicator declaration in the VNFD. These can be used as hints for a generic VNFM implementation. For example, these priority values can provide information about what is important for a particular VNF implementation.
Likewise, certain embodiments can add information about which specific VNF indicators are necessary for a particular algorithm. The particular algorithm may be, for example, scaling or healing.
As shown in
If there is an available indicator, than at 340, an identity priority threshold can be identified. At 350, a determination can be made as to whether the indicator priority is above a threshold. If the indicator priority is not above the threshold, the process may simply proceed to considering a different available indicator at 320. Otherwise, the process can include, at 360, subscribing for indicator notifications. Then, the process can proceed to consider a different available indicator at 320.
As shown in
The indication of importance can include a priority value. The indication of importance can include information regarding whether the indicator value is necessary for a particular algorithm.
The indication of importance can be or include a number. This can be a number that is to be compared to a threshold. For example, the number can be on a range of 0 to 8 or 1 to 10. The threshold may depend on congestion in the NFVM, for example.
The indication of importance can be or include a string. This feature can be used alone or combination with the number. The string can indicate an associated algorithm or set of algorithms for which the indicator value is required.
The method can also include, at 630, receiving an indicator declaration for an indicator value of a virtualized network function descriptor. This can be sent at 625. The method can further include, at 640, obtaining, from the indicator declaration, an indication of importance of the indicator value.
As mentioned above, the indication of importance can be or include a priority value or information regarding whether indicator value is necessary for a particular algorithm. Moreover, the indication of importance can be a number or a string.
The method can further include, at 650, comparing the number or other indication of importance to a threshold. In the case of a non-numeric threshold, for example, the threshold may be set to include only mandatory or required indicator values, or to include both those indicator values and also indicator values that are recommended or optional. The threshold can optionally be set even lower, so that if the indicator value is merely possibly relevant to, for example, a particular algorithm or set of algorithms, it is included. The method can additionally include, at 655, subscribing to corresponding indicator notifications when the number exceeds the threshold. This process can be similar to the process set forth in
As shown in
The evaluation of indicator priority and evaluation of indicator association to an algorithm or set of algorithms may be non-exclusive. Consequently, these approaches may be combined as two ways of evaluating the importance of the indicator. For example, for a particular algorithm the indicators may be prioritized. Additionally, the priority levels may not necessarily be expressed as a number, but may still be evaluated against a threshold. For example, the priority levels per algorithm could be required/mandatory and recommended/optional. The indicator selection can then become identifying an algorithm/operation to be supported and, based on the VNFM load level, selecting a (sub)set of indicators that are required and/or recommended for this algorithm/operation. This can be a combination of
Each of these devices may include at least one processor or control unit or module, respectively indicated as 714 and 724. At least one memory may be provided in each device, and indicated as 715 and 725, respectively. The memory may include computer program instructions or computer code contained therein, for example for carrying out the embodiments described above. One or more transceiver 716 and 726 may be provided, and each device may also include an antenna, respectively illustrated as 717 and 727. Although only one antenna each is shown, many antennas and multiple antenna elements may be provided to each of the devices. Other configurations of these devices, for example, may be provided. For example, VNFM 710 and VNF/EM 720 may be additionally or solely configured for wired communication, and in such a case antennas 717 and 727 may illustrate any form of communication hardware, without being limited to merely an antenna.
Transceivers 716 and 726 may each, independently, be a transmitter, a receiver, or both a transmitter and a receiver, or a unit or device that may be configured both for transmission and reception. The transmitter and/or receiver (as far as radio parts are concerned) may also be implemented as a remote radio head which is not located in the device itself, but in a mast, for example. It should also be appreciated that according to the “liquid” or flexible radio concept, the operations and functionalities may be performed in different entities, such as nodes, hosts or servers, in a flexible manner. In other words, division of labor may vary case by case. One possible use is to make a network element to deliver local content. One or more functionalities may also be implemented as a virtual application that is provided as software that can run on a server.
In an exemplifying embodiment, an apparatus, such as a node or server, may include means for carrying out embodiments described above in relation to
Processors 714 and 724 may be embodied by any computational or data processing device, such as a central processing unit (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), digitally enhanced circuits, or comparable device or a combination thereof. The processors may be implemented as a single controller, or a plurality of controllers or processors. Additionally, the processors may be implemented as a pool of processors in a local configuration, in a cloud configuration, or in a combination thereof.
For firmware or software, the implementation may include modules or units of at least one chip set (e.g., procedures, functions, and so on). Memories 715 and 725 may independently be any suitable storage device, such as a non-transitory computer-readable medium. A hard disk drive (HDD), random access memory (RAM), flash memory, or other suitable memory may be used. The memories may be combined on a single integrated circuit as the processor, or may be separate therefrom. Furthermore, the computer program instructions may be stored in the memory and which may be processed by the processors can be any suitable form of computer program code, for example, a compiled or interpreted computer program written in any suitable programming language. The memory or data storage entity is typically internal but may also be external or a combination thereof, such as in the case when additional memory capacity is obtained from a service provider. The memory may be fixed or removable.
The memory and the computer program instructions may be configured, with the processor for the particular device, to cause a hardware apparatus such as VNFM 710 and/or VNF/EM 720, to perform any of the processes described above (see, for example,
Furthermore, although
The entities such as EM, VNF, and VNFM can be considered as functional blocks that may be combined in an actual product or device. For example, an EM and a VNFM may be combined into one product and may be implemented on a single device, such as any of the devices illustrated in
The functions may also be implemented using virtualization. So, any of the functional blocks described here, such as VNFM or EM, may be implemented using a virtual machine or virtualization container. A virtual machine or virtualization container may ultimately run on a variety of possible computing platforms.
Networks may utilize network functions virtualization which can refer to a network architecture concept that involves virtualizing network node functions into “building blocks” or entities that may be operationally connected or linked together to provide services. A virtualized network function may include one or more virtual machines running computer program codes using standard or general type servers instead of customized hardware. Cloud computing or data storage may also be utilized. In radio communications this may mean node operations can be carried out, at least partly, in a server, host or node operationally coupled to a remote radio head. It is also possible that node operations will be distributed among a plurality of servers, nodes or hosts. It should also be understood that the distribution of labor between core network operations and base station operations may differ from that of the LTE or even be non-existent.
One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention.
VNFM—Virtualized Network Function Manager
NFV—Network Function Virtualization
VNF—Virtualized Network Function
VNFD—Virtualized Network Function Descriptor
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US16/42051 | 7/13/2016 | WO | 00 |