The techniques described herein relate generally to wireless networks and, more particularly, to systems, apparatus, articles of manufacture, and methods for processing wireless data using baseband gateways.
Multiple generations of standards are used in the telecommunications (“telecom”) industry. Some exemplary standards are set forth by the Open Radio Access Network (O-RAN) Alliance, such as the O-RAN Architecture Description (e.g., O-RAN Alliance specification O-RAN.WG1.O-RAN-Architecture-Description-v07.00 or later), which specify exemplary telecom architectures and related functions and interfaces to implement mobile networks. A mobile network, such as a mobile network based on the O-RAN Architecture, may include a front-haul portion implemented by a front-haul interface, which facilitates communication between a radio unit and a base station. Some front-haul portions may include intermediary devices such as gateways and/or switches to implement different cellular deployments.
In accordance with the disclosed subject matter, apparatus, systems, and methods are provided for processing wireless data using baseband gateways.
Some embodiments relate to a method for processing wireless data by a baseband gateway in a cell deployment. The method comprises decompressing wireless data received from a radio unit to generate first decompressed data; combining the first decompressed data with second decompressed data to generate combined decompressed data, wherein the second decompressed data is associated with the radio unit; performing baseband processing on the combined decompressed data to generate baseband processed data; and transmitting the baseband processed data to a mid-haul network.
Some embodiments relate to a baseband gateway for processing wireless data in a cell deployment. The baseband gateway comprises at least one memory; machine-readable instructions; and processor circuitry to execute the machine-readable instructions to at least: decompress wireless data received from a radio unit to generate first decompressed data; combine the first decompressed data with second decompressed data to generate combined decompressed data, wherein the second decompressed data is associated with the radio unit; perform baseband processing on the combined decompressed data to generate baseband processed data; and cause transmission of the baseband processed data to a mid-haul network.
Some embodiments relate to at least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a baseband gateway to at least: decompress wireless data received from a radio unit to generate first decompressed data; combine the first decompressed data with second decompressed data to generate combined decompressed data, wherein the second decompressed data is associated with the radio unit; perform baseband processing on the combined decompressed data to generate baseband processed data; and cause transmission of the baseband processed data to a mid-haul network.
Some embodiments relate to another method for processing wireless data by a baseband gateway in a cell deployment. The method comprises performing baseband processing on network data from a mid-haul network to generate baseband processed data; distributing at least portions of the baseband processed data to respective network interface paths; compressing the portions of the baseband processed data to generate compressed data portions; and transmitting the compressed data portions to respective radio units.
Some embodiments relate to another baseband gateway for processing wireless data in a cell deployment. The baseband gateway comprises at least one memory; machine-readable instructions; and processor circuitry to execute the machine-readable instructions to at least: perform baseband processing on network data from a mid-haul network to generate baseband processed data; distribute at least portions of the baseband processed data to respective network interface paths; compress the portions of the baseband processed data to generate compressed data portions; and transmit the compressed data portions to respective radio units.
Some embodiments relate to another at least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a baseband gateway to at least: perform baseband processing on network data from a mid-haul network to generate baseband processed data; distribute at least portions of the baseband processed data to respective network interface paths; compress the portions of the baseband processed data to generate compressed data portions; and transmit the compressed data portions to respective radio units.
The foregoing summary is not intended to be limiting. Moreover, various aspects of the present disclosure may be implemented alone or in combination with other aspects.
In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like reference character. For purposes of clarity, not every component may be labeled in every drawing. The drawings are not necessarily drawn to scale, with emphasis instead being placed on illustrating various aspects of the techniques and devices described herein.
The present application provides techniques for processing wireless data using baseband gateways. Wireless data may be implemented as cellular data generated, received, and/or transmitted in accordance with various cellular standards and/or architectures, such as third generation cellular (e.g., 3G), fourth generation long-term evolution cellular (e.g., 4G LTE), fifth generation cellular (e.g., 5G), future sixth generation cellular or next generation cellular, etc., standards and/or architectures. For example, wireless data may be transmitted and/or received by an electronic device associated with an end user (e.g., user equipment (UE)) in a telecommunications network (e.g., sometimes “telecom network” or “Telcom network”).
In some examples, the telecom network may be implemented by an architecture based on a standard associated with the 3rd Generation Partnership Project (“3GPP”), the Open Radio Access Network (O-RAN) Alliance (“O-RAN Alliance”), or the like. For example, the telecom network may be a mobile communication network based on an architecture as set forth in the O-RAN Architecture Description (e.g., O-RAN Alliance Specification O-RAN.WG1.O-RAN-Architecture-Description-v07.00 or later).
A mobile network, such as a mobile network based on the O-RAN architecture, may include several network portions to facilitate data transfer within the mobile network. For example, the mobile network may include a front-haul portion, a mid-haul portion, and a back-haul portion. In some examples, first components, functions, etc., of the front-haul portion are communicatively and/or physically coupled to second components, functions, etc., of the mid-haul portion. In some examples, the second components/functions, etc., of the mid-haul portion may be communicatively and/or physically coupled to third components, functions, etc., of the back-haul portion.
In some examples, the front-haul portion may be implemented by a front-haul interface, which facilitates communication between a transceiver, such as a radio unit (RU) (also referred to as an “O-RU” when utilized in O-RAN mobile networks), and a baseband signal processor, such as a baseband unit (BBU) of a base station. For example, in a 4G LTE O-RAN mobile network, the RU and the BBU may implement an eNodeB (eNB), which refers to a node that provides connectivity between UE and the 4G Core (also referred to as the “evolved packet core (EPC),” the “core network,” or the “4G core network”). In some examples, the BBU may be functionally split into a distributed unit (DU) (also referred to as an O-DU when utilized in O-RAN mobile networks) and a centralized unit (CU) (also referred to as a “control unit,” “a central unit,” or an “O-CU” when utilized in O-RAN mobile networks). For example, in a 5G O-RAN mobile network, the O-DU and the O-CU may implement a gNodeB (gNB), which refers to a node that provides connectivity between UE and the 5G Core (also referred to as the “core network” or the “5G core network”).
In some examples, the mid-haul portion may be implemented by a mid-haul interface, which facilitates communication between the functions of the base station. For example, the mid-haul interface may be implemented by the communication interface between the DU and the CU. In some examples, the back-haul portion may be implemented by a back-haul interface, which facilitates communication between the CU and the 5G Core. In some instances, the 5G core may be in communication with a central facility associated with one or more servers to process a request associated with the wireless data from the UE, push information to the UE via the back-haul through front-haul interfaces, etc. Alternatively in other types of mobile networks, such as a 4G LTE network, the back-haul portion may be implemented by a back-haul interface that facilitates communication between the BBU and the 4G Core.
In some examples, the RU, DU, and/or CU may split the hosting of different gNB functions (or eNB functions with respect to 4G LTE implementations) based on the deployed architecture. By way of example, an O-RAN mobile network architecture may functionally and/or physically split the lower layer of the front-haul interface based on Split Architecture Option 7-2x as specified by O-RAN Control, User and Synchronization Plane Specification 10.0 (e.g., O-RAN Alliance Specification O-RAN.WG4.CUS.0-v10.00 or later). For example, the O-RU may host low physical (PHY) layer and radio-frequency (RF) processing and the O-DU may host high-PHY, media access control (MAC), and radio link control (RLC) processing based on the lower layer functional split. The O-RU implementation may be less complex by having the O-RU host fewer functions by shifting functions from the O-RU to the O-DU. As a result, the O-RU may have reduced memory requirements and may execute fewer real-time calculations and thereby enable reduced latency in the mobile network.
Different portions of mobile networks may be located and/or used in a variety of environments, such as indoor and outdoor deployments. In indoor/outdoor environments, physical separation of RUs and BBUs, such as DUs, are typical due to the flexibility in implementing coverage extension. For example, RUs can be installed in rural areas and/or challenging environments where user density is low, on an as-needed basis, without the need to change the location of the DUs, and/or without the need to upgrade the capacity, utilization, and/or capabilities of the DUs. In some instances, RUs can be installed in high-density user scenarios (e.g., apartment buildings, shopping malls, sports stadiums, etc.). In some such instances, multiple RUs belonging to the same cell (e.g., the same network cell) may be deployed to minimize and/or otherwise reduce intercell interference and frequent UE handovers.
The front-haul interface of a mobile network may be implemented by different one(s) of communication functions dependent on the type of deployment and requirements of the mobile network to be implemented. For example, in deployment scenarios in which multiple RUs are connected to the BBU (e.g., the DU) via communication links, such as optical Ethernet links, accurate time and frequency synchronization may be required among the RUs and the BBU. In some examples, the synchronization may be implemented by a synchronization function, such as the Institute of Electrical and Electronics Engineers (IEEE) 1588 Precision Time Protocol, over the front-haul network to synchronize the RUs and the BBU.
In some examples, the front-haul interface may be implemented by a gateway function, such as a front-haul gateway (FHGW or FHG) function, to move traffic between the RUs and the BBU when protocol translation is to be supported. Additionally or alternatively, the front-haul interface may be implemented by a front-haul multiplexer (FHM) function and/or a front-haul switch (FHS) function. Such FHM or FHS functions may not support protocol translation. In some examples, the FHM function may include the FHS function, RU downlink copy function, and uplink (UL) signal aggregation function. In some examples, the front-haul interface may be implemented by an FHS that supports Telecom-Boundary Clock (T-BC) when DU connections exist to multiple RUs. In some examples, either an FHM function or cascaded RUs may be used in deployments with multiple RUs for a single cell. For example, the multiple RUs may have shared PHY and MAC processing to implement the shared single cell. The cascaded RUs may include RUs with the capability of aggregating the UL signal and copying the downlink signal from/to another RU.
The inventors have recognized that an increase in the number and/or complexity of communication functions to implement a front-haul interface may have adverse effects on component and/or overall system performance. For example, a high-density deployment may utilize a DU capable of executing a significant number and/or type of communication functions (e.g., real-time communication functions, non-real-time communication functions, etc.). The DU may be implemented with a significant number and/or different types of hardware to effectuate the communication functions. Such a DU may be physically large to accommodate the hardware and may be computationally and/or monetarily expensive. For example, such a DU may utilize a significant number of compute, memory, and/or other type of hardware resource(s) to accommodate the different communication functions.
The inventors have recognized that conventional hardware, such as Ethernet switches, FHMs, or the like are deficient in various ways when used to implement front-haul interfaces for complex, flexible wireless network deployments. For example, Ethernet switches that support T-BC are physically bulky and computationally and/or monetarily expensive due to the increased hardware (and corresponding firmware and/or software) used to execute and/or manage T-BC. Additionally, Ethernet switches do not have the UL data aggregation and combine functions needed to support shared cell functions, deployments, etc.
The inventors have recognized that FHMs do not overcome the deficiencies of Ethernet switches for implementing front-haul interfaces. For example, an FHM may operate as an Ethernet switch that supports T-BC and may be capable of aggregating and combining UL traffic. However, an FHM uses additional communication functions when processing UL traffic, which increases latency and reduces bandwidth of the FHM and the associated overall system. For example, after an FHM receives a UL signal from an RU, the FHM may decompress the UL signal, combine the UL signal with other UL signals (e.g., UL signals corresponding to the same radio resource element), and recompress the combined UL signals. The additional functions (e.g., the decompressing, combining, recompressing, etc.) introduces signal quality loss and increases processing latency that consumes a significant portion of the front-haul latency budget (e.g., the amount of acceptable latency in the front-haul as specified by the relevant architectural standard). Although the FHM may handle UL traffic from multiple RUs, the additional communication functions needed to handle such UL traffic may cause the noise floor to rise as the number of RUs connected to the FHM increase. Additionally, the FHM may lack desired functions such as location determination functions as the FHM may be unable to identify a location of a UE based on UL traffic.
The inventors have also recognized that changing an architecture of a front-haul interface does not overcome the aforementioned deficiencies. For example, a cascaded RU architecture may support shared cell functions without an FHM, but such an architecture may include multiple rounds of decompress/combine/recompress of the UL signals, which adds latency and further signal quality degradation. A cascaded RU architecture may also reduce deployment flexibility as all cascaded RUs must be on the same network cell. Such an architecture may diminish network resiliency as a cascaded RU architecture is vulnerable to the breakdown of a single RU, especially the north-most node in the cascade chain.
Recognizing the above challenges, the inventors have developed disclosed systems, apparatus, articles of manufacture, and methods for processing wireless data using baseband gateways to achieve reduced latency, increased bandwidth, and/or increased signal quality in wireless network deployments. In some disclosed examples, the front-haul interface of the wireless network deployments may be implemented at least in part by a baseband gateway (also referred to herein as a DU gateway). For example, the baseband gateway may be implemented by a single physical hardware unit that consolidates RU gateway/switch and DU functions. For example, the baseband gateway may perform data interface functions (e.g., receive data from and/or transmit data to RU(s)) to eliminate an Ethernet switch and/or an FHM from the front-haul portion of the wireless network deployment. Such an approach is a paradigm shift from conventional industry approaches, which instead use separate physical devices to implement the baseband gateway and the FHM, as explained above. Accordingly, conventional approaches maintain a physical separation between the baseband gateway and FHM (e.g., since the baseband gateway and FHM may not be located near each other in deployments). Advantageously, the example baseband gateway may include multiple DU instances that can support multiple network cells and thereby support a reduced footprint of the DU gateway enclosure. For example, the DU instances may be software implementations (e.g., virtual machines, containers, etc., instantiated by multi-core processor circuitry) that carry out a variety of functions such as PHY (e.g., high-PHY), MAC, and/or RLC processing to process and route signals to/from one or more RUs connected (e.g., directly connected) to the baseband gateway.
Advantageously, the example baseband gateway as disclosed herein reduces latency when processing UL and/or downlink (UL) traffic. For example, the baseband gateway may be structured to avoid the performing of additional round(s) of decompress/combine/recompress as in FHM and cascade RU deployments to achieve reduced latency and improved signal quality. Advantageously, the example baseband gateway may achieve increased bandwidth by analyzing its capacity, utilization, etc., and obtaining firmware and/or software updates to increase its capabilities to support increased data traffic. As a result, network management can be simplified due to fewer devices to maintain in deployments, reduced physical port usage in deployments, and/or additional flexibility offered through software control that is not available with conventional deployments. For example, software port mapping can replace physical port mappings between FHMs and DUs, which can be easily updated and/or reconfigured without requiring manual intervention.
Advantageously, the example baseband gateway may consolidate RU gateway/switch and DU functions to obtain new insights based on analysis of processed UL traffic. For example, the baseband gateway may analyze RU UL signals in association with DU processing to identify a location of UE based on an RU of which the UE is connected and/or timing and synchronization data associated with communication between the RU and the UE. Such analysis is not possible in conventional deployments, because RU data is combined by the FHM prior to receipt by the DU, and thus the DU is unable to analyze separate RU signals.
Turning to the figures, the illustrated example of
In the illustrated example, each of the depicted RU(s) 102 may be one or more RUs. The RUs 102 are logical nodes that may host low physical (PHY) layer and/or radio-frequency (RF) processing based on a lower layer functional split, such as Split Architecture Option 7-2x as specified by O-RAN Control, User and Synchronization Plane Specification 10.0 (e.g., O-RAN Alliance Specification O-RAN.WG4.CUS.0-v10.00 or later). The RUs 102 may be implemented by hardware alone, or by a combination of hardware, software, and/or firmware. For example, the RUs 102 may be implemented by transceivers that transmit or receive radio waves, and/or associated software and/or firmware.
The RUs 102 are in communication with user equipment (UE) 114 via communication links 116. In this example, the UE 114 are handheld devices, such as Internet-enabled smartphones. Additionally or alternatively, the UE 114 may be any type of electronic device such as a laptop computer, a tablet computer, autonomous equipment (e.g., an autonomous vehicle, a drone, etc.), an Internet-of-Things (IoT) device, etc.
The communication links 116 are wireless connections. For example, the wireless connections may be 4G LTE wireless connections, 5G wireless connections, future generation (e.g., 6G) wireless connections, or the like. In some examples, the wireless connections may be implemented by a 5G 3GPP protocol, a future generation 3GPP protocol, etc. In some examples, the wireless connections may be compatible across generations of 3GPP protocols. For example, the RUs 102 may communicate with some of the UE 114 using a 4G 3GPP protocol and with other ones of the UE 114 using a 5G 3GPP protocol.
Additionally or alternatively, the communication links 116 may be wired connections (e.g., fiber-optic connections, Ethernet connections, etc.) or other type of wireless connections such as satellite connections (e.g., beyond-line-of-site (BLOS) satellite connections, line-of-site (LOS) satellite connections, etc.), Ultra Wideband (UWB) connections, etc.
In operation, the RUs 102 may receive wireless data, such as cellular data implemented by RF signals, from the UE 114 via the communication links 116. The RUs 102 may output the received data to the FHMs 104. The FHMs 104 of this example are devices that host, execute, etc., a multiplexing function for splitting and combining radio signals to or from the RUs 102. For example, the FHMs 104 may receive radio signals (e.g., baseband signals) from ones of the first RUs 102, combine the radio signals, and output the combined radio signals to one of the DUs 106.
In operation, the RUs 102 may transmit wireless data. For example, the DUs 106 may receive network data, the DUs 106 may perform baseband processing on the network data to generate baseband processed data, the DUs 106 may output the baseband processed data to the FHMs 104, the FHMs 104 may split the baseband processed data into different network paths, the FHMs 104 may output the split network data to ones of the RUs 102 along the different network paths, and the ones of the RUs 102 may transmit their respective network data portions to a node destination, such as one(s) of the UE 114.
The DUs 106 of this example are logical nodes that may host baseband functions such as high physical layer (PHY), radio link control (RLC), and/or media access control (MAC) processing based on a lower layer functional split, such as Split Architecture Option 7-2x as specified by O-RAN Control, User and Synchronization Plane Specification 10.0 (e.g., O-RAN Alliance Specification O-RAN.WG4.CUS.0-v10.00 or later). The DUs 106 may be implemented by hardware alone, or may be implemented by a combination of hardware, software, and/or firmware.
The CUs 108 are logical nodes that may host control functions, such as Packet Data Convergence Protocol (PDCP), Radio Resource Control (RRC), and/or Service Data Adaptation Protocol (SDAP). The CUs 108 may be implemented by hardware alone, or may be implemented by a combination of hardware, software, and/or firmware.
In this example, the core units 110 are logical nodes that may host data and control plane operations. The core units 110 of this example are the 5G Core (5GC) and may facilitate communication between the CUs 108 and the cloud 112. The cloud 112 may be a cloud network. For example, the cloud 112 may be network(s) hosted by a public cloud provider, a private cloud provider, a telecommunications operator, etc. In some examples, the cloud 112 may be implemented by one or more physical hardware servers, virtualizations of the one or more physical hardware servers, etc., and/or any combination(s) thereof.
The cellular network 100 of the illustrated example includes network portions such as a front-haul portion 118, a mid-haul portion 120, and a back-haul portion 122. The front-haul portion 118 of this example is implemented by the communication interfaces between the RUs 102 and the FHMs 104 and the communication interfaces between the FHMs 104 and the DUs 106. The mid-haul portion 120 is implemented by the communication interfaces between the DUs 106 and the CUs 108. The back-haul portion 122 is implemented by the communication interfaces between the CUs 108 and the core units 110.
The FHM 200 of
In example operation, such as when handling UL traffic, the first NIs 206 in this example receive data (e.g., baseband data, wireless data, RF data, etc.) from a respective one of the RUs 202. The received data may be compressed data, such as data compressed by the RUs 202 prior to transmission from the RUs 202 to the first NIs 206. The comp/decomp functions 208 decompress the received data to generate decompressed data and output the decompressed data to the DL traffic distribution and UL traffic combining and routing function 210. When handling UL traffic, the DL traffic distribution and UL traffic combining and routing function 210 combines data that is received by one or more of the first NIs 206 to generate combined decompressed data. The data that is combined may include the decompressed data and other decompressed data that correspond to the same radio resource element, such as RU1 of the RUs 202. For example, RU1 may transmit data associated with the same UE in portions and the DL traffic and UL traffic combining and routing function 210 may combine (e.g., reassemble) the transmitted portions into a combined data structure (e.g., the combined decompressed data).
When handling UL traffic, the DL traffic distribution and UL traffic combining and routing function 210 may output the combined decompressed data to the decomp/comp functions 212. The decomp/comp functions 212 may recompress the data to generate combined compressed data. The decomp/comp functions 212 may output the combined compressed data to the NIs 214, which forward the combined compressed data to the DUs 204 for baseband processing.
The DUs 204 of this example are physical hardware devices. For example, a first one of the DUs 204 (identified by DU1) and a second of the DUs 204 (identified by DU2) are each a single physical hardware device implemented by a combination of hardware, software, and/or firmware.
In example operation, such as when handling DL traffic, the second NIs 214 receive network data from the DUs 204. The network data may be compressed data. The second NIs 214 may output the network data to the decomp/comp functions 212. The decomp/comp functions 212 may decompress the network data to generate decompressed data and thereby enable the FHM 200 to process the decompressed data. For example, if the compressed data is to be copied and distributed along respective network paths, the decomp/comp functions 212 may pass along the compressed data without performing decompression functions on the compressed data. The decomp/comp functions 212 may output the decompressed data to the DL traffic distribution and UL traffic combining and routing function 210 for distribution of the decompressed data to one(s) of the RUs 202 along respective network paths. For example, a first network path may include a first one of the comp/decomp functions 208 and a first one of the first NIs 206 communicatively coupled to the first one of the comp/decomp functions 208.
When handling DL traffic, the DL traffic distribution and UL traffic combining and routing function 210 may generate copies of the decompressed data, such as a first copy of the decompressed data, or portion(s) thereof, and a second copy of the decompressed data, or portion(s) thereof. For example, the DL traffic distribution and UL traffic combining and routing function 210 may copy an entirety of the decompressed data or portion(s) of the decompressed data, such as only the payload (and/or header(s)) of the decompressed data. In this example, the DL traffic distribution and UL traffic combining and routing function 210 may output the first copy to a first one of the comp/decomp functions 208 and the second copy to a second one of the comp/decomp functions 208. The first and second ones of the comp/decomp functions 208 may recompress the decompressed data (or decompressed data portions) to generate compressed data (or recompressed data). The first and second ones of the comp/decomp functions 208 may output the compressed data to a respective one of the first NIs 206 for subsequent transmission to ones of the RUs 202. For example, the first one of the comp/decomp functions 208 may output the first copy to a first one of the first NIs 206, the second one of the comp/decomp functions 208 may output the second copy to a second one of the first NIs 206, etc. The first one of the first NIs 206 may transmit the first copy to a first UE via a first one of the first RUs 202 (identified by RU1), the second one of the first NIs 206 may transmit the second copy to the first UE and/or a second UE via a second one of the first RUs 202 (identified by RU2), etc.
In some examples, the comp/decomp functions 208 and/or the decomp/comp functions 212 may execute a compression algorithm, technique, operations, etc., such as block floating point compression (e.g., block floating point compression technique, function, or algorithm) to facilitate data flow through the FHM 200. In block floating point compression, for each physical resource block (PRB), In-phase (I) and Quadrature (Q) samples are converted to floating point format. The samples are represented as signed mantissa and a shared exponent. The compression algorithm receives 12 subcarriers with 24 uncompressed I and Q samples. The I and Q samples are subsequently compressed to a signed, fixed bit width integer mantissa and 4-bit unsigned integer exponent. In such a compression algorithm, the exponent is included for each compression block to be sent per PRB. The comp/decomp functions 208 and/or the decomp/comp functions 212 may execute block floating point decompression to decompress data that is compressed per block floating point compression as described above. Block floating point decompression may be executed by performing block floating point compression in reverse. Additionally or alternatively, the comp/decomp functions 208 and/or the decomp/comp functions 212 may execute any other type of compression (or decompression) algorithm, technique, operation, etc., on data, such as block scaling compression (or block scaling decompression), p-Law compression (or p-Law decompression), beamspace compression (or beamspace decompression), modulation compression (or modulation decompression), and/or the like.
The FHM 200 may operate with reduced performance because of the decomp/comp functions 212 and the second NIs 214. For example, the comp/decomp functions 208 may degrade signal quality and the additional stage of decompression (e.g., for DL traffic), when performed, or compression (e.g., for UL traffic) of the decomp/comp functions 212 may further degrade signal quality. In some examples, the second NIs 214 may increase latency associated with the FHM 200, and/or, more generally, with the front-haul, such as the front-haul portion 118 of
In some examples, the FHM 200 may have reduced visibility into which UE is/are connected to a wireless network and, thus, may not be able to determine a location of the UE. For example, the FHM 200 may be implemented based on the O-RAN specification, which does not specify signals at the FHM 200 for UE location determination. In some examples, the RUs 202 may determine which UE is/are connected to one(s) of the RUs 202, but the FHM 200 may not have a function specified to analyze data from the RUs 202 to determine locations of UE connected to the RUs 202.
The first network cell 300 is a cell deployment including the O-RUs 306. The first network cell 300 of the illustrated example is a shared cell deployment. As used herein, “shared cell” is specified as the operation for the same cell, which can have one or more multiple component carrier(s), by several RUs. Component carriers are frequency blocks used to transmit data.
In FHM mode, the shared cell may be implemented by placing an FHM function, which may be implemented by the FHM 304, between the O-DU 302 and the O-RUs 306 that may have one or more component carriers from the O-RUs 306. In the illustrated example of
In some examples, the FHM 304 of
In example operation, a first one of the O-RUs 504 (identified by O-RU #1) may receive an eCPRI message from the O-DU 502, copy the eCPRI message, and forward the copy to a second one of the O-RUs 504 (identified by O-RU #2). The second one of the O-RUs 504 may perform the same operation to forward another copy of the eCPRI message to a third one of the O-RUs 504, and so on, until the eCPRI message reaches a south-most one of the O-RUs 504.
In some examples, the arrangement of the O-RUs 504 of
At a third operation 714, the FHM 704 performs a port scan. For example, the FHM 704 may scan ports (e.g., physical ports, virtual ports, etc.), such as Ethernet ports, of the FHM 704 to determine whether an RU has been added. At a fourth operation 716, the FHM 704 determines that one of the RUs 702 has been added to the cellular network and is in communication with the FHM 704 via one of the scanned ports. At fifth and sixth operations 718, 720 the FHM 704 relays to the SMO 708 via the DU 706 that the RU 702 has been added to the cellular network. At a seventh operation 722, the SMO 708 configures the RU 702 and the FHM 704 for initial cell operation, such as by initializing a first cell of the cellular network to cause the RU 702, the FHM 704, and the DU 706 to communicate with each other. At eighth and ninth operations 724, 726 the DU 706 relays the configuration information from the SMO 708 to the FHM 704 and to the RU 702 via the FHM 704.
At a tenth operation 728, the FHM 704 executes another port scan operation. After the port scan, the FHM 704 determines that another one of the RUs 702 has been added at an eleventh operation 730. At twelfth and thirteenth operations 732, 734 the FHM 704 relays information to the SMO 708 via the DU 706 indicative of the RU addition to the cellular network. In response to determining that another RU has been added, the SMO 708 configures the added RU and the FHM 704 for shared cell operation. For example, at fourteenth through sixteenth operations 736, 738, 740 the SMO 708 may transmit configuration data to the FHM 704 (via the DU 706) and to the RU 702 (via the DU 706 and the FHM 704). After the RU 702 and the FHM 704 are configured based on the configuration data, the RU 702 and the FHM 704 are configured for shared cell operation. The data flow diagram 700 of
The DU gateways 802 are logical nodes that may host switch functions, gateway functions, and baseband functions. For example, the DU gateways 802 may implement switches, such as Ethernet-based switches, to route data between portions of the cellular network 800. In some examples, the DU gateways 802 may host switch functions, such as front-haul switch functions, to implement accurate time and frequency synchronization among the RUs 102 and the DU gateways 802. For example, the DU gateways 802 may host time/synchronization functions as the Institute of Electrical and Electronics Engineers (IEEE) 1588 Precision Time Protocol, over the front-haul portion 118 to synchronize the RUs 102 and the DU gateways 802. In some examples, the DU gateways 802 may host switch functions such as Telecom-Boundary Clock (T-BC) when multiple ones of the RUs 102 are connected to one of the DU gateways 802.
In some examples, the DU gateways 802 host gateway functions, such as a front-haul gateway (FHGW or FHG) functions, to move traffic between the RUs 102 and the DU gateways 802 when protocol translation is to be supported. In some examples, the DU gateways 802 host FHM functions, such as DL copy functions (e.g., DL copy and forward functions), UL aggregation functions (e.g., UL combine and forward functions), noise suppression functions, etc., and/or any combination(s) thereof.
In some examples, the DU gateways 802 are baseband gateways because they may host, execute, and/or perform baseband processing functions. For example, the DU gateways 802 may host baseband processing functions, such as high-PHY, RLC, and/or MAC processing based on a lower layer functional split, such as Split Architecture Option 7-2x as specified by O-RAN Control, User and Synchronization Plane Specification 10.0 (e.g., O-RAN Alliance Specification O-RAN.WG4.CUS.0-v10.00 or later). The DU gateways 802 may be implemented by hardware alone, or may be implemented by a combination of hardware, software, and/or firmware.
In example operation, the UE 114 transmit radio signals representative of wireless data, such as cellular data, to the RUs 102 via the communication links 116. The RUs 102 may output the wireless data to a corresponding one of the DU gateways 802. The DU gateways 802 may execute decompression functions on the wireless data from the RUs 102 to generate decompressed data. For example, the RUs 102 may convert the received radio signals to digitized in-phase/quadrature-phase (I/Q) samples, compress the I/Q samples to generate compressed I/Q samples, and output the compressed I/Q samples to the DU gateways 802. The DU gateways 802 may receive the compressed I/Q samples, decompress the I/Q samples, combine one(s) of the I/Q samples that correspond to the same radio resource element (e.g., the same one of the RUs 102), and output the combined decompressed I/Q samples to a DU instance.
In example operation, the DU instance may host, execute, and/or perform baseband functions on the combined decompressed I/Q samples to generate processed baseband data. The DU instance may output the processed baseband data (e.g., via a network interface) to one of the CUs 108 via the mid-haul portion 120. In example operation, the CUs 108 may further process the baseband data and facilitate transmission of the baseband data to the core units 110 and/or the cloud 112. For example, the core units 110 and/or the cloud 112 may execute an application (e.g., a software application, a cellular network application, etc.) to control, manage, and/or operate the cellular network 800 of
Advantageously, the DU gateways 802 provide improvements in system performance of the cellular network 800 with respect to the cellular network 100 of
In some examples, the DU gateways 802 may include, execute, and/or instantiate multiple DU instances that can support multiple cells (e.g., network cells). For example, the DU gateways 802 may host a gateway function to process and route signals to/from multiple ones of the RUs 102 and host the multiple DU instances to process the signals from the multiple ones of the RUs 102. Advantageously, the execution of multiple DU instances to support multiple cells may eliminate non-advantageous architectures, such as one(s) of the RUs 102 in a cascade-chain arrangement. For example, the elimination of the need for cascade-chain RU architectures may improve network resiliency because if one of the RUs 102 of
In some examples, the DU gateway 900 of
In some examples, the first NIs 906 are directly coupled to respective ones of the RUs 902. For example, a first one of the first NIs 906 may be in direct communication with a first one of the RUs 902 (identified by RU1) via an electrical cable (e.g., an Ethernet cable, an optical fiber cable, etc.) with no intermediary devices (e.g., gateway(s), router(s), switch(es), etc.) between the first one of the first NIs 906 and RU1. In some examples, the first one of the first NIs 906 may be in communication with respective ones of the RUs 902 via one or more intermediary connections, devices, etc. For example, the first one of the first NIs 906 may be in communication with RU1 via one or more gateways, routers, switches, etc., and/or any combination(s) thereof.
The first NIs 906 in this example receive data (e.g., baseband data, wireless data, RF data, etc.) from and/or transmit data (e.g., baseband data, wireless data, RF data, etc.) to a respective one of the RUs 902. The comp/decomp functions 908 may decompress the received data to generate decompressed data. For example, the comp/decomp functions 908 may decompress data received from the RUs 902 via any type of decompression technique, such as block floating point decompression, block scaling decompression, p-Law decompression, beamspace decompression, modulation decompression, and/or the like. The comp/decomp functions 908 may output the decompressed data to the DL traffic distribution and UL traffic combining and routing function 210.
In some examples, the DU gateway 900 may perform individual processing on the decompressed data prior to the DL traffic distribution and UL traffic combining and routing function 210 receiving the decompressed data. For example, the comp/decomp functions 908 or different logic (e.g., hardware logic alone, or a combination of hardware logic, software logic, and/or firmware logic) may execute noise suppression, noise reduction, etc., on signals representative of the decompressed data to reduce the noise floor associated with the signals, and/or, more generally, the decompressed data. In some examples, the noise floor may be representative of a measure of the noise density, which may be measured in decibel-milliwatts per hertz (dbm/Hz). In some examples, the noise floor may be representative of a measure of the noise power in a signal of 1 hertz (Hz) bandwidth. For example, the noise floor may be a measure of a signal created from a sum of all the noise sources and unwanted signals within the DU gateway 900, or portion(s) thereof, where noise may be specified as any signal other than the one being analyzed, monitored, and/or otherwise processed.
When the DU gateway 900 handles UL traffic, such as when the first NIs 906 receive data from the RUs 902, the DL traffic distribution and UL traffic combining and routing function 910 combines data received by one or more of the first NIs 906 and routes the combined data to one or more of the DU instances 912. In this example, the DU instances 912 may perform baseband processing functions, such as high-PHY, MAC, and/or RLC functions. In some examples, the DU instances 912 are implemented by virtualizations of physical hardware resources. For example, the DU instances 912 may be implemented by virtual machines (VMs), containers, etc., and/or any combination(s) thereof, that is/are instantiated by one or more programmable processors, memories, mass storage disks or devices, etc., of the DU gateway 900. Additionally or alternatively, the DU instances 912 may be implemented by multi-core programmable processors. For example, one or more first cores of a multi-core CPU may implement a first one of the DU instances 912, one or more second cores of the multi-core CPU may implement a second one of the DU instances 912, and so forth. Additionally or alternatively, the DU instances 912 may be implemented by hardware alone, such as hardware-implemented state machines, Application Specific Integrated Circuits (ASICs), etc., and/or any combination(s) thereof.
When the DU gateway 900 handles DL traffic, such as when the second NI 914 receives network data from the mid-haul network 904, the second NI 914 outputs the network data to one(s) of the DU instances 912 for processing. For example, the one(s) of the DU instances 912 may perform baseband processing on the network data to generate baseband processed data. The one(s) of the DU instances 912 may output the baseband processed data to the DL traffic distribution and UL traffic combining and routing function 910. The DL traffic distribution and UL traffic combining and routing function 910 distributes the baseband processed data to the RUs 902 along respective network paths. For example, a first network path may include a first one of the comp/decomp functions 908 and a first one of the first NIs 906 communicatively coupled to the first one of the comp/decomp functions 908.
In some examples, the DL traffic distribution and UL traffic combining and routing function 910 distributes an entirety of the baseband processed data. For example, the DL traffic distribution and UL traffic combining and routing function 910 may make copies of the baseband processed data and distribute the copies along network paths(s) of the DU gateway 900. In some examples, the DL traffic distribution and UL traffic combining and routing function 910 may make copies of portion(s) of the baseband processed data, such as a payload of the baseband processed data, and distribute copies of the payloads along network path(s) of the DU gateway 900.
After receiving baseband processed data from the DL traffic distribution and UL traffic combining and routing function 910, the first one of the comp/decomp functions 908 may compress the baseband processed data to generate compressed data (e.g., compressed baseband data). For example, the comp/decomp functions 908 may compress the baseband processed data via any type of compression technique, such as block floating point compression, block scaling compression, p-Law compression, beamspace compression, modulation compression, and/or the like.
In some examples, the DU gateway 900 may determine a location of UE based on wireless data received from the RUs 902. For example, UE may be in communication with a first one of the RUs 902 (identified by RU1). The UE may transmit wireless data to RU1. RU1 may determine that the UE is connected to the RU1 based on the wireless data (e.g., identification data in the wireless data that identifies the UE). RU1 may output the wireless data and/or the identification of the UE being connected to RU1 to a first one of the NIs 906.
A first one of the DU instances 912 (identified by DU1) may obtain the wireless data and/or the identification from the first one of the NIs 906 via a first one of the comp/decomp functions 908 and the DL traffic distribution and UL traffic combining and routing function 910. DU1 may perform UE location processing on the wireless data and/or the identification. DU1 may identify a location of the UE based on at least one of (i) the identification that the UE is connected to RU1, (ii) a known location of RU1, or (iii) UE location processed data such as time-of-arrival (TOA) data, time-difference-of-arrival (TDOA) data, angle-of-arrival (AOA) data, etc. For example, the wireless data output from RU1 may include AOA data associated with an angle at which RF signals from the UE is received by one or more antennas of RU1. In some examples, the wireless data output from RU1 may include TOA data, TDOA data, etc., associated with a first time at which RU1 transmits a position reference signal to the UE and/or a second time at which RU1 receives a return position reference signal from the UE.
In some examples, DU1 may output the location of the UE to an upper application layer, such as an SMO associated with the mid-haul network 904. For example, an application (e.g., a software application, a cloud-based application, etc.) that uses UE locations as data inputs to generate data outputs, may request the DU instances 912 for UE locations on an aperiodic or periodic basis. In response to the request(s), the DU instances 912 may determine the UE locations and output the determined UE locations to the requestor(s).
Advantageously, the DU gateway 900 may reduce latency in a cellular network, such as the cellular network 800 of
In some examples, the DU gateway 900 may perform noise suppression functions to prevent noise floor rise and thusly improve signal quality of data processed by the DU gateway 900. For example, the first NIs 906, the comp/decomp functions 908, and/or the DL traffic distribution and UL traffic combining and routing function 910 may perform the noise suppression functions. In some examples, the DU gateway 900 may perform noise suppression functions as the number of the RUs 902 connected to the DU gateway 900 increase. In some examples, the DU gateway 900 may disable the noise suppression functions to conserve hardware resources (e.g., compute, memory, etc., resources) and/or power when the number of the RUs 902 is below a threshold. In some examples, the DU gateway 900 may enable the noise suppression functions when the number of the RUs 902 meets and/or is greater than the threshold.
Advantageously, the DU gateway 900 may improve cellular network deployment flexibility. For example, the DU gateway 900 may eliminate the need for a cascade chain arrangement of the RUs 902 because the RUs 902 may be directly connected to the DU gateway 900. In such an example, the DL traffic distribution and UL traffic combining and routing function 910 may perform the DL copy function as described above in connection with
While an example implementation of the DU gateway 900 is depicted in
The DU gateway circuitry 1000 of
The DU gateway circuitry 1000 includes the interface circuitry 1010 to receive and/or transmit data to a logical node, such as an RU, a CU, etc. In some examples, the first NIs 906 and/or the second NI 914 of
In some examples, the interface circuitry 1010 may transmit (or cause transmission of) data (e.g., baseband data, wireless data, etc.) to the RUs 102 of
In some examples, the interface circuitry 1010 receives and/or transmit data to a network, such as a mid-haul network. For example, the interface circuitry 1010 may transmit (or cause transmission of) data (e.g., baseband processed data, network data, etc.) to the CUs 108 of
In some examples, the interface circuitry 1010 scans network ports for active RUs. For example, the interface circuitry 1010 may scan a plurality of network ports (e.g., physical ports, virtual ports, virtualizations of physical ports, etc.), such as Ethernet ports, to determine whether one(s) of the RUs 102 of
In some examples, the interface circuitry 1010 may request an electronic device, such as a server, for machine-readable instructions to adjust, change, modify, etc., a capability of the DU gateway circuitry 1000. For example, after a determination that the DU gateway circuitry 1000 has exceeded a utilization (e.g., a compute and/or processing utilization, a bandwidth utilization, a throughput utilization, etc.), the interface circuitry 1010 may cause transmission of a request to the cloud 112 of
In some examples, the interface circuitry 1010 may request an electronic device, such as a server, for machine-readable instructions to improve an accuracy at which the DU gateway circuitry 1000 determines a location of UE. For example, after a determination that the DU gateway circuitry 1000 determines a location of UE with an accuracy that falls beneath a threshold (e.g., an accuracy threshold), the interface circuitry 1010 may cause transmission of a request to the cloud 112 of
The DU gateway circuitry 1000 includes the timing circuitry 1020 to handle, manage, and/or synchronize timing of multiple electronic devices, logical nodes of a cellular network, etc. In some examples, the PLFS and PTP protocol functions 916 of
The DU gateway circuitry 1000 includes the DU function circuitry 1030 to perform baseband processing on data (e.g., compressed data, decompressed data, network data, wireless data, etc.) to generate baseband processed data. In some examples, the DU instances 912 of
In some examples, the DU function circuitry 1030 may instantiate a network cell for single cell operation or shared cell operation. For example, the DU function circuitry 1030 may instantiate a DU instance, such as one of the DU instances 912 of
In some examples, the DU function circuitry 1030 determines that the DU gateway circuitry 1000 is to adjust, change, modify, etc., an existing capability of the DU gateway circuitry 1000. For example, the DU function circuitry 1030 may process wireless data associated with a device, such as one of the UE 114 of
In some examples, the DU function circuitry 1030 determines that the DU gateway circuitry 1000 is to operate with a new capability. For example, the DU function circuitry 1030 may enable distributed multi-user, multiple-input, multiple-output (distributed MU-MIMO) for higher capacity, reduced utilization, etc. In some examples, the DU function circuitry 1030 may enable multi transmission and reception point (Multi-TRP) to enhance ultra-reliable, low-latency communications (URLLC) support for cellular edge users. For example, the DU function circuitry 1030 may instruct the interface circuitry 1010 to request machine-readable instructions that, when executed by the DU function circuitry 1030, may enable distributed MU-MIMO, Multi-TRP, etc.
The DU gateway circuitry 1000 includes the traffic handling circuitry 1040 to execute copy and/or combine functions. In some examples, the DL traffic distribution and UL traffic combining and routing function 910 of
In some examples, the traffic handling circuitry 1040 may execute a combine function, such as a UL combine function, on flows of UL traffic (e.g., from the RU(s) 902, from the interface circuitry 1010, etc.). For example, the traffic handling circuitry 1040 may obtain multiple eCPRI messages, such as eCPRI messages in the payloads of Ethernet frames, from a first RU of the RUs 102 and a second RU of the RUs 102. The eCPRI messages may include eCPRI transport header(s), application layer common header(s), and application layer section field(s), each of which may include information elements. The traffic handling circuitry 1040 may identify IQ data corresponding to the same radio resource element from the information elements. For example, for the first RU, the traffic handling circuitry 1040 may obtain compression information associated with the information elements (e.g., if the eCPRI messages were originally compressed), iSample data, and qSample data from eCPRI messages corresponding to the first RU and calculate the combined iSample and qSample by adding iSample and qSample individually and taking compression information into account.
In some examples, the traffic handling circuitry 1040 monitors the DU gateway circuitry 1000, or portion(s) thereof, for changes in capacity (e.g., compute and/or processing capacity, throughput capacity, bandwidth capacity, etc.), utilization (e.g., compute and/or processing utilization, throughput utilization, bandwidth utilization, etc.), etc. For example, after the traffic handling circuitry 1040 determines that the utilization of the DU gateway circuitry 1000, or portion(s) thereof, exceeds a threshold, the traffic handling circuitry 1040 may generate and/or cause transmission of a request for machine-readable instructions that, when executed by the traffic handling circuitry 1040, may decrease the utilization to fall below the threshold. For example, the machine-readable instructions may be representative of distributed MU-MIMO protocol functions to achieve the decrease in utilization, an increase in capacity, etc.
The DU gateway circuitry 1000 includes the data compression circuitry 1050 to compress data to generate compressed data. In some examples, the comp/decomp functions 908 of
The DU gateway circuitry 1000 includes the data decompression circuitry 1060 to decompress data to generate decompressed data. In some examples, the comp/decomp functions 908 of
The DU gateway circuitry 1000 includes the datastore 1070 to record data, such as wireless data 1072, location data 1074, etc. In some examples, the wireless data 1072 may be data received by the interface circuitry 1010 from an RU, such as the RUs 102 of
While an example implementation of the DU gateway circuitry 1000 is depicted in
The RU 1104 of this example may be implemented by the RUs 102 of
The RUs 1204 of this example may be implemented by the RUs 102 of
Advantageously, the DU gateway 1206 may promote network cell configuration flexibility by enabling connections of one or more of the RUs 1204 to the same shared cell 1202 via the DU gateway 1206. For example, the DU gateway 1206 may enable an extension of network coverage with the addition of RU(s) to the network cell 1202. In some examples, the DU gateway 1206 may boost UL signals from the RUs 1204, reduce noise floor, and/or suppress interference on UL data traffic in response to additional ones of the RUs 1204 being added to the network cell 1202.
The data flow diagram 1300 of the illustrated example begins at a first operation 1308 at which the DU gateway 1304 powers on and/or transitions from an offline to an online state. At a second operation 1310, the SMO 1306 configures the DU gateway 1304 for operation in connection with managing and/or operating a network cell for shared cell operation. In response to the configuration, the DU gateway 1304 executes a port scan (e.g., a scan of physical ports, virtual ports, etc.) of the DU gateway 1304 at a third operation 1312. Based on the port scan, the DU gateway 1304 determines that a first RU of the RUs 1302 has been added at a fourth operation 1314. The DU gateway 1304 relays an indication of the addition to the SMO 1306 at a fifth operation 1316.
At a sixth operation 1318 of the data flow diagram 1300, the SMO 1306 configures the first RU and the DU gateway 1304 for initial cell operation, such as initial operation of the network cell 1202 of
At a tenth operation 1326 of the data flow diagram 1300, the SMO 1306 configures the second RU and the DU gateway 1304 for shared cell operation. For example, the SMO 1306, which may be hosted by the CU 1208 of
The RUs 1406, 1408 of this example may be implemented by the RUs 102 of
Advantageously, the DU gateway 1410 may achieve network cell configuration flexibility by enabling connections of the first RUs 1406 to the same shared cell 1402 and the second RUs 1408 to the same shared cell 1404. For example, the DU gateway 1410 may enable an extension of network coverage with the addition of RU(s) to the first network cell 1402 and/or the second network cell 1404. In some examples, the DU gateway 1410 may boost UL signals from the RUs 1406, 1408, reduce noise floor, and/or suppress interference on UL data traffic in response to additional ones of the RUs 1406, 1408 being added to the network cells 1402, 1404. Advantageously, the third network cell configuration 1400 implemented by the DU gateway 1410 may achieve increased capacity with the instantiation and/or operation of two cells compared to a single cell of the first network cell configuration 1100 and the second network cell configuration 1200.
The network cells 1502, 1504, 1506, 1508 include a first network cell 1502 (identified by CELL 1), a second network cell 1504 (identified by CELL 2), a third network cell 1506 (identified by CELL 3), and a fourth network cell 1508 (identified by CELL 4), each of which are shared cells. The first network cell 1502 includes a plurality of first RUs 1516 communicatively and/or physically coupled to a first DU gateway 1510 of the DU gateways 1510, 1512. The second network cell 1504 includes a plurality of second RUs 1518 communicatively and/or physically coupled to the first DU gateway 1510. The third network cell 1506 includes a plurality of third RUs 1520 communicatively and/or physically coupled to a second DU gateway 1512 of the DU gateways 1510, 1512. The fourth network cell 1508 includes a plurality of fourth RUs 1522 communicatively and/or physically coupled to the second DU gateway 1512.
Advantageously, the DU gateways 1510, 1512 may achieve network cell configuration flexibility by enabling connections of RUs from different cells to be connected to the same one of the DU gateways 1510, 1512. For example, the DU gateways 1510, 1512 may enable an extension of network coverage with the addition of RU(s) to one or more of the network cells 1502, 1504, 1506, 1508. In some examples, the DU gateways 1510, 1512 may boost UL signals from the RUs 1516, 1518, 1520, 1522, reduce noise floor, and/or suppress interference on UL data traffic in response to additional ones of the RUs 1516, 1518, 1520, 1522 being added to the network cells 1502, 1504, 1506, 1508.
The network cells 1602, 1604, 1606, 1608 include a first network cell 1602 (identified by CELL 1), a second network cell 1604 (identified by CELL 2), a third network cell 1606 (identified by CELL 3), and a fourth network cell 1608 (identified by CELL 4), each of which are shared cells, some of which overlap. The first network cell 1602 includes a plurality of first RUs 1616 communicatively and/or physically coupled to a first DU gateway 1610 of the DU gateways 1610, 1612. The second network cell 1604 includes a plurality of second RUs 1618 communicatively and/or physically coupled to the first DU gateway 1610. The third network cell 1606 includes a plurality of third RUs 1620 communicatively and/or physically coupled to a second DU gateway 1612 of the DU gateways 1610, 1612. The fourth network cell 1608 includes a plurality of fourth RUs 1622 communicatively and/or physically coupled to the second DU gateway 1612.
Advantageously, the DU gateways 1610, 1612 may achieve network cell configuration flexibility by enabling ones of the RUs 1616, 1618, 1620, 1622 to be associated with multiple ones of the network cells 1602, 1604, 1606, 1608. For example, a first RU 1624 of the RUs 1616, 1618, 1620, 1622 is associated with the first network cell 1602 and cooperatively operates with RUs in the second network cell 1604 for Multi-TRP operation. Advantageously, the DU gateways 1610, 1612 may enable an extension of network coverage with the addition of RU(s) to one or more of the network cells 1602, 1604, 1606, 1608. In some examples, the DU gateways 1610, 1612 may boost UL signals from the RUs 1616, 1618, 1620, 1622, reduce noise floor, and/or suppress interference on UL data traffic in response to additional ones of the RUs 1616, 1618, 1620, 1622 being added to the network cells 1602, 1604, 1606, 1608.
The data flow diagram 1700 of the illustrated example of
At a fifth operation 1716, in response to the addition of the multiple RUs for two cell operation, the SMO 1706 enables (or instructs the enabling of) UL noise suppression in the DU gateway 1704 for improved signal quality of UL data traffic processed by the DU gateway 1704. At a sixth operation 1718, the DU gateway 1704 performs (e.g., iteratively performs) another DU port scan of the ports of the DU gateway 1704. Responsive to the port scan, the DU gateway 1704 determines that third and fourth ones of the RUs 1702 have been added at a seventh operation 1720.
The DU gateway 1704 informs the SMO 1706 of the additions at an eighth operation 1722. At a ninth operation 1724, responsive to the informing, the SMO 1706 configures the added RUs and the DU gateway 1704 for two cell operation with Multi-TRP (identified by mTRP). For example, the SMO 1706 may instruct the DU gateway 1704 to associate the third RU with the first cell and the fourth RU with the second cell to implement overlapping network cells as described above in connection with
At block 1804, the DU gateway 802 may combine the first decompressed data with second decompressed data to generate combined decompressed data. For example, the traffic handling circuitry 1040 may identify the first and second decompressed eCPRI messages as being associated with the one of the UE 114 and being received by the same radio resource element (e.g., the one of the RUs 102). In some examples, the traffic handling circuitry 1040 may combine the first and second decompressed eCPRI messages into one or more combined decompressed eCPRI messages.
At block 1806, the DU gateway 802 may perform baseband processing on the combined decompressed data to generate baseband processed data. For example, the DU function circuitry 1030 may perform baseband processing, such as one or more high-PHY, MAC, and/or RLC functions on the combined decompressed eCPRI messages to generate baseband processed data (e.g., baseband processed eCPRI messages).
At block 1808, the DU gateway 802 may transmit the baseband processed data to a mid-haul network. For example, the interface circuitry 1010 may transmit (or cause transmission of) the baseband processed data to one of the CUs 108 via the mid-haul portion 120 of
At block 1904, the DU gateway 900 may decompress the wireless data to generate first decompressed data. For example, a first one of the comp/decomp functions 908 may decompress the first eCPRI message into a first decompressed eCPRI message via any data decompression technique described herein.
At block 1906, the DU gateway 900 may combine the first decompressed data with second decompressed data from the RU to generate combined decompressed data. For example, the DL traffic distribution and UL traffic combining and routing function 910 may combine first portion(s) of the first decompressed eCPRI message with second portion(s) of a second decompressed eCPRI message, which is received by RU1 and is associated with the same UE as the first decompressed eCPRI message. The DL traffic distribution and UL traffic combining and routing function 910 may combine the first and second portions to generate a combined decompressed eCPRI message.
At block 1908, the DU gateway 900 may perform Layer 1 (L1) processing on the combined decompressed data to generate first data. For example, a first one of the DU instances 912 (identified by DU1) may perform L1 processing by performing one or more high-PHY functions on the combined decompressed eCPRI message to generate first data.
At block 1910, the DU gateway 900 may perform Layer 2 (L2) processing on the first data to generate second data. For example, DU1 may perform L2 processing by performing one or more MAC and/or RLC functions on the first data to generate second data.
At block 1912, the DU gateway 900 may transmit the second data to a logical node of a mid-haul network. For example, the second NI 914 may output the second data to the mid-haul network 904.
At block 1914, the DU gateway 900 may determine whether to continue obtaining wireless data. For example, one(s) of the first NIs 906 may determine to continue obtaining wireless data based on a determination that UL data traffic is being received. If, at block 1914, the DU gateway 900 determines to continue obtaining wireless data, control returns to block 1902. Otherwise, the flowchart 1900 of
At block 2004, the DU gateway 802 may distribute portions of the baseband processed data to respective network interface paths. For example, the traffic handling circuitry 1040 may generate copies of the baseband processed data or copies of portions of the baseband processed data. In some examples, the traffic handling circuitry 1040 may distribute a first copy of the baseband processed data to a first network interface path, which may correspond to a first one of the RUs 102, a second copy of the baseband processed data to a second network interface path, which may correspond to a second one of the RUs 102, etc.
At block 2006, the DU gateway 802 may compress the portions of the baseband processed data to generate compressed data portions. For example, the data compression circuitry 1050 may compress the first copy, the second copy, etc., into a first compressed copy, a second compressed copy, etc., using any data compression technique described herein.
At block 2008, the DU gateway 802 may transmit the compressed data portions to respective radio units. For example, the interface circuitry 1010 may transmit (or cause transmission of) the first compressed copy to the first one of the RUs 102, the second compressed copy to the second one of the RUs 102, etc. After transmitting the compressed data portions to respective radio units at block 2008, the flowchart 2000 of
At block 2104, the DU gateway 900 may perform Layer 2 (L2) processing on the network data to generate first data. For example, one or more of the DU instances 912 may perform one or more L2 processing operations, such as MAC and/or RLC operation(s), on an eCPRI message from the mid-haul network 904 to generate first data.
At block 2106, the DU gateway 900 may perform Layer 1 (L1) processing on the first data to generate second data. For example, the one or more of the DU instances 912 may perform one or more L1 processing operations, such as high-PHY operation(s), on the first data to generate second data.
At block 2108, the DU gateway 900 may distribute portions of the second data to respective network interface paths. For example, the DL traffic distribution and UL traffic combining and routing function 910 may distribute portion(s) (e.g., a payload, a header, etc.) of the second data to a first one of the comp/decomp functions 908, a second one of the comp/decomp functions 908, etc. In some examples, the DL traffic distribution and UL traffic combining and routing function 910 may copy the second data into multiple instances of the second data. For example, the DL traffic distribution and UL traffic combining and routing function 910 may copy the second data into a first copy and a second copy, output the first copy to a first one of the comp/decomp functions 908, and output the second copy to a second one of the comp/decomp functions 908.
At block 2110, the DU gateway 900 may compress the portions of the second data to generate compressed data portions. For example, the first one of the comp/decomp functions 908 may compress the portion(s) (or the first copy) into a first compressed portion (or a first compressed copy). In some examples, the second one of the comp/decomp functions 908 may compress the portion(s) (or the second copy) into a second compressed portion (or a second compressed copy).
At block 2112, the DU gateway 900 may transmit the compressed data portions to respective radio units. For example, a first one of the first NIs 906, which may be communicatively, logically, and/or physically coupled to the first one of the comp/decomp functions 908, may transmit (or cause transmission) of the portion(s) (or the first copy) to a first one of the RUs 902 (identified by RU1). In some examples, a second one of the first NIs 906, which may be communicatively, logically, and/or physically coupled to the second one of the comp/decomp functions 908, may transmit (or cause transmission) of the portion(s) (or the second copy) to a second one of the RUs 902 (identified by RU2).
At block 2114, the DU gateway 900 may determine whether to continue obtaining network data. For example, the second NI 914 may determine to continue obtaining network data in response to detecting a heartbeat signal, data packet, etc., from the mid-haul network 904 indicative of an active communication connection, channel, etc. If, at block 2114, the DU gateway 900 determines to continue obtaining network data, control returns to block 2102. Otherwise, the flowchart 2100 of
At block 2204, the first DU gateway 1610 may determine whether an addition of an active radio unit has been identified. For example, the interface circuitry 1010 may detect, based on the port scan, that one of the first RUs 1616 is active and not yet been associated with a network cell (e.g., the one of the first RUs 1616 is recently added, initialized, and/or powered to an online state).
If, at block 2204, the first DU gateway 1610 does not identify an addition of an active radio, control proceeds to block 2214. Otherwise, control proceeds to block 2206, at which the first DU gateway 1610 may determine whether the identified radio unit is to be added to an existing cell. For example, the interface circuitry 1010 may determine that the new RU is to be added an existing cell, such as the first network cell 1602, or a not yet instantiated cell.
If, at block 2206, the first DU gateway determines that the identified radio unit is to be added to an existing cell, control proceeds to block 2208. At block 2208, the first DU gateway 1610 may instruct a distributed unit instance associated with the existing cell to configure the identified radio unit to be associated with the existing cell. For example, the interface circuitry 1010 may instruct the DU function circuitry 1030, which may implement a first DU instance (e.g., DU1 of
If, at block 2206, the first DU gateway 1610 determines that the identified radio unit is not to be added to an existing cell, control proceeds to block 2210. At block 2210, the first DU gateway 1610 may instantiate a new distributed unit instance to control a new cell. For example, the DU function circuitry 1030 may instantiate a second DU instance (e.g., DU2 of
At block 2212, the first DU gateway 1610 may instruct the instantiated distributed unit instance to configure the identified radio unit to be associated with the new cell. For example, the DU function circuitry 1030 may direct the second DU instance to associate the new RU with the second network cell 1604.
At block 2214, the first DU gateway 1610 may determine whether to re-scan the network ports. For example, the interface circuitry 1010 may determine to scan (or re-scan) the DU ports aperiodically or periodically. If, at block 2214, the first DU gateway 1610 determines to re-scan the network ports, control returns to block 2202. Otherwise, the flowchart 2200 of
At block 2304, the DU gateway circuitry 1000 may determine whether the first utilization satisfies a utilization threshold. For example, the traffic handling circuitry 1040 may determine that the first utilization, such as a throughput utilization (or any other utilization) of the interface circuitry 1010, meets and/or exceeds a utilization threshold (e.g., a throughput utilization threshold or any other utilization-based threshold). In some examples, based on the determination, the traffic handling circuitry 1040 may determine that the interface circuitry 1010 is overutilized and may be causing a processing bottleneck that degrades system performance.
If, at block 2304, the DU gateway circuitry 1000 may determine that the first utilization does not satisfy a utilization threshold (e.g., the first utilization is below the throughput utilization threshold), control proceeds to block 2312. Otherwise, control proceeds to block 2306.
At block 2306, the DU gateway circuitry 1000 may request a server for machine-readable instructions to decrease the first utilization to a second utilization. For example, the interface circuitry 1010 may request a server, such as a physical and/or virtualized server of the cloud 112 of
At block 2308, the DU gateway circuitry 1000 may obtain the machine-readable instructions from the server. For example, the interface circuitry 1010, responsive to the request, may receive machine-readable instructions representative of an executable file that, when executed by the DU gateway circuitry 1000, may reconfigure the DU gateway circuitry 1000, or portion(s) thereof, for improved utilization. In some examples, the reconfiguration may include the installing, configuring, and/or enabling of MU-MIMO, Multi-TRP, etc., functions to decrease the first utilization to a second utilization.
At block 2310, the DU gateway circuitry 1000 may execute the machine-readable instructions to facilitate multi-user, multiple-input, multiple-output protocol to achieve the second utilization. For example, the traffic handling circuitry 1040, or different portion(s) of the DU gateway circuitry 1000, may execute MU-MIMO functions or any other function to decrease the first utilization of the DU gateway circuitry 1000, or portion(s) thereof, to the second utilization, which is less than the first utilization.
At block 2312, the DU gateway circuitry 1000 may determine whether to continue monitoring for utilization. For example, the traffic handling circuitry 1040 may determine to continue monitoring the DU gateway circuitry 1000, or portion(s) thereof, for changes in utilization and whether the changes indicate that the DU gateway circuitry 1000, or portion(s) thereof, is/are overutilized.
If, at block 2312, the DU gateway circuitry 1000 determines to continue monitoring for utilization, control returns to block 2302. Otherwise, the flowchart 2300 of
At block 2404, the DU gateway circuitry 1000 may determine whether a first accuracy of the location satisfies an accuracy threshold. For example, the DU function circuitry 1030 may determine that the location has an accuracy of +/−0.3 kilometers (km). In some examples, the DU function circuitry 1030 may determine that the accuracy of 0.3 km is greater than an accuracy threshold of 0.1 km and thereby does not satisfy the accuracy threshold. In some examples, the DU function circuitry 1030 may determine that the accuracy of 0.3 km is less than an accuracy threshold of 0.5 km and thereby satisfies the accuracy threshold.
If, at block 2404, the DU gateway circuitry 1000 determines that a first accuracy of the location satisfies an accuracy threshold, control proceeds to block 2412. Otherwise, control proceeds to block 2406. At block 2406, the DU gateway circuitry 1000 may request a server for machine-readable instructions to increase the first accuracy to a second accuracy. For example, the interface circuitry 1010 may request a server, such as a server associated with the cloud 112 of
At block 2408, the DU gateway circuitry 1000 may obtain the machine-readable instructions from the server. For example, in response to the request, the interface circuitry 1010 may receive the executable file from the server.
At block 2410, the DU gateway circuitry 1000 may execute the machine-readable instructions to increase the first accuracy to the second accuracy to satisfy the accuracy threshold. For example, the DU function circuitry 1030 may execute the executable file to reconfigure, update, etc., portion(s) of the DU function circuitry 1030, or any other portion(s) of the DU gateway circuitry 1000, to determine UE locations with improved accuracy, such as accuracies that may satisfy the accuracy threshold.
At block 2412, the DU gateway circuitry 1000 may determine whether to continue monitoring for location accuracy. For example, the DU function circuitry 1030 may determine to continue analyzing whether UE location determinations meet and/or exceed the accuracy threshold. If, at block 2412, the DU gateway circuitry 1000 determines to continue monitoring for location accuracy, control returns to block 2402. Otherwise, the flowchart 2400 of
The electronic platform 2500 of the illustrated example includes processor circuitry 2502, which may be implemented by one or more programmable processors, one or more hardware-implemented state machines, one or more ASICs, etc., and/or any combination(s) thereof. For example, the one or more programmable processors may include one or more CPUs, one or more DSPs, one or more FPGAs, etc., and/or any combination(s) thereof. The processor circuitry 2502 includes processor memory 2504, which may be volatile memory, such as random-access memory (RAM) of any type. The processor circuitry 2502 of this example implements the timing circuitry 1020, the distributed unit function circuitry 1030, the traffic handling circuitry 1040, the data compression circuitry 1050, and the data decompression circuitry 1060 of
The processor circuitry 2502 may execute machine-readable instructions 2506 (identified by INSTRUCTIONS), which are stored in the processor memory 2504, to implement at least one of the timing circuitry 1020, the distributed unit function circuitry 1030, the traffic handling circuitry 1040, the data compression circuitry 1050, or the data decompression circuitry 1060. The machine-readable instructions 2506 may include data representative of computer-executable and/or machine-executable instructions implementing techniques that operate according to the techniques described herein. For example, the machine-readable instructions 2506 may include data (e.g., code, embedded software (e.g., firmware), software, etc.) representative of the flowcharts of
The electronic platform 2500 includes memory 2508, which may include the instructions 2506. The memory 2508 of this example may be controlled by a memory controller 2510. For example, the memory controller 2510 may control reads, writes, and/or, more generally, access(es) to the memory 2508 by other component(s) of the electronic platform 2500. The memory 2508 of this example may be implemented by volatile memory, non-volatile memory, etc., and/or any combination(s) thereof. For example, the volatile memory may include static random-access memory (SRAM), dynamic random-access memory (DRAM), cache memory (e.g., Level 1 (L1) cache memory, Level 2 (L2) cache memory, Level 3 (L3) cache memory, etc.), etc., and/or any combination(s) thereof. In some examples, the non-volatile memory may include Flash memory, electrically erasable programmable read-only memory (EEPROM), magnetoresistive random-access memory (MRAM), ferroelectric random-access memory (FeRAM, F-RAM, or FRAM), etc., and/or any combination(s) thereof.
The electronic platform 2500 includes input device(s) 2512 to enable data and/or commands to be entered into the processor circuitry 2502. For example, the input device(s) 2512 may include an audio sensor, a camera (e.g., a still camera, a video camera, etc.), a keyboard, a microphone, a mouse, a touchscreen, a voice recognition system, etc., and/or any combination(s) thereof.
The electronic platform 2500 includes output device(s) 2514 to convey, display, and/or present information to a user (e.g., a human user, a machine user, etc.). For example, the output device(s) 2514 may include one or more display devices, speakers, etc. The one or more display devices may include an augmented reality (AR) and/or virtual reality (VR) display, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display, a quantum dot (QLED) display, a thin-film transistor (TFT) LCD, a touchscreen, etc., and/or any combination(s) thereof. The output device(s) 2514 can be used, among other things, to generate, launch, and/or present a user interface. For example, the user interface may be generated and/or implemented by the output device(s) 2514 for visual presentation of output and speakers or other sound generating devices for audible presentation of output.
The electronic platform 2500 includes accelerators 2516, which are hardware devices to which the processor circuitry 2502 may offload compute tasks to accelerate their processing. For example, the accelerators 2516 may include artificial intelligence/machine-learning (AI/ML) processors, ASICs, FPGAs, graphics processing units (GPUs), neural network (NN) processors, systems-on-chip (SoCs), vision processing units (VPUs), etc., and/or any combination(s) thereof. In some examples, one or more of the timing circuitry 1020, the distributed unit function circuitry 1030, the traffic handling circuitry 1040, the data compression circuitry 1050, and/or the data decompression circuitry 1060 may be implemented by one(s) of the accelerators 2516 instead of the processor circuitry 2502. In some examples, the timing circuitry 1020, the distributed unit function circuitry 1030, the traffic handling circuitry 1040, the data compression circuitry 1050, and/or the data decompression circuitry 1060 may be executed concurrently (e.g., in parallel, substantially in parallel, etc.) by the processor circuitry 2502 and the accelerators 2516. For example, the processor circuitry 2502 and one(s) of the accelerators 2516 may execute in parallel function(s) corresponding to the data compression circuitry 1050.
The electronic platform 2500 includes storage 2518 to record and/or control access to data, such as the machine-readable instructions 2506. In this example, the storage 2518 may implement the datastore 1070, the wireless data 1072, and the location data 1074. The storage 2518 may be implemented by one or more mass storage disks or devices, such as HDDs, SSDs, etc., and/or any combination(s) thereof.
The electronic platform 2500 includes interface(s) 2520 to effectuate exchange of data with external devices (e.g., computing and/or electronic devices of any kind) via a network 2522. In this example, the interface(s) 2520 may implement the interface circuitry 1010 of
The electronic platform 2500 includes a power supply 2524 to store energy and provide power to components of the electronic platform 2500. The power supply 2524 may be implemented by a power converter, such as an alternating current-to-direct-current (AC/DC) power converter, a direct current-to-direct current (DC/DC) power converter, etc., and/or any combination(s) thereof. For example, the power supply 2524 may be powered by an external power source, such as an alternating current (AC) power source (e.g., an electrical grid), a direct current (DC) power source (e.g., a battery, a battery backup system, etc.), etc., and the power supply 2524 may convert the AC input or the DC input into a suitable voltage for use by the electronic platform 2500. In some examples, the power supply 2524 may be a limited duration power source, such as a battery (e.g., a rechargeable battery such as a lithium-ion battery).
Component(s) of the electronic platform 2500 may be in communication with one(s) of each other via a bus 2526. For example, the bus 2526 may be any type of computing and/or electrical bus, such as an I2C bus, a PCI bus, a PCIe bus, a SPI bus, and/or the like.
The network 2522 may be implemented by any wired and/or wireless network(s) such as one or more cellular networks (e.g., 4G LTE cellular networks, 5G cellular networks, 6G cellular networks, etc.), one or more data buses, one or more local area networks (LANs), one or more optical fiber networks, one or more private networks, one or more public networks, one or more wireless local area networks (WLANs), etc., and/or any combination(s) thereof. For example, the network 2522 may be the Internet, but any other type of private and/or public network is contemplated.
The network 2522 of the illustrated example facilitates communication between the interface(s) 2520 and a central facility 2528. The central facility 2528 in this example may be an entity associated with one or more servers, such as one or more physical hardware servers and/or virtualizations of the one or more physical hardware servers. For example, the central facility 2528 may be implemented by a public cloud provider, a private cloud provider, etc., and/or any combination(s) thereof. In this example, the central facility 2528 may compile, generate, update, etc., the machine-readable instructions 2506 and store the machine-readable instructions 2506 for access (e.g., download) via the network 2522. For example, the electronic platform 2500 may transmit a request, via the interface(s) 2520, to the central facility 2528 for the machine-readable instructions 2506 and receive the machine-readable instructions 2506 from the central facility 2528 via the network 2522 in response to the request.
Additionally or alternatively, the interface(s) 2520 may receive the machine-readable instructions 2506 via non-transitory machine-readable storage media, such as an optical disc 2530 (e.g., a Blu-ray disc, a CD, a DVD, etc.) or any other type of removable non-transitory machine-readable storage media such as a USB drive 2532. For example, the optical disc 2530 and/or the USB drive 2532 may store the machine-readable instructions 2506 thereon and provide the machine-readable instructions 2506 to the electronic platform 2500 via the interface(s) 2520.
Techniques operating according to the principles described herein may be implemented in any suitable manner. The processing and decision blocks of the flowcharts above represent steps and acts that may be included in algorithms that carry out these various processes. Algorithms derived from these processes may be implemented as software integrated with and directing the operation of one or more single- or multi-purpose processors, may be implemented as functionally equivalent circuits such as a DSP circuit or an ASIC, or may be implemented in any other suitable manner. It should be appreciated that the flowcharts included herein do not depict the syntax or operation of any particular circuit or of any particular programming language or type of programming language. Rather, the flowcharts illustrate the functional information one skilled in the art may use to fabricate circuits or to implement computer software algorithms to perform the processing of a particular apparatus carrying out the types of techniques described herein. For example, the flowcharts, or portion(s) thereof, may be implemented by hardware alone (e.g., one or more analog or digital circuits, one or more hardware-implemented state machines, etc., and/or any combination(s) thereof) that is configured or structured to carry out the various processes of the flowcharts. In some examples, the flowcharts, or portion(s) thereof, may be implemented by machine-executable instructions (e.g., machine-readable instructions, computer-readable instructions, computer-executable instructions, etc.) that, when executed by one or more single- or multi-purpose processors, carry out the various processes of the flowcharts. It should also be appreciated that, unless otherwise indicated herein, the particular sequence of steps and/or acts described in each flowchart is merely illustrative of the algorithms that may be implemented and can be varied in implementations and embodiments of the principles described herein.
Accordingly, in some embodiments, the techniques described herein may be embodied in machine-executable instructions implemented as software, including as application software, system software, firmware, middleware, embedded code, or any other suitable type of computer code. Such machine-executable instructions may be generated, written, etc., using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework, virtual machine, or container.
When techniques described herein are embodied as machine-executable instructions, these machine-executable instructions may be implemented in any suitable manner, including as a number of functional facilities, each providing one or more operations to complete execution of algorithms operating according to these techniques. A “functional facility,” however instantiated, is a structural component of a computer system that, when integrated with and executed by one or more computers, causes the one or more computers to perform a specific operational role. A functional facility may be a portion of or an entire software element. For example, a functional facility may be implemented as a function of a process, or as a discrete process, or as any other suitable unit of processing. If techniques described herein are implemented as multiple functional facilities, each functional facility may be implemented in its own way; all need not be implemented the same way. Additionally, these functional facilities may be executed in parallel and/or serially, as appropriate, and may pass information between one another using a shared memory on the computer(s) on which they are executing, using a message passing protocol, or in any other suitable way.
Generally, functional facilities include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Typically, the functionality of the functional facilities may be combined or distributed as desired in the systems in which they operate. In some implementations, one or more functional facilities carrying out techniques herein may together form a complete software package. These functional facilities may, in alternative embodiments, be adapted to interact with other, unrelated functional facilities and/or processes, to implement a software program application.
Some exemplary functional facilities have been described herein for carrying out one or more tasks. It should be appreciated, though, that the functional facilities and division of tasks described is merely illustrative of the type of functional facilities that may implement using the exemplary techniques described herein, and that embodiments are not limited to being implemented in any specific number, division, or type of functional facilities. In some implementations, all functionalities may be implemented in a single functional facility. It should also be appreciated that, in some implementations, some of the functional facilities described herein may be implemented together with or separately from others (e.g., as a single unit or separate units), or some of these functional facilities may not be implemented.
Machine-executable instructions implementing the techniques described herein (when implemented as one or more functional facilities or in any other manner) may, in some embodiments, be encoded on one or more computer-readable media, machine-readable media, etc., to provide functionality to the media. Computer-readable media include magnetic media such as a hard disk drive, optical media such as a CD or a DVD, a persistent or non-persistent solid-state memory (e.g., Flash memory, Magnetic RAM, etc.), or any other suitable storage media. Such a computer-readable medium may be implemented in any suitable manner. As used herein, the terms “computer-readable media” (also called “computer-readable storage media”) and “machine-readable media” (also called “machine-readable storage media”) refer to tangible storage media. Tangible storage media are non-transitory and have at least one physical, structural component. In a “computer-readable medium” and “machine-readable medium” as used herein, at least one physical, structural component has at least one physical property that may be altered in some way during a process of creating the medium with embedded information, a process of recording information thereon, or any other process of encoding the medium with information. For example, a magnetization state of a portion of a physical structure of a computer-readable medium, a machine-readable medium, etc., may be altered during a recording process.
Further, some techniques described above comprise acts of storing information (e.g., data and/or instructions) in certain ways for use by these techniques. In some implementations of these techniques—such as implementations where the techniques are implemented as machine-executable instructions—the information may be encoded on a computer-readable storage media. Where specific structures are described herein as advantageous formats in which to store this information, these structures may be used to impart a physical organization of the information when encoded on the storage medium. These advantageous structures may then provide functionality to the storage medium by affecting operations of one or more processors interacting with the information; for example, by increasing the efficiency of computer operations performed by the processor(s).
In some, but not all, implementations in which the techniques may be embodied as machine-executable instructions, these instructions may be executed on one or more suitable computing device(s) and/or electronic device(s) operating in any suitable computer and/or electronic system, or one or more computing devices (or one or more processors of one or more computing devices) and/or one or more electronic devices (or one or more processors of one or more electronic devices) may be programmed to execute the machine-executable instructions. A computing device, electronic device, or processor (e.g., processor circuitry) may be programmed to execute instructions when the instructions are stored in a manner accessible to the computing device, electronic device, or processor, such as in a data store (e.g., an on-chip cache or instruction register, a computer-readable storage medium and/or a machine-readable storage medium accessible via a bus, a computer-readable storage medium and/or a machine-readable storage medium accessible via one or more networks and accessible by the device/processor, etc.). Functional facilities comprising these machine-executable instructions may be integrated with and direct the operation of a single multi-purpose programmable digital computing device, a coordinated system of two or more multi-purpose computing device sharing processing power and jointly carrying out the techniques described herein, a single computing device or coordinated system of computing device (co-located or geographically distributed) dedicated to executing the techniques described herein, one or more FPGAs for carrying out the techniques described herein, or any other suitable system.
Embodiments have been described where the techniques are implemented in circuitry and/or machine-executable instructions. It should be appreciated that some embodiments may be in the form of a method, of which at least one example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Various aspects of the embodiments described above may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both,” of the elements so conjoined, e.g., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, e.g., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B,” when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”
As used herein in the specification and in the claims, the phrase, “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently, “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any embodiment, implementation, process, feature, etc., described herein as exemplary should therefore be understood to be an illustrative example and should not be understood to be a preferred or advantageous example unless otherwise indicated.
Having thus described several aspects of at least one embodiment, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure and are intended to be within the spirit and scope of the principles described herein. Accordingly, the foregoing description and drawings are by way of example only.
Various aspects are described in this disclosure, which include, but are not limited to, the following aspects:
This patent claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application No. 63/319,431, titled “CELLULAR BASEBAND UNIT GATEWAY,” filed on Mar. 14, 2022, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
63319431 | Mar 2022 | US |