Patent Description:
The present disclosure relates to wireless technology, and more specifically to restoring performance of virtual network functions (VNFs) of a wireless network.

Network Function Virtualization (NFV) involves the replacement of physical network nodes with Virtual Network Functions (VNFs) implemented via Virtualization Resources (VRs) that perform the same function as the physical node. <CIT> discloses a fault management method. The method comprises: obtaining first fault information of a network function virtualization infrastructure (NFVI) entity, which comprises a fault entity identifier and a fault type, wherein the first fault information is used for indicating that a fault occurs on a first NFVI entity that is provided with the fault entity identifier; based on the first fault information, generating first integrated fault information, wherein the first integrated fault information comprises the first fault information and associated fault information of the first fault information; and based on the first integrated fault information, performing fault recovery or reporting processing.

The present disclosure will now be described with reference to the attached drawing figures, wherein like reference numerals are used to refer to like elements throughout, and wherein the illustrated structures and devices are not necessarily drawn to scale. As utilized herein, terms "component," "system," "interface," and the like are intended to refer to a computer-related entity, hardware, software (e.g., in execution), and/or firmware. For example, a component can be a processor (e.g., a microprocessor, a controller, or other processing device), a process running on a processor, a controller, an object, an executable, a program, a storage device, a computer, a tablet PC and/or a user equipment (e.g., mobile phone, etc.) with a processing device. By way of illustration, an application running on a server and the server can also be a component. One or more components can reside within a process, and a component can be localized on one computer and/or distributed between two or more computers. A set of elements or a set of other components can be described herein, in which the term "set" can be interpreted as "one or more.

Use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless specified otherwise, or clear from context, "X employs A or B" is intended to mean any of the natural inclusive permutations. In addition, the articles "a" and "an" as used in this application and the appended claims should generally be construed to mean "one or more" unless specified otherwise or clear from context to be directed to a singular form. Furthermore, to the extent that the terms "including", "includes", "having", "has", "with", or variants thereof are used in either the detailed description and the claims, such terms are intended to be inclusive in a manner similar to the term "comprising.

Various embodiments described herein can facilitate improved performance of Virtualized Network Functions (VNFs) via identification of underperforming VNFs and restoration of VNF performance.

The performance of an application software is tightly coupled to the hardware resource on which the application software is running. For example, this can be when a web application is running so slowly that it may take minutes to display the web page that contains multimedia content, such as pictures, video, audio, text, etc. When this happens, a common response is to launch a task manager to see how the computer hardware is performing. The task manager can display the statistics of CPU, memory, disc, and network (i.e. WiFi, or Ethernet) usages.

The following are a few example scenarios that can be found from the task manager: (<NUM>) CPU <NUM>%, memory <NUM>%, network <NUM>%, which may indicate that the computer is using all its resources to process the multimedia content; (<NUM>) CPU <NUM>%, memory <NUM>%, network <NUM>%, which may indicate that the application server is too busy to provide the content on time; or (<NUM>) CPU <NUM>%, memory <NUM>%, network <NUM>%, which may indicate that the application is pending on the availability of certain resources (e.g., memory) that have been exhausted due to unknown reasons.

These different scenarios can result from different circumstances, each of which can be analogous to scenarios that can occur in connection with Network Function Virtualization (NFV). Scenario <NUM> can indicate that the computer hardware is too old to handle the multimedia content, and probably should be replaced. In NFV, a similar scenario can indicate that the resource is deficient in handling the traffic, and can be solved by auto-scaling. Scenario <NUM> can indicate a server problem that is out of the control of any application. Scenario <NUM> can point to problems in the application or operating system that can be triggered by many different reasons. One common way to fix this problem is to simply press the reset button, as it is not worth spending effort to find out its root cause. A similar scenario can happen in NFV. Analogously, one possible way to solve this problem is to restart the VNF via VNF termination and reinstantiation, or via reset.

In various embodiments, techniques described herein can be employed to correlate both VNF performance measurements and Virtualization Resource (VR) measurements to discover a VNF that is not performing, and find a solution to mitigate the VNF.

Referring to <FIG>, illustrated is a diagram of a Performance Measurement (PM) data collection flow that can be employed in connection with various aspects described herein. The system illustrated in <FIG> comprises a Network Manager (NM), Network Function Virtualization (NFV) Orchestrator (NFVO), network Element Manager (EM), a set of Virtualized Network Functions (VNFs) virtualized by Virtualization Resources (VRs) of a NFV Infrastructure (NFVI), a VNF Manager (VNFM), and a Virtualized Infrastructure Manager (VIM). The solid lines between these entities indicate the various reference points that facilitate data exchange between these entities, while the dashed and dotted lines indicate the flow of PM data (either VNF PM data or VR PM data).

To collect the PM data, the NM can create a PM job at the EM that can determine which measurement types, on which measured resources, at which times, are to be executed, which can be based on techniques discussed in 3GPP (Third Generation Partnership Project) TS (Technical Specification) <NUM>,.

Two types of PM data can be collected: VNF PM data, and VR PM data for the VR(s) that implement that VNF.

For VNF PM data collection, the EM can request that VNF to collect the VNF PM data based on the schedule and time period provided by EM.

