Patent ID: 12262234

DESCRIPTION OF EXEMPLARY EMBODIMENTS

FIG.1Aillustrates an exemplary virtual base station100(hereinafter base station100) for hosting multiple network operators according to the disclosure. The base station100is a virtual base station which is software-implemented in a compute environment. The compute environment has hardware components including one or more processors and a non-transitory computer readable memory, and when configured with appropriate software the hardware components operate to implement base station100. In some implementations, the software is stored in the non-transitory computer readable memory of the compute environment. In other implementations, the software is stored elsewhere, but executed in the compute environment, for example through an API (Application Programing Interface) provided by the compute environment.

In this example, base station100hosts two mobile network operators (A and B) that share a remote radio infrastructure. As used herein, the term “mobile network operator” may also include a private network, wherein the primary difference is that a private network will not have licensed spectrum but will instead rely on a shared spectrum access system. Base station100may have one or more virtual baseband processors105A/B; a local supervisor module112A coupled to baseband processor105A; a CBRS-Daemon114A coupled to baseband processor105A; a local supervisor module112B coupled to baseband processor105B; a CBRS-Daemon114B coupled to baseband processor105B; a master supervisor module110; a KPI (Key Performance Indicator) coordinator module115; and a fronthaul network interface120(also referred to herein as “fronthaul interface120”). Coupled to KPI coordinator module115are a KPI processing module125for mobile network operator A; a KPI processing module130for mobile network operator B; a KPI processing module135for the system; a shared KPI processing module140corresponding to mobile network operator A that may be shared with the other components within virtual base station100; and a shared KPI processing module145corresponding to mobile network operator B that may be shared with the other components within virtual base station100. As illustrated, baseband processor105A communicates with the mobile network operator A's core network150via a dedicated S1 connection155; and baseband processor105B communicates with the mobile network operator B's core network160via a dedicated S1 interface165. Base station100is further coupled to one or more remote units170via a fronthaul link175.

In some implementations, as illustrated, each virtual baseband processor105A/B is an LTE (Long-Term Evolution) eNodeB. However, other virtual baseband processors are possible, such as 5G NR (New Radio) gNodeB, for example. As used herein, the term virtual “baseband processor” may refer to a virtual eNodeB, or a virtual gNodeB. In the case of a gNodeB, the term “baseband processor” may refer to a gNodeB CA (Central Unit), a gNodeB DU (Distributed Unit), or a combination gNodeB CU+DU. It will be understood that such variations are possible and within the scope of the disclosure. In the case of a baseband processor being an eNodeB or a gNodeB CU+DU combination, each may have perform the upper PHY (Physical Layer) layer functions of a PHY split scheme, such as the 7-2× split specified by the 0-RAN (Open Access Radio Network) Alliance.

Each CBRS-Daemon114A/B may be coupled to a CBRS SAS (Spectrum Allocation System)182over an internet connection. Each CBRS-Daemon114A/B may operate independently and each may be coupled to a single SAS or each to a different SAS. Alternatively, base station100may have a single CBRS-Daemon that serves all of the baseband processors105A/B. It will be understood that such variations are possible and within the scope of the disclosure.

