Patent ID: 12219395

DETAILED DESCRIPTION

In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the present disclosure. Embodiments may be practiced as methods, systems, or devices. Accordingly, embodiments may take the form of a hardware implementation, an entirely software implementation, or an implementation combining software and hardware aspects. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.

The present disclosure describes various examples of utilizing computing resources in a virtualized radio access network (vRAN). Changes in allocations for a vRAN may be referred to as “autoscaling” of the vRAN (i.e., of the computing resources) to better match a predicted resource load.

As the allocations are increased or reduced according to a predicted resource load, strict real-time deadlines must be met for compliance with vRAN operational needs. For example, physical layer (PHY) processing of a timeslot must be completed within 500 μs. Load spikes in processing may occur when additional user equipment devices (UEs) attach to the vRAN or begin sending or receiving data with the vRAN. Generally, load spikes for a few UEs are manageable by distributing the corresponding processing across multiple processors or servers of a current resource allocation, but in some scenarios, these load spikes overwhelm the current resource allocation before additional resources can be allocated and these real-time deadlines are missed.

In examples described herein, an autoscale processor is configured to change the allocations of computing resources for a vRAN and also determine wireless parameter limits for wireless communication channels served by the vRAN that constrain utilization of the allocated computing resources. Resource load for PHY processing is closely related to wireless parameters for the wireless communication channels, such as a modulation and coding scheme (MCS), a number of connected UEs, a number of resource units (RUs), etc. As one example, PHY processing for a timeslot using a high complexity MCS such as 1024 Quadrature Amplitude Modulation (QAM) may correspond to a resource load of 1 gigaFLOPS (GFLOPS, floating point operations per second) from a processor (or distributed across multiple processors), while using a lower complexity MCS such as 256 QAM may correspond to a resource load of 0.25 GFLOPS. Accordingly, a load spike of 1 GFLOPS for a UE may be limited to 0.25 GFLOPS by using a wireless parameter limit of 256 QAM (i.e., restricting or denying use of 512 QAM and 1024 QAM). By constraining the utilization of the allocated computing resources, load spikes that cause a violation of the real-time deadlines for PHY processing are reduced or entirely avoided. In some examples, the allocation of computing resources may be reduced further, allowing for reduced power requirements or operating costs (e.g., electricity costs, datacenter cooling costs) of the vRAN. This and many further embodiments for a computing device are described herein.

FIG.1illustrates an overview of an example system100in which changing allocations of computing resources in a vRAN may be implemented. A mobile wireless telecommunication network, such as the system100, may use a cloud service for implementing a RAN. In this case, the cloud service connects cell towers, with which mobile devices (e.g., smartphones) connect, to the public network (e.g., the Internet), telecommunication networks, private networks, or other suitable networks. The cloud service provides virtual servers and other computing resources for dynamically scaling the computing capacity as needed based on the volume of data traffic (e.g., to and from the mobile devices). In aspects, a cloud RAN infrastructure represents an implementation of cloud services for the RAN. In contrast to a typical cloud service, the cloud RAN infrastructure may include geographical and physical constraints as well as latency constraints imposed by RAN standards. The cloud RAN infrastructure includes connection to at least one cell tower associated with an RU and cloud servers associated with one or more of a distributed unit (DU), a central unit (CU), and a RAN intelligent controller (RIC). The cell tower is in the field, where mobile devices connect over wireless cellular communications, and the RU of the cell tower connects to a DU of a RAN server at a far-edge datacenter. To enable real-time processing of RAN data traffic, the far-edge datacenter is relatively close (e.g., a few kilometers) to the cell tower.

As noted above, the DU is associated with network switches and processes data in a series of operations associated with at least layer one (physical layer, L1) and layer two (data link layer, L2) of the Open Systems Interconnection (OSI) model. The physical layer connects a data link layer device (e.g., medium access control (MAC)) to a physical medium (e.g., optical fiber, copper cable, etc.). In aspects, a switch is a hardware device that connects devices on a digital network by using packet switching to receive and forward data to a destination device. Some switches include integrated circuit chips programed to process packets according to fixed rules associated with a limited set of networking protocols. Other switches are programmable based on a protocol independent switch architecture which enables developers to program each stage of packet processing.

In the example embodiment shown inFIG.1, cell towers102A-C transmit and receive wireless communications with mobile computing devices (e.g., smartphones) over a RAN. The example system100further includes a far-edge datacenter110(switches, RAN servers), a near-edge datacenter130(core network servers), and a cloud datacenter150(cloud services). In aspects, the example system100corresponds to a cloud RAN infrastructure for a mobile wireless telecommunication network.

The far-edge datacenter110includes a DU112and a CU118. In aspects, the far-edge datacenter110enables cloud integration with a RAN. The far-edge datacenter110includes a switch114and RAN servers116configured to host vRAN instances120for processing RAN data traffic. A vRAN is a type of RAN in which networking functions (including the control and data planes) are separated from the hardware that hosts the vRAN (e.g., RAN servers116host the vRAN instances120). In general, network function virtualization involves enabling software to perform hardware-based functions. This leads to increased responsiveness to network fluctuations and increased flexibility for enhancement since software can be upgraded or repaired more easily than hardware.