For VR PM data collection, the EM can create a VR PM job at the VNFM that contains the measurement types, and the periods for which the collection is to be performed. Then, the VNFM can create a VR PM job at the VIM that contains the same information as received from the EM. The VIM can request the NFVI to collect the VR PM data based on the schedule and time period defined in the VR PM job.

VNF performance is tightly coupled to the performance of the VR used by the VNF. Thus, when it is detected via monitoring the VNF performance measurements that the performance of a VNF is poor, a PM job can be created to collect the performance measurements of the VR used by the VNF. The VNF related VR performance measurements can be analyzed to determine whether to implement mitigation techniques. For example, if the VR performance measurements have some abnormal pattern (e.g. the memory usage is very high, but the CPU usage is very low), it may indicate that the VNF application is pending on the availability of VR (e.g. memory) that have been exhausted due to unknown reasons. To mitigate this problem, the VNF can be restarted, for example via VNF termination/reinstantiation or via VNF reset.

Referring to <FIG>, illustrated is a flow of a VR performance data collection scenario according to various aspects described herein. At <NUM>, the NM creates a VNF PM job at the EM to request a VNF to report the VNF PM data based on a schedule determined by the VNF PM job. At <NUM>, the EM receives the VNF PM data from the VNF. At <NUM>, the EM reports the VNF PM data to the NM. At <NUM>, the NM can detect (e.g., via a threshold crossing mechanism, etc.) that the VNF performance has been poor, and can decide to create a VR PM job to collect the VR PM data. At <NUM>, the NM creates a VR PM job at the EM to collect the VR PM data. At <NUM>, the EM creates a VR PM job at the VNFM, based on the VR PM job information (e.g., resource type, collection/reporting periods, etc.) received from the NM. At <NUM>, the VNFM can create a VR PM job at the VIM, based on the VR PM job information received from the EM to collect VR PM data. At <NUM>, the VIM can receive the VR PM data from the NFVI that generated the VR PM data at the schedule determined by the VR PM job. At <NUM>, the VIM can forward the VR PM data to the VNFM managing the VNF/VNFC (VNF component(s)). At <NUM>, when the VNFM receives the VR PM data, it can identify the VNF/VNFC where the VR is used, and can forward the data to the EM managing the VNF/VNFC. At <NUM>, the EM reports the VR PM data to the NM. At <NUM>, the NM can analyse the VNF PM data and the VNF related VR PM data, and can determine whether to restart the VNF. At <NUM>, the NM can send a request to the NFVO to terminate and reinstantiate the VNF, or to reset the VNF.

Referring to <FIG>, illustrated is a block diagram of a system <NUM> that facilitates identification and mitigation of performance issues at a VNF by a Network Manager (NM) according to various aspects described herein. System <NUM> can include one or more processors <NUM>, optional network interface controller (NIC) circuitry <NUM> (which can facilitate communication of data via one or more networks in some aspects), and a memory <NUM> (which can comprise any of a variety of storage mediums and can store instructions and/or data associated with at least one of the one or more processors <NUM> or NIC circuitry <NUM>). In various aspects, system <NUM> can be included within a NM of a communications network. In various aspects, system <NUM> can be included within an EM of a communications network. In some aspects, the one or more processors <NUM>, the NIC circuitry <NUM>, and the memory <NUM> can be included in a single device, while in other aspects, they can be included in different devices, such as part of a distributed architecture. As described in greater detail below, system <NUM> can facilitate creation of a VNF PM job and an associated VR PM job to diagnose performance issues associated with a VNF, and can request restarting of the VNF where appropriate.

Processor(s) <NUM> can determine characteristics for a VNF PM job to be created at a network Element Manager (EM) (e.g., an EM employing system <NUM>, etc.) to collect PM data from a VNF. The VNF PM job can comprise a VNF PM job schedule, which can indicate what type of data to collect from the VNF, when VNF data is collected by the EM (e.g., every <NUM> seconds, etc.), and when the EM reports VNF data to the NM (e.g., every <NUM> seconds, etc.), etc. In aspects, some or all of this information can be omitted, and default values can be employed. Processor(s) <NUM> can generate the VNF PM job and output a request to the EM to create the VNF PM job and collect VNF PM data according to the created VNF PM job (e.g., based at least in part on the VNF PM job schedule, etc.).

Processor(s) <NUM> can process VNF PM data associated with the VNF that is received from the EM, which can be collected and reported to the NM based at least in part on the VNF PM job created at the EM (e.g., according to the VNF PM job schedule, etc.). The processed VNF PM data can be analyzed by processor(s) <NUM> to determine whether the VNF has one or more performance issues. The analysis can be based on any of a variety of metrics or by comparison to one or more threshold values, and can, in various aspects, depend on the nature of the network function(s) associated with the VNF.

In the event no negative performance issues are detected, processor(s) <NUM> can continue monitoring and analyzing VNF PM data received from the EM until processor(s) <NUM> determine that the VNF has a negative performance issue. In response to processor(s) <NUM> determining that the VNF has a negative performance issue, processor(s) <NUM> can output a request to the EM to generate a VR PM job to collect data from the VR utilized by the VNF. The request can indicate resources (e.g., VR(s)) from which data is to be collected according to the VR PM job, along with the type(s) of data and/or measurements, when that data is to be collected and when that data is to be reported (e.g., which can both be determined via a VR PM schedule of the VR PM job), etc. In aspects, some or all of this information can be omitted, and default information employed instead. In other embodiment, the NM may decide to request EM to create a PM job to collect the VR PM data, prior to detecting negative issues from the VNF PM data. The NM then analyzes and/or correlates both VNF PM data and VR PM data to determine whether there are issues, and the actions to mitigate such issues.