Fronthaul network interface120may include, for example a CPRI (Common Public Radio Interface) that may be implemented on a PCIe (Peripheral Component Interconnect Express) board. Alternatively, depending on the architecture of base station100, fronthaul link175may be an Ethernet connection. In this case, communication between the fronthaul interface120and the remote units170may be a packet-based eCPRI (enhanced Common Public Radio Interface) connection, which may carry packetized eCPRI data representing TD (time domain) or FD (frequency domain) baseband signals between fronthaul interface120and the remotes; high-low PHY layer split data (e.g., as specified by 0-RAN as the 7-2× split); or F1 interface data (in the case that each “eNodeB”105A/B is a gNodeB CU and each remote unit170has gNodeB DU functionality. It will be understood that various implementations of a fronthaul link175and fronthaul interface120are possible and within the scope of the disclosure.

Master supervisor module110sets up and configures the components within base station100with the intent that the eNodeBs of other network operators do not impair the function of each baseband processor105A/B or cause insufficient performance as measured by the KPIs of each mobile network operator. As illustrated, master supervisor module110is coupled to each baseband processor105A/B (via its respective local supervisor module112A/B), KPI coordinator115, and fronthaul network interface120. Master supervisor module110may further communicate with neutral host180that operates base station100over an internet connection. The communication between master supervisor module110and neutral host180may take the form of a user interface or similar. Further, master supervisor module110may grant neutral host180access to system KPI module135and the respective shared KPI modules140/145of mobile network operator A/B. Depending on how base station100is configured, master supervisor module110may or may not have access to the respective KPI processing modules125/130of mobile network operator A/B.

Master supervisor module110may also have internet connectivity to the mobile network operator A/B's respective core networks150/160. This may facilitate the communication of configuration information, such as carrier and CBRS channel information, as well as KPI information via KPI coordinator115. Otherwise, or in addition, KPI modules125/130may communicate KPI information directly to their respective mobile network operator core networks150/160via their respective baseband processors105A/B. It will be understood that such variations are possible and within the scope of the disclosure.

Each of the baseband processors105A/B may include software modules that execute the RRC (Radio Resource Control), PDCP (Packet Data Convergence Protocol), RLC (Radio Link Control), MAC (Medium Access Control), and PHY components of an LTE or 5G protocol stack for both the control planes and data planes. By employing container technology, the master supervisor module110may (in conjunction with the operating system of the compute environment of base station100) instantiate and de-instantiate each baseband processor105A/B independently of each other. Master supervisor module110may instantiate each local supervisor module112A/B, which may in turn configure and operate its corresponding baseband processor105A/B (described further below). Each baseband processor105A/B is respectively coupled to fronthaul network interface120via a bidirectional digital BB (baseband) I/Q (in-phase/quadrature) data connection107. In the case of a DL (download) signal, the BB I/Q data on the data connection107is a digital representation of the BB signal that is subsequently merged (e.g., each allocated to a CPRI Antenna Carrier) into a CPRI signal by the fronthaul network interface120and transmitted to each remote unit170. Each remote unit170retrieves the intended signal from the CPRI data stream, upconverts the signal to an analog RF (Radio Frequency) signal and amplifies it for transmission over the antennas corresponding to the remote unit170. In the case of a UL (uplink) signal, the BB I/Q data on the data connection107is a digital representation of the downconverted RF signal detected by the antennas of one or more remote unit170, which amplifies and digitizes the signal, formats the signal according to the CPRI specification, and transmits it to the fronthaul network interface120. The fronthaul network interface120then identifies and extracts the BB I/Q data corresponding to the carriers allocated to the baseband processor105A/B and relays it to the appropriate eNodeB over data connection107.

FIG.1Billustrates an exemplary fronthaul network interface120that includes a mapping module185that overlays a CPRI transport layer195. The mapping module185serves as a coordinator between the baseband processors105A/B and the CPRI transport layer195, enabling different baseband processors105A/B to operate independently without affecting any other baseband processors. This can be particularly important in that one network operator's baseband processor may be restarted, configured, or reconfigured (e.g., individual cells locked or activated) without affecting the operations of the other network operator. It also enables base station100to dynamically instantiate and add—or remove and deinstantiate—additional baseband processors.

The mapping module185within the fronthaul network interface120may do this by mapping the samples of a given baseband processor105A/B (via their respective bidirectional digital baseband I/Q data connections107to an allocated DMA (Direct Memory Access) buffer192, and mapping the allocated DMA buffer192to a certain sample range within a given CPRI block in CPRI transport layer195. A CPRI connection is synchronous whereby it transmits a fixed amount of data at a fixed amount of time. A CPRI transport block is of a fixed size, according to the bandwidth of the CPRI link (fronthaul link175), which keeps the CPRI link at 100% utilization at all times. The mapping module185maps the samples corresponding to each baseband processor105A/B to certain portions of each CPRI block. For example, the mapping module185may allocate to baseband processor105A the first bandwidth portion (e.g., 1.4, 3, 5, 10, 15, or 20 MHz, given how many component carrier(s) correspond to the baseband processor105A/B) of the CPRI block for its data. Even though a portion of the CPRI block may be empty, the entire block will be transmitted by the fronthaul network interface120(with padding over the unused portion) at the appropriate timing interval. Mapping module185may assign baseband processor105B to a second bandwidth allocation (e.g., one of the bandwidths enumerated above for the corresponding component carriers of the other baseband processor105A/B) via a second DMA buffer192to a second portion of the CPRI block. Mapping module185may do so such that the CPRI blocks are used contiguously, as each eNodeB's allocated CPRI blocks are appended to the CPRI blocks of the preceding eNodeB's CPRI blocks. The mapping module185may similarly further accommodate additional eNodeBs. For example, master supervisor module110may instantiate two additional baseband processors105C/D (not shown) and configure the fronthaul interface module120for the two new baseband processors105C/D and their respective bandwidth requirements. Given the available space within the CPRI block and the bandwidth requirements of each additional baseband processor105C/D, the mapping module may allocate the remaining bandwidth of the CPRI block to baseband processor105C and baseband processor105D, via additional DMA buffers192, which may result in filling the CPRI block. This would require that the mapping module allocate new DMA buffers192, one per new baseband processor105C/D and map the new DMA buffers192to the allocated slots within the CPRI block in CPRI transport layer195. Then, for example, depending on fluctuations in demand for connectivity, master supervisor module110may shut down baseband processor105B and baseband processor105D, instructing the fronthaul network interface120(and thus the mapping module185) to remove these two baseband processors from the CPRI block. Accordingly, the mapping module185may do so, disconnecting the corresponding DMA buffers192from the terminated baseband processors105B/D, leaving their corresponding portions of the CPRI block unused, whereby fronthaul interface module120may pad the unused data portions.

If a given baseband processor locks or otherwise shuts down a cell, or if the master supervisor module110shuts down a given baseband processor, then the CPRI blocks allocated to that cell or entire baseband processor may become available for the mapping module185to reallocate. For example, if a given baseband processor has locked or shut down a cell, mapping module185may reallocate the newly freed CPRI block to either the same baseband processor or another baseband processor looking to activate a new cell. Alternatively, mapping module185may allocate the newly freed CPRI block to a new baseband processor.

Each baseband processor105A/B may asynchronously load and extract data from its corresponding DMA buffers192. The DMA buffers192may handle the synchronization in loading/extracting data to/from the CPRI transport layer195.

The CPRI data may be in either time domain I/Q or frequency domain I/Q format.

An advantage of the mapping module185is that it enables the removal and adding of baseband processors without interrupting the operation of the other existing running baseband processors.

KPI coordinator module115configures and maintains KPI modules125/130/135/140/145according to configuration information provided by master supervisor module110. KPI coordinator module115may control access to each of these KPI modules, for example, so that mobile network operator A may only have access to KPI modules125/140/145, mobile network operator B may only have access to KPI modules130/140/145, and master supervisor module110may only have access to KPI modules135/140/145. In an alternate example, master supervisor module110may have access to all of the KPI modules125/130/135/140/145. KPI coordinator115may intercept or extract relevant data from each baseband processor105A/B, or each KPI module may be directly coupled directly to its corresponding baseband processor105A/B. For example, KPI module125may be directly coupled to baseband processor105A, which, being purely virtual and implemented in software, may be configured to be instrumented such that relevant KPIs, or their underlying data, may be accessed directly by KPI module125. It will be understood that such variations are possible and within the scope of the disclosure.

KPI modules125/130may include proprietary code provided by mobile network operator A/B and hosted as an agent in the compute environment of base station100. Each of the KPI modules125/130may intercept or extract data from the fronthaul interface120and use the data to measure its intended KPIs. All or some of the specific algorithms and implementations of one mobile network operator's KPI extraction and analysis may be hidden to neutral host180and the other mobile network operators. Further, KPI modules125/130may be integrated into respective baseband processors105A/B. KPI modules125/130may respectively provide data to shared KPI processing modules140/145, which can in turn provide reports or generate alarms to KPI coordinator115. Further, master supervisor module110may grant neutral host180access to system KPI module135and the respective shared KPI modules140/145of mobile network operator A/B. An example of this may be a situation in which KPI module125of mobile network A, using its proprietary KPI data and analytics, identifies an anomaly within a hardware component (e.g., an amplifier) within a given remote unit170and issues an alarm to neutral host180via KPI coordinator115. Accordingly, examples of shared KPIs may include hardware anomalies within the remotes170or in the fronthaul link175. In the event that a KPI module125/130measures a KPI or identifies an anomaly that it is configured to share with the system100, it may store this information in its respective shared KPI module140/145so that it is available to the KPI coordinator115. Examples of KPIs include those defined by 3GPP (3rd Generation Partnership Project) in TS 32.450, such as ERAB (Evolved UTRAN (Universal Terrestrial Radio Access Network) Radio Access Bearer) Accessibility, ERAB Retainability, IP (Internet Protocol) Throughput, IP Latency, Cell Availability, and Mobility, as well as proprietary KPIs.

KPI modules125/130may generate alarms that are proprietary to mobile network operator A/B as well as generate and provide KPI data and reports that it may send to mobile network operator A/B at a regular interval (e.g., every 15 minutes) via a northbound interface (not shown). In an example, KPI modules125/130may simply extract and compile proprietary data for mobile network operators A/B to process within their respective core networks150/160and perform no or minimal embedded analytics within base station100. It will be understood that such variations are possible and within the scope of the disclosure.

System KPI processing module135may extract or receive data from each remote unit170regarding its health. Accordingly, each remote unit170and fronthaul network interface120may be instrumented with embedded sensors and software components that monitor the function of the components and report anomalies to system KPI processing module135. Further, system KPI processing module135may compile data regarding the function of the compute environment hosting base station10, such as the mean and peak processing load for each thread corresponding to the software modules described herein.

The remote units170may include, for example, one or more conventional macro remotes, one or more small cells, one or more DAS (Distributed Antenna Systems), and/or one or more TEKO™ Cell Hubs offered by JMA Wireless™. If the fronthaul link175is a CPRI link, then the remote units170, regardless of their specific type, may have onboard processing such as (for DL, not in order), DAC (Digital to Analog Converter), upconversion to a specified RF carrier frequency, signal combining from multiple CPRI Antenna Carriers into a single RF signal, and power amplification. For the UL, each remote unit170may include low noise amplification, filtering, downconversion to baseband, ADC (Analog to Digital Converter), and potentially a summing function that may sum the given CPRI Antenna Carrier data with those of other remote units170. In a variation in which fronthaul link175carries packetized time domain or frequency domain data using an eCPRI connection, each remote unit170may have circuitry and/or processing capability to de-packetize the DL data stream into a digital stream which it may subsequently process into an analog RF signal, and to packetize the received digitized UL signals for transport to the appropriate baseband processor105A/B. In a variation in which the baseband processors105A/B operate using a PHY layer split (such as the 7-2× O-RAN split), then each remote unit170may have the appropriate circuitry and/or processing capability to perform the lower PHY layer functionality. In a variation in which one or more of the baseband processors105A/B function as gNodeB CUs, then each remote unit170may have the appropriate circuitry and/or processing capability to perform 5G DU functionality. In a further variation in which fronthaul link175is an Ethernet connection, each remote unit170may have the capability of performing any combination of TD/FD eCPRI, 7-2× split, and 5G DU processing. It will be understood that such variations are possible and within the scope of the disclosure.

Remote units170may be arranged in a daisy chain configuration, as illustrated inFIG.1A, or may be arranged in a hub and spoke configuration, or a combination thereof.

Remote units170may be dispersed throughout a large venue, such as a university campus or stadium, such that the risk of mutual interference is minimal. Further to this variation, the remote units170may be located such that any given remote unit170may experience the vast majority of traffic at any given time. In the example of a stadium, the first remote unit170(RU 1) may be deployed in a parking lot; the second remote unit170(RU 2) may be deployed in a stadium bowl; and the third remote unit170(RU 3) may be deployed in a concourse. At any given time during the course of an event, the majority of UE (User Equipment) traffic may be either in the parking lot, the concourse, the bowl, the concourse again, and the parking lot again. In this case, it may be advantageous to treat all three remote units170as being one cell, wherein they share a CPRI Antenna Carrier. In this example a single virtual baseband processor105A may transmit DL data in a single CPRI Antenna Carrier to all three remote units170in a multicast mode. The scheduler within baseband processor105A would thereby allocate a distinct set of REs (Resource Elements) to each UE within coverage of any one of the remote units170, and each remote unit170would receive the same DL CPRI Antenna Carrier. In the UL, however, each remote unit170will not be receiving the same signals because each remote unit170will be receiving UL signals from a distinct subset of UEs. In this case, given the daisy chain configuration and that each UE is allocated a unique set of REs, each remote unit170may sum its own CPRI Antenna Carrier data with that of its preceding remote unit170. For example, RU 2 may sum its UL CPRI Antenna Carrier data with that of RU 1, and RU 3 may sum its UL CPRI Antenna Carrier data with the summed CPRI Antenna Carrier data from RU 2. Various implementations for summing are possible and within the scope of the disclosure. For example, a simple summation of the time domain signals (e.g., all of the frequency bins within a given subframe for a single TTI (transmit time interval)) may be done in deployments in which high signal to noise levels are expected, such as an indoor deployment. Further, interference containment algorithms may be used to ensure a reliable uplink channel in the presence of high co-channel activity.

The above exemplary embodiment is one in which fronthaul link175is a CPRI link and BB time domain data is communicated between base station100and remote units170. In another variation, the remote units170may perform low level PHY functionality that would otherwise be done by the baseband processors105A/B. In this example of a PHY layer split, the fronthaul link175may be considered a mid-haul link, and as used herein, the term “fronthaul link” may also refer to a mid-haul link. For example, the PHY layer split may be done according to the “7.2 split” as described in 3GPP TR 38.816 v1.0.0, although other proposed PHY layer split schemes are possible, depending on the available bandwidth for fronthaul link175. In this example in which the 7.2 split is used, the data communicated over fronthaul link175may be packetized data representing frequency domain data streams of PUCCH (Physical Uplink Control Channel), PUSCH (Physical Uplink Shared Channel), PDCCH (Physical Downlink Control Channel), and PDSCH (Physical Downlink Shared Channel) data for each UE connected to the remote units170, and the fronthaul network interface120may be an Ethernet interface and/or router. Further to this example, the remote units170in the illustrated daisy chain configuration may sum the UL data it receives with that of the preceding remote unit170as described above. There may be advantages in this example due to the fact that the summation would be done in the frequency domain. It will be understood that such variations are possible and within the scope of the disclosure.

In a variation to virtual base station100, virtual baseband processors105A/B may be gNodeB CUs, whereby the DUs may be embedded within the remote units170. In this case, data connections107, fronthaul network interface120, and fronthaul link175may implement an F1 interface over Ethernet. It will be understood that such variations are possible and within the scope of the disclosure.

FIG.1Cillustrates an exemplary compute environment101in which base station100may be deployed. Compute environment101includes a server113, which may comprise one or more rack servers or blade servers, each of which may have multiple processor cores. Server113has one or more processor cores117, which are coupled to one or more storage devices131. Server113is coupled to the internet121via an internet connection123and a server network interface127. Server113may also have a fronthaul network interface card129. If the fronthaul is implemented under the CPRI specification, then fronthaul network interface card129may be a PCIe board having circuitry that converts digital signal data to/from a CPRI format for transport over fronthaul link175. Server113may further have hardware accelerator components, such as FPGAs (Field Programmable Gate Arrays) that are deployed on standard computer interface cards and programmed using well known IP (Intellectual Property) blocks to execute specific high speed computation for signal processing, as may be required.

Although the illustrated example shows server113having two separate network interfaces127and129, it will be understood that other implementations are possible. In another implementation, one single network interface is provided for communicating with both the internet121and the remote units170. More generally, server113has at least one network interface or communicating with the internet121and the remote units170. Server113can communicate with core networks through the internet121. Hence, server113can route communication between the core networks and the remote units as described herein. Such routing can include bidirectional communication or unidirectional communication. As described herein, routing of communication from a core network to the remote units can include multicast communication.

FIG.2illustrates a second exemplary virtual base station200(hereinafter base station200) according to the disclosure. The base station200is a virtual base station which is software-implemented in a compute environment, for example the compute environment101shown inFIG.1C. The compute environment has hardware components including one or more processors and a non-transitory computer readable memory, and when configured with appropriate software the hardware components operate to implement base station200. In some implementations, the software is stored in the non-transitory computer readable memory of the compute environment. In other implementations, the software is stored elsewhere, but executed in the compute environment, for example through an API provided by the compute environment.

Base station200includes a master supervisor module210; one or more DUs205(illustrated here as two DUs205A/B, one per mobile network operator); and a KPI coordinator module215. Coupled to KPI coordinator module215is a KPI processing module225for mobile network operator A; a KPI processing module230for mobile network operator B; a system KPI processing module235; a KPI processing module240corresponding to mobile network operator A that may be shared with the other components within virtual base station200; and a KPI processing module245corresponding to mobile network operator B that may be shared with the other components within virtual base station200. Although not shown, base station200may have local supervisor modules corresponding to the DUs205A/B, and CBRS-Daemon modules coupled to the CUs252A/B, similar to those of base station100.

A difference between base station200and base station100is that there is a CU/DU (Central Unit/Distributed Unit) split within each virtual gNodeB, and that the virtual CUs252A/B may be respectively hosted on compute infrastructure that belongs to mobile network operator or private network A and B. In other words, CUs252A/B may be deployed within the respective core network150/160of mobile network operator or private network A and B. Accordingly, CU252A is coupled to DU205A, which is hosted in the compute environment of base station200, via F1 interface272. Similarly, CU252B is coupled to DU205B, which is hosted in the compute environment of base station200via its own F1 interface272. The F1 interfaces272may be implemented via an Ethernet connection established by Ethernet interfaces257. Each DU205A/B may include a mix of pure software implementation that is executed on conventional processor hardware and special-purpose hardware, such as FPGAs and other hardware accelerators.

Base station200is coupled to one or more remote units270via fronthaul link275and fronthaul network interface220. Fronthaul network interface220may be substantially similar to fronthaul network interface120as described above, including the CPRI implementation as well as the Ethernet-based “7.2 split” variation. Fronthaul link275may include a CPRI link or an Ethernet link, depending on the fronthaul architecture, as is discussed above with regard to base station100. The possible variations fronthaul implementation (e.g., CPRI, TD eCPRI, FD eCPRI, and 7-2×) and the example daisy chain configuration for remotes270, including summing for the uplink Antenna Carriers, apply to the base station200as well as to base station100.

The remote units270may include, for example, one or more conventional macro remotes, one or more small cells, one or more DAS, and/or one or more TEKO Cell Hubs offered by JMA Wireless. In a variation, the remotes270may each have embedded low PHY layer processing, in which case the fronthaul link275may instead be a mid-haul link, and the DUs205A/B perform the upper PHY layer processing. The specific partitioning of the PHY layer may vary. As previously mentioned, it will be understood that such variations are possible and within the scope of the disclosure

Master supervisor module210sets up and configures the components within base station200with the intent that nothing within the base station200impairs the function of each DU205A/B or causes insufficient performance as measured by the KPIs of each mobile network operator. As illustrated, master supervisor module210is coupled to each DU205A/B, KPI coordinator215, and fronthaul network interface220. Master supervisor module210may further communicate with neutral host180that operates base station200. The communication between master supervisor module210and neutral host180may take the form of a user interface or similar. Further, master supervisor module210may grant neutral host180access to system KPI module235and the respective shared KPI modules240/255of mobile network operator A/B. An example of this may be a situation in which KPI module125of mobile network A, using its proprietary KPI data and analytics, may identify an anomaly within a hardware component (e.g., an amplifier) within a given remote unit170/270and issue an alarm to neutral host180via KPI coordinator115/215. Depending on how base station200is configured, master supervisor module210might not have access to the respective KPI processing modules225/230of mobile network operator A and B.

Master supervisor module210may also have internet connectivity to the mobile network operator or private network A/B's respective core networks150/160. This may facilitate the communication of configuration information, such as carrier and CBRS channel information, as well as KPI information from KPI coordinator215. Otherwise, or in addition, KPI modules225/230may communicate KPI information directly to their respective mobile network operator core networks150/160via their respective DUs205A/B. The KPI coordinator module215and KPI modules225/230/235/240/245may be substantially similar to the counterpart KPI modules115/125/130/135/140/145described above. It will be understood that such variations are possible and within the scope of the disclosure.

Each of the software-based components within base stations100/200may be deployed within their compute environment using container technology, which allows the components to operate independently and enables the instantiation/destruction of components according to commands issued by the master supervisor module110/210.

Each of the components or modules within base stations100/200may comprise machine readable instructions that are encoded within one or more non-transitory memory devices and executed on one or more processors that perform their respective described functions. As used herein, the term “module” may refer to a set of machine readable instructions encoded in a non-transitory memory that may be executed by one or more processors, whereby the machine readable instructions corresponding to the module perform the described function assigned to that module according to the disclosure. Each of the modules may be executed as one or more execution threads, which may be executed by the one or more processors using container technology. As used herein, “non-transitory computer readable memory” may refer to any tangible storage medium (as opposed to an electromagnetic or optical signal) and refers to the medium itself, and not to a limitation on data storage (e.g., RAM (Random Access Memory) vs. ROM (Read Only Memory)). For example, non-transitory medium may refer to an embedded volatile memory encoded with instructions whereby the memory may have to be re-loaded with the appropriate machine-readable instructions after being power cycled.

There are many possibilities for the non-transitory computer readable memory. Some possibilities include an SSD (Solid State Drive), an HD (Hard Disk) drive, a CD (Compact Disc), a DVD (Digital Video Disc), a BD (Blu-ray Disc), a memory stick, or any appropriate combination thereof. In some implementations, the non-transitory computer readable medium is part of the compute environment101. In other implementations, the non-transitory computer readable medium is separate from the compute environment101.

FIG.3illustrates an exemplary process300for instantiating and configuring an exemplary base station100/200according to the disclosure. Process300may be executed by one or more processors (hereinafter “the processor”) associated with base station100/200, stored on non-transitory memory as machine readable instructions, and implemented as functional modules as described above. Although the discussion below may occasionally reference components within base station100, it will be understood that it may also apply to base station200. Further, it will be understood that the discussion regarding process300may apply to any combination of eNodeBs, gNodeBs (CU or CU+DU combination), or DUs within base station100/200.

In step305, the processor executes instructions to instantiate master supervisor module110/210and perform a system discovery scan. In doing so, the operating system of the processor may employ container technology to instantiate the master supervisor module110/210as well as the other modules of base station100/200. In step305, the processor executes instructions for the master supervisor module110/210to establish communications with each of the remote units170via fronthaul interface120/220, thereby obtaining addresses, channel capability, location, and power information for each remote unit170/270. This may include establishing communications with each POI (Point of Interface) within the remote units170/270. Further to step305, master supervisor module110/210may create a database with the information obtained in the system discovery scan.

In step310, the processor executes instructions for the master supervisor module110/210to establish communications with the network operators' core networks150/160and neutral host180, and to obtain mobile network operator configuration data, which may include licensed spectrum carrier parameters and KPI information from each of the mobile network operators via their respective core networks150/160. In addition, master supervisor module110/210may query the mobile network operator for any CBRS PAL (Priority Access License) numbers that the mobile network operator may have. Master supervisor module110/210may also establish communications with any private networks that are to be deployed and supported by base station100/200. This may include master supervisor110/210querying one or more private network servers for any CBRS PAL numbers or other network configuration information. Master supervisor module110/210may load appropriate obtained data into the database for subsequent use in configuring the eNodeBs/gNodeBs/DUs and KPI coordinator modules, respectively. The master supervisor module110/210may allocate channels within the remote units170/270(e.g., POIs) corresponding to each of the mobile network operators licensed spectrum channels and load the appropriate information in the database, matching the channels within the remote units170/270to each mobile network operator. The master supervisor module110/210may further allocate CBRS channels to each of the mobile network operators and private networks and load the appropriate information into the database.

Although the description below cites CBRS, it will be understood that the disclosure may apply to any shared spectrum access system whereby a base station may request access to one or more shared spectrum channels or bands.

Further to step310, the processor executes instructions to instantiate the baseband processors105A/B (base station100) or DUs205A/B (base station200), local supervisor modules112A/B, and CBRS-Daemons114A/B. This may be done using container technology. It may do so such that each mobile network operator and private network has its own baseband processor, local supervisor module, and CBRS-Daemon. Master supervisor module110/210may map CPU and bus resources to each baseband processor105A/B according to their individual capacity requirements.

Further to step310, the processor executes instructions for the supervisor110to allocate CBRS channels to each of the baseband processors105A/B. It may do so according to a prearranged priority by which a given network operator A/B may pay for a given number of CBRS channels, which may be in addition to any CBRS channels to which it might have a PAL number. For example, as illustrated inFIG.5B, supervisor110may allocate CBRS channels 1-3 to baseband processor105A, and CBRS channels 4-6 to baseband processor105B.

In step315, each CBRS-Daemon114A/B registers its remote units170/270with the CBRS SAS (Spectrum Allocation System)182. In doing so, each CBRS-Daemon114A/B acts as a domain proxy for its allocated channels within each of the remote units170/270to register each as a CBSD. In the example illustrated inFIG.5B, CBRS-Daemon114A would register with the SAS182regarding CBRS channels 1-3, and CBRS-Daemon114B would register with the SAS182regarding CBRS channels 4-6. This may be done in an array whereby each remote unit170/270is an element in the array, and the CBRS-Daemon114A/B may specify that the CBRS-Daemon114A/B will take care of intra-group interference coordination. As part of the registration process, if the response from the mobile network operator corresponding to the CBRS-Daemon114A/B (in step310) indicates that the mobile network operator or private network has PAL authorization, then the CBRS-Daemon114A/B indicates as such in the registration process so that each CBSD is registered as within the PPA (PAL Protection Area) and thus authorized to access a PAL-reserved CBRS channel.

In step325, the processor executes instructions for the CBRS-Daemon114A/B, acting as a proxy for its CBSDs, to transmit a grant request to the SAS. This grant request may be in the form of an array, for a group request, with each individual CBSD request within the array specifically requesting the CBRS channels allocated to it by the master supervisor module110/210in step310. Depending on the number of mobile network operators and private networks, and the available compute resources in the compute environment of base station100/200, master supervisor module110/210may restrict the number of CBRS channels to which the given CBRS-Daemon114A/B may issue a grant request, which may be a subset of its CBRS channel allocation. The remaining subset of CBRS channels may be kept in reserve for the given baseband processor in the event of a CBRS channel grant revocation. Each grant request in the array may correspond to a particular CBSD, and for each channel requested for each CBSD, include which channels are being requested under PAL authorization and which channels are being requested under GAA authorization. Each grant request in the array may include a frequency range and a corresponding desired EIRP (Effective Isotropic Radiated Power) for each frequency range.

Further to step325, each CBRS-Daemon114A/B receives the license grants from the SAS. The license grant may include, for each CBSD, grants to PAL-reserved channels as well as channels granted under General Authorized Access (GAA). Each channel grant may include a maximum EIRP. It is understood that there is no guarantee that the SAS will grant access to each requested CBRS channel. The SAS may deny access to a given channel and may recommend an alternate channel Each CBRS-Daemon114A/B may locally store information corresponding to CBRS grants and associated parameters for configuring its corresponding baseband processor105A/B.

In step340, the processor may execute instructions for each local supervisor module112A/B to configure its corresponding baseband processor105A/B. In doing so, each local supervisor module112A/B may query the database for all of the information pertaining to its corresponding mobile network operator or private network: e.g., licensed spectrum carriers; allocated CBRS channels, regardless of whether access was granted to a given CBRS channel in step325; CBRS channels for which access was granted in step325along with their associated parameters; addresses for POIs or remote unit channels; and any other relevant information obtained in step310. Given the need to maintain security and sequester the resources of each mobile network operator and private network from the others, the master supervisor module110/210may create a copy of the database for each local supervisor112A/B wherein the copy contains only the information pertaining to that particular mobile network operator or private network. Each local supervisor112A/B configures its corresponding baseband processor105A/B by provisioning cells for each licensed spectrum carrier and each allocated CBRS channel. In doing so, each local supervisor112A/B may assign each allocated CBRS channel to a given band-specific cell processor420/425/420. Local supervisor module112A/B may activate cells corresponding to CBRS channels for which access was granted in step325. Any cells corresponding to allocated CBRS channels for which access was denied in step325are kept by local supervisor module112A/B in a deactivated or locked state. Further, in the case in which the master supervisor module110/210configured the CBRS-Daemon114A/B to only request grants for a subset of its allocated CBRS channels (active subset), the local supervisor module112A/B may configure any cells corresponding to the remaining CBRS channels (inactive subset) to be in a locked or deactivated state. A locked cell (i.e., a cell in a locked state) may be an instantiation of a protocol stack implementation for a band-specific cell processor (described further below) in which there is no connection to fronthaul interface120/220and therefore no connected UEs.

Creating a locked cell may be done as follows. Local supervisor module112may execute instructions to instantiate a cell within a given baseband processor105. Local supervisor112may preconfigure the locked cell for a given CBRS channel but not assign it a slot within fronthaul interface120/220. In this case, the processor running the given baseband processor105/205may be consuming a nominal amount of resources in executing the instructions to run the locked cell with no connected UEs and no resources assigned to the fronthaul interface110/210. Either a given baseband processor105/205— or system100/200overall—may maintain a plurality of locked cells, each preconfigured in a locked or “parked” state at a given CBRS channel in case the SAS182grants access to the channel. For example, many baseband processors105/205may each maintain a locked cell for the same CBRS channel, and only one or more given baseband processors105/205may be selected by the master supervisor module110/210to have an active cell in the CBRS channel. In the case of multiple baseband processors105/205sharing a given CBRS channel, master supervisor module110/210may coordinate with the corresponding local supervisor modules112to allocate unique component carriers within the CBRS channel. In allocating component carriers, local supervisor modules112may instantiate one or more band-specific cell processors, one per component carrier.

In the variation in which fronthaul connection175is implemented via Ethernet and fronthaul interface120is a router, for a given locked cell, the corresponding baseband processor may be deprived of a connection to the router.

If the given baseband processor105/205is granted access to the preconfigured CBRS channel, then local supervisor module112may execute instructions to assign appropriate slots in the fronthaul interface120/220to the corresponding band-specific cell processor and issue instructions to it to connect to UEs, as is described below regarding the subsequent steps345and350. This approach may be necessary if the underlying software of a virtual baseband processor105/205does not facilitate channel reconfiguration on the fly as CBRS grants change. It will be understood that such variations are possible and within the scope of the disclosure.

FIG.4illustrates a plurality of instantiated and configured baseband processors (here illustrated as105A, B . . . N). In this example, baseband processor105A has three cell groups405A-C, each of which may correspond to a remote unit170/270. Instantiated within cell group405A-C is a set of one or more band-specific cell processors415/420/425/430each of which includes a protocol stack implementation that processes one or more component carriers of its assigned band. In the illustrated example, band-specific cell processor415is assigned to the mobile network operator's licensed bands415; band-specific cell processor420is assigned to CBRS channel 1; band-specific cell processor425is assigned to CBRS channel 2; and band-specific cell processor430is assigned to CBRS channel 3. Each of these band-specific cell processors415/420/425/430may be executed by a software-based protocol stack implementation, embodied in a set of machine-readable instructions encoded in a non-transitory memory. Each cell group415A-C may have a scheduler component410, which performs MAC-layer scheduling and carrier aggregation between each component carrier set within the given cell group.

Each of the cell groups405A-C may be referred to as a cell group processor. A cell group processor may be defined as a set of band-specific cell processors capable of serving a given UE or set of UEs within a single coverage area. The use of multiple band-specific cell processors may enable Carrier Aggregation across multiple bands within the cell group processor. Further, in the case of a shared spectrum access system, like CBRS, having multiple CBRS channels (one per band-specific cell processor) may provide redundancy in the event of grant revocation by having one band-specific cell processor parked in an inactive or locked state and assigned to a currently unused CBRS channel. Each band-specific cell processor may be a software-implemented LTE or 5G NR protocol stack, which operates on one or more component carriers within its assigned band or CBRS channel Each protocol stack may include its own scheduler (e.g., MAC layer), with which local scheduler410may coordinate for implementing Carrier Aggregation, etc.

In the example illustrated inFIG.4, the SAS182(not shown) has granted access to CBRS channels 1 and 2 to each CBSD in step325, in response to a proxy grant request issued by CBRS-Daemon114A. Each CBSD may map to a given remote unit170/270. The local supervisor112has configured band-specific cell processors420and425to CBRS channels 1 and 2, respectively, and configured band-specific cell processor430(assigned to CBRS channel 3) to be kept in a locked state.

It will be understood that the example illustrated inFIG.4involves a baseband processor105A corresponding to a network operator. If baseband processor105A were assigned to a private network, band-specific cell processor415may be omitted and baseband processor105A may be operating solely on shared spectrum access (e.g., CBRS) channels. It will be understood that such variations are possible and within the scope of the disclosure.

Returning to process300inFIG.3, in step345, the processor executes instructions to set up fronthaul network interface120/220, which may include instantiating any software modules that configure and operate the fronthaul interface (such as a mapping module185), perform any necessary data conversion, and serve as a router between each of the baseband processors105A/B or DUs205A/B and the hardware of the fronthaul network interface120/220, as described above. This may include setting up ports for DMA buffers192to be allocated to each baseband processor105A/B or DU205A/B. Alternatively, if the fronthaul network interface120/220is an Ethernet interface that supports packet-based communication between the baseband processors105A/B or DUs205A/B then the fronthaul network interface120/220may be configured as a packet switched network fabric between the baseband processors105A/B or DUs205A/B and the remote units170/270.

In step350, the processor executes instructions to establish communication between the base station100/200and the remote units170/270to configure the remote units170/270for selecting bands and power levels for the carriers to be used by mobile network operators A and B and any private networks.

In step355, the processor executes instructions to instantiate the KPI coordinator115/215and the KPI modules125/225,130/230,135/235,140/240, and145/245and establish communications channels between the designated KPI modules and their respective baseband processors105A/B or DUs205A/B.

With all of the software modules instantiated, the processor may execute instructions for the master supervisor module110/210to establish inter-task communications between the software modules as illustrated inFIGS.1and2.

At this stage in process300, base station100/200may begin operating as intended, with each mobile network operator and private network functioning independently with separate resources within a shared computing environment, fronthaul, and topology of remote units170/270. The remaining discussion of process300involves an example scenario in which the SAS revokes a grant to use one or more CBRS channels and/or recommends switching to a new CBRS channel, which may happen at any time during the course of operations.

During operation, each CBRS-Daemon114A/B may issue heartbeat requests to the SAS182on behalf of, and as a proxy for, its CBSDs (its channels within remote units170/270) and receive heartbeat responses from the SAS182accordingly.

In step360, a CBRS-Daemon114A/B may receive indication from the SAS182that the grant for a given CBRS channel to a given CBSD is revoked. This may be done through the CBRS heartbeat response according to known procedures.

In step365, in the event of a grant revocation, the affected CBRS-Daemon114A/B may do two things: (1) send a signal to its corresponding local supervisor module112A/B indicating grant revocation to an allocated CBRS channel; and (2) issue a new grant request to the SAS182, requesting a grant to one or more of its allocated CBRS channels within its inactive subset of channels. If the SAS182grants access to the newly requested CBRS channel, then local supervisor module112A/B may activate the preexisting locked cell preconfigured for the newly-granted CBRS channel (described below in step370).

There may be situations in which a given baseband processor105A/B has a cell that traverses two CBRS channels. For example, referring toFIG.4, cell group 1 (405A) may have a single cell whose frequencies exist in both CBRS 1 (420) and CBRS 2 (425). In this case, a grant revocation may eliminate access to a portion of the spectrum that the given cell is using. In response to this, the CBRS-Daemon114A/B, the local supervisor module112for cell group 1405A, the scheduler410, and the master supervisor module to collectively do any of the following: (1) lock the cell that traverses the two CBRS bands and transmit a grant request for two new allocated CBRS channels that can handle the cell; or (2) restrict the bandwidth of the cell so that it fits within the still-granted CBRS channel, and then transmit a grant request for another allocated CBRS channel that the scheduler410may provide Carrier Aggregation between the still-granted CBRS channel and the newly-granted CBRS channel.

In step370, the local supervisor module112A/B may transfer or hand off the UEs connected to the CBSD and CBRS channel subject to the grant revocation to other active cells within its cell group (potentially including the newly-activated cells corresponding the newly-granted CBRS channel in step365), and then lock the band-specific cell processor corresponding to the CBRS channel with the revoked grant.

Handing off or otherwise transferring the UEs connected to the revoked CBRS channel to another cell within the cell group may be done as follows. In one example, the scheduler410may issue instructions to handoff the UEs from the cells corresponding to the revoked CBRS channel using conventional methods specified in the 3GPP specification. Alternatively, local supervisor module112A/B may issue an instruction to master supervisor module110/210to issue a command to the appropriate remote unit(s)170/270(corresponding to the revoked CBSD(s)) to ramp down the transmit power corresponding to the revoked CBRS channel. In doing so, the UEs connected to the revoked CBSD will autonomously identify an alternate cell within its cell group and connect to the cell with the stronger signal. An advantage to this approach is that it takes advantage of the UE's ability to identify an alternate cell most suited to it and connect without intervention by the scheduler510. Another advantage of this approach is that CBRS regulations require a prompt shut down of the radio subject to a grant revocation, which is facilitated by this approach.

Further to step370, the processor may execute instructions for the master supervisor module110/210to issue commands to the fronthaul network interface120/220(and to the mapping module185) to connect the newly-activated cells to the remote units170/270affected by the CBSD grant revocation, which may include detaching the affected band-specific cell processor corresponding to the revoked CBRS channel from their respective DMA buffers192and connecting the newly-activated band-specific cell processors to the corresponding DMA buffers192; issuing commands to the affected remote units170/270to begin transmitting and receiving at the new CBRS channel and stop transmitting at the revoked channel at the initiation of an identified start frame; issuing commands to the daisy chained affected remote units170/270to sum the uplink signals at the new CBRS channel; and issuing commands to the remote units170/270corresponding to the non-revoked CBSDs to no longer sum the uplink data from the remote units170/270affected by the revocation. Further to step370, master supervisor module110/210may issue a notification to the relevant core networks150/160that the relevant CU252corresponding to the revoked CBRS channel is to switch to the new channel. The band-specific cell processor assigned to the revoked CBRS channel may then run in a locked state, disconnected from any UEs or the fronthaul interface120/220, consuming nominal processor resources as it idles.

Although the above example describes the use of CBRS, it will be understood that the disclosure would pertain to any dynamic shared spectrum allocation system in which one or more frequency ranges are made locally available to a remote unit or base station on a time-dependent request/grant basis, in which the channels are otherwise publicly available. As used herein a CBRS channel is an example of a shared spectrum allocation channel. Further, although the example discloses a CBRS-Daemon, it will be understood that the disclosure would pertain to any dynamic shared spectrum domain proxy that obtains grants and revocations from the dynamic shared spectrum allocation system on behalf of one or more remote units.

FIG.5Aillustrates an exemplary deployment of base station100/200, including baseband processors105A/B, each similar to that illustrated inFIG.4. In this example, each of the baseband processors105A/B have at least one cell group405configured for multicast operation. Each set of band-specific cell processors for licensed bands and CBRS channels (415/420/425, in this example) is coupled to fronthaul network interface120via bidirectional digital baseband I/Q data connection107. As illustrated, baseband processor105A has a locked band-specific cell processor430for CBRS 3, and baseband processor105B has a locked band-specific cell processor430for CBRS 6. Each CBSD/remote unit170has an RF processing block for mobile network operator A's licensed band (505); an RF processing block for mobile network operator B's licensed band (510); an RF processing block for CBRS channel 1, allocated to mobile network operator A (515); an RF processing block for CBRS channel 2, allocated to mobile network operator A (520); an RF processing block for CBRS channel 3, which is inactive (525); an RF processing block for CBRS channel 4, allocated to mobile network operator B (530); an RF processing block for CBRS channel 5, allocated to mobile network operator B (535); and an RF processing block for CBRS channel 6, which is inactive (540). Each may include lower layer LTE or 5G protocol stack processing, such as PHY layer processing.

For the example illustrated inFIG.5A, the term CBSD and remote unit may be used interchangeably. Further, although the example uses LTE terminology and the reference numbers of base station100, it will be understood that this example may apply equally to 5G base station200.

In the example illustrated inFIG.5A, each of the individual RF processing blocks505/510/515/520/530/535excluding RF processing blocks525/540are daisy chained and coupled to the corresponding set of component carriers within cell group405of either baseband processor105A or baseband processor105B. This enables multicast operation in which multiple remote CBSDs170may share a cell. In this example, all of the UEs connected collectively to the remote CBSDs170at a given component carrier may share a single data frame. For the downlink (DL), a given baseband processor105A/B may use a single component carrier processing thread (and thus a single data frame) for all of the daisy chained CBSDs, and thus a copy of a single data frame may be copied and transmitted to all of the CBSDs170. For the uplink (UL), however, a given RF processing block within a single CBSD170(for example, CBRS 4 (530)) may receive signals only from the UEs connected to that CBSD170at that frequency. The other CBSDs170will each receive signals from a unique set of UEs, allocated to a distinct set of REs within that component carrier's data frame. Given this, each CBSD170sums the signal it receives from its own antennas with the data it receives from the downstream neighbor CBSD170.

As described above, a daisy chain topology of remote units170enables both multicasting of DL and summing of UL component carriers. In this case, CBSD 2 may sum the band-specific UL signals received from its connected UEs with the corresponding band-specific signal data received from CBSD 3; and CBSD 1 may sum the UL signals its connected UEs with the corresponding band-specific signal data from CBSD 2.

Further to the example illustrated inFIG.5A, both baseband processors105A/B have a cell group processor405that is configured for multicast operation. However, each baseband processor105A/B may have other operating cell group processors, as illustrated inFIG.4, which may be configured for multicast operation with other remote units (not shown) or in a mode whereby each cell group is coupled to one more remote units in a non-multicast function. It will be understood that such variations are possible and within the scope of the disclosure.

Further to the example ofFIG.5A, fronthaul interface120and fronthaul link175may involve a CPRI link. In this case, each RF processing block includes circuitry for receiving a CPRI stream from a downstream remote unit170, extracting the CPRI stream data corresponding to the given band for that RF processing block, summing the extracted CPRI stream data with the data generated by the RF processing block from signals received by its antennas (from its connected UEs), inserting the summed data into the corresponding CPRI block, and transmitting the new CPRI data upstream to the next remote unit170or fronthaul interface120. As mentioned above, the summation may be over a single TTI (transmit time interval). In a variation in which fronthaul link175is an Ethernet connection, then fronthaul interface120may be a router by which each baseband processor105A/B may communicate with various remote units170using packetized data streams. In this example, uplink summing may be done at fronthaul interface120or at the appropriate baseband processor105A/B.

FIG.5Billustrates the system ofFIG.5Aafter grant revocation of a single CBRS channel for a single CBSD170. In this example, baseband processor105A initially has active band-specific cell processors for its licensed band415, CBRS 1 (420), and CBRS 2 (425). At the point of grant revocation, referring to step360of process300, baseband processor105A's CBRS-Daemon (not shown) receives a grant revocation from the SAS, revoking access to CBRS channel 2 in CBSD 2. As specified in step365, the CBRS-Daemon may transmit a grant request to the SAS requesting a grant to CBRS 3, which is assigned a preconfigured and locked band-specific cell processor430within baseband processor105A. If the SAS grants access to CBRS 3, then the CBRS-Daemon may issue commands to baseband processor105A's local supervisor module (not shown) the CBRS 2 RF processing block520in CBSD 2 will have to be shut down, and the UEs connected to it will have to be handed over to other channels, in accordance with step370. In response, the local supervisor module for baseband processor105A may unlock and activate the band-specific cell processor430corresponding to CBRS 3; handover the affected UEs to other channels (e.g., by ramping down the power of RF processing block520of CBSD 2 to trigger the UEs to establish connection with other channels within CBSD 2), and lock the CBRS 2 band-specific cell processor425. Further to this, the master coordinator module (not shown) may issue instructions to fronthaul interface module120to allocate a CPRI slot (and thus a DMA buffer) to baseband processor105A's CBRS 3 band-specific cell processor425; issue instructions to CBSD 1 and CBSD 3 to remove CBSD 2 from the daisy chain configuration for CBRS 2; issue instructions for CBSD 2 to activate RF processing block525for CBRS 3, which includes information on the newly-allocated CPRI slot for the band-specific cell processor430of CBRS 3 for baseband processor105A; and issue instructions to CBSD 2 to shut down the RF processing block520for CBRS 2. The new I/Q data connection for baseband processor105A's CBRS 3 band-specific cell processor430is shown as data connection107A (darker line inFIG.5B); the new fronthaul link between fronthaul interface120and CBSD 2 for CBRS 3 is shown as fronthaul link175A (darker line inFIG.5B); and the new link between CBSD 1 and CBSD 3 for CBRS 2 is shown as data connection175B (darker line inFIG.5B).

Unless expressly defined otherwise, the term “subset” may mean some or all of the elements of its corresponding set. Further, as used herein, a channel denial may include a grant revocation (for a previously granted channel) and a denial (for a channel in which no grant had been given).