The switch114and RAN servers116process incoming data traffic and outgoing data traffic associated with a layer one or physical (PHY) layer174and at least a part of a layer two or medium access control (MAC) layer176. In aspects, the far-edge datacenter110is at a remote site from the cloud datacenters associated with the core network and cloud services. For example, the remote site may be located within a few kilometers or more of the cell towers102A-C. In aspects, the upstream data traffic corresponds to data flowing from the cell towers102A-C to servers154in the cloud datacenter150. Similarly, the downstream data traffic corresponds to data flowing from the cloud datacenter150to the cell towers102A-C.

The near-edge datacenter130(e.g., hosting the core network) includes a CU132and a RAN intelligent controller136(RIC). The CU132is associated with servers134and the RIC136is associated with servers138. In aspects, the near-edge datacenter130is at a regional site of a private cloud service. For example, the regional site may be located tens of kilometers from the cell towers102A-C.

The cloud datacenter150includes a RIC152associated with the servers154. For example, the RIC152processes non-real-time service operations. In aspects, the cloud datacenter150may be at a central location in the cloud RAN infrastructure. For example, the central locations may be located hundreds of kilometers from the cell towers102A-C. In aspects, the far-edge datacenter110, which is closer to the cell towers102A-C than the cloud datacenter150, provides real-time processing. In contrast, the cloud datacenter150, which is furthest from the cell towers102A-C in the cloud RAN infrastructure, provides processing in a non-real-time manner.

Operational partitions170illustrate various operational segments for processing data traffic in the RAN. For example, operational partitions182-191may correspond to the layer one174processing and operational partitions192-195may correspond to the layer two176processing of the OSI seven-layer model.

In aspects, conversion of data associated with a radio frequency (RF)172occurs prior to processing data at the layer one174. For data processing of the RF172, the radio front-end partition receives and sends data through the cell towers102A-C to mobile computing devices over wireless communications. An analog to digital converter (A/D)181A converts analog data from the radio front-end to digital data for the upstream data traffic. A digital to analog converter (D/A)181B converts digital data into analog data for the downstream data traffic. In aspects, the interface between the DU and RU in a cloud RAN is referred to as “fronthaul.” The fronthaul defines various “planes” of operations including the “c-plane” (control plane), “u-plane” (user plane), “s-plane” (synchronization plane), and “m-plane” (management plane). In general, c-plane data are directed to scheduling and coordination of data transmission, u-plane data are directed to efficient data transfer, s-plane data are directed to timing and synchronization of data transmission between the RU and DU, and m-plane data relate to managing the RU. Packets having data payloads related to the different planes of operation include corresponding header information (e.g., a “c-plane header,” “u-plane header,” etc.).

Partitions in the layer one174are related to operations for converting coded symbols associated with a bit stream into a physical signal for transmission using communication media (e.g., a physical wire or radio). For example, the layer one174may convert coded symbols into in-phase/quadrature (IQ) signals. In aspects, the operational partitions for processing upstream data traffic of the layer one174may include CP182A, FFT183A, Demap184A, Channel185A, Eq186A, Demod187A, Descram188A, Rate189A, Decoding190A, and CRC191A. In aspects, the operational partitions for processing downstream data traffic in the layer one174may include CRC191B, Coding190B, Rate189B, Scram188B, Mod187B, Layer186B, Precode185B, Map184B, iFFT183B, and CP182B.

Partitions in the layer two176are related to operations for transferring data frames between network hosts over a physical link. In aspects, partitions in the layer two176correspond to the data link layer in the OSI seven-layer model. For example, low-MAC192is the lowest partition in the layer two176. Other partitions above the low-MAC192include an ascending sequence of layers, high-MAC193, low-radio link control (RLC)194, and high-RLC195.

Partitions in layer three178are related to operations for forwarding data packets through routers. In aspects, the layer three178corresponds to the network layer in the OSI seven-layer model. The partitions in the layer three178may be associated with protocol-governed operations such as packet data convergence protocol196(PDCP), radio resource control197A (RRC) and service data adaptation protocol197B (SDAP).

In aspects, a combination of the DU112and CU118in the far-edge datacenter110may process partitions associated with the layer one174, the layer two176, and at least a part of the layer three178. In particular, respective servers of the RAN servers116may include various computing resources, such as one or more processors, memory configured to store data for the processors (e.g., RAM or other suitable storage devices, not shown), network interface devices for exchanging packets with the switch114or servers134, a variety of accelerators for processing data associated with one or more partitions of the operational partitions170, graphics processing units (e.g., for parallel floating point operations), or other suitable computing resources.

As will be appreciated, the various methods, devices, applications, features, etc., described with respect toFIG.1are not intended to limit the example system100to being performed by the particular applications and features described. Accordingly, additional controller configurations may be used to practice the methods and systems herein or features and applications described may be excluded without departing from the methods and systems disclosed herein.

FIG.2Aillustrates a first example of a far-edge datacenter210of RAN environment200. The far-edge datacenter210(generally corresponding to far-edge datacenter110) includes at least a switch212, a vRAN instance214, and computing resources, such as processors220,222, and224. The processors220,222, and224may be located in a same RAN server or different RAN servers (e.g., RAN servers116) in different examples. In the case ofFIG.2A, the switch212(corresponding to switch114) connects the cell towers (e.g., the cell towers102A-C, as shown inFIG.1) with computing resources allocated to run the vRAN instance214, specifically in this example, the processors220,222, and224. In other examples, other computing resources (e.g., one or more of memory, network interface devices, accelerators, or other suitable computing resources) may be similarly allocated. In the examples ofFIGS.2A and2B, available computing resources of the far-edge datacenter210include the processors220,222, and224, but a subset of these available computing resources may be allocated at various times, as described below.