Processor(s) <NUM> can receive VR PM data from the EM, which can be based at least in part on the request to the EM to generate the VR PM (e.g., of the indicated or default measurement type(s), from the VR resources indicated, according to the VR PM job schedule or a default schedule, etc.). Based on the VNF PM data and the VR PM data, processor(s) <NUM> can determine whether to restart the VNF. This determination can be based on processor(s) <NUM> analyzing and/or correlating the VNF PM data and the VR PM data, and determining whether an abnormal VR usage pattern is present, for example, one of the scenarios described herein (e.g., low processor usage (e.g., below a processing threshold, etc.)) coupled with high memory usage (e.g., above a memory threshold, etc.)). If processor(s) <NUM> detect an abnormal VR usage pattern, processor(s) <NUM> can determine to restart the VNF. If processor(s) <NUM> do not detect an abnormal VR usage pattern, alternate determinations can be made (e.g., to auto-scale the VR employed by the VNF if both processor and memory usage are above threshold values associated with such a determination; to continue monitoring VNF PM data and/or VR PM data if a determination is made that the VNF does not need to be restarted or assigned additional resources, etc.).

Based on a determination to restart the VNF, processor(s) <NUM> can generate and output a request to the NFVO to restart the VNF (e.g., via reset, or termination/reinstantiation, etc.). In some aspects, processor(s) <NUM> can determine to reset the VNF, and the request to restart the VNF can be a request to reset the VNF. In other aspects, processor(s) <NUM> can determine to terminate and reinstantiate the VNF, and the request to restart the VNF can be a request to terminate and reinstantiate the VNF.

In some aspects, processor(s) <NUM> can communicate data (e.g., as input or output) with other entities (e.g., the EM, the NFVO, etc.) via a NIC associated with NIC controller <NUM> (which can be associated with one or more NICs), for example, when those entities are remote and communication occurs via one or more networks. In the same or other aspects, processor(s) <NUM> can communicate data with these entities in distinct ways, such as via mutual access to a shared memory <NUM> or a portion thereof, etc..

Referring to <FIG>, illustrated is a block diagram of a system <NUM> that facilitates creation of Performance Measurement (PM) jobs for a VNF and an associated VR and reporting of associated PM data according to various aspects described herein. System <NUM> can include one or more processors <NUM>, optional NIC circuitry <NUM> (which can facilitate communication of data via one or more networks in some aspects), and memory <NUM> (which can comprise any of a variety of storage mediums and can store instructions and/or data associated with at least one of the one or more processors <NUM> or NIC circuitry <NUM>). In various aspects, system <NUM> can be included within an EM of a communications network. In some aspects, the one or more processors <NUM>, the NIC circuitry <NUM>, and the memory <NUM> can be included in a single device, while in other aspects, they can be included in different devices, such as part òf a distributed architecture. As described in greater detail below, system <NUM> can facilitate collection of PM data from one or more VNFs and the VR(s) employed by those VNF(s) to report to a NM.

Processor(s) <NUM> can receive a VNF PM job from a NM (e.g., a NM employing system <NUM>, etc.). The VNF PM job can indicate a VNF to collect data from, the type(s) of data to collect, and can also comprise a VNF PM job schedule, that can indicate when to collect data from the VNF, and when to report collected data (or, in various aspects, data derived therefrom, such as averages, minima, maxima, etc.). In aspects, some or all of this information can be omitted, in which case default values can be employed. In one example embodiment, a VNF PM job schedule can indicate that the EM should collect VNF PM data from the VNF every <NUM> seconds (although greater or lesser times can be used in various aspects, e.g., N ms or N s, where N is a positive integer), and report VNF PM data to the NM every <NUM> seconds (although greater or lesser times can be used in various aspects, e.g., N ms or N s, where N is a positive integer).

Processor(s) <NUM> can output one or more requests to the indicated VNF to collect VNF PM data based on the VNF PM job (e.g., of the indicated or default type(s), according to the VNF PM job schedule, etc.), and can receive the requested VNF PM data from the VNF. Processor(s) <NUM> can output to the NM the received VNF PM data, VNF PM data derived from the received VNF PM data (and potentially from one or more other sets of received VNF PM data), or a combination thereof, at one or more reporting periods according to the VNF PM job schedule.

