Radio access network node and method therein in a wireless communications network
By dynamically allocating scheduler processing instances and resources in RAN nodes based on predicted workloads, the method addresses inefficiencies in hardware resource sharing, improving performance and reducing energy consumption.
Patent Information
- Application Number
- PCT/SE2023/051199
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2025-06-05
AI Technical Summary
Current Radio Access Network (RAN) nodes face challenges in efficiently sharing hardware resources, leading to suboptimal performance and increased energy consumption due to inefficient workload balancing and resource allocation.
The method involves selecting a set of scheduler processing instances based on predicted workload for an upcoming time period and allocating specific sector-carriers and Layer one (L1) processing units to each instance, allowing for dynamic resource allocation and minimization of unnecessary resource usage.
This approach maximizes RAN performance by ensuring that hardware resources are fully utilized only when needed, reducing energy consumption, and minimizing the number of CPU cores required, thereby enhancing predictability and real-time response.
Smart Images

Figure SE2023051199_05062025_PF_FP_ABST
Abstract
Description
[0001] RADIO ACCESS NETWORK NODE AND METHOD THEREIN IN A WIRELESS
[0002] COMMUNICATIONS NETWORK
[0003] TECHNICAL FIELD
[0004] Embodiments herein relate to a Radio Access Network (RAN) node and methods therein. In some aspects, they relate to workload balancing to share resources for an upcoming time period in a wireless communications network.
[0005] BACKGROUND
[0006] In a typical wireless communication network, wireless devices, also known as wireless communication devices, mobile stations, stations (STA) and / or User Equipment (UE), communicate via a Wide Area Network or a Local Area Network such as a Wi-Fi network or a cellular network comprising a Radio Access Network (RAN) part and a Core Network (CN) part. The RAN covers a geographical area which is divided into service areas or cell areas, which may also be referred to as a beam or a beam group, with each service area or cell area being served by a radio network node such as a radio access node e.g., a Wi-Fi access point, a Base Station (BS) or a radio base station (RBS), which in some networks may also be denoted, for example, a Base Station (BS), a NodeB, eNodeB (eNB), or gNodeB (gNB) as denoted in Fifth Generation (5G) telecommunications. A service area or cell area is a geographical area where radio coverage is provided by the radio network node. The radio network node communicates over an air interface operating on a radio frequency with the wireless devices within the range of the radio network node.
[0007] 3rd Generation Partnership Project (3GPP) is the standardization body for specifying the standards for the cellular system evolution, e.g., including 3G, 4G, 5G and the future evolutions. Specifications for Evolved Universal Terrestrial Radio Access (E- UTRA) and Evolved Packet System (EPS) have been completed within the 3GPP. In 4G also called a Fourth Generation (4G) network, EPS is core network and E-UTRA is radio access network. In 5G, 5G Core (5GC) is core network, NR is radio access network. As a continued network evolution, the new release of 3GPP specifies a 5G network also referred to as 5G New Radio (NR) and 5GC.
[0008] Frequency bands for 5G NR are being separated into two different frequency ranges, Frequency Range 1 (FR1) and Frequency Range 2 (FR2). FR1 comprises sub-6 GHz frequency bands. Some of these bands are bands traditionally used by legacy standards but have been extended to cover potential new spectrum offerings from 410 MHz to 7125 MHz. FR2 comprises frequency bands from 24.25 GHz to 52.6 GHz. Bands in this millimeter wave range have shorter range but higher available bandwidth than bands in the FR1.
[0009] Multi-antenna techniques may significantly increase the data rates and reliability of a wireless communication system. For a wireless connection between a single user, such as UE, and a base station (BS), the performance is in particular improved if both the transmitter and the receiver are equipped with multiple antennas, which results in a Multiple-Input Multiple-Output (MIMO) communication channel. This may be referred to as Single-User (SU)-MIMO. In the scenario where MIMO techniques is used for the wireless connection between multiple users and the base station, MIMO enables the users to communicate with the base station simultaneously using the same time-frequency resources by spatially separating the users, which increases further the cell capacity. This may be referred to as Multi-User (MU)-MIMO. Note that MU-MIMO may benefit when each UE only has one antenna. The cell capacity can be increased linearly with respect to the number of antennas at the BS side. Due to that, more and more antennas are employed in BS. Such systems and / or related techniques are commonly referred to as massive MIMO.
[0010] Today Hardware (HW) resources are shared in Baseband (BB) processing units in wireless communications networks.
[0011] In RAN, protocol processing is performed to control a wireless connection with mobile phones. Baseband processing is part of that protocol processing.
[0012] Baseband processing refers to the processing of Layer 1 (L1) which is the physical layer of the 5G protocol model. It further refers to the processing of Layer 2 (L2) which is the datalink layer of the 5G protocol model comprising the Medium Access Control (MAC) protocol and the Radio Link Control (RLC) protocol. It further refers to the processing of Layer 3 (L3) the network layer of the 5G protocol model, above the Physical layer of signal processing performed by RAN. Baseband processing comprises Layer 1 Physical processing, MAC, and RLC real-time sharing processing.
[0013] SUMMARY As part of developing embodiments herein, the inventors identified some problems that first will be described.
[0014] A scheduling function of an RBS is tasked to decide how to best serve the data traffic to a set of UEs within a set of frequency bands also referred to as carriers, over a geographical area, e.g. sectors, using the HW resources made available to it i.e. , CPU processing resources and L1 processing resources. The task includes both optimizing the use of the air interface, such as minimizing interference between transmissions, optimizing the UE experience, such as minimizing latency and maximizing throughput by combining carriers to the same UE, and optimizing the allocation of the HW resources for calculations on each sector-carrier and UE, such as determining how many DSPs to allocate for a certain interference rejection combining or CPUs to optimize the beam forming for a set of co-scheduled UEs. On top of this, the scheduling function is tasked to minimize the over-all HW resources used to reduce the energy consumption.
[0015] The scope of the scheduling function is thus large, and the resulting SW complex. Another aspect of building a scheduling SW is therefore to find a solution which allows for thorough verification of the SW.
[0016] An additional aspect is that the air interface time structure is different for different RATs and for different frequency bands within a RAT. For instance, 4G LTE uses 1ms Transmission Time Intervals (TTI) whereas 5G NR uses TTI based on numerology, e.g. 1ms, 0.5ms and 0.125ms, and more options are standardized.
[0017] One method to subdivide the scheduling function SW complexity is to create unique SW application for each standard or numerology, and reserve CPU and L1 resources, creating resource integrity, to each such instance. This concept allows for more thorough verification since the application becomes less complex. An enhancement is to pool HW resources within the application and also turn on / off HW within the allocation to follow the traffic load, for instance on minute basis, but the solution still does not allow the RBS to optimize the HW usage between SW applications. Another enhancement is to add the ability to move cells between SW applications, for instance from one BB unit to another on hourly basis, to rebalance workload or to empty one application to turn it off. Such a move typically results in a traffic interruption as the known art has to move cells based on management operations.
[0018] Another method to save HW is to let each application run in a best effort mode, where each application takes the resources needed to serve the traffic. This does not provide guaranteed service when the load of the system goes up and it also results in many different over-load test cases to verify.
[0019] There are some challenges when sharing HW resources in a RAN node.
[0020] - A trade-off between pooling resources to follow traffic load and to have resource integrity is required to ensure predictable capacity and real time response.
[0021] - To minimize the overhead for sharing data over multiple processors, such as negotiating shared resources or optimizing RF interference
[0022] - To allocate different processing entities with different characteristics, e.g. a set of central processing units (CPUs), a set of Digital Signal Processors (DSPs), accelerators and interfaces
[0023] - To mix sector-carriers with different numerology and therefore different processing periodicity.
[0024] - The known technology does not address internal bottlenecks of the CPUs - the cost of communicating between threads and the cost of cache misses such as local memory misses.
[0025] - The known technology which favours integrity does not manage to capture the short term variation of the traffic, and the known technology which favour pooling does not provide enough integrity to achieve predictability under high load.
[0026] An object of embodiments herein is to improve the performance of a RAN node in a wireless communications network.
[0027] Example embodiments herein relate to how to share the HW resources in a RAN node such as e.g. between the sector-carriers allocated to the BPU.
[0028] According to an aspect of embodiments herein, the object is achieved by a method performed by a Radio Access Network, RAN, node. The method is for workload balancing to share resources for an upcoming time period in a wireless communications network. The RAN node selects a set of scheduler processing instances required for the upcoming time period based on a predicted workload for the upcoming time period. For each respective scheduler processing instance out of the set of scheduler processing instances, the RAN node allocates a set of sector-carriers that the scheduler processing instance shall serve in the upcoming time period. To each respective scheduler processing instance out of the set of scheduler processing instances, the RAN node allocates a set of Layer one, L1 , processing units that the scheduler processing instance is allowed to operate in the upcoming time period.
[0029] According to another aspect of embodiments herein, the object is achieved by a Radio Access Network (RAN) node. The RAN node is configured to balance workload to share resources for an upcoming time period in a wireless communications network. The RAN is further configured to:
[0030] - Select a set of scheduler processing instances required for the upcoming time period based on a predicted workload for the upcoming time period,
[0031] - For each respective scheduler processing instance out of the set of scheduler processing instances, allocate a set of sector-carriers that the scheduler processing instance shall serve in the upcoming time period,
[0032] - To each respective scheduler processing instance out of the set of scheduler processing instances, allocate a set of Layer one (L1) processing units that the scheduler processing instance is allowed to operate in the upcoming time period.
[0033] Example embodiments herein may provide one or more of the following advantages:
[0034] Example embodiments herein e.g., provide a way to maximize the RAN performance and minimize the HW needed to do so. The BB HW need will follow the traffic load but still achieve predictability since the HW resources may be fully owned during each short period.
[0035] Example embodiments herein e.g., provide a way to minimize the number of CPU cores required to serve traffic by packing sector-carriers onto as few CPU cores as needed. A CPU core when used herein e.g., means a physical CPU core or a virtual core such as a HW thread. They may further maximize the number of sector-carriers that are included in the real time air interface scheduling decisions. Both of these are made possible by a low penalty of reallocating resources the next period, the allocation may be made aggressive. No head room for traffic fluctuations are needed since reallocation may be done if the traffic change.
[0036] Further, example embodiments herein e.g., provide a way to minimize data which is shared between CPU cores. For instance, since a complete sector-carrier scheduling is comprised within one thread, air interface resource maps Resource Elements (RE) usage, Control Channel (CCH) usage, and multiuser-MIMO beam forming optimization may be local to the thread. If also neighbouring / interfering sector-carriers are served by the same thread, also the interference state and joint beam forming optimizations may be kept local to the thread. By temporally allocating a set of Layer one (L1) resources to each scheduling thread, also no negotiation on L1 resource scheduling needs to be communicated between threads.
[0037] Example embodiments herein e.g., provide a way to minimize the state that needs to be transferred between CPU cores at reallocation.
[0038] BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Examples of embodiments herein are described in more detail with reference to attached drawings in which:
[0040] Figure 1 is a schematic block diagram illustrating embodiments of a wireless communications network.
[0041] Figure 2 is a flowchart depicting an embodiment of a method in RAN node.
[0042] Figure 3 is a schematic block diagram illustrating an embodiments herein.
[0043] Figure 4 is a schematic block diagram illustrating an embodiments herein.
[0044] Figure 5 is a schematic block diagram illustrating embodiments of a RAN node.
[0045] Figure 6 schematically illustrates embodiments of a communication system.
[0046] Figure 7 is a generalized block diagram of embodiments of a UE.
[0047] Figure 8 is a generalized block diagram of embodiments of a network node.
[0048] Figure 9 is a generalized block diagram of embodiments of a host.
[0049] Figure 10 is a generalized block diagram of embodiments of a virtualization environment.
[0050] Figure 11 is a generalized block diagram of embodiments of a communication diagram of a host.
[0051] DETAILED DESCRIPTION
[0052] Embodiments herein are expressed in 5G NR terminology but may be used also for other RAN air interface standards such as e.g., 4G LTE. Based on workload balancing, such as e.g., configuration or on slow minutes rebalancing one or more BB instances, are configured on a RAN node such as e.g. its Baseband Processing Unit (BPU).
[0053] A BPU of the RAN node is a very capable HW, which may comprise a large amount of HW resources. Therefore it may in some embodiments be assumed that first a subdivision of the HW resources into BB instances is performed. Each such BB instance has its own associated scheduling processing instances.
[0054] Each BB instance is e.g., given a set of CPUs, e.g., CPU cores, and a set of L1 processing units. The L1 processing units may be referred to as DSPs, herein, these terms may be seen as equal and may be used interchangeably. The L1 processing units may also be represented by e.g., accelerators, memory, and interfaces.
[0055] Each BB instance is given a set of sector-carriers to serve, potentially of different numerologies, up to many hundreds.
[0056] Embodiments herein relate to how these CPUs and L1 processing units are used to process the sector-carriers in runtime.
[0057] Each BB instance may be allocated a respective HW thread of a CPU. The HW thread, may also referred to as a central thread.
[0058] The RAN node, may determine periodically, for example <1 second, how many of the CPUs and L1 processing units that needs to be used. For each CPU thread, the RAN node allocates a set of sector-carriers it shall work on and the L1 processing units it is allowed to operate.
[0059] Each CPU thread therefore gets integrity for the period, and the periodic rebalancing ensures that traffic load is followed, and thus pooling is achieved. By clever selection of which sector-carriers to co-locate to the same CPU thread, the inter-thread communication will be minimized and therefore the capacity maximized.
[0060] Figure 1 is a schematic overview depicting a wireless communications network 100 wherein embodiments herein may be implemented. The wireless communications network 100 comprises one or more RANs, and one or more CNs. The communications network 100 may use 5G NR but may further use a number of other different technologies, such as, 6G, Wi-Fi, Long Term Evolution (LTE), LTE-Advanced, Wideband Code Division Multiple Access (WCDMA), Global System for Mobile communications / enhanced Data rate for GSM Evolution (GSM / EDGE), Worldwide Interoperability for Microwave Access (WiMax), or Ultra Mobile Broadband (UMB), just to mention a few possible implementations.
[0061] RAN nodes, such as a RAN node 110 operate in the RAN the communications network 100. The RAN node 110 may e.g., be represented by a BB baseband processing Unit (BPU), a RAN air interface processing unit, a Distributed Unit (DU) and further, a transmission and reception point, a base station, e.g. a radio base station such as a NodeB, an evolved Node B (eNB, eNode B), an NR Node B (gNB), a base transceiver station, a radio remote unit, an Access Point Base Station, a base station router, a transmission arrangement of a radio base station, a stand-alone access point, a Wireless Local Area Network (WLAN) access point or an Access Point Station (AP STA), an access controller, or any other network unit capable of communicating with UEs, such as a UE 121 , within a cell, served by the RAN node 110. The RAN node 110 may be referred to as a serving radio network node and may communicate with the UE 121 with Downlink (DL) transmissions to the UE 121 and Uplink (UL) transmissions from the UE 121.
[0062] One or more UEs operate in the wireless communication network 100, such as e.g. the UE 121. The UE 121 may e.g. be 5G-RG, an AR device, a remote UE, a wireless device, an NR device, a mobile station, a wireless terminal, an NB-loT device, an MTC device, an eMTC device, a CAT-M device, a WiFi device, an LTE device and an a non- access point (non-AP) STA, a STA, that communicates via a base station such as e.g., the RAN node 110, one or more RANs to one or more CN nodes in one or more CNs. It should be understood by the skilled in the art that “UE” is a non-limiting term which means any terminal, client, mobile client, IMS client, wireless communication terminal, user equipment, Device to Device (D2D) terminal, or node e.g. smart phone, laptop, mobile phone, sensor, relay, mobile tablets or even a car or any small base station communicating within a cell.
[0063] Methods according to embodiments herein are performed by the RAN node 110. The RAN node 110 may comprise Distributed Nodes (DN)s and functionality, e.g. comprised in a cloud 170 as shown in Figure 1.
[0064] As mentioned above, in some embodiments it may be assumed that the HW resources of the RAN node 110 are first divided into BB instances is performed. Each such BB instance has its own associated scheduling processing instances. According to these embodiments, the methods in the following text are described in the view of one BB instance.
[0065] In an example of embodiments herein, the RAN node 110 may periodically perform workload balancing to share resources for an upcoming time period according to one or more of the following actions, by:
[0066] - Selecting a set of scheduler processing instances to be used for the upcoming time period, e.g., the following period,
[0067] - allocating a set of sector-carriers to the scheduler processing instances and
[0068] - allocating a set of L1 processing units to each of the scheduler processing instances.
[0069] In some embodiments, the RAN node 110 may perform any one or more of the following:
[0070] - Allocating each scheduler processing instance to a HW thread of a CPU, and
[0071] - Powering down unallocated resources.
[0072] The selecting of the set of scheduler instances may be based on predicted scheduling activity the coming period.
[0073] The allocating of the sector-carriers may be performed by selecting sector-carriers to be:
[0074] - of the same numerology, e.g., to maximize sharing within instance,
[0075] - of the same standard, to simplify code and sharing,
[0076] - with same timing profile, i.e. synchronous slot starts, to maximize sharing within instance. E.g. with same LLS timing, such as the same radio timing profile, same Frequency Hopping (FH) propagation delay alignment profile,
[0077] - with significant interacting, such that joint scheduling is beneficial. E.g., either with positive interaction, such as Carrier Aggregation (CA) or multiple Transmission Points (mTRP), or with negative interaction, such as interference which requires tending to.
[0078] The allocating of the sector-carriers may comprise a step where cells are allocated to scheduler processing instances, and also all sector-carriers for that cell.
[0079] The allocating of the set of L1 processing may be based on predicted L1 activity for the upcoming time period. The periodicity may be based on changes of traffic load or at occurrences of other workload scenarios, such as forced power saving, resizing of RAN node 110 processing HW resources or adding / removing sector-carriers.
[0080] A number of embodiments will now be described, some of which may be seen as alternatives, while some may be used in combination.
[0081] Embodiments herein will first be described in a general way with reference to Figure 2. This will be followed by a more detailed and exemplified description.
[0082] Figure 2 shows exemplary embodiments of a method performed by the RAN node 110. As mentioned above the RAN node 110 may e.g., be a baseband processing Unit (BPU), a RAN air interface processing unit, a Distributed Unit (DU). The method is for workload balancing to share resources for an upcoming time period in a wireless communications network 100. The word workload when used herein may e.g. mean data traffic processing, control traffic processing, broadcasting traffic processing, user multiplexing processing, user radio link optimization processing. The wording workload balancing when used herein may e.g. mean allocating sufficient HW resources to upcoming L1 and L2 processing with minimal unused capacity. HW resources when used herein may e.g. comprise CPU processing resources and L1 processing resources.
[0083] The resources in the upcoming time period may e.g. be shared by sharing allocated scheduler processing instances and allocated L1 processing units between allocated sector-carriers in the set of sector-carriers. These allocations will be described in the below actions.
[0084] The method may be repeated periodically for upcoming time periods, or when required. It may e.g. be performed when available HW resources are changed or when workload prediction is changed due to observed events such as paging events, hand over events, traffic ramp events, or when current prediction is determined to be inaccurate such as e.g., load determined over a set threshold or under a set threshold. The periodicity for repeating the workload balancing may e.g. be tens of milliseconds to tens of seconds. The length of the upcoming time period may e.g. be tens of milliseconds to tens of seconds, or until load prediction is determined inaccurate, e.g., load determined over a set threshold or under a set threshold.
[0085] The method comprises the following actions, which actions may be taken in any suitable order. Optional actions are referred to as dashed boxes in Figure 2. Action 201. In some embodiments, the RAN node 110 may predict the amount of workload required for the upcoming time period. The workload that may be predicted may comprise any one or more out of:
[0086] - the number of User Equipments, UEs, served
[0087] - traffic load,
[0088] - an occurrences of any events,
[0089] - a forced power saving,
[0090] - the size of RAN air interface processing HW resources, and
[0091] - number of sector-carriers.
[0092] HW resources when used herein e.g., comprises the amount of L1 processing HW available and thus the upper limit of what traffic can be handled.
[0093] Action 202. The RAN node 110 selects a set of scheduler processing instances required for the upcoming time period. The selection is based on the predicted workload for the upcoming time period.
[0094] Action 203. The RAN node 110 allocates a set of sector-carriers for each respective scheduler processing instance out of the set of scheduler processing instances. The scheduler processing instance shall serve the allocated set of sectorcarriers in the upcoming time period.
[0095] In some embodiments, the allocating of the respective set of sector-carriers to each respective scheduler processing instances comprises allocating one or more cells to each respective scheduler processing instances. In these embodiments, for each respective cell out of the one or more cells, the RAN node 110 allocates one or more sector-carriers out of the set of sector-carriers for that cell. The respective cell may be represented by the respective set of sector-carriers.
[0096] In some embodiments, the selection of scheduler processing instances in action 202 is performed such that properties of the set of sector-carriers to be allocated to the respective scheduler processing instance, strives to achieve any one or more out of:
[0097] - the same numerology, e.g., to maximize sharing within the scheduler processing instance,
[0098] - the same standard, e.g., to simplify code and sharing, - a synchronous timing of slot start, e.g., to maximize sharing within the scheduler processing instance and / or e.g., with same Lower Layer Split (LLS) timing such as the same radio timing profile, same FH propagation delay alignment profile,
[0099] - a significant interacting, e.g., such that joint scheduling is beneficial. Either with positive interaction, such as CA or mTRP, or with negative interaction, such as interference which requires tending to.
[0100] Action 204. The RAN node 110 allocates a set of Layer one (L1) processing units, such as e.g., DSPs, to each respective scheduler processing instance out of the set of scheduler processing instances. The scheduler processing instance is allowed to operate with the allocated set of L1 processing units in the upcoming time period.
[0101] The allocation of the set of L1 processing units may be based on a predicted L1 workload in the upcoming time period.
[0102] In some embodiments, the respective the L1 processing unit comprises any one or more out of: a CPU, a Digital Signal Processor, DSP, a pool of DSP resources, a pool of CPU resources, a pool of accelerators, a memory, and an interface between any one or more out of the scheduler processing instances, and the L1 processing units.
[0103] Action 205. The RAN node 110 may allocate a respective HW thread of a CPU to each scheduler processing instance out of the set of scheduler processing instances. A HW thread of a CPU may e.g., mean a physical CPU core or a virtual CPU in a multithreaded CPU.
[0104] Action 206. The RAN node 110 may power down any unallocated scheduler processing instance, sector-carrier, L1 processing unit and / or CPU HW thread that is not allocated for the upcoming time period.
[0105] In this way, but using the methods above, the RAN node 110 performance is maximized at the same time as processing elements, such as L1 processing resources and the number of used CPUs in the scheduling processing instances, to do so is minimized, thus providing the best performance and power efficiency. Secondly, this reduces complexity in scheduling instance SW since interaction with surrounding threads is minimized.
[0106] The RAN node 110 performance is maximized by collocating sector-carriers with interaction in the same thread and by ensuring sufficient L1 processing resources to the scheduling processing instance. The amount of processing elements is minimized by not over-allocating L1 processing resources, minimizing overhead by removing negotiation of resources and maintaining sector-carrier states in local memory, and by turning off processing resources deemed not needed based on the predicted workload. The complexity is reduced by pre-allocating L1 processing resources for the time duration thus avoiding negotiation within the actual scheduling processing SW, which in turn reduces complexity due to deterministic execution and decisions. The reduced complexity and deterministic execution also simplify verification of the SW and thus higher quality.
[0107] Embodiments herein such as the embodiments mentioned above will now be further described and exemplified. The text below is applicable to and may be combined with any suitable embodiment described above.
[0108] An example of embodiments herein is depicted in Figure 3. Figure 3 shows a CPU system 300 of the RAN node 110. An L1 HW 310 of the RAN node 110 comprises a number of L1 processing units referred to as L1 processors in Figure 3. In this example, the RAN node 110, such as its CPU system 300, is running a MAC Scheduler. The RAN node 110 such as its L1 HW310 is running L1 processing units referred to as L1 processors in Figure 3.
[0109] The RAN node 110, e.g., its MAC scheduler, may both be responsible for scheduling the air interface and for ensuring that the L1 processing is not over-loaded. There is not sufficient L1 processing power to fully utilize all sector-carriers at the same time. Therefore, the RAN node 110 such as its MAC scheduler, in a way schedules both the air interface and the L1 processing HW.
[0110] The RAN node 110 such as its CPU system 300 comprises a set of CPUs such as also referred to as CPU cores, which each may have a set of HW threads. According to Action 205 described above, the RAN node 110 may allocate to each_scheduler processing instance of the set of scheduler processing instances, a respective HW thread of a CPU. Typically, a CPU may support one or two HW threads. The CPU may also have a memory system comprising several layers of distributed memory, some per CPU, some per set of CPUs, some shared for all CPU and some externally to the CPU. The further away from a CPU, the longer the latency to use the memory. Therefore, the performance would be best when a CPU local memory is used. Also, a best performance is achieved when threads are able to execute in solitude without interacting with other threads.
[0111] As mentioned above, the L1 HW 310 comprises a number of different L1 processors. Some may be programmable, such as DPSs and some may have a fixed function. Embodiments herein are not dependent on exactly how the L1 HW 300 is working but assumes that the number of L1 processing units are larger than the number of threads in the CPU 300, since a purpose of embodiments herein is to allocate the right amount of L1 processors to a thread, rather than allocating parts of an L1 processor. The latter is possible as well, but to achieve predictability the shared L1 processors then needs significant over-dimensioning, or not be part of the latency-critical processing. This principle may be used for some processing, such as interfaces. One example embodiment of a BPU has four to twelve CPU HW threads for the set of scheduling processing instances and 100-200 L1 processors.
[0112] Figure 4 shows one possible allocation of resources. It illustrates the same system as in Figure 3, comprising 48 sector-carriers. For simplicity, one thread, referred to as central thread is used as a central managing SW for the BB instance. The RAN node 110, such as its central SW or central thread of a BB instance, has decided to use four of the threads for scheduling. It has further allocated a proper amount of L1 processors for each, illustrated with the respective dotted, checkers, diagonal, and the squared area. In Figure 4.
[0113] The remaining threads and L1 processing entities are powered down. Figure 4 also shows which sector-carriers are allocated to each scheduling processing instance, e.g., thread, comprising the allocated set of L1 processing units.
[0114] This means that as described above in Action 203 and 204, for each respective scheduler processing instance, out of the set of scheduler processing instances the RAN node 110 allocates a set of sector-carriers that the scheduler processing instance shall serve in the upcoming time period, and a set of L1 processing units, e.g., DSPs, that the scheduler processing instance is allowed to operate in the upcoming time period.
[0115] It should be noted that the amount of L1 processors, these may also be referred to as L1 resources, allocated to each thread may not be the same, but may be decided based on the expected L1 cost and / or activity for the corresponding sector-carriers.
[0116] In the example of Figure 4 the RAN node 110 has allocated:
[0117] - sector-carriers 1-6 and four L1 processors illustrated with dotted area to one scheduler processing instance thread, - sector-carriers 7-21 and twelve L1 processors illustrated with a checker area to another scheduler processing instance thread,
[0118] - sector-carriers 22-36 and ten L1 processors illustrated with diagonal striped area to a further scheduler processing instance thread, and
[0119] - sector-carriers 37-48 and four L1 processors illustrated with squared area to one scheduler processing instance thread.
[0120] Two L1 processors illustrated with a blank area will not be used.
[0121] The method may be divided into multiple steps:
[0122] The RAN node 110 may determine the amount of scheduling resources, such as the scheduler processing instances in the set, needed. This may be based on expected work load and any fixed scheduling processing to keep cells available for UEs, e.g. for reference signals, system information, etc. Also sector-carriers may be temporarily turned off due to low workload. Since the periodicity may be short the prediction can be aggressive, e.g. assuming that traffic is no more than previous period. An aggressive prediction when used herein may mean a prediction which includes very little headroom for unexpected increase in work load. Assuming too low workload will only give minor network impact since a new allocating may be done within e.g., part of a second. The prediction may also be made more advanced, e.g. detecting ramps in data traffic due to a slow start of the Transmission Control Protocol (TCP), a change of UE activity such as Random Access Channel (RACH) attempts, handovers, paging, scheduling requests, or by analyzing user data such as e.g., pattern recognition or Deep Packet Inspection (DPI).
[0123] The RAN node 110 may allocate the sector-carriers to scheduler processing instances, e.g., to HW threads. The prediction in the previous step may be used to determine the number of threads to turn on and what sector-carriers that can be handled by each thread. In addition to packing as many sector-carriers as possible to each thread e.g., to minimize the number of threads, also other aspects may be taken in to account:
[0124] - Sector-carriers that benefit from being scheduled jointly are as far as possible allocated to the same thread. This allows RAN performance improving algorithms to run within a context on one thread and operating on the closest memory, and therefore cost the least in HW resources. Such examples are CA, mTRP processing for signal quality maximization e.g., including Coordinated multi-point (CoMP) operation, Network MIMO, Nulling, etc. Having mTRP in the same thread may also per default make the L1 processing shared and thus minimizing data transfers within the L1 processing parts. - Sector-carriers that operate synchronously are favored to be allocated on the same thread. Sector-carriers may be asynchronous due to multiple reasons:
[0125] - If the numerology is different. E.g. numerology 0 operates the MAC scheduler on a 1ms basis whereas numerology 3 operates on 125us basis. Both running the two numerologies in the same CPU thread and making a clever resource sharing of the L1 processing will be difficult.
[0126] - If the slot starts are unsynchronized. If for instance one sector-carrier is using a low latency radio mounted closed to the BB Processing Unit (BPU) and another sector-carrier is using a high latency radio mounted 10km away from the BPU, making an optimal usage of the L1 resources may be difficult, as well as realizing the potential end to end (e2e) latency benefits on the lower-latency sectorcarrier.
[0127] - If standards are different. Also if the slot structure is the same such as NR numerology 0 and LTE, mixing sector-carriers of different standards adds complexity and is less favored.
[0128] An alternative to working directly on sector-carriers is to work on cells. Each cell may be realized by a set of sector-carriers. Since one of the optimization criteria for sector-carrier allocation is to place sector-carriers sharing information in the same CPU, the likelihood of all sector-carriers of the same cell ending up in the CPU is very high. So working on cell level reduces complexity and calculation time.
[0129] - Determining and allocating a set of L1 processing units to the scheduler processing instance. As for scheduling resources, this may impact both on prediction of workload and of other L1 processing, such as random access and sounding reference signals. The allocation may either be fully flexible on L1 processing unit level or aligned to fixed predefined set of L1 processing units, to further reduce the scope of verification. The allocation can either be of the L1 processors themselves or represent a portion of the L1 processing resources that each scheduler processing instance may utilize and letting a resource abstraction function select actual L1 processing units, and in that way potentially further optimize in runtime the number of sleeping L1 processing units.
[0130] - Powering down unused resources to save power.
[0131] Each scheduling thread may serve the set of sector-carriers until further noticed, i.e. use the allocated L1 processing units in the best fashion to server all traffic in the allocated sector-carriers. The load of each sector-carrier may be fed to a central thread. The central thread may use the load and other information, such as adding and / or removing sector-carriers, powering off sector-carriers, requested yielding and / or addition of HW to the BB instance, etc. Periodically and when determined needed, the RAN node 110 such as its central SW executes the method again, potentially changing the number of threads, changing the sector-carriers in a set of a thread or changing the L1 processing units allocated to a thread.
[0132] When changing the sector-carrier allocation to a thread or the L1 processing unit allocation of a thread, the new allocation should preferably not destroy the already committed L1 processing of the air interface. Especially for the receiver, the scheduling decision may be performed 4 slots in advance and the UE 121 will send data at that time. Two options may for example be used:
[0133] - Option 1. An L1 processing unit reallocation is preceded with a 4 slot nonscheduling period, where the scheduler does not schedule UE 121 transmissions. If reallocation is done every 100ms the worst case is Frequency Division Duplex (FDD) numerology 0 where 4% slots will be unused. For numerology 3, less than 1% slots would be unused.
[0134] - Option 2. The L1 processing unit reallocation is valid with constraints for the first 4 slots. The releasing scheduling thread may state the already scheduled usage and the receiving thread complies to that short term limitation. If the releasing and receiving threads use the same numerology, there will be no loss of resources since similar delay between the scheduling decision and the need for L1 processing applies. If the receiving thread has higher numerology, initial limitations will apply, but less lost capacity than in option 1.
[0135] It should be noted that the RAN node 110 such that its central SW may decide to stay with current scheduling thread count and allocation of sector-carriers to the scheduling threads, and only reallocation L1 processing units. A low complexity solution is to define one guaranteed part of the L1 processing units to each scheduling thread and let the remaining set of L1 processing units be allocated based on previous period usage. E.g. 30% of all L1 processing units are subdivided according to number of sector-carriers or bandwidth served by each scheduling thread and the remaining 70% are subdivided every period based on the predicted traffic usage for the period, which in the simplest case may be the actual traffic usage previous period of the L1 processing units plus a suitable headroom to accommodate TCP slow start to converge correctly.
[0136] One way of viewing embodiments herein is that the central thread owns all cell and sector-carrier context and then lease out parts of that to each scheduling thread. For context only used locally by the scheduling thread, the execution becomes very efficient, and the allocation is optimized to maximize this part. There is still inter-thread communication due to not fitting all related sector-carriers and cells on the same thread, but it is minimized. The central thread may at any time revoke the lease and change what cells and sector-carriers are served by a scheduling thread.
[0137] A potential calculation optimization for the allocation algorithm is to in non-real time calculate a set of allocations matching different load points of the sector-carriers. The decision to reallocate, and the needed actions to take at reallocation, can then be done very quickly. Also, the number of different configurations during operation, needing analyzing / verification / etc. may be reduced. For instance:
[0138] • Load <0.2: Place sector-carriers 1...16 in thread 1
[0139] • 0.2 <= Load < 0.5: Place sector-carriers 1...8 in thread 1 and 9..16 in thread 2
[0140] • Load >=0.5: Place sector-carriers 1...4 in thread 1, 5..8 in thread 3, 9..12 in thread 2 and 13..16 in thread 4.
[0141] The same concept may be applicable in cloud RAN, with one BB instance being one POD. However, the exact handling of the L1 resources is not clear. Especially, they have less and larger L1 processing units, so maybe more time sharing is needed. Currently, the cloud RAN configuration is significantly smaller, so this is not fully explored.
[0142] This may be applicable within an ORAN-DU.
[0143] To perform the method actions above, the RAN node 110 is configured to balance workload to share resources for an upcoming time period in a wireless communications network 100.
[0144] The RAN node 110 may comprise an arrangement depicted in Figure 5. The RAN node 110 may comprise an input and output interface 500 configured to communicate in the communications network 100. The input and output interface 500 may comprise a wireless receiver not shown, and a wireless transmitter not shown.
[0145] The RAN node 110 is further configured to select a set of scheduler processing instances required for the upcoming time period, based on a predicted workload for the upcoming time period.
[0146] For each respective scheduler processing instance out of the set of scheduler processing instances the RAN node 110 is further configured to allocate a set of sectorcarriers that the scheduler processing instance shall serve in the upcoming time period. To each respective scheduler processing instance out of the set of scheduler processing instances the RAN node 110 is further configured to allocate a set of Layer one, L1, processing units e.g., DSPs that the scheduler processing instance is allowed to operate in the upcoming time period.
[0147] In some embodiments, the resources in the upcoming time period are adapted to be shared by: sharing the allocated scheduler processing instances and the allocated L1 processing units e.g., DSPs between the allocated sector-carriers in the set of sectorcarriers.
[0148] In some embodiments, the RAN node 110 is further being configured to repeatedly balance workload to share resources for an upcoming time period periodically for upcoming time periods, or when required.
[0149] In some embodiments, the RAN node 110 is further being configured to allocate to each scheduler processing instance out of the set of scheduler processing instances a respective Hardware, HW, thread of a Central Processing Unit, CPU.
[0150] In some embodiments, the RAN node 110 is further being configured to power down any unallocated scheduler processing instance sector-carrier, L1 processing unit e.g., DSPs and / or CPU HW thread that is not allocated for the upcoming time period.
[0151] In some embodiments, the RAN node 110 is further being configured to predict the amount of workload required for the upcoming time period, which workload is adapted to comprise any one or more out of:
[0152] - the number of User Equipments, UEs, served
[0153] - traffic load,
[0154] - an occurrences of any events,
[0155] - a forced power saving,
[0156] - the size of RAN air interface processing HW resources, and
[0157] - number of sector-carriers.
[0158] The respective the L1 , processing unit e.g., DSPs, may be adapted to comprise any one or more out of: a CPU, a Digital Signal Processor, DSP, a pool of DSP resources, a pool of CPU resources, a pool of accelerators, a memory, and an interface between any one or more out of the scheduler processing instances and the L1 , processing units e.g., DSPs.
[0159] In some embodiments, the RAN node 110 is further being configured to select the set of scheduler processing instances required for the upcoming time period, such that properties of the set of sector-carriers to be allocated to the respective scheduler processing instance strive to achieve any one or more out of: - the same numerology,
[0160] - the same standard,
[0161] - a synchronous timing of slot start,
[0162] - a significant interacting.
[0163] In some embodiments, the RAN node 110 is further being configured to allocate the respective set of sector-carriers to each respective scheduler processing instances by: allocating one or more cells to each respective scheduler processing instances. In those embodiments, for each respective cell out of the one or more cells, the RAN node 110 is further being configured to allocate one or more sector-carriers out of the set of sectorcarriers for that cell, and
[0164] The respective cell may be adapted to be represented by the respective set of sector-carriers.
[0165] In some embodiments, the RAN node 110 is further being configured to allocate the set of Layer one, L1 processing units based on a predicted L1 workload in the upcoming time period.
[0166] Embodiments herein may be implemented through a respective processor or one or more processors, such as the processor 510 of a processing circuitry in the RAN node 110 depicted in Figure 5 together with respective computer program code for performing the functions and actions of the embodiments herein. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the respective RAN node 110. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the respective RAN node 110.
[0167] The RAN node 110 may further comprise a memory 520 comprising one or more memory units. The respective memory 520 comprises instructions executable by the processor in the respective RAN node 110. The respective memory 520 is arranged to be used to store e.g., media functions, indications, tags, information, data, configurations, communication data, and applications to perform the methods herein when being executed in the respective RAN node 110.
[0168] In some embodiments, a respective computer program 530 comprises instructions, which when executed by the respective at least one processor 510, cause the at least one processor of respective RAN node 110 to perform the actions above. In some embodiments, a respective carrier 540 comprises the respective computer program 530, wherein the respective carrier 540 is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.
[0169] Those skilled in the art will appreciate that units in the respective RAN node 110 described above may refer to a combination of analog and digital circuits, and / or one or more processors configured with software and / or firmware, e.g. stored in the respective RAN node 110, that when executed by the respective one or more processors such as the processors described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuitry ASIC, or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a- Chip (SoC).
[0170] ADDITIONAL EXPLANATION
[0171] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0172] Figure 6 shows an example of a communication system QQ100 in accordance with some embodiments.
[0173] In the example, the communication system QQ100 includes a telecommunication network QQ102 that includes an access network QQ104, such as a radio access network (RAN), and a core network QQ106, which includes one or more core network nodes QQ108. The access network QQ104 includes one or more access network nodes, such as network nodes QQ110a and QQ110b (one or more of which may be generally referred to as network nodes QQ110), or any other similar 3rd Generation Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network QQ102 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network QQ102 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network QQ102, including one or more network nodes QQ110 and / or core network nodes QQ108.
[0174] Examples of an ORAN network node include an open radio unit (0-Rll), an open distributed unit (0-Dll), an open central unit (O-CU), including an O-CU control plane (O- CLI-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1 , F1 , W1, E1 , E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an 0-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes QQ110 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 121, QQ112a, QQ112b, QQ112c, and QQ112d (one or more of which may be generally referred to as UEs QQ112) to the core network QQ106 over one or more wireless connections.
[0175] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system QQ100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system QQ100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0176] The UEs QQ112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes QQ110 and other communication devices. Similarly, the network nodes QQ110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs QQ112 and / or with other network nodes or equipment in the telecommunication network QQ102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network QQ102.
[0177] In the depicted example, the core network QQ106 connects the network nodes QQ110 to one or more hosts, such as host QQ116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network QQ106 includes one more core network nodes (e.g., core network node QQ108) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node QQ108. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier Deconcealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0178] The host QQ116 may be under the ownership or control of a service provider other than an operator or provider of the access network QQ104 and / or the telecommunication network QQ102, and may be operated by the service provider or on behalf of the service provider. The host QQ116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0179] As a whole, the communication system QQ100 of Figure 6 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0180] In some examples, the telecommunication network QQ102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network QQ102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network QQ102. For example, the telecommunications network QQ102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive loT services to yet further UEs.
[0181] In some examples, the UEs QQ112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network QQ104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network QQ104. Additionally, a UE may be configured for operating in single- or multi- RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).
[0182] In the example, the hub QQ114 communicates with the access network QQ104 to facilitate indirect communication between one or more UEs (e.g., UE QQ112c and / or QQ112d) and network nodes (e.g., network node QQ110b). In some examples, the hub QQ114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub QQ114 may be a broadband router enabling access to the core network QQ106 for the UEs. As another example, the hub QQ114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes QQ110, or by executable code, script, process, or other instructions in the hub QQ114. As another example, the hub QQ114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub QQ114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub QQ114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub QQ114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub QQ114 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0183] The hub QQ114 may have a constant / persistent or intermittent connection to the network node QQ110b. The hub QQ114 may also allow for a different communication scheme and / or schedule between the hub QQ114 and UEs (e.g., UE QQ112c and / or QQ112d), and between the hub QQ114 and the core network QQ106. In other examples, the hub QQ114 is connected to the core network QQ106 and / or one or more UEs via a wired connection. Moreover, the hub QQ114 may be configured to connect to an M2M service provider over the access network QQ104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes QQ110 while still connected via the hub QQ114 via a wired or wireless connection. In some embodiments, the hub QQ114 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node QQ110b. In other embodiments, the hub QQ114 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node QQ110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0184] Figure 7 shows a UE QQ200 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes such as e.g. RAN node 110 and / or other UEs, such as e.g.. UE 121. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptopmounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-loT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE. A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).
[0185] The UE QQ200 includes processing circuitry QQ202 that is operatively coupled via a bus QQ204 to an input / output interface QQ206, a power source QQ208, a memory QQ210, a communication interface QQ212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 7. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0186] The processing circuitry QQ202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory QQ210. The processing circuitry QQ202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry QQ202 may include multiple central processing units (CPUs).
[0187] In the example, the input / output interface QQ206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE QQ200. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0188] In some embodiments, the power source QQ208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source QQ208 may further include power circuitry for delivering power from the power source QQ208 itself, and / or an external power source, to the various parts of the UE QQ200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source QQ208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source QQ208 to make the power suitable for the respective components of the UE QQ200 to which power is supplied.
[0189] The memory QQ210 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory QQ210 includes one or more application programs QQ214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data QQ216. The memory QQ210 may store, for use by the UE QQ200, any of a variety of various operating systems or combinations of operating systems.
[0190] The memory QQ210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The IIICC may for example be an embedded IIICC (elllCC), integrated IIICC (illlCC) or a removable IIICC commonly known as ‘SIM card.’ The memory QQ210 may allow the UE QQ200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory QQ210, which may be or comprise a device-readable storage medium.
[0191] The processing circuitry QQ202 may be configured to communicate with an access network or other network using the communication interface QQ212. The communication interface QQ212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna QQ222. The communication interface QQ212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter QQ218 and / or a receiver QQ220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter QQ218 and receiver QQ220 may be coupled to one or more antennas (e.g., antenna QQ222) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0192] In the illustrated embodiment, communication functions of the communication interface QQ212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0193] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface QQ212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).
[0194] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.
[0195] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smartwatch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE QQ200 shown in Figure 7.
[0196] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-loT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation. In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.
[0197] Figure 8 shows a network node QQ300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)), O- RAN nodes or components of an O-RAN node (e.g., O-RU, O-DU, O-CU).
[0198] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).
[0199] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi- cel l / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs). The network node QQ300 includes a processing circuitry QQ302, a memory QQ304, a communication interface QQ306, and a power source QQ308. The network node QQ300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node QQ300 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node QQ300 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory QQ304 for different RATs) and some components may be reused (e.g., a same antenna QQ310 may be shared by different RATs). The network node QQ300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node QQ300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node QQ300.
[0200] The processing circuitry QQ302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node QQ300 components, such as the memory QQ304, to provide network node QQ300 functionality.
[0201] In some embodiments, the processing circuitry QQ302 includes a system on a chip (SOC). In some embodiments, the processing circuitry QQ302 includes one or more of radio frequency (RF) transceiver circuitry QQ312 and baseband processing circuitry QQ314. In some embodiments, the radio frequency (RF) transceiver circuitry QQ312 and the baseband processing circuitry QQ314 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry QQ312 and baseband processing circuitry QQ314 may be on the same chip or set of chips, boards, or units. The memory QQ304 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device- readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ302. The memory QQ304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry QQ302 and utilized by the network node QQ300. The memory QQ304 may be used to store any calculations made by the processing circuitry QQ302 and / or any data received via the communication interface QQ306. In some embodiments, the processing circuitry QQ302 and memory QQ304 is integrated.
[0202] The communication interface QQ306 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface QQ306 comprises port(s) / terminal(s) QQ316 to send and receive data, for example to and from a network over a wired connection. The communication interface QQ306 also includes radio front-end circuitry QQ318 that may be coupled to, or in certain embodiments a part of, the antenna QQ310. Radio front-end circuitry QQ318 comprises filters QQ320 and amplifiers QQ322. The radio front-end circuitry QQ318 may be connected to an antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry may be configured to condition signals communicated between antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry QQ318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry QQ318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters QQ320 and / or amplifiers QQ322. The radio signal may then be transmitted via the antenna QQ310. Similarly, when receiving data, the antenna QQ310 may collect radio signals which are then converted into digital data by the radio front-end circuitry QQ318. The digital data may be passed to the processing circuitry QQ302. In other embodiments, the communication interface may comprise different components and / or different combinations of components. In certain alternative embodiments, the network node QQ300 does not include separate radio front-end circuitry QQ318, instead, the processing circuitry QQ302 includes radio front-end circuitry and is connected to the antenna QQ310. Similarly, in some embodiments, all or some of the RF transceiver circuitry QQ312 is part of the communication interface QQ306. In still other embodiments, the communication interface QQ306 includes one or more ports or terminals QQ316, the radio front-end circuitry QQ318, and the RF transceiver circuitry QQ312, as part of a radio unit (not shown), and the communication interface QQ306 communicates with the baseband processing circuitry QQ314, which is part of a digital unit (not shown).
[0203] The antenna QQ310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna QQ310 may be coupled to the radio front-end circuitry QQ318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna QQ310 is separate from the network node QQ300 and connectable to the network node QQ300 through an interface or port.
[0204] The antenna QQ310, communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna QQ310, the communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.
[0205] The power source QQ308 provides power to the various components of network node QQ300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source QQ308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node QQ300 with power for performing the functionality described herein. For example, the network node QQ300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source QQ308. As a further example, the power source QQ308 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0206] Embodiments of the network node QQ300 may include additional components beyond those shown in Figure 8 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node QQ300 may include user interface equipment to allow input of information into the network node QQ300 and to allow output of information from the network node QQ300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node QQ300.
[0207] Figure 9 is a block diagram of a host QQ400, which may be an embodiment of the host QQ116 of Figure 6, in accordance with various aspects described herein. As used herein, the host QQ400 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host QQ400 may provide one or more services to one or more UEs.
[0208] The host QQ400 includes processing circuitry QQ402 that is operatively coupled via a bus QQ404 to an input / output interface QQ406, a network interface QQ408, a power source QQ410, and a memory QQ412. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures QQ2 and QQ3, such that the descriptions thereof are generally applicable to the corresponding components of host QQ400.
[0209] The memory QQ412 may include one or more computer programs including one or more host application programs QQ414 and data QQ416, which may include user data, e.g., data generated by a UE for the host QQ400 or data generated by the host QQ400 for a UE. Embodiments of the host QQ400 may utilize only a subset or all of the components shown. The host application programs QQ414 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAG, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs QQ414 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host QQ400 may select and / or indicate a different host for over-the-top services for a UE. The host application programs QQ414 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.
[0210] Figure 10 is a block diagram illustrating a virtualization environment QQ500 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments QQ500 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment QQ500 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface.
[0211] Applications QQ502 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0212] Hardware QQ504 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers QQ506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs QQ508a and QQ508b (one or more of which may be generally referred to as VMs QQ508), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer QQ506 may present a virtual operating platform that appears like networking hardware to the VMs QQ508.
[0213] The VMs QQ508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer QQ506. Different embodiments of the instance of a virtual appliance QQ502 may be implemented on one or more of VMs QQ508, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.
[0214] In the context of NFV, a VM QQ508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs QQ508, and that part of hardware QQ504 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs QQ508 on top of the hardware QQ504 and corresponds to the application QQ502.
[0215] Hardware QQ504 may be implemented in a standalone network node with generic or specific components. Hardware QQ504 may implement some functions via virtualization. Alternatively, hardware QQ504 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration QQ510, which, among others, oversees lifecycle management of applications QQ502. In some embodiments, hardware QQ504 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system QQ512 which may alternatively be used for communication between hardware nodes and radio units.
[0216] Figure 11 shows a communication diagram of a host QQ602 communicating via a network node QQ604 with a UE QQ606 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE QQ112a of Figure 6 and / or UE QQ200 of Figure 7), network node (such as network node QQ110a of Figure 6 and / or network node QQ300 of Figure 8), and host (such as host QQ116 of Figure 6 and / or host QQ400 of Figure 9) discussed in the preceding paragraphs will now be described with reference to Figure 11.
[0217] Like host QQ400, embodiments of host QQ602 include hardware, such as a communication interface, processing circuitry, and memory. The host QQ602 also includes software, which is stored in or accessible by the host QQ602 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE QQ606 connecting via an over-the-top (OTT) connection QQ650 extending between the UE QQ606 and host QQ602. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection QQ650.
[0218] The network node QQ604 includes hardware enabling it to communicate with the host QQ602 and UE QQ606. The connection QQ660 may be direct or pass through a core network (like core network QQ106 of Figure 6) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.
[0219] The UE QQ606 includes hardware and software, which is stored in or accessible by UE QQ606 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE QQ606 with the support of the host QQ602. In the host QQ602, an executing host application may communicate with the executing client application via the OTT connection QQ650 terminating at the UE QQ606 and host QQ602. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection QQ650 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection QQ650.
[0220] The OTT connection QQ650 may extend via a connection QQ660 between the host QQ602 and the network node QQ604 and via a wireless connection QQ670 between the network node QQ604 and the UE QQ606 to provide the connection between the host QQ602 and the UE QQ606. The connection QQ660 and wireless connection QQ670, over which the OTT connection QQ650 may be provided, have been drawn abstractly to illustrate the communication between the host QQ602 and the UE QQ606 via the network node QQ604, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
[0221] As an example of transmitting data via the OTT connection QQ650, in step QQ608, the host QQ602 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE QQ606. In other embodiments, the user data is associated with a UE QQ606 that shares data with the host QQ602 without explicit human interaction. In step QQ610, the host QQ602 initiates a transmission carrying the user data towards the UE QQ606. The host QQ602 may initiate the transmission responsive to a request transmitted by the UE QQ606. The request may be caused by human interaction with the UE QQ606 or by operation of the client application executing on the UE QQ606. The transmission may pass via the network node QQ604, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step QQ612, the network node QQ604 transmits to the UE QQ606 the user data that was carried in the transmission that the host QQ602 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step QQ614, the UE QQ606 receives the user data carried in the transmission, which may be performed by a client application executed on the UE QQ606 associated with the host application executed by the host QQ602.
[0222] In some examples, the UE QQ606 executes a client application which provides user data to the host QQ602. The user data may be provided in reaction or response to the data received from the host QQ602. Accordingly, in step QQ616, the UE QQ606 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE QQ606. Regardless of the specific manner in which the user data was provided, the UE QQ606 initiates, in step QQ618, transmission of the user data towards the host QQ602 via the network node QQ604. In step QQ620, in accordance with the teachings of the embodiments described throughout this disclosure, the network node QQ604 receives user data from the UE QQ606 and initiates transmission of the received user data towards the host QQ602. In step QQ622, the host QQ602 receives the user data carried in the transmission initiated by the UE QQ606.
[0223] One or more of the various embodiments improve the performance of OTT services provided to the UE QQ606 using the OTT connection QQ650, in which the wireless connection QQ670 forms the last segment. More precisely, the teachings of these embodiments may improve the latency and thereby provide benefits such as reduced user waiting time.
[0224] In an example scenario, factory status information may be collected and analyzed by the host QQ602. As another example, the host QQ602 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host QQ602 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host QQ602 may store surveillance video uploaded by a UE. As another example, the host QQ602 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host QQ602 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.
[0225] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection QQ650 between the host QQ602 and UE QQ606, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host QQ602 and / or UE QQ606. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection QQ650 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection QQ650 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node QQ604. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host QQ602. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection QQ650 while monitoring propagation times, errors, etc.
[0226] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0227] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.
[0228] When using the word "comprise" or “comprising” it shall be interpreted as nonlimiting, i.e. meaning "consist at least of". The embodiments herein are not limited to the preferred embodiments described above. Various alternatives, modifications and equivalents may be used.
Claims
CLAIMS1. A method performed by a Radio Access Network, RAN, node (110), for workload balancing to share resources for an upcoming time period in a wireless communications network (100), the method comprising: selecting (202) a set of scheduler processing instances, required for the upcoming time period, based on a predicted workload for the upcoming time period, for each respective scheduler processing instance out of the set of scheduler processing instances allocating (203) a set of sector-carriers that the scheduler processing instance shall serve in the upcoming time period, to each respective scheduler processing instance out of the set of scheduler processing instances, allocating (204) a set of Layer one, L1 , processing units that the scheduler processing instance is allowed to operate in the upcoming time period.
2. The method according to claim 1, wherein the resources in the upcoming time period are shared by: sharing the allocated scheduler processing instances and the allocated L1 processing units between the allocated sector-carriers in the set of sector-carriers.
3. The method according to any of the claims 1-2, wherein the method for workload balancing to share resources for an upcoming time period is repeated periodically for upcoming time periods, or when required.
4. The method according to any of the claims 1-3, further comprising: allocating (205) to each_scheduler processing instance out of the set of scheduler processing instances, a respective Hardware, HW, thread of a Central Processing Unit, CPU.
5. The method according to any of the claims 1-4, further comprising: powering down (206) any unallocated scheduler processing instance sectorcarrier, L1 processing unit and / or CPU HW thread that is not allocated for the upcoming time period.
6. The method according to any of the claims 1-5, further comprising: predicting (201) the amount of workload required for the upcoming time period, which workload comprises any one or more out of:- the number of User Equipments, UEs, served- traffic load,- an occurrences of any events,- a forced power saving,- the size of RAN air interface processing HW resources, and- number of sector-carriers.
7. The method according to any of the claims 1-6, wherein: the respective the L1 , processing unit comprises any one or more out of: a CPU, a Digital Signal Processor, DSP, a pool of DSP resources, a pool of CPU resources, a pool of accelerators, a memory, and an interface between any one or more out of the scheduler processing instances, and the L1 , processing units. Anything more?8. The method according to any of the claims 1-7, wherein the selecting (202) of the set of scheduler processing instances required for the upcoming time period, is performed such that properties of the set of sector-carriers to be allocated to the respective scheduler processing instance, strives to achieve any one or more out of:- the same numerology,- the same standard,- a synchronous timing of slot start,- a significant interacting.
9. The method according to any of the claims 1-8, wherein: the allocating (203) of the respective set of sector-carriers to each respective scheduler processing instances comprises: allocating one or more cells to each respective scheduler processing instances, and for each respective cell out of the one or more cells, allocating one or more sector-carriers out of the set of sector-carriers for that cell, and wherein the respective cell is represented by the respective set of sector- carriers.
10. The method according to any of the claims 1-9, wherein the allocating (204) of the set of Layer one, L1 processing units is based on a predicted L1 workload in the upcoming time period.
11. A computer program (530) comprising instructions, which when executed by a processor (510), causes the processor (510) to perform actions according to any of the claims 1-10.
12. A carrier (540) comprising the computer program (530) of claim 11 , wherein the carrier (540) is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a computer-readable storage medium.
13. A Radio Access Network, RAN, node (110) configured to balance workload to share resources for an upcoming time period in a wireless communications network (100), the RAN node (110) further configured to: select a set of scheduler processing instances required for the upcoming time period, based on a predicted workload for the upcoming time period, for each respective scheduler processing instance out of the set of scheduler processing instances allocate a set of sector-carriers that the scheduler processing instance shall serve in the upcoming time period, to each respective scheduler processing instance out of the set of scheduler processing instances, allocate a set of Layer one, L1, processing units that the scheduler processing instance is allowed to operate in the upcoming time period.
14. The RAN node (110) according to claim 13, wherein the resources in the upcoming time period are adapted to be shared by: sharing the allocated scheduler processing instances and the allocated L1 processing units between the allocated sectorcarriers in the set of sector-carriers.
15. The RAN node (110) according to any of the claims 13-14, further being configured to repeatedly balance workload to share resources for an upcoming time period periodically for upcoming time periods, or when required.
16. The RAN node (110) according to any of the claims 13-15, further being configured to:allocate to each scheduler processing instance out of the set of scheduler processing instances, a respective Hardware, HW, thread of a Central Processing Unit, CPU.
17. The RAN node (110) according to any of the claims 13-16, further being configured to: power down any unallocated scheduler processing instance sector-carrier, L1 processing unit and / or CPU HW thread that is not allocated for the upcoming time period.
18. The RAN node (110) according to any of the claims 13-17, further being configured to: predict the amount of workload required for the upcoming time period, which workload is adapted to comprise any one or more out of:- the number of User Equipments, UEs, served- traffic load,- an occurrences of any events,- a forced power saving,- the size of RAN air interface processing HW resources, and- number of sector-carriers.
19. The RAN node (110) according to any of the claims 13-18, wherein: the respective the L1 , processing unit is adapted to comprise any one or more out of: a CPU, a Digital Signal Processor, DSP, a pool of DSP resources, a pool of CPU resources, a pool of accelerators, a memory, and an interface between any one or more out of the scheduler processing instances, and the L1 , processing units. Anything more?20. The RAN node (110) according to any of the claims 13-19, further being configured to select the set of scheduler processing instances required for the upcoming time period, such that properties of the set of sector-carriers to be allocated to the respective scheduler processing instance strive to achieve any one or more out of:- the same numerology,- the same standard,- a synchronous timing of slot start,- a significant interacting.
21. The RAN node (110) according to any of the claims 13-20, further being configured to: allocate the respective set of sector-carriers to each respective scheduler processing instances by: allocating one or more cells to each respective scheduler processing instances, and for each respective cell out of the one or more cells, allocate one or more sector-carriers out of the set of sector-carriers for that cell, and wherein the respective cell is adapted to be represented by the respective set of sector-carriers.
22. The RAN node (110) according to any of the claims 13-21, further being configured to allocate the set of Layer one, L1 processing units based on a predicted L1 workload in the upcoming time period.
Citation Information
Patent Citations
Elastic power scaling
US20210004265A1
Dynamic adjustment of workload forecast
US20210176189A1
Sharing of compute resources between the virtualized radio access network (VRAN) and other workloads
US20220035665A1
Techniques for adaptively allocating resources in a cloud-computing environment
US20220377615A1
Efficiency of routing traffic to an edge compute server at the far edge of a cellular network
US20230110752A1