In some examples, the vRAN instance214is implemented as one or more independent software modules (e.g., Docker containers) for performing portions of RAN data traffic processing, such as a PHY module, a MAC module, etc. A PHY module may be configured to perform PHY processing for RAN data traffic for a plurality of UEs connected to the vRAN instance214, while a MAC module may be configured to perform MAC processing for the RAN data traffic. In some examples, a single PHY module and a single MAC module implement a distributed unit (DU) of the vRAN instance214.

Although allocations of computing resources for Docker containers may be managed by existing software packages, such as Kubernetes, these packages generally do not provide changes in allocations within a suitable time period, specifically, within the timing constraints of a vRAN instance. In the disclosed system, the far-edge datacenter210includes an autoscale processor230configured to dynamically allocate computing resources to vRAN instances within the far-edge datacenter210, while still meeting the timing constraints of a vRAN instance. In various examples, the autoscale processor230is implemented as an application specific integrated circuit (ASIC), a software module (e.g., autoscale module336) executed by a hardware processor, a software service, a firmware module, or other suitable implementation.

In the example shown inFIG.2A, the autoscale processor230has allocated the processors220,222, and224to the vRAN instance214. Different allocations may be based on real-time network information, configuration parameters of the vRAN, a volume of the RAN data traffic218(e.g., an average over a prior period(s)), or other suitable information. As described further below, as a volume of RAN data traffic218fluctuates (e.g., during peak mobile usage periods during the day, or low usage at night), the autoscale processor230dynamically allocates computing resources to the vRAN instance214within the timing constraints of the vRAN instance214. As a result, with improved computing resource allocation, RAN processing efficiency and energy efficiency of the RAN servers116may improve—even in instances of changing network conditions and spikes in RAN data traffic218.

In the example shown inFIG.2B, the autoscale processor230has allocated the processor222to the vRAN instance214. For example, at night during a period of reduced resource load, a single processor may be sufficient to perform RAN data traffic processing. In some examples, the autoscale processor230allocates a remainder of the available computing resources for an alternate processing mode. In other words, the remainder (i.e., processor220and224) may be allocated to the alternate processing mode.

In some examples, the alternate processing mode is a power saving mode where the processors, portions thereof (e.g., individual cores of a multi-core processor), or related equipment (e.g., motherboards, power supplies, etc.) have reduced electrical power consumption. The power saving mode may be implemented by executing NO OP instructions, entering a power save state, or other suitable operation. The power saving mode may reduce operating costs (e.g., electricity costs, datacenter cooling costs) of the far-edge datacenter210as compared to datacenters without an autoscale processor. In other examples, the alternate processing mode is a mode configured for other processing tasks to be performed by the far-edge datacenter210. In this alternate processing mode, additional processing may be performed that otherwise would not be possible without the autoscale processor230.

AlthoughFIGS.2A and2Brefer to changing an allocation of processors as the allocation of computing resources for the vRAN instance214, in other examples, the computing resources include one or more of memory, network interface devices, accelerators, or other suitable computing resources. Moreover, the autoscale processor230may allocate computing resources separately to individual software modules (e.g., a PHY module, a MAC module), allocate computing resources in groups (e.g., for a linked PHY module and MAC module), or other suitable grouping.

In addition to determining an allocation of computing resources, the autoscale processor230is configured to determine wireless parameter limits for wireless communication channels served by the vRAN to constrain utilization of the allocated computing resources (e.g., for PHY processing). As described above, by constraining the utilization of the allocated computing resources with the wireless parameter limits, load spikes that cause a violation of the real-time deadlines for PHY processing are reduced or entirely avoided. In some examples, the allocation of computing resources may safely be reduced further, allowing for reduced power requirements or operating costs (e.g., electricity costs, datacenter cooling costs) of the vRAN. Examples of wireless parameters that may be limited by the autoscale processor230include a MCS index (or a modulation scheme or coding scheme separately), a number of connected UEs (e.g., limited to 200 UEs instead of 250 UEs), a number of RUs per timeslot (e.g., RUs corresponding to 20 MHz of bandwidth instead of 100 MHz), a transport block size (TBS), or other suitable wireless parameters.

In some examples, the autoscale processor230is configured to determine a predicted resource load for PHY processing. As described above, the allocation of computing resources may be reduced, but an excessive reduction may result in poor performance of the vRAN. The autoscale processor230is configured to predict a resource load for the RAN data traffic processing, for example, based on current RAN data traffic, network configuration, a number of connected UEs, wireless parameters or conditions (e.g., time of day, day of week), bandwidth requested by UEs, and other suitable information.