Processor(s) <NUM> can receive a request to create a VR PM job (e.g., a first VR PM job) from the NM, and can create and process a VR PM job (e.g., the first VR PM job) based on the request, which can indicate a VR employed by the VNF, one or more measurement types, and a VR PM schedule that indicates when VR PM data is to be collected by the EM and when it is to be reported to the NM (or default values can be employed (e.g., measurement type(s), collection period(s), reporting period(s), etc.)). Based on the first VR PM job, processor(s) <NUM> can output a second VR PM job, to the VNFM that allocated the VR to the VNF (which can create the second VR PM job at the VIM, to collect VR PM data from the allocated VR). Processor(s) <NUM> can receive the VR PM data from the VNFM (which receives it from the allocated VR via the VIM, which can be of the indicated or default measurement type(s) and according to the VR PM job schedule of the second VR PM job (which can indicate when VR PM data is reported to the EM, and can be the same or a different schedule than that of the first VR PM job, e.g., such that the EM receives VR PM data more frequently than it reports VR PM data, etc.). Processor(s) <NUM> can output to the NM the VR PM data (and/or data derived therefrom, etc.), which can be output to the NM based on the VR PM job schedule of the first VR PM job.

In some aspects, processor(s) <NUM> can communicate data (e.g., as input or output) with other entities (e.g., the NM, the VNF, the VNFM, etc.) via a NIC associated with NIC controller <NUM> (which can be associated with one or more NICs), for example, when those entities are remote and communication occurs via one or more networks. In the same or other aspects, processor(s) <NUM> can communicate data with these entities in distinct ways, such as via mutual access to a shared memory <NUM> or a portion thereof, etc..

Referring to <FIG>, illustrated is a flow diagram of a method <NUM> that facilitates diagnosis and mitigation of VNF performance issues by a NM according to various aspects described herein. In some aspects, method <NUM> can be performed at a NM. In other aspects, a machine readable medium can store instructions associated with method <NUM> that, when executed, can cause a NM to perform the acts of method <NUM>.

At <NUM>, a VNF PM job can be generated that can indicate a VNF that VNF PM data is to be collected from, measurement type(s), and can comprise a VNF PM job schedule that indicates collection and reporting periods for the VNF PM data.

At <NUM>, a request can be output to an EM to create the VNF PM job and collect VNF PM data according to the VNF PM job.

At <NUM>, VNF PM data can be received from the EM according to the VNF PM job schedule.

At <NUM>, a determination can be made as to whether there is a negative performance issue associated with the VNF based on comparison of the VNF PM data with one or more VNF PM thresholds.

At <NUM>, in response to at least one of the VNF PM thresholds being crossed, a VR PM job can be created that can indicate what resource(s) (e.g., which VR) data is to be collected from, what measurement type(s) are to be collected, when VR PM data is to be collected, and when VR PM data is to be reported (or default values can apply if not explicitly indicated).

At <NUM>, a request can be output to the EM to create the VR PM job (and the EM can request the VNFM that allocated the VR to the VNF to create the VR PM job or a second VR PM job based on the VR PM job, to obtain VR PM data from the VR via the VIM).

At <NUM>, VR PM data can be received from the EM based on the VR PM job schedule.

At <NUM>, a determination can be made as to whether there is an abnormal VR usage pattern (e.g., high memory usage (e.g., above a memory threshold) coupled with low processor usage (e.g., below a processor threshold), etc.) associated with the VNF, which can be based on correlation and/or analysis of the VNF PM data and the VR PM data.

At <NUM>, based on a determination that there is an abnormal VR usage pattern associated with the VNF, a request can be output to the NFVO to restart the VNF (e.g., reset the VNF, or terminate and reinstantiate the VNF).

Referring to <FIG>, illustrated is a flow diagram of a method <NUM> that facilitates collection and communication of PM data from a VNF and associated VR by an EM according to various aspects described herein. In some aspects, method <NUM> can be performed at an EM. In other aspects, a machine readable medium can store instructions associated with method <NUM> that, when executed, can cause an EM to perform the acts of method <NUM>.

At <NUM>, a VNF PM job can be received from an NM. The VNF PM job can indicate one or more of a VNF to collect data from, measurement type(s) of the VNF PM data, collection period(s) for collecting VNF PM data from the VNF, or reporting period(s) for reporting VNF PM data to the NM (reporting and collection period(s) can be indicated via a VNF PM job schedule of the VNF PM job).

At <NUM>, VNF PM data can be collected from the VNF based on the VNF PM job (e.g., based on collection period(s) indicated via the VNF PM job schedule of the VNF PM job, etc.).

At <NUM>, VNF PM data can be output to the NM based on the VNF PM job (e.g., based on reporting period(s) indicated via the VNF PM job schedule of the VNF PM job, etc.). The output VNF PM data can comprise collected VNF PM data from one or more collection periods, data derived from collected VNF PM data, or a combination thereof.

At <NUM>, a request can be received from the NM to create a VR PM job. The request can indicate one or more of a VR to collect the data from (e.g., the VR utilized by the VNF), measurement type(s) of data to be collected, collection period(s) to receive VR PM data from the VNFM that allocated the VR, or reporting period(s) to report data to the NM (reporting and collection period(s) can be indicated via a VR PM job schedule of the VR PM job).

At <NUM>, a request to create a VR PM job can be output to the VNFM that allocated the VR. The output request can indicate information indicated via the received request, or can be associated with distinct information (e.g., different collection and reporting period(s), etc.).

At <NUM>, VR PM data can be received from the VNFM (which received the VR PM data from the VR via the VIM) based on the VR PM job schedule.

At <NUM>, the VR PM data can be output to the NM based on the VR PM job (e.g., based on reporting period(s) indicated via the VR PM job schedule of the VR PM job, etc.). The output VR PM data can comprise collected VR PM data from one or more collection periods, data derived from collected VR PM data, or a combination thereof.

The tables below indicate example use cases of VNF PM data and VR PM data in connection with various aspects described herein. Table <NUM>, below, shows an example use case of VNF related VR performance measurements:.

Table <NUM>, below, shows an example use case of mitigating a VNF performance bottleneck:.

In various aspects, embodiments described herein can be employed in connection with a communications network that comprises one or more radio access networks (RANs) that facilitate wireless communications with or between one or more user equipments (UEs). The following is a description of an example UE that can be employed in connection with such a RAN.

Embodiments described herein may be implemented into a system using any suitably configured hardware and/or software. <FIG> illustrates, for one embodiment, example components of a User Equipment (UE) device <NUM>. In some embodiments, the UE device <NUM> may include application circuitry <NUM>, baseband circuitry <NUM>, Radio Frequency (RF) circuitry <NUM>, front-end module (FEM) circuitry <NUM> and one or more antennas <NUM>, coupled together at least as shown.

The baseband circuitry <NUM> may include one or more baseband processors and/or control logic to process baseband signals received from a receive signal path of the RF circuitry <NUM> and to generate baseband signals for a transmit signal path of the RF circuitry <NUM>. Baseband processing circuity <NUM> may interface with the application circuitry <NUM> for generation and processing of the baseband signals and for controlling operations of the RF circuitry <NUM>. For example, in some embodiments, the baseband circuitry <NUM> may include a second generation (<NUM>) baseband processor 704a, third generation (<NUM>) baseband processor 704b, fourth generation (<NUM>) baseband processor 704c, and/or other baseband processor(s) 704d for other existing generations, generations in development or to be developed in the future (e.g., fifth generation (<NUM>), <NUM>, etc.). The baseband circuitry <NUM> (e.g., one or more of baseband processors 704a-d) may handle various radio control functions that enable communication with one or more radio networks via the RF circuitry <NUM>. The radio control functions may include, but are not limited to, signal modulation/demodulation, encoding/decoding, radio frequency shifting, etc. In some embodiments, modulation/demodulation circuitry of the baseband circuitry <NUM> may include Fast-Fourier Transform (FFT), precoding, and/or constellation mapping/demapping functionality. In some embodiments, encoding/decoding circuitry of the baseband circuitry <NUM> may include convolution, tail-biting convolution, turbo, Viterbi, and/or Low Density Parity Check (LDPC) encoder/decoder functionality. Embodiments of modulation/demodulation and encoder/decoder functionality are not limited to these examples and may include other suitable functionality in other embodiments.

In some embodiments, the baseband circuitry <NUM> may include elements of a protocol stack such as, for example, elements of an evolved universal terrestrial radio access network (EUTRAN) protocol including, for example, physical (PHY), media access control (MAC), radio link control (RLC), packet data convergence protocol (PDCP), and/or radio resource control (RRC) elements. A central processing unit (CPU) 704e of the baseband circuitry <NUM> may be configured to run elements of the protocol stack for signaling of the PHY, MAC, RLC, PDCP and/or RRC layers. In some embodiments, the baseband circuitry may include one or more audio digital signal processor(s) (DSP) 704f. The audio DSP(s) 704f may be include elements for compression/decompression and echo cancellation and may include other suitable processing elements in other embodiments. Components of the baseband circuitry may be suitably combined in a single chip, a single chipset, or disposed on a same circuit board in some embodiments. In some embodiments, some or all of the constituent components of the baseband circuitry <NUM> and the application circuitry <NUM> may be implemented together such as, for example, on a system on a chip (SOC).

In some embodiments, the RF circuitry <NUM> may include a receive signal path and a transmit signal path. The receive signal path of the RF circuitry <NUM> may include mixer circuitry 706a, amplifier circuitry 706b and filter circuitry 706c. The transmit signal path of the RF circuitry <NUM> may include filter circuitry 706c and mixer circuitry 706a. RF circuitry <NUM> may also include synthesizer circuitry 706d for synthesizing a frequency for use by the mixer circuitry 706a of the receive signal path and the transmit signai path. In some embodiments, the mixer circuitry 706a of the receive signal path may be configured to down-convert RF signals received from the FEM circuitry <NUM> based on the synthesized frequency provided by synthesizer circuitry 706d. The amplifier circuitry 706b may be configured to amplify the down-converted signals and the filter circuitry 706c may be a low-pass filter (LPF) or bandpass filter (BPF) configured to remove unwanted signals from the down-converted signals to generate output baseband signals. Output baseband signals may be provided to the baseband circuitry <NUM> for further processing. In some embodiments, the output baseband signals may be zero-frequency baseband signals, although this is not a requirement. In some embodiments, mixer circuitry 706a of the receive signal path may comprise passive mixers, although the scope of the embodiments is not limited in this respect.

In some embodiments, the mixer circuitry 706a of the transmit signal path may be configured to up-convert input baseband signais based on the synthesized frequency provided by the synthesizer circuitry 706d to generate RF output signals for the FEM circuitry <NUM>. The baseband signals may be provided by the baseband circuitry <NUM> and may be filtered by filter circuitry 706c. The filter circuitry 706c may include a low-pass filter (LPF), although the scope of the embodiments is not limited in this respect.

In some embodiments, the mixer circuitry 706a of the receive signal path and the mixer circuitry 706a of the transmit signal path may include two or more mixers and may be arranged for quadrature downconversion and/or upconversion respectively. In some embodiments, the mixer circuitry 706a of the receive signal path and the mixer circuitry 706a of the transmit signal path may include two or more mixers and may be arranged for image rejection (e.g., Hartley image rejection). In some embodiments, the mixer circuitry 706a of the receive signal path and the mixer circuitry 706a may be arranged for direct downconversion and/or direct upconversion, respectively. In some embodiments, the mixer circuitry 706a of the receive signal path and the mixer circuitry 706a of the transmit signal path may be configured for super-heterodyne operation.

In some embodiments, the synthesizer circuitry 706d may be a fractional-N synthesizer or a fractional N/N-t-<NUM> synthesizer, although the scope of the embodiments is not limited in this respect as other types of frequency synthesizers may be suitable. For example, synthesizer circuitry 706d may be a delta-sigma synthesizer, a frequency multiplier, or a synthesizer comprising a phase-locked loop with a frequency divider.

The synthesizer circuitry 706d may be configured to synthesize an output frequency for use by the mixer circuitry 706a of the RF circuitry <NUM> based on a frequency input and a divider control input. In some embodiments, the synthesizer circuitry 706d may be a fractional N/N+<NUM> synthesizer.

Synthesizer circuitry 706d of the RF circuitry <NUM> may include a divider, a delay-locked loop (DLL), a multiplexer and a phase accumulator. In some embodiments, the divider may be a dual modulus divider (DMD) and the phase accumulator may be a digital phase accumulator (DPA). In some embodiments, the DMD may be configured to divide the input signal by either N or N+<NUM> (e.g., based on a carry out) to provide a fractional division ratio. In some example embodiments, the DLL may include a set of cascaded, tunable, delay elements, a phase detector, a charge pump and a D-type flipflop. In these embodiments, the delay elements may be configured to break a VCO period up into Nd equal packets of phase, where Nd is the number of delay elements in the delay line. In this way, the DLL provides negative feedback to help ensure that the total delay through the delay line is one VCO cycle.

In some embodiments, synthesizer circuitry 706d may be configured to generate a carrier frequency as the output frequency, while in other embodiments, the output frequency may be a multiple of the carrier frequency (e.g., twice the carrier frequency, four times the carrier frequency) and used in conjunction with quadrature generator and divider circuitry to generate multiple signals at the carrier frequency with multiple different phases with respect to each other. In some embodiments, the output frequency may be a LO frequency (fLO). In some embodiments, the RF circuitry <NUM> may include an IQ/polar converter.

In some embodiments, the UE device <NUM> may include additional elements such as, for example, memory/storage, display, camera, sensor, and/or input/output (I/O) interface.

Additionally, although the above example discussion of device <NUM> is in the context of a UE device, in various aspects, a similar device can be employed in connection with a base station (BS) such as an Evolved NodeB (eNB).

Examples herein can include subject matter such as a method, means for performing acts or blocks of the method, at least one machine-readable medium including executable instructions that, when performed by a machine (e.g., a processor with memory, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or the like) cause the machine to perform acts of the method or of an apparatus or system for concurrent communication using multiple communication technologies according to embodiments and examples described. The following paragraphs are examples only which may be compatible with the claimed invention.

Example <NUM> is an apparatus configured to be employed within a Network Manager (NM), comprising one or more processors configured to: output a request to a network Element Manager (EM) to create a Virtualized Network Function (VNF) PM job to collect VNF Performance Measurement (PM) data; process a set of Virtualized Network Function (VNF) PM data associated with a VNF, wherein the set of VNF PM data is received from the EM; output a request to the EM to create a Virtualization Resource (VR) PM job to collect VR PM data from a VR used by the VNF; process a set of VR PM data received from the EM; make a determination whether to restart the VNF, based on the processed set of VR PM data and the processed set of VNF PM data; and output a request to a network function virtualization orchestrator (NFVO) to restart the VNF based on a determination to restart the VR.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the one or more processors are further configured to make a determination whether the VNF has a negative performance issue, based on the processed set of VNF PM data, wherein the request to the EM to create the VR PM job is based on a determination that the VNF has the negative performance issue.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the one or more processors are configured to make the determination whether the VNF has the negative performance issue based on one or more comparisons between the set of VNF PM data and one or more VNF PM thresholds.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the one or more processors are further configured to: analyze the set of VNF PM data and the set of VR PM data; make a determination whether an abnormal VR usage pattern is detected based on the analyzed set of VNF PM data and the analyzed set of VR PM data; and make the determination whether to restart the VNF based on the determination being made that the abnormal VR usage pattern is detected.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the abnormal VR usage pattern comprises a processor usage below a processing threshold and a memory usage above a memory threshold.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the one or more processors are further configured to: generate a VNF PM job associated with the VNF, wherein the VNF PM job comprises a VNF PM job schedule; and output a request to the EM to create the VNF PM job, wherein the set of VNF PM data is received from the EM based on the VNF PM job schedule.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the VR PM job designates a resource type that indicates the VR from which the VR PM data is to be collected.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the VR PM job designates a collection period that indicates when the VR PM data is to be collected.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM> -<NUM>, wherein the VR PM job designates one or more reporting periods that indicate when the VR PM data is to be reported to the NM.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the VR PM job indicates one or more measurement types to be collected, wherein the set of VR PM data comprises data of the one or more indicated measurement types.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the determination to restart the VNF is a determination to terminate and reinstantiate the VNF, and wherein the request to restart the VNF is a request to terminate and reinstantiate the VNF.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the determination to restart the VNF is a determination to reset the VNF, and wherein the request to restart the VNF is a request to reset the VNF.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the one or more processors are configured to make the determination whether the VNF has the negative performance issue based on one or more comparisons between the set of VNF PM data and one or more VNF PM thresholds.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM> or <NUM>, wherein the one or more processors are further configured to: analyze the set of VNF PM data and the set of VR PM data; make a determination whether an abnormal VR usage pattern is detected based on the analyzed set of VNF PM data and the analyzed set of VR PM data; and make the determination whether to restart the VNF based on the determination being made that the abnormal VR usage pattern is detected.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM> or <NUM>-<NUM>, wherein the abnormal VR usage pattern comprises a processor usage below a processing threshold and a memory usage above a memory threshold.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM> or <NUM>-<NUM>, wherein the one or more processors are further configured to: generate a VNF PM job associated with the VNF, wherein the VNF PM job comprises a VNF PM job schedule; and output a request to the EM to create the VNF PM job, wherein the set of VNF PM data is received from the EM based on the VNF PM job schedule.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM> or <NUM>-<NUM>, wherein the VR PM job designates one or more of a resource type that indicates the VR from which the VR PM data is to be collected, a collection period that indicates when the VR PM data is to be collected, one or more reporting periods that indicate when the VR PM data is to be reported to the NM, or one or more measurement types to be collected and wherein the set of VR PM data comprises data of the one or more indicated measurement types.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM> or <NUM>-<NUM>, wherein the determination to restart the VNF is a determination to terminate and reinstantiate the VNF, and wherein the request to restart the VNF is a request to terminate and reinstantiate the VNF.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM> or <NUM>-<NUM>, wherein the determination to restart the VNF is a determination to reset the VNF, and wherein the request to restart the VNF is a request to reset the VNF.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the one or more processors are further configured to: analyze the set of VNF PM data and the set of VR PM data; make a determination whether an abnormal VR usage pattern is detected based on the analyzed set of VNF PM data and the analyzed set of VR PM data; and make the determination whether to restart the VNF based on the determination being made that the abnormal VR usage pattern is detected.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the abnormal VR usage pattern comprises a processor usage below a processing threshold and a memory usage above a memory threshold.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the one or more processors are further configured to: generate a VNF PM job associated with the VNF, wherein the VNF PM job comprises a VNF PM job schedule; and output a request to the EM to create the VNF PM job, wherein the set of VNF PM data is received from the EM based on the VNF PM job schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the VR PM job designates a resource type that indicates the VR from which the VR PM data is to be collected.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the VR PM job designates a collection period that indicates when the VR PM data is to be collected.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the VR PM job designates one or more reporting periods that indicate when the VR PM data is to be reported to the NM.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the VR PM job indicates one or more measurement types to be collected, wherein the set of VR PM data comprises data of the one or more indicated measurement types.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the determination to restart the VNF is a determination to terminate and reinstantiate the VNF, and wherein the request to restart the VNF is a request to terminate and reinstantiate the VNF.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the determination to restart the VNF is a determination to reset the VNF, and wherein the request to restart the VNF is a request to reset the VNF.

Example <NUM> is a machine readable medium comprising instructions that, when executed, cause a Network Manager (NM) to: generate a Virtualized Network Function (VNF) Performance Management (PM) job associated with a first VNF, wherein the VNF PM job comprises a VNF PM schedule; output a request to an Element Manager (EM) to create the VNF PM job; receive a set of VNF PM data from the EM according to the VNF PM schedule; generate a Virtualization Resource (VR) PM job comprising a VR PM schedule, wherein the VR PM job is associated with a VR of the VNF; output a request to the EM to create the VRM PM job; receive a set of VR PM data from the EM according to the VR PM schedule; make a determination whether an abnormal VR usage pattern is present based on an analysis of the set of VNF PM data and the set of VR PM data; and output to a Network Function Virtualization Orchestrator (NFVO) a request to restart the VNF based on a determination that the abnormal VR usage pattern is present.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the instructions, when executed, further cause the NM to compare the set of VNF PM data to one or more VNF PM thresholds to determine whether the one or more VNF PM thresholds have been crossed, wherein the VR PM job is generated based on a determination that at least one of the one or more VNF PM thresholds has been crossed.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the VR PM job indicates a resource type of the VR, a collection period of the VR PM schedule, and one or more reporting periods of the VR PM schedule, wherein the set of VR PM data is received from the EM in accordance with the one or more reporting periods.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the request to restart the VNF comprises a request to terminate and reinstantiate the VNF.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the request to restart the VNF comprises a request to reset the VNF.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the request to restart the VNF comprises a request to terminate and reinstantiate the VNF.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the request to restart the VNF comprises a request to reset the VNF.

Example <NUM> is an apparatus configured to be employed within a network Element Manager (EM), comprising one or more processors configured to: process a Virtualized Network Function (VNF) Performance Measurement (PM) job associated with a VNF, wherein the VNF PM job is received from a Network Manager (NM); output a request to the VNF to collect a first set of VNF PM data based on the VNF PM job; receive the first set of VNF PM data from the VNF in response to the request to the VNF; output to the NM a second set of VNF PM data based on the first set of VNF PM data; process a first Virtualization Resource (VR) PM job associated with a VR of the VNF, wherein the VR PM job is received from the NM and based on the set of VNF PM data; generate a second VR PM job based on the first VR PM job; output the second VR PM to a VNF Manager (VNFM) that allocated the VR to the VNF; receive a first set of VR PM data from the VNFM; and output to the NM a second set of VR PM data based on the first set of VR PM data.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the first VR PM job and the second VR PM job each indicate one or more measurement types to be collected, wherein each of the first and the second set of VR PM data comprises data of the one or more indicated measurement types.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the first VR PM job comprises a first VR PM schedule and the second VR PM job comprises a second VR PM schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the first VR PM schedule and the second VR PM schedule each define a collection period that indicates when the VR PM data is to be collected.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the second VR PM schedule defines a second reporting period that indicates when the first set of VR PM data is to be reported from the VNFM, wherein the one or more processors are configured to receive the first set of VR PM data from the VNFM according to the second VR PM schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the first VR PM schedule defines a first reporting period that indicates when the second set of VR PM data is to be output by the EM, wherein the one or more processors are configured to output the second set of VR PM data to the NM according to the first VR PM schedule.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the first set of VNF PM data is one of a plurality of sets of VNF PM data received from the VNF, wherein the second set of VNF PM data is based at least in part on each of the plurality of sets of VNF PM data.

Example <NUM> comprises the subject matter of any variation of any of examples <NUM>-<NUM>, wherein the VNF PM job comprises a VNF PM schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the request to the VNF indicates to collect the first set of VNF data according to the VNF PM schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the second set of VNF data is output to the NM according to the VNF PM schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the first VR PM job comprises a first VR PM schedule and the second VR PM job comprises a second VR PM schedule.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the first set of VNF PM data is one of a plurality of sets of VNF PM data received from the VNF, wherein the second set of VNF PM data is based at least in part on each of the plurality of sets of VNF PM data.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the VNF PM job comprises a VNF PM schedule.

Example <NUM> is an apparatus configured to be employed within a Network Manager (NM), comprising one or more processors configured to: output a request to a network Element Manager (EM) to create a Virtualized Network Function (VNF) PM job to collect VNF Performance Measurement (PM) data; process a set of Virtualized Network Function (VNF) Performance Measurement (PM) data associated with a VNF, wherein the set of VNF PM data is received from the EM; make a determination whether the VNF has a negative performance issue, based on the processed set of VNF PM data; output a request to the EM to create a Virtualization Resource (VR) PM job to collect VR PM data from a VR used by the VNF, based on a determination that the VNF has the negative performance issue; process a set of VR PM data received from the EM; make a determination whether to restart the VNF, based on the processed set of VR PM data and the processed set of VNF PM data; and output a request to a network function virtualization orchestrator (NFVO) to restart the VNF based on a determination to restart the VR.

Example <NUM> is an apparatus configured to be employed within a Network Manager (NM), comprising means for processing configured to: generate a Virtualized Network Function (VNF) Performance Management (PM) job associated with a first VNF, wherein the VNF PM job comprises a VNF PM schedule; output a request to an Element Manager (EM) to create the VNF PM job; receive a set of VNF PM data from the EM according to the VNF PM schedule; generate a Virtualization Resource (VR) PM job comprising a VR PM schedule, wherein the VR PM job is associated with a VR of the VNF; output a request to the EM to create the VRM PM job; receive a set of VR PM data from the EM according to the VR PM schedule, make a determination whether an abnormal VR usage pattern is present based on an analysis of the set of VNF PM data and the set of VR PM data; and output to a Network Function Virtualization Orchestrator (NFVO) a request to restart the VNF based on a determination that the abnormal VR usage pattern is present.

Example <NUM> comprises the subject matter of any variation of example <NUM>, wherein the means for processing are further configured to compare the set of VNF PM data to one or more VNF PM thresholds to determine whether the one or more VNF PM thresholds have been crossed, wherein the VR PM job is generated based on a determination that at least one of the one or more VNF PM thresholds has been crossed.

The above description of illustrated embodiments of the subject disclosure, including what is described in the Abstract, is not intended to be exhaustive or to limit the disclosed embodiments to the precise forms disclosed. While specific embodiments and examples are described herein for illustrative purposes, various modifications are possible that are considered within the scope of such embodiments and examples, as those skilled in the relevant art can recognize.

Claim 1:
An apparatus configured to be employed for a Network Manager (NM), comprising one or more processors configured to:
output a request to a network Element Manager (EM) to create a Virtualized Network Function (VNF) Performance Measurement (PM) job to collect VNF PM data from a VNF;
receive a set of VNF PM data associated with the VNF from the EM;
process the set of VNF PM data associated with the VNF;
output a request to the EM to create a Virtualization Resource (VR) PM job to collect VR PM data from a VR used by the VNF through a VNF Manager (VNFM) and a virtualized infrastructure manager (VIM);
receive a set of VR PM data from the EM; and
process the set of VR PM data.