In the example shown inFIG.2A, the autoscale processor230includes a neural network model232that may be configured for online or offline learning to predict the resource load using the above-mentioned information. Generally, the neural network model232is configured to learn to conservatively predict the resource load to avoid drops in service (e.g., not meeting a PHY processing deadline). In some examples, the neural network model232is implemented as a recurrent neural network model, such as a long short term memory (LSTM) model, that performs a time series prediction. The neural network model232takes history into account, extracts patterns, then predicts future trends in resource load. In some examples, the neural network model232predicts a resource load as a volume of bandwidth within the RAN data traffic to be processed, a number of processors (or processor cores) predicted as needed to process the RAN data traffic, an amount of memory predicted as needed to process the RAN data traffic, or other suitable indications of resource load.

In some examples, the neural network model232is trained in an offline mode using existing data about one or more vRAN instances120. For generation of the data, the autoscale processor230may enforce wireless parameter limits, monitor the RAN data traffic, monitor other network information (e.g., network parameters, UE parameters such as a number of connected UEs, priority levels, etc.), and store suitable data for training. Based on the offline training, the autoscale processor230may provide similar data (e.g., network parameters, UE parameters) from a current timeslot of the vRAN instance to the neural network model232and receive the current predicted resource load in near real-time, as described above. In this way, the autoscale processor230is able to more quickly make allocation decisions for the vRAN instance. In some examples, the neural network model232is iteratively trained by performing further offline training sessions using more recent training data. Monitoring of the RAN data traffic and network information may be performed by a traffic monitor, such as traffic monitor338(FIG.3).

The neural network model232may also be trained using an online learning algorithm that makes controlled decisions in real-time. In other words, the neural network model232may use a reinforcement learning algorithm to use feedback for how the wireless parameter limits are affecting an actual resource load of the vRAN instance. As described above, this enables the autoscale processor230to make allocation decisions more quickly and with lower allocations than prior systems. More specifically, due to occasional spikes in RAN data traffic, an allocation of ten processors may be needed by a prior art system to meet the PHY processing time limits, but by using the wireless parameter limits and learning their effects on PHY processing, the neural network model232may allow the autoscale processor230to allocate eight processors with suitable wireless parameter limits and still meet the PHY processing time limits and handling the occasional spikes in RAN data traffic.

In alternate examples, the autoscale processor230includes a first module that predicts UE bandwidth requests and a second module that predicts resource load based on the UE bandwidth requests. As another example, the autoscale processor230may implement a decision tree predictor that, given a workload profile for a current timeslot, predicts a suitable resource load for processing the workload profile.

Generally, autoscaling of the computing resources refers to increasing or reducing processing capacity for the vRAN instance, but does not necessarily increase throughput for a particular UE. For example, autoscaling could result in reduced throughput to individual UEs (e.g., by enforcing a reduced MCS), but allow for an increased number of RUs such that a total resource load is increased on the allocated resources.

FIG.3illustrates an example of a far-edge datacenter310of RAN environment300, according to an embodiment. The far-edge datacenter310(generally corresponding to far-edge datacenter110) includes at least a switch312and available computing resources, such as processors320,322,324, and326and memory328. The processors320,322,324, and326may be located in a same RAN server or different RAN servers (e.g., RAN servers116) in different examples. In the case ofFIG.3, the switch312(corresponding to switch212) connects the cell towers (e.g., the cell towers102A-C, as shown inFIG.1) with computing resources allocated to run a vRAN instance314. In this example, the vRAN instance314is similar to the vRAN instance214but is implemented using a PHY module332and a MAC module334. The PHY module332and MAC module334may be Docker containers or other suitable software modules for performing PHY processing and MAC processing within a vRAN.

The far-edge datacenter310includes an autoscale module336, which is generally similar to the autoscale processor230, but implemented as a software module on the respective RAN servers. In this example, the autoscale module336is executable using the same available computing resources as the vRAN instance314. In the example shown inFIG.3, the autoscale module336executes on the processor326, allocates processors320and322and a first portion of memory328to the PHY module332, and allocates processor324and a second portion of memory328to the MAC module334. The autoscale module336is shown inFIG.3as a separate module. However, in other examples, the autoscale module336is implemented as a portion of a vRAN scheduling module, a MAC scheduling module (e.g., within the MAC module334), a RAN intelligent controller (e.g., RIC136), or other suitable scheduler for computing resources.

The autoscale module336may also include a traffic monitor338and a neural network model339, in various examples. The traffic monitor338is configured to monitor RAN data traffic, network information, wireless parameters, or other suitable information for training the neural network model339, determining predicted resource loads, providing inputs to the neural network model339, or other suitable purposes. The neural network model339generally corresponds to the neural network model232.

In some examples, the autoscale module336communicates with the PHY module332to cause the PHY module to provide a modified characteristic of the wireless communication channels to the MAC module334. The modified characteristic may be a signal to noise ratio, signal strength indication, or other suitable characteristic. The autoscale module336causes the PHY module332to modify the characteristic to induce the MAC module334to use the wireless parameter limits. For example, when the PHY module332provides an SNR value of 90 dB to the MAC module334, indicating a relatively strong signal, the MAC module334may select a more complex MCS value corresponding to a 1024 QAM. When the PHY module332provides a modified SNR value of 75 dB to the MAC module334even when the SNR is actually 90 dB, the MAC module334may select a less complex MCS value corresponding to a 256 QAM. Accordingly, the modified characteristic (SNR value) causes the MAC module334to enforce a wireless parameter limit (e.g., restricting or denying use of 512 QAM and 1024 QAM). In other examples, the autoscale module336or another suitable module (not shown) modifies a message (e.g., FAPI message or nFAPI message) sent between the PHY module332and the MAC module334to modify the characteristic of the wireless communication channels and cause the MAC module334to enforce the wireless parameter limit.

FIG.4shows a flowchart of an example method400of utilizing computing resources in a virtualized radio access network (vRAN), according to an example embodiment. Technical processes shown in these figures will be performed automatically unless otherwise indicated. In any given embodiment, some steps of a process may be repeated, perhaps with different parameters or data to operate on. Steps in an embodiment may also be performed in a different order than the top-to-bottom order that is laid out inFIG.4. Steps may be performed serially, in a partially overlapping manner, or fully in parallel. Thus, the order in which steps of method400are performed may vary from one performance to the process of another performance of the process. Steps may also be omitted, combined, renamed, regrouped, be performed on one or more machines, or otherwise depart from the illustrated flow, provided that the process performed is operable and conforms to at least one claim. The steps ofFIG.4may be performed by the far-edge datacenter210(e.g., via the autoscale processor230), the far-edge datacenter310(e.g., via the autoscale module336), or other suitable computing device.

Method400begins with step402. At step402, a predicted resource load is determined for data traffic processing of wireless communication channels served by the vRAN. The predicted resource load is determined by the neural network model232or the neural network model339, in various examples. Step402may include providing network parameters and usage data for the vRAN to a trained neural network model, such as the neural network models232or339. In some examples, the data traffic processing comprises physical layer (PHY) data processing or medium access control layer (MAC) processing.

At step404, computing resources are allocated for the data traffic processing based on the predicted resource load. The computing resources may be one or more of processors (e.g., processors220,222,224,320,322,324,326), memory (e.g., memory328), or servers (e.g., RAN servers116). In some examples, the autoscale processor230allocates processors, such as the processors220,222, or226. In some examples, step404includes allocating a subset of available computing resources for the data traffic processing and allocating a remainder of the available computing resources for an alternate processing mode. In some examples, the alternate processing mode is a power saving mode having reduced power consumption relative to the data traffic processing. In some examples, the autoscale processor230uses a conversion tool that predicts an allocation of resources based on a given resource load. In other examples, the neural network model232outputs the allocation of resources.

At step406, wireless parameter limits are determined for the wireless communication channels that constrain utilization of the allocated computing resources for the data traffic processing. The wireless parameter limits may include one or more of an MCS index, a modulation scheme, a coding scheme, a number of connected UEs, a number of RUs per timeslot, or other suitable limits. As one example, step406may include setting a maximum number of radio resource units (RUs) per timeslot for the wireless parameter limits. As another example, step406may include setting a maximum modulation and coding scheme (MCS) index for the wireless parameter limits. As yet another example, step406may include setting a maximum number of user equipment devices for which the data traffic processing is performed for the wireless parameter limits.

At step408, the data traffic processing is performed using the wireless parameter limits. In some examples, step408includes performing medium access control layer (MAC) scheduling using the wireless parameter limits.

In some examples, step402includes determining the predicted resource load for a next periodic frame interval of the vRAN (e.g., a next 10 ms frame interval). In these examples, the method400includes: determining the wireless parameter limits comprises determining the wireless parameter limits for the next periodic frame interval; and performing the data traffic processing using the wireless parameter limits for the next periodic frame interval.

In some examples, the method400also includes setting the wireless parameter limits, monitoring the data traffic processing while using the wireless parameter limits to obtain training data, and training the trained neural network model to generate the predicted resource loads using the training data. Training the neural network model may correspond to training the neural network model232, as described above.

FIG.5shows a flowchart of an example method500of utilizing computing resources in a virtualized radio access network (vRAN), according to an example embodiment. Technical processes shown in these figures will be performed automatically unless otherwise indicated. In any given embodiment, some steps of a process may be repeated, perhaps with different parameters or data to operate on. Steps in an embodiment may also be performed in a different order than the top-to-bottom order that is laid out inFIG.5. Steps may be performed serially, in a partially overlapping manner, or fully in parallel. Thus, the order in which steps of method500are performed may vary from one performance to the process of another performance of the process. Steps may also be omitted, combined, renamed, regrouped, be performed on one or more machines, or otherwise depart from the illustrated flow, provided that the process performed is operable and conforms to at least one claim. The steps ofFIG.5may be performed by the far-edge datacenter210(e.g., via the autoscale processor230), the far-edge datacenter310(e.g., via the autoscale module336), or other suitable computing device.

Method500begins with step502. At step502, wireless parameter limits are set for wireless communication channels served by the vRAN. The wireless parameter limits constrain utilization of computing resources for data traffic processing of the vRAN and the data traffic processing may include physical layer (PHY) data processing or medium access control layer (MAC) processing for a 5G radio access network. For example, the autoscale processor230identifies and enforces the wireless parameter limits. Examples of wireless parameters that may be limited by the autoscale processor230include a MCS index (or a modulation scheme or coding scheme separately), a number of connected UEs (e.g., limited to 200 UEs instead of 250 UEs), a number of RUs per timeslot (e.g., RUs corresponding to 20 MHz of bandwidth instead of 100 MHz), or other suitable wireless parameters. In some examples, step502includes setting one or more of a maximum number of radio resource units (RUs) per timeslot and a maximum modulation and coding scheme (MCS) index for the wireless parameter limits. In some examples, the method500also includes performing medium access control layer (MAC) scheduling using the wireless parameter limits. For example, the autoscale module336provides the wireless parameter limits to the MAC module334.

At step504, the data traffic processing is monitored while using the wireless parameter limits to obtain training data. In some examples, step504includes monitoring one or more of network parameters, user equipment parameters, and usage data of the vRAN. Step504may be performed by the traffic monitor338. The usage data may include one or more of a number of user equipment (UEs) scheduled and a data traffic bandwidth requested by the scheduled UEs.

At step506, a neural network model is trained to generate predicted resource loads for data traffic processing of the vRAN using the training data. In some examples, the neural network model generally corresponds to the neural network model232or the neural network model339. The neural network model may be trained in an offline mode using existing data about one or more vRAN instances120or in an online mode using a reinforcement learning algorithm, as described above.

At step508, a predicted resource load is determined for data traffic processing of the vRAN within a next periodic frame interval. For example, the autoscale processor230determines the predicted resource load based on current RAN data traffic, network configuration, a number of connected UEs, wireless parameters or conditions (e.g., time of day, day of week), bandwidth requested by UEs, and other suitable information, as described above.

At step510, computing resources for the data traffic processing are allocated based on the predicted resource load for the next periodic frame interval. In some examples, the autoscale processor230uses a conversion tool that predicts an allocation of resources based on a given resource load. In other examples, the neural network model232outputs the allocation of resources.

In some examples, the method500also includes: updating the wireless parameter limits for the wireless communication channels based on the predicted resource load; and performing the data traffic processing using the wireless parameter limits for the next periodic frame interval.

FIGS.6,7, and8and the associated descriptions provide a discussion of a variety of operating environments in which aspects of the disclosure may be practiced. However, the devices and systems illustrated and discussed with respect toFIGS.6,7, and8are for purposes of example and illustration and are not limiting of a vast number of computing device configurations that may be utilized for practicing aspects of the disclosure, as described herein.

FIG.6is a block diagram illustrating physical components (e.g., hardware) of a computing device600with which aspects of the disclosure may be practiced. The computing device components described below may have computer executable instructions for implementing a resource allocation application620on a computing device (e.g., RAN server116, far-edge datacenter210or310), including computer executable instructions for resource allocation application620that can be executed to implement the methods disclosed herein. In a basic configuration, the computing device600may include at least one processing unit602and a system memory604. Depending on the configuration and type of computing device, the system memory604may comprise, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories. The system memory604may include an operating system605and one or more program modules606suitable for running resource allocation application620, such as one or more components with regard toFIGS.1,2A,2B, and3and, in particular, autoscale processor621(e.g., corresponding to autoscale processor230), autoscale module622(e.g., corresponding to autoscale module336), traffic monitor623(e.g., corresponding to traffic monitor338), and neural network model624(e.g., corresponding to neural network model232or339).

The operating system605, for example, may be suitable for controlling the operation of the computing device600. Furthermore, embodiments of the disclosure may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated inFIG.6by those components within a dashed line608. The computing device600may have additional features or functionality. For example, the computing device600may also include additional data storage devices (removable or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated inFIG.6by a removable storage device609and a non-removable storage device610.

As stated above, a number of program modules and data files may be stored in the system memory604. While executing on the processing unit602, the program modules606(e.g., resource allocation application620) may perform processes including, but not limited to, the aspects, as described herein. Other program modules that may be used in accordance with aspects of the present disclosure, and in particular for changing allocations of computing resources in a virtualized radio access network (vRAN), may include autoscale processor621, autoscale module622, traffic monitor623, and neural network model624.

Furthermore, embodiments of the disclosure may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. For example, embodiments of the disclosure may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated inFIG.6may be integrated onto a single integrated circuit. Such an SOC device may include one or more processing units, graphics units, communications units, system virtualization units and various application functionality all of which are integrated (or “burned”) onto the chip substrate as a single integrated circuit. When operating via an SOC, the functionality, described herein, with respect to the capability of client to switch protocols may be operated via application-specific logic integrated with other components of the computing device600on the single integrated circuit (chip). Embodiments of the disclosure may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the disclosure may be practiced within a general purpose computer or in any other circuits or systems.

The computing device600may also have one or more input device(s)612such as a keyboard, a mouse, a pen, a sound or voice input device, a touch or swipe input device, etc. The output device(s)614such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used. The computing device600may include one or more communication connections616allowing communications with other computing devices650. Examples of suitable communication connections616include, but are not limited to, radio frequency (RF) transmitter, receiver, or transceiver circuitry; universal serial bus (USB), parallel, or serial ports.

The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, or program modules. The system memory604, the removable storage device609, and the non-removable storage device610are all computer storage media examples (e.g., memory storage). Computer storage media may include RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article of manufacture which can be used to store information and which can be accessed by the computing device600. Any such computer storage media may be part of the computing device600. Computer storage media does not include a carrier wave or other propagated or modulated data signal.

Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

FIGS.7and8illustrate a mobile computing device700, for example, a mobile telephone, a smart phone, wearable computer (such as a smart watch), a tablet computer, a laptop computer, and the like, with which embodiments of the disclosure may be practiced. In some aspects, the client may be a mobile computing device. With reference toFIG.7, one aspect of a mobile computing device700for implementing the aspects is illustrated. In a basic configuration, the mobile computing device700is a handheld computer having both input elements and output elements. The mobile computing device700typically includes a display705and one or more input buttons710that allow the user to enter information into the mobile computing device700. The display705of the mobile computing device700may also function as an input device (e.g., a touch screen display). If included, an optional side input element715allows further user input. The side input element715may be a rotary switch, a button, or any other type of manual input element. In alternative aspects, mobile computing device700may incorporate more or less input elements. For example, the display705may not be a touch screen in some embodiments. In yet another alternative embodiment, the mobile computing device700is a portable phone system, such as a cellular phone. The mobile computing device700may also include an optional keypad735. Optional keypad735may be a physical keypad or a “soft” keypad generated on the touch screen display. In various embodiments, the output elements include the display705for showing a graphical user interface (GUI), a visual indicator720(e.g., a light emitting diode), or an audio transducer725(e.g., a speaker). In some aspects, the mobile computing device700incorporates a vibration transducer for providing the user with tactile feedback. In yet another aspect, the mobile computing device700incorporates input or output ports, such as an audio input (e.g., a microphone jack), an audio output (e.g., a headphone jack), and a video output (e.g., a HDMI port) for sending signals to or receiving signals from an external device.

FIG.8is a block diagram illustrating the architecture of one aspect of a mobile computing device. That is, the mobile computing device700can incorporate a system (e.g., an architecture)802to implement some aspects. In one embodiment, the system802is implemented as a “smart phone” capable of running one or more applications (e.g., browser, e-mail, calendaring, contact managers, messaging clients, games, and media clients/players). In some aspects, the system802is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phone.

One or more application programs866may be loaded into the memory862and run on or in association with the operating system864. Examples of the application programs include phone dialer programs, e-mail programs, personal information management (PIM) programs, word processing programs, spreadsheet programs, Internet browser programs, messaging programs, and so forth. The system802also includes a non-volatile storage area868within the memory862. The non-volatile storage area868may be used to store persistent information that should not be lost if the system802is powered down. The application programs866may use and store information in the non-volatile storage area868, such as email or other messages used by an email application, and the like. A synchronization application (not shown) also resides on the system802and is programmed to interact with a corresponding synchronization application resident on a host computer to keep the information stored in the non-volatile storage area868synchronized with corresponding information stored at the host computer.

The system802has a power supply870, which may be implemented as one or more batteries. The power supply870may further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.

The system802may also include a radio interface layer872that performs the function of transmitting and receiving radio frequency communications. The radio interface layer872facilitates wireless connectivity between the system802and the “outside world,” via a communications carrier or service provider. Transmissions to and from the radio interface layer872are conducted under control of the operating system864. In other words, communications received by the radio interface layer872may be disseminated to the application programs866via the operating system864, and vice versa.

The visual indicator820may be used to provide visual notifications, or an audio interface874may be used for producing audible notifications via an audio transducer725(e.g., audio transducer725illustrated inFIG.7). In the illustrated embodiment, the visual indicator820is a light emitting diode (LED) and the audio transducer725may be a speaker. These devices may be directly coupled to the power supply870so that when activated, they remain on for a duration dictated by the notification mechanism even though the processor860and other components might shut down for conserving battery power. The LED may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. The audio interface874is used to provide audible signals to and receive audible signals from the user. For example, in addition to being coupled to the audio transducer725, the audio interface874may also be coupled to a microphone to receive audible input, such as to facilitate a telephone conversation. In accordance with embodiments of the present disclosure, the microphone may also serve as an audio sensor to facilitate control of notifications, as will be described below. The system802may further include a video interface876that enables an operation of peripheral device830(e.g., on-board camera) to record still images, video stream, and the like.

A mobile computing device700implementing the system802may have additional features or functionality. For example, the mobile computing device700may also include additional data storage devices (removable or non-removable) such as, magnetic disks, optical disks, or tape. Such additional storage is illustrated inFIG.8by the non-volatile storage area868.

Data/information generated or captured by the mobile computing device700and stored via the system802may be stored locally on the mobile computing device700, as described above, or the data may be stored on any number of storage media that may be accessed by the device via the radio interface layer872or via a wired connection between the mobile computing device700and a separate computing device associated with the mobile computing device700, for example, a server computer in a distributed computing network, such as the Internet. As should be appreciated such data/information may be accessed via the mobile computing device700via the radio interface layer872or via a distributed computing network. Similarly, such data/information may be readily transferred between computing devices for storage and use according to well-known data/information transfer and storage means, including electronic mail and collaborative data/information sharing systems.

As should be appreciated,FIGS.7and8are described for purposes of illustrating the present methods and systems and is not intended to limit the disclosure to a particular sequence of steps or a particular combination of hardware or software components.

The description and illustration of one or more aspects provided in this application are not intended to limit or restrict the scope of the disclosure as claimed in any way. The aspects, examples, and details provided in this application are considered sufficient to convey possession and enable others to make and use the best mode of claimed disclosure. The claimed disclosure should not be construed as being limited to any aspect, example, or detail provided in this application. Regardless of whether shown and described in combination or separately, the various features (both structural and methodological) are intended to be selectively included or omitted to produce an embodiment with a particular set of features. Having been provided with the description and illustration of the present application, one skilled in the art may envision variations, modifications, and alternate aspects falling within the spirit of the broader aspects of the general inventive concept embodied in this application that do not depart from the broader scope of the claimed disclosure.

The present disclosure relates to systems and methods for utilizing computing resources in a virtualized radio access network (vRAN) according to at least the examples provided in the sections below.

In an aspect, a method for utilizing computing resources in a virtualized radio access network (vRAN) is provided. The method includes determining a predicted resource load for data traffic processing of wireless communication channels served by the vRAN using a trained neural network model, wherein the data traffic processing comprises at least one of physical layer (PHY) data processing or medium access control layer (MAC) processing for a 5G radio access network; allocating computing resources for the data traffic processing based on the predicted resource load; determining wireless parameter limits for the wireless communication channels that constrain utilization of the allocated computing resources for the data traffic processing using the trained neural network model, including setting one or more of a maximum number of radio resource units (RUs) per timeslot or a maximum modulation and coding scheme (MCS) index for the wireless parameter limits; and performing the data traffic processing using the wireless parameter limits to reduce load spikes that cause a violation of real-time deadlines for the data traffic processing.

In some aspects, performing the data traffic processing comprises performing medium access control layer (MAC) scheduling using the wireless parameter limits.

In some aspects, allocating the computing resources comprises: allocating a subset of available computing resources for the data traffic processing; and allocating a remainder of the available computing resources for an alternate processing mode.

In some aspects, the computing resources are one or more of processors, memory, or servers.

In some aspects, the alternate processing mode is a power saving mode having reduced power consumption relative to the data traffic processing.

In some aspects, determining the predicted resource load comprises providing network parameters and usage data for the vRAN to the trained neural network model.

In some aspects, the trained neural network model is a long short term memory (LSTM) neural network model.

In some aspects, the method includes setting the wireless parameter limits; monitoring the data traffic processing while using the wireless parameter limits to obtain training data; training the trained neural network model to generate the predicted resource loads using the training data.

In some aspects, determining the wireless parameter limits comprises setting a maximum number of connected user equipment (UE) devices for the wireless parameter limits.

In some aspects, determining the wireless parameter limits comprises setting a maximum number of user equipment devices for which the data traffic processing is performed for the wireless parameter limits.

In some aspects, determining the predicted resource load comprises determining the predicted resource load for a next periodic frame interval of the vRAN; and the method further includes: determining the wireless parameter limits comprises determining the wireless parameter limits for the next periodic frame interval; and performing the data traffic processing using the wireless parameter limits for the next periodic frame interval.

In another aspect, a method for utilizing computing resources in a virtualized radio access network (vRAN) is provided. The method comprises setting wireless parameter limits for wireless communication channels served by the vRAN, including setting one or more of a maximum number of radio resource units (RUs) per timeslot and a maximum modulation and coding scheme (MCS) index for the wireless parameter limits, wherein the wireless parameter limits constrain utilization of computing resources for data traffic processing of the vRAN and the data traffic processing comprises physical layer (PHY) data processing or medium access control layer (MAC) processing for a 5G radio access network; monitoring the data traffic processing while using the wireless parameter limits to obtain training data; training a neural network model to generate predicted resource loads for data traffic processing of the vRAN using the training data; determining a predicted resource load for data traffic processing of the vRAN within a next periodic frame interval; and allocating computing resources for the data traffic processing based on the predicted resource load for the next periodic frame interval.

In some aspects, the method further includes updating the wireless parameter limits for the wireless communication channels based on the predicted resource load; and performing the data traffic processing using the wireless parameter limits for the next periodic frame interval.

In some aspects, monitoring the data traffic processing comprises monitoring one or more of network parameters, user equipment parameters, and usage data of the vRAN.

In some aspects, the usage data includes one or more of a number of user equipment (UEs) scheduled and a data traffic bandwidth requested by the scheduled UEs.

In some aspects, the method further includes performing medium access control layer (MAC) scheduling using the wireless parameter limits.

In yet another aspect, a system for utilizing computing resources in a virtualized radio access network (vRAN) is provided. The system comprises a plurality of processors configured to execute a vRAN instance and perform data traffic processing of wireless communication channels served by the vRAN instance, and an autoscale processor configured to: determine a predicted resource load for data traffic processing of wireless communication channels served by the vRAN instance, wherein the data traffic processing comprises physical layer (PHY) data processing or medium access control layer (MAC) processing for a 5G radio access network; allocate processors of the plurality of processors for the data traffic processing based on the predicted resource load; and determine wireless parameter limits for the wireless communication channels that constrain utilization of the allocated processors for the data traffic processing, including setting one or more of a maximum number of radio resource units (RUs) per timeslot and a maximum modulation and coding scheme (MCS) index for the wireless parameter limits. The allocated processors perform the data traffic processing using the wireless parameter limits.

In some aspects, the autoscale processor is configured to perform MAC scheduling using the wireless parameter limits.

In some aspects, the autoscale processor is configured to allocate a remainder of the plurality of processors for an alternate processing mode.

In some aspects, the autoscale processor includes a traffic monitor configured to provide network parameters and usage data for the vRAN to a trained neural network model of the autoscale processor that determines the predicted resource load.

Any of the one or more above aspects in combination with any other of the one or more aspect. Any of the one or more aspects as described herein.