Patent Description:
The advent of pure software-implemented virtual base stations has offered the opportunity to host multiple network operators on a single wireless communication infrastructure. Hosting multiple network operators in a single compute environment offers certain challenges. First, the compute environment must be sufficiently secure so that a given network operator is not vulnerable to hacking or denial of service. Second, the entire base station, from the compute environment hosting the virtual eNodeBs (Evolved Node Bs) and/or gNodeBs (next generation Node Bs) through to the remote radio units, must not suffer from interference or bottlenecking whereby a surge of activity within one network operator might impact the compute, network, or radio resources allocated to another network operator. Third, a neutral host operating the virtual base station must be able to assess the performance of the system in order to provide appropriate service to each network operator and be able to do so in such a way that no single network operator is impacted by the presence of another. Fourth, the advent of private networks and shared spectrum access systems provides additional challenges in that the base station and compute environment must be able to cope with the granting, grant revocation, and channel switching scenarios whereby a given network operator or private network can change shared spectrum access channels without impacting any of the other network operators or private networks.

<NPL>, discloses the Technical Specification of the signaling protocol and procedures for the SASCBSD interface. Document <CIT> discloses a spectrum Sharing Controller comprising: an interface to a sharable spectrum, wherein the sharable spectrum is assigned to a first hierarchy level; a processor configured to enable a first entity for accessing at least part of the sharable spectrum on the first hierarchy level, wherein the processor is configured to assign a second hierarchy level to the at least part of the sharable spectrum accessible to the first entity, and wherein the processor is configured to enable a second entity for accessing at least part of the sharable spectrum on the second hierarchy level.

Document <CIT> discloses a controlling node and a method in a controlling node for distribution of an interference quota (IQ) among a plurality of network nodes.

Accordingly, what is needed is a system and method for hosting multiple eNodeBs/gNodeBs, one for each network operator or private network, in a secure environment that provides unimpeded access to compute, network, and radio resources, to multiple network operators and can dynamically respond to changes in available shared spectrum access channels.

In a first aspect, the present disclosure involves a method for configuring and operating a virtual base station that hosts multiple network operators. The method comprises instantiating a plurality of baseband processors, each baseband processor corresponding to one of a plurality of network operators, each baseband processor having one or more cell group processors, wherein each cell group processor has a plurality of band-specific cell processors; allocating a distinct plurality of shared spectrum access channels to each of the plurality of baseband processors; receiving a grant to one or more of the distinct plurality of shared spectrum channels corresponding to each baseband processor; and assigning each shared spectrum access channel of the distinct plurality of shared spectrum access channels for each of the plurality of baseband processors to a corresponding band-specific cell processor of each.

In a second aspect, the present disclosure involves a compute environment configured to implement the method of the first aspect.

Another aspect of the present disclosure involves a non-transitory computer readable memory encoded with instructions which, when executed by one or more processors, cause the one or more processors to implement the method of the above aspect.

<FIG> illustrates an exemplary virtual base station <NUM> (hereinafter base station <NUM>) for hosting multiple network operators according to the disclosure. The base station <NUM> is 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 station <NUM>. 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 station <NUM> hosts 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 station <NUM> may have one or more virtual baseband processors 105A/B; a local supervisor module 112A coupled to baseband processor 105A; a CBRS-Daemon 114A coupled to baseband processor 105A; a local supervisor module 112B coupled to baseband processor 105B; a CBRS-Daemon 114B coupled to baseband processor 105B; a master supervisor module <NUM>; a KPI (Key Performance Indicator) coordinator module <NUM>; and a fronthaul network interface <NUM> (also referred to herein as "fronthaul interface <NUM>"). Coupled to KPI coordinator module <NUM> are a KPI processing module <NUM> for mobile network operator A; a KPI processing module <NUM> for mobile network operator B; a KPI processing module <NUM> for the system; a shared KPI processing module <NUM> corresponding to mobile network operator A that may be shared with the other components within virtual base station <NUM>; and a shared KPI processing module <NUM> corresponding to mobile network operator B that may be shared with the other components within virtual base station <NUM>. As illustrated, baseband processor 105A communicates with the mobile network operator A's core network <NUM> via a dedicated S1 connection <NUM>; and baseband processor 105B communicates with the mobile network operator B's core network <NUM> via a dedicated S1 interface <NUM>. Base station <NUM> is further coupled to one or more remote units <NUM> via a fronthaul link <NUM>.

In some implementations, as illustrated, each virtual baseband processor 105A/B is an LTE (Long-Term Evolution) eNodeB. However, other virtual baseband processors are possible, such as <NUM> 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 <NUM>-2x split specified by the O-RAN (Open Access Radio Network) Alliance.

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

Fronthaul network interface <NUM> may 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 station <NUM>, fronthaul link <NUM> may be an Ethernet connection. In this case, communication between the fronthaul interface <NUM> and the remote units <NUM> may 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 interface <NUM> and the remotes; high-low PHY layer split data (e.g., as specified by O-RAN as the <NUM>-2x split); or F1 interface data (in the case that each "eNodeB" 105A/B is a gNodeB CU and each remote unit <NUM> has gNodeB DU functionality. It will be understood that various implementations of a fronthaul link <NUM> and fronthaul interface <NUM> are possible and within the scope of the disclosure.

Master supervisor module <NUM> sets up and configures the components within base station <NUM> with the intent that the eNodeBs of other network operators do not impair the function of each baseband processor 105A/B or cause insufficient performance as measured by the KPIs of each mobile network operator. As illustrated, master supervisor module <NUM> is coupled to each baseband processor 105A/B (via its respective local supervisor module 112A/B), KPI coordinator <NUM>, and fronthaul network interface <NUM>. Master supervisor module <NUM> may further communicate with neutral host <NUM> that operates base station <NUM> over an internet connection. The communication between master supervisor module <NUM> and neutral host <NUM> may take the form of a user interface or similar. Further, master supervisor module <NUM> may grant neutral host <NUM> access to system KPI module <NUM> and the respective shared KPI modules <NUM>/<NUM> of mobile network operator A/B. Depending on how base station <NUM> is configured, master supervisor module <NUM> may or may not have access to the respective KPI processing modules <NUM>/<NUM> of mobile network operator A/B.

Master supervisor module <NUM> may also have internet connectivity to the mobile network operator A/B's respective core networks <NUM>/<NUM>. This may facilitate the communication of configuration information, such as carrier and CBRS channel information, as well as KPI information via KPI coordinator <NUM>. Otherwise, or in addition, KPI modules <NUM>/<NUM> may communicate KPI information directly to their respective mobile network operator core networks <NUM>/<NUM> via their respective baseband processors 105A/B. It will be understood that such variations are possible and within the scope of the disclosure.

Each of the baseband processors 105A/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 <NUM> protocol stack for both the control planes and data planes. By employing container technology, the master supervisor module <NUM> may (in conjunction with the operating system of the compute environment of base station <NUM>) instantiate and de-instantiate each baseband processor 105A/B independently of each other. Master supervisor module <NUM> may instantiate each local supervisor module 112A/B, which may in turn configure and operate its corresponding baseband processor 105A/B (described further below). Each baseband processor 105A/B is respectively coupled to fronthaul network interface <NUM> via a bidirectional digital BB (baseband) I/Q (in-phase/quadrature) data connection <NUM>. In the case of a DL (download) signal, the BB I/Q data on the data connection <NUM> is 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 interface <NUM> and transmitted to each remote unit <NUM>. Each remote unit <NUM> retrieves 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 unit <NUM>. In the case of a UL (uplink) signal, the BB I/Q data on the data connection <NUM> is a digital representation of the downconverted RF signal detected by the antennas of one or more remote unit <NUM>, which amplifies and digitizes the signal, formats the signal according to the CPRI specification, and transmits it to the fronthaul network interface <NUM>. The fronthaul network interface <NUM> then identifies and extracts the BB I/Q data corresponding to the carriers allocated to the baseband processor 105A/B and relays it to the appropriate eNodeB over data connection <NUM>.

<FIG> illustrates an exemplary fronthaul network interface <NUM> that includes a mapping module <NUM> that overlays a CPRI transport layer <NUM>. The mapping module <NUM> serves as a coordinator between the baseband processors 105A/B and the CPRI transport layer <NUM>, enabling different baseband processors 105A/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 station <NUM> to dynamically instantiate and add - or remove and deinstantiate - additional baseband processors.

The mapping module <NUM> within the fronthaul network interface <NUM> may do this by mapping the samples of a given baseband processor 105A/B (via their respective bidirectional digital baseband I/Q data connections <NUM> to an allocated DMA (Direct Memory Access) buffer <NUM>, and mapping the allocated DMA buffer <NUM> to a certain sample range within a given CPRI block in CPRI transport layer <NUM>. 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 link <NUM>), which keeps the CPRI link at <NUM>% utilization at all times. The mapping module <NUM> maps the samples corresponding to each baseband processor 105A/B to certain portions of each CPRI block. For example, the mapping module <NUM> may allocate to baseband processor 105A the first bandwidth portion (e.g., <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, or <NUM>, given how many component carrier(s) correspond to the baseband processor 105A/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 interface <NUM> (with padding over the unused portion) at the appropriate timing interval. Mapping module <NUM> may assign baseband processor 105B to a second bandwidth allocation (e.g., one of the bandwidths enumerated above for the corresponding component carriers of the other baseband processor 105A/B) via a second DMA buffer <NUM> to a second portion of the CPRI block. Mapping module <NUM> may 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 module <NUM> may similarly further accommodate additional eNodeBs. For example, master supervisor module <NUM> may instantiate two additional baseband processors 105C/D (not shown) and configure the fronthaul interface module <NUM> for the two new baseband processors 105C/D and their respective bandwidth requirements. Given the available space within the CPRI block and the bandwidth requirements of each additional baseband processor 105C/D, the mapping module may allocate the remaining bandwidth of the CPRI block to baseband processor 105C and baseband processor 105D, via additional DMA buffers <NUM>, which may result in filling the CPRI block. This would require that the mapping module allocate new DMA buffers <NUM>, one per new baseband processor 105C/D and map the new DMA buffers <NUM> to the allocated slots within the CPRI block in CPRI transport layer <NUM>. Then, for example, depending on fluctuations in demand for connectivity, master supervisor module <NUM> may shut down baseband processor 105B and baseband processor 105D, instructing the fronthaul network interface <NUM> (and thus the mapping module <NUM>) to remove these two baseband processors from the CPRI block. Accordingly, the mapping module <NUM> may do so, disconnecting the corresponding DMA buffers <NUM> from the terminated baseband processors 105B/D, leaving their corresponding portions of the CPRI block unused, whereby fronthaul interface module <NUM> may pad the unused data portions.

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

Each baseband processor 105A/B may asynchronously load and extract data from its corresponding DMA buffers <NUM>. The DMA buffers <NUM> may handle the synchronization in loading/extracting data to/from the CPRI transport layer <NUM>.

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

An advantage of the mapping module <NUM> is that it enables the removal and adding of baseband processors without interrupting the operation of the other existing running baseband processors.

KPI coordinator module <NUM> configures and maintains KPI modules <NUM>/<NUM>/<NUM>/<NUM>/<NUM> according to configuration information provided by master supervisor module <NUM>. KPI coordinator module <NUM> may control access to each of these KPI modules, for example, so that mobile network operator A may only have access to KPI modules <NUM>/<NUM>/<NUM>, mobile network operator B may only have access to KPI modules <NUM>/<NUM>/<NUM>, and master supervisor module <NUM> may only have access to KPI modules <NUM>/<NUM>/<NUM>. In an alternate example, master supervisor module <NUM> may have access to all of the KPI modules <NUM>/<NUM>/<NUM>/<NUM>/<NUM>. KPI coordinator <NUM> may intercept or extract relevant data from each baseband processor 105A/B, or each KPI module may be directly coupled directly to its corresponding baseband processor 105A/B. For example, KPI module <NUM> may be directly coupled to baseband processor 105A, 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 module <NUM>. It will be understood that such variations are possible and within the scope of the disclosure.

KPI modules <NUM>/<NUM> may include proprietary code provided by mobile network operator A/B and hosted as an agent in the compute environment of base station <NUM>. Each of the KPI modules <NUM>/<NUM> may intercept or extract data from the fronthaul interface <NUM> and 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 host <NUM> and the other mobile network operators. Further, KPI modules <NUM>/<NUM> may be integrated into respective baseband processors 105A/B. KPI modules <NUM>/<NUM> may respectively provide data to shared KPI processing modules <NUM>/<NUM>, which can in turn provide reports or generate alarms to KPI coordinator <NUM>. Further, master supervisor module <NUM> may grant neutral host <NUM> access to system KPI module <NUM> and the respective shared KPI modules <NUM>/<NUM> of mobile network operator A/B. An example of this may be a situation in which KPI module <NUM> of 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 unit <NUM> and issues an alarm to neutral host <NUM> via KPI coordinator <NUM>. Accordingly, examples of shared KPIs may include hardware anomalies within the remotes <NUM> or in the fronthaul link <NUM>. In the event that a KPI module <NUM>/<NUM> measures a KPI or identifies an anomaly that it is configured to share with the system <NUM>, it may store this information in its respective shared KPI module <NUM>/<NUM> so that it is available to the KPI coordinator <NUM>. Examples of KPIs include those defined by 3GPP (3rd Generation Partnership Project) in TS <NUM>, 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 modules <NUM>/<NUM> may 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 <NUM> minutes) via a northbound interface (not shown). In an example, KPI modules <NUM>/<NUM> may simply extract and compile proprietary data for mobile network operators A/B to process within their respective core networks <NUM>/<NUM> and perform no or minimal embedded analytics within base station <NUM>. It will be understood that such variations are possible and within the scope of the disclosure.

System KPI processing module <NUM> may extract or receive data from each remote unit <NUM> regarding its health. Accordingly, each remote unit <NUM> and fronthaul network interface <NUM> may be instrumented with embedded sensors and software components that monitor the function of the components and report anomalies to system KPI processing module <NUM>. Further, system KPI processing module <NUM> may compile data regarding the function of the compute environment hosting base station <NUM>, such as the mean and peak processing load for each thread corresponding to the software modules described herein.

The remote units <NUM> may 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 link <NUM> is a CPRI link, then the remote units <NUM>, 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 unit <NUM> may 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 units <NUM>. In a variation in which fronthaul link <NUM> carries packetized time domain or frequency domain data using an eCPRI connection, each remote unit <NUM> may 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 processor 105A/B. In a variation in which the baseband processors 105A/B operate using a PHY layer split (such as the <NUM>-2x O-RAN split), then each remote unit <NUM> may 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 processors 105A/B function as gNodeB CUs, then each remote unit <NUM> may have the appropriate circuitry and/or processing capability to perform <NUM> DU functionality. In a further variation in which fronthaul link <NUM> is an Ethernet connection, each remote unit <NUM> may have the capability of performing any combination of TD/FD eCPRI, <NUM>-2x split, and <NUM> DU processing. It will be understood that such variations are possible and within the scope of the disclosure.

Remote units <NUM> may be arranged in a daisy chain configuration, as illustrated in <FIG>, or may be arranged in a hub and spoke configuration, or a combination thereof.

Remote units <NUM> may 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 units <NUM> may be located such that any given remote unit <NUM> may experience the vast majority of traffic at any given time. In the example of a stadium, the first remote unit <NUM> (RU <NUM>) may be deployed in a parking lot; the second remote unit <NUM> (RU <NUM>) may be deployed in a stadium bowl; and the third remote unit <NUM> (RU <NUM>) 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 units <NUM> as being one cell, wherein they share a CPRI Antenna Carrier. In this example a single virtual baseband processor 105A may transmit DL data in a single CPRI Antenna Carrier to all three remote units <NUM> in a multicast mode. The scheduler within baseband processor 105A would thereby allocate a distinct set of REs (Resource Elements) to each UE within coverage of any one of the remote units <NUM>, and each remote unit <NUM> would receive the same DL CPRI Antenna Carrier. In the UL, however, each remote unit <NUM> will not be receiving the same signals because each remote unit <NUM> will 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 unit <NUM> may sum its own CPRI Antenna Carrier data with that of its preceding remote unit <NUM>. For example, RU <NUM> may sum its UL CPRI Antenna Carrier data with that of RU <NUM>, and RU <NUM> may sum its UL CPRI Antenna Carrier data with the summed CPRI Antenna Carrier data from RU <NUM>. 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 link <NUM> is a CPRI link and BB time domain data is communicated between base station <NUM> and remote units <NUM>. In another variation, the remote units <NUM> may perform low level PHY functionality that would otherwise be done by the baseband processors 105A/B. In this example of a PHY layer split, the fronthaul link <NUM> may 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 "<NUM> split" as described in 3GPP TR <NUM> v1. <NUM>, although other proposed PHY layer split schemes are possible, depending on the available bandwidth for fronthaul link <NUM>. In this example in which the <NUM> split is used, the data communicated over fronthaul link <NUM> may 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 units <NUM>, and the fronthaul network interface <NUM> may be an Ethernet interface and/or router. Further to this example, the remote units <NUM> in the illustrated daisy chain configuration may sum the UL data it receives with that of the preceding remote unit <NUM> as 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 station <NUM>, virtual baseband processors 105A/B may be gNodeB CUs, whereby the DUs may be embedded within the remote units <NUM>. In this case, data connections <NUM>, fronthaul network interface <NUM>, and fronthaul link <NUM> may implement an F1 interface over Ethernet. It will be understood that such variations are possible and within the scope of the disclosure.

<FIG> illustrates an exemplary compute environment <NUM> in which base station <NUM> may be deployed. Compute environment <NUM> includes a server <NUM>, which may comprise one or more rack servers or blade servers, each of which may have multiple processor cores. Server <NUM> has one or more processor cores <NUM>, which are coupled to one or more storage devices <NUM>. Server <NUM> is coupled to the internet <NUM> via an internet connection <NUM> and a server network interface <NUM>. Server <NUM> may also have a fronthaul network interface card <NUM>. If the fronthaul is implemented under the CPRI specification, then fronthaul network interface card <NUM> may be a PCIe board having circuitry that converts digital signal data to/from a CPRI format for transport over fronthaul link <NUM>. Server <NUM> may 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 server <NUM> having two separate network interfaces <NUM> and <NUM>, it will be understood that other implementations are possible. In another implementation, one single network interface is provided for communicating with both the internet <NUM> and the remote units <NUM>. More generally, server <NUM> has at least one network interface or communicating with the internet <NUM> and the remote units <NUM>. Server <NUM> can communicate with core networks through the internet <NUM>. Hence, server <NUM> can 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> illustrates a second exemplary virtual base station <NUM> (hereinafter base station <NUM>) according to the disclosure. The base station <NUM> is a virtual base station which is software-implemented in a compute environment, for example the compute environment <NUM> shown in <FIG>. 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 station <NUM>. 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 station <NUM> includes a master supervisor module <NUM>; one or more DUs <NUM> (illustrated here as two DUs 205A/B, one per mobile network operator); and a KPI coordinator module <NUM>. Coupled to KPI coordinator module <NUM> is a KPI processing module <NUM> for mobile network operator A; a KPI processing module <NUM> for mobile network operator B; a system KPI processing module <NUM>; a KPI processing module <NUM> corresponding to mobile network operator A that may be shared with the other components within virtual base station <NUM>; and a KPI processing module <NUM> corresponding to mobile network operator B that may be shared with the other components within virtual base station <NUM>. Although not shown, base station <NUM> may have local supervisor modules corresponding to the DUs 205A/B, and CBRS-Daemon modules coupled to the CUs 252A/B, similar to those of base station <NUM>.

A difference between base station <NUM> and base station <NUM> is that there is a CU/DU (Central Unit / Distributed Unit) split within each virtual gNodeB, and that the virtual CUs 252A/B may be respectively hosted on compute infrastructure that belongs to mobile network operator or private network A and B. In other words, CUs 252A/B may be deployed within the respective core network <NUM>/<NUM> of mobile network operator or private network A and B. Accordingly, CU 252A is coupled to DU 205A, which is hosted in the compute environment of base station <NUM>, via F1 interface <NUM>. Similarly, CU 252B is coupled to DU 205B, which is hosted in the compute environment of base station <NUM> via its own F1 interface <NUM>. The F1 interfaces <NUM> may be implemented via an Ethernet connection established by Ethernet interfaces <NUM>. Each DU 205A/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 station <NUM> is coupled to one or more remote units <NUM> via fronthaul link <NUM> and fronthaul network interface <NUM>. Fronthaul network interface <NUM> may be substantially similar to fronthaul network interface <NUM> as described above, including the CPRI implementation as well as the Ethernet-based "<NUM> split" variation. Fronthaul link <NUM> may include a CPRI link or an Ethernet link, depending on the fronthaul architecture, as is discussed above with regard to base station <NUM>. The possible variations fronthaul implementation (e.g., CPRI, TD eCPRI, FD eCPRI, and <NUM>-2x) and the example daisy chain configuration for remotes <NUM>, including summing for the uplink Antenna Carriers, apply to the base station <NUM> as well as to base station <NUM>.

The remote units <NUM> may 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 remotes <NUM> may each have embedded low PHY layer processing, in which case the fronthaul link <NUM> may instead be a mid-haul link, and the DUs 205A/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 module <NUM> sets up and configures the components within base station <NUM> with the intent that nothing within the base station <NUM> impairs the function of each DU 205A/B or causes insufficient performance as measured by the KPIs of each mobile network operator. As illustrated, master supervisor module <NUM> is coupled to each DU 205A/B, KPI coordinator <NUM>, and fronthaul network interface <NUM>. Master supervisor module <NUM> may further communicate with neutral host <NUM> that operates base station <NUM>. The communication between master supervisor module <NUM> and neutral host <NUM> may take the form of a user interface or similar. Further, master supervisor module <NUM> may grant neutral host <NUM> access to system KPI module <NUM> and the respective shared KPI modules <NUM>/<NUM> of mobile network operator A/B. An example of this may be a situation in which KPI module <NUM> of 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 unit <NUM>/<NUM> and issue an alarm to neutral host <NUM> via KPI coordinator <NUM>/<NUM>. Depending on how base station <NUM> is configured, master supervisor module <NUM> might not have access to the respective KPI processing modules <NUM>/<NUM> of mobile network operator A and B.

Master supervisor module <NUM> may also have internet connectivity to the mobile network operator or private network A/B's respective core networks <NUM>/<NUM>. This may facilitate the communication of configuration information, such as carrier and CBRS channel information, as well as KPI information from KPI coordinator <NUM>. Otherwise, or in addition, KPI modules <NUM>/<NUM> may communicate KPI information directly to their respective mobile network operator core networks <NUM>/<NUM> via their respective DUs 205A/B. The KPI coordinator module <NUM> and KPI modules <NUM>/<NUM>/<NUM>/<NUM>/<NUM> may be substantially similar to the counterpart KPI modules <NUM>/<NUM>/<NUM>/<NUM>/<NUM>/<NUM> described 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 stations <NUM>/<NUM> may 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 module <NUM>/<NUM>.

Each of the components or modules within base stations <NUM>/<NUM> may 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 environment <NUM>. In other implementations, the non-transitory computer readable medium is separate from the compute environment <NUM>.

<FIG> illustrates an exemplary process <NUM> for instantiating and configuring an exemplary base station <NUM>/<NUM> according to the disclosure. Process <NUM> may be executed by one or more processors (hereinafter "the processor") associated with base station <NUM>/<NUM>, 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 station <NUM>, it will be understood that it may also apply to base station <NUM>. Further, it will be understood that the discussion regarding process <NUM> may apply to any combination of eNodeBs, gNodeBs (CU or CU+DU combination), or DUs within base station <NUM>/<NUM>.

In step <NUM>, the processor executes instructions to instantiate master supervisor module <NUM>/<NUM> and perform a system discovery scan. In doing so, the operating system of the processor may employ container technology to instantiate the master supervisor module <NUM>/<NUM> as well as the other modules of base station <NUM>/<NUM>. In step <NUM>, the processor executes instructions for the master supervisor module <NUM>/<NUM> to establish communications with each of the remote units <NUM> via fronthaul interface <NUM>/<NUM>, thereby obtaining addresses, channel capability, location, and power information for each remote unit <NUM>/<NUM>. This may include establishing communications with each POI (Point of Interface) within the remote units <NUM>/<NUM>. Further to step <NUM>, master supervisor module <NUM>/<NUM> may create a database with the information obtained in the system discovery scan.

In step <NUM>, the processor executes instructions for the master supervisor module <NUM>/<NUM> to establish communications with the network operators' core networks <NUM>/<NUM> and neutral host <NUM>, 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 networks <NUM>/<NUM>. In addition, master supervisor module <NUM>/<NUM> may query the mobile network operator for any CBRS PAL (Priority Access License) numbers that the mobile network operator may have. Master supervisor module <NUM>/<NUM> may also establish communications with any private networks that are to be deployed and supported by base station <NUM>/<NUM>. This may include master supervisor <NUM>/<NUM> querying one or more private network servers for any CBRS PAL numbers or other network configuration information. Master supervisor module <NUM>/<NUM> may load appropriate obtained data into the database for subsequent use in configuring the eNodeBs/gNodeBs/DUs and KPI coordinator modules, respectively. The master supervisor module <NUM>/<NUM> may allocate channels within the remote units <NUM>/<NUM> (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 units <NUM>/<NUM> to each mobile network operator. The master supervisor module <NUM>/<NUM> may 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 step <NUM>, the processor executes instructions to instantiate the baseband processors 105A/B (base station <NUM>) or DUs 205A/B (base station <NUM>), local supervisor modules 112A/B, and CBRS-Daemons 114A/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 module <NUM>/<NUM> may map CPU and bus resources to each baseband processor 105A/B according to their individual capacity requirements.

Further to step <NUM>, the processor executes instructions for the supervisor <NUM> to allocate CBRS channels to each of the baseband processors 105A/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 in <FIG>, supervisor <NUM> may allocate CBRS channels <NUM>-<NUM> to baseband processor 105A, and CBRS channels <NUM>-<NUM> to baseband processor 105B.

In step <NUM>, each CBRS-Daemon 114A/B registers its remote units <NUM>/<NUM> with the CBRS SAS (Spectrum Allocation System) <NUM>. In doing so, each CBRS-Daemon 114A/B acts as a domain proxy for its allocated channels within each of the remote units <NUM>/<NUM> to register each as a CBSD. In the example illustrated in <FIG>, CBRS-Daemon 114A would register with the SAS <NUM> regarding CBRS channels <NUM>-<NUM>, and CBRS-Daemon 114B would register with the SAS <NUM> regarding CBRS channels <NUM>-<NUM>. This may be done in an array whereby each remote unit <NUM>/<NUM> is an element in the array, and the CBRS-Daemon 114A/B may specify that the CBRS-Daemon 114A/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-Daemon 114A/B (in step <NUM>) indicates that the mobile network operator or private network has PAL authorization, then the CBRS-Daemon 114A/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 step <NUM>, the processor executes instructions for the CBRS-Daemon 114A/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 module <NUM>/<NUM> in step <NUM>. Depending on the number of mobile network operators and private networks, and the available compute resources in the compute environment of base station <NUM>/<NUM>, master supervisor module <NUM>/<NUM> may restrict the number of CBRS channels to which the given CBRS-Daemon 114A/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 step <NUM>, each CBRS-Daemon 114A/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-Daemon 114A/B may locally store information corresponding to CBRS grants and associated parameters for configuring its corresponding baseband processor 105A/B.

In step <NUM>, the processor may execute instructions for each local supervisor module 112A/B to configure its corresponding baseband processor 105A/B. In doing so, each local supervisor module 112A/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 step <NUM>; CBRS channels for which access was granted in step <NUM> along with their associated parameters; addresses for POIs or remote unit channels; and any other relevant information obtained in step <NUM>. Given the need to maintain security and sequester the resources of each mobile network operator and private network from the others, the master supervisor module <NUM>/<NUM> may create a copy of the database for each local supervisor 112A/B wherein the copy contains only the information pertaining to that particular mobile network operator or private network. Each local supervisor 112A/B configures its corresponding baseband processor 105A/B by provisioning cells for each licensed spectrum carrier and each allocated CBRS channel. In doing so, each local supervisor 112A/B may assign each allocated CBRS channel to a given band-specific cell processor <NUM>/<NUM>/<NUM>. Local supervisor module 112A/B may activate cells corresponding to CBRS channels for which access was granted in step <NUM>. Any cells corresponding to allocated CBRS channels for which access was denied in step <NUM> are kept by local supervisor module 112A/B in a deactivated or locked state. Further, in the case in which the master supervisor module <NUM>/<NUM> configured the CBRS-Daemon 114A/B to only request grants for a subset of its allocated CBRS channels (active subset), the local supervisor module 112A/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 interface <NUM>/<NUM> and therefore no connected UEs.

Creating a locked cell may be done as follows. Local supervisor module <NUM> may execute instructions to instantiate a cell within a given baseband processor <NUM>. Local supervisor <NUM> may preconfigure the locked cell for a given CBRS channel but not assign it a slot within fronthaul interface <NUM>/<NUM>. In this case, the processor running the given baseband processor <NUM>/<NUM> may 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 interface <NUM>/<NUM>. Either a given baseband processor <NUM>/<NUM> - or system <NUM>/<NUM> overall - may maintain a plurality of locked cells, each preconfigured in a locked or "parked" state at a given CBRS channel in case the SAS <NUM> grants access to the channel. For example, many baseband processors <NUM>/<NUM> may each maintain a locked cell for the same CBRS channel, and only one or more given baseband processors <NUM>/<NUM> may be selected by the master supervisor module <NUM>/<NUM> to have an active cell in the CBRS channel. In the case of multiple baseband processors <NUM>/<NUM> sharing a given CBRS channel, master supervisor module <NUM>/<NUM> may coordinate with the corresponding local supervisor modules <NUM> to allocate unique component carriers within the CBRS channel. In allocating component carriers, local supervisor modules <NUM> may instantiate one or more band-specific cell processors, one per component carrier.

In the variation in which fronthaul connection <NUM> is implemented via Ethernet and fronthaul interface <NUM> is a router, for a given locked cell, the corresponding baseband processor may be deprived of a connection to the router.

If the given baseband processor <NUM>/<NUM> is granted access to the preconfigured CBRS channel, then local supervisor module <NUM> may execute instructions to assign appropriate slots in the fronthaul interface <NUM>/<NUM> to the corresponding band-specific cell processor and issue instructions to it to connect to UEs, as is described below regarding the subsequent steps <NUM> and <NUM>. This approach may be necessary if the underlying software of a virtual baseband processor <NUM>/<NUM> does 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> illustrates a plurality of instantiated and configured baseband processors (here illustrated as 105A, B. In this example, baseband processor 105A has three cell groups 405A-C, each of which may correspond to a remote unit <NUM>/<NUM>. Instantiated within cell group 405A-C is a set of one or more band-specific cell processors <NUM>/<NUM>/<NUM>/<NUM> each 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 processor <NUM> is assigned to the mobile network operator's licensed bands <NUM>; band-specific cell processor <NUM> is assigned to CBRS channel <NUM>; band-specific cell processor <NUM> is assigned to CBRS channel <NUM>; and band-specific cell processor <NUM> is assigned to CBRS channel <NUM>. Each of these band-specific cell processors <NUM>/<NUM>/<NUM>/<NUM> may 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 group 415A-C may have a scheduler component <NUM>, which performs MAC-layer scheduling and carrier aggregation between each component carrier set within the given cell group.

Each of the cell groups 405A-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 <NUM> 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 scheduler <NUM> may coordinate for implementing Carrier Aggregation, etc..

In the example illustrated in <FIG>, the SAS <NUM> (not shown) has granted access to CBRS channels <NUM> and <NUM> to each CBSD in step <NUM>, in response to a proxy grant request issued by CBRS-Daemon 114A. Each CBSD may map to a given remote unit <NUM>/<NUM>. The local supervisor <NUM> has configured band-specific cell processors <NUM> and <NUM> to CBRS channels <NUM> and <NUM>, respectively, and configured band-specific cell processor <NUM> (assigned to CBRS channel <NUM>) to be kept in a locked state.

It will be understood that the example illustrated in <FIG> involves a baseband processor 105A corresponding to a network operator. If baseband processor 105A were assigned to a private network, band-specific cell processor <NUM> may be omitted and baseband processor 105A 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 process <NUM> in <FIG>, in step <NUM>, the processor executes instructions to set up fronthaul network interface <NUM>/<NUM>, which may include instantiating any software modules that configure and operate the fronthaul interface (such as a mapping module <NUM>), perform any necessary data conversion, and serve as a router between each of the baseband processors 105A/B or DUs 205A/B and the hardware of the fronthaul network interface <NUM>/<NUM>, as described above. This may include setting up ports for DMA buffers <NUM> to be allocated to each baseband processor 105A/B or DU 205A/B. Alternatively, if the fronthaul network interface <NUM>/<NUM> is an Ethernet interface that supports packet-based communication between the baseband processors 105A/B or DUs 205A/B then the fronthaul network interface <NUM>/<NUM> may be configured as a packet switched network fabric between the baseband processors 105A/B or DUs 205A/B and the remote units <NUM>/<NUM>.

In step <NUM>, the processor executes instructions to establish communication between the base station <NUM>/<NUM> and the remote units <NUM>/<NUM> to configure the remote units <NUM>/<NUM> for selecting bands and power levels for the carriers to be used by mobile network operators A and B and any private networks.

In step <NUM>, the processor executes instructions to instantiate the KPI coordinator <NUM>/<NUM> and the KPI modules <NUM>/<NUM>, <NUM>/<NUM>, <NUM>/<NUM>, <NUM>/<NUM>, and <NUM>/<NUM> and establish communications channels between the designated KPI modules and their respective baseband processors 105A/B or DUs 205A/B.

With all of the software modules instantiated, the processor may execute instructions for the master supervisor module <NUM>/<NUM> to establish inter-task communications between the software modules as illustrated in <FIG> and <FIG>.

At this stage in process <NUM>, base station <NUM>/<NUM> may 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 units <NUM>/<NUM>. The remaining discussion of process <NUM> involves 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-Daemon 114A/B may issue heartbeat requests to the SAS <NUM> on behalf of, and as a proxy for, its CBSDs (its channels within remote units <NUM>/<NUM>) and receive heartbeat responses from the SAS <NUM> accordingly.

In step <NUM>, a CBRS-Daemon 114A/B may receive indication from the SAS <NUM> that 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 step <NUM>, in the event of a grant revocation, the affected CBRS-Daemon 114A/B may do two things: (<NUM>) send a signal to its corresponding local supervisor module 112A/B indicating grant revocation to an allocated CBRS channel; and (<NUM>) issue a new grant request to the SAS <NUM>, requesting a grant to one or more of its allocated CBRS channels within its inactive subset of channels. If the SAS <NUM> grants access to the newly requested CBRS channel, then local supervisor module 112A/B may activate the preexisting locked cell preconfigured for the newly-granted CBRS channel (described below in step <NUM>).

There may be situations in which a given baseband processor 105A/B has a cell that traverses two CBRS channels. For example, referring to <FIG>, cell group <NUM> (405A) may have a single cell whose frequencies exist in both CBRS <NUM> (<NUM>) and CBRS <NUM> (<NUM>). 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-Daemon 114A/B, the local supervisor module <NUM> for cell group <NUM>405A, the scheduler <NUM>, and the master supervisor module to collectively do any of the following: (<NUM>) 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 (<NUM>) 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 scheduler <NUM> may provide Carrier Aggregation between the still-granted CBRS channel and the newly-granted CBRS channel.

In step <NUM>, the local supervisor module 112A/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 step <NUM>), 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 scheduler <NUM> may 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 module 112A/B may issue an instruction to master supervisor module <NUM>/<NUM> to issue a command to the appropriate remote unit(s) <NUM>/<NUM> (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 scheduler <NUM>. 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 step <NUM>, the processor may execute instructions for the master supervisor module <NUM>/<NUM> to issue commands to the fronthaul network interface <NUM>/<NUM> (and to the mapping module <NUM>) to connect the newly-activated cells to the remote units <NUM>/<NUM> affected 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 buffers <NUM> and connecting the newly-activated band-specific cell processors to the corresponding DMA buffers <NUM>; issuing commands to the affected remote units <NUM>/<NUM> to 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 units <NUM>/<NUM> to sum the uplink signals at the new CBRS channel; and issuing commands to the remote units <NUM>/<NUM> corresponding to the non-revoked CBSDs to no longer sum the uplink data from the remote units <NUM>/<NUM> affected by the revocation. Further to step <NUM>, master supervisor module <NUM>/<NUM> may issue a notification to the relevant core networks <NUM>/<NUM> that the relevant CU <NUM> corresponding 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 interface <NUM>/<NUM>, 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> illustrates an exemplary deployment of base station <NUM>/<NUM>, including baseband processors 105A/B, each similar to that illustrated in <FIG>. In this example, each of the baseband processors 105A/B have at least one cell group <NUM> configured for multicast operation. Each set of band-specific cell processors for licensed bands and CBRS channels (<NUM>/<NUM>/<NUM>, in this example) is coupled to fronthaul network interface <NUM> via bidirectional digital baseband I/Q data connection <NUM>. As illustrated, baseband processor 105A has a locked band-specific cell processor <NUM> for CBRS <NUM>, and baseband processor 105B has a locked band-specific cell processor <NUM> for CBRS <NUM>. Each CBSD/remote unit <NUM> has an RF processing block for mobile network operator A's licensed band (<NUM>); an RF processing block for mobile network operator B's licensed band (<NUM>); an RF processing block for CBRS channel <NUM>, allocated to mobile network operator A (<NUM>); an RF processing block for CBRS channel <NUM>, allocated to mobile network operator A (<NUM>); an RF processing block for CBRS channel <NUM>, which is inactive (<NUM>); an RF processing block for CBRS channel <NUM>, allocated to mobile network operator B (<NUM>); an RF processing block for CBRS channel <NUM>, allocated to mobile network operator B (<NUM>); and an RF processing block for CBRS channel <NUM>, which is inactive (<NUM>). Each may include lower layer LTE or <NUM> protocol stack processing, such as PHY layer processing.

For the example illustrated in <FIG>, the term CBSD and remote unit may be used interchangeably. Further, although the example uses LTE terminology and the reference numbers of base station <NUM>, it will be understood that this example may apply equally to <NUM> base station <NUM>.

In the example illustrated in <FIG>, each of the individual RF processing blocks <NUM>/<NUM>/<NUM>/<NUM>/<NUM>/<NUM> excluding RF processing blocks <NUM>/<NUM> are daisy chained and coupled to the corresponding set of component carriers within cell group <NUM> of either baseband processor 105A or baseband processor 105B. This enables multicast operation in which multiple remote CBSDs <NUM> may share a cell. In this example, all of the UEs connected collectively to the remote CBSDs <NUM> at a given component carrier may share a single data frame. For the downlink (DL), a given baseband processor 105A/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 CBSDs <NUM>. For the uplink (UL), however, a given RF processing block within a single CBSD <NUM> (for example, CBRS <NUM> (<NUM>)) may receive signals only from the UEs connected to that CBSD <NUM> at that frequency. The other CBSDs <NUM> will 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 CBSD <NUM> sums the signal it receives from its own antennas with the data it receives from the downstream neighbor CBSD <NUM>.

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

Further to the example illustrated in <FIG>, both baseband processors 105A/B have a cell group processor <NUM> that is configured for multicast operation. However, each baseband processor 105A/B may have other operating cell group processors, as illustrated in <FIG>, 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 of <FIG>, fronthaul interface <NUM> and fronthaul link <NUM> may involve a CPRI link. In this case, each RF processing block includes circuitry for receiving a CPRI stream from a downstream remote unit <NUM>, 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 unit <NUM> or fronthaul interface <NUM>. As mentioned above, the summation may be over a single TTI (transmit time interval). In a variation in which fronthaul link <NUM> is an Ethernet connection, then fronthaul interface <NUM> may be a router by which each baseband processor 105A/B may communicate with various remote units <NUM> using packetized data streams. In this example, uplink summing may be done at fronthaul interface <NUM> or at the appropriate baseband processor 105A/B.

<FIG> illustrates the system of <FIG> after grant revocation of a single CBRS channel for a single CBSD <NUM>. In this example, baseband processor 105A initially has active band-specific cell processors for its licensed band <NUM>, CBRS <NUM> (<NUM>), and CBRS <NUM> (<NUM>). At the point of grant revocation, referring to step <NUM> of process <NUM>, baseband processor 105A's CBRS-Daemon (not shown) receives a grant revocation from the SAS, revoking access to CBRS channel <NUM> in CBSD <NUM>. As specified in step <NUM>, the CBRS-Daemon may transmit a grant request to the SAS requesting a grant to CBRS <NUM>, which is assigned a preconfigured and locked band-specific cell processor <NUM> within baseband processor 105A. If the SAS grants access to CBRS <NUM>, then the CBRS-Daemon may issue commands to baseband processor 105A's local supervisor module (not shown) the CBRS <NUM> RF processing block <NUM> in CBSD <NUM> will have to be shut down, and the UEs connected to it will have to be handed over to other channels, in accordance with step <NUM>. In response, the local supervisor module for baseband processor 105A may unlock and activate the band-specific cell processor <NUM> corresponding to CBRS <NUM>; handover the affected UEs to other channels (e.g., by ramping down the power of RF processing block <NUM> of CBSD <NUM> to trigger the UEs to establish connection with other channels within CBSD <NUM>), and lock the CBRS <NUM> band-specific cell processor <NUM>. Further to this, the master coordinator module (not shown) may issue instructions to fronthaul interface module <NUM> to allocate a CPRI slot (and thus a DMA buffer) to baseband processor 105A's CBRS <NUM> band-specific cell processor <NUM>; issue instructions to CBSD <NUM> and CBSD <NUM> to remove CBSD <NUM> from the daisy chain configuration for CBRS <NUM>; issue instructions for CBSD <NUM> to activate RF processing block <NUM> for CBRS <NUM>, which includes information on the newly-allocated CPRI slot for the band-specific cell processor <NUM> of CBRS <NUM> for baseband processor 105A; and issue instructions to CBSD <NUM> to shut down the RF processing block <NUM> for CBRS <NUM>. The new I/Q data connection for baseband processor 105A's CBRS <NUM> band-specific cell processor <NUM> is shown as data connection 107A (darker line in <FIG>); the new fronthaul link between fronthaul interface <NUM> and CBSD <NUM> for CBRS <NUM> is shown as fronthaul link 175A (darker line in <FIG>); and the new link between CBSD <NUM> and CBSD <NUM> for CBRS <NUM> is shown as data connection 175B (darker line in <FIG>).

Claim 1:
A method for configuring and operating a virtual base station (<NUM>) that hosts multiple network operators (<NUM>, <NUM>), comprising:
instantiating a plurality of baseband processors (105A, 105B), each baseband processor corresponding to one of a plurality of network operators (<NUM>, <NUM>), each baseband processor (105A) having one or more cell group processors (405A-C), wherein each cell group processor (405A-C) has a plurality of band-specific cell processors (<NUM>, <NUM>, <NUM>, <NUM>);
allocating a distinct plurality of shared spectrum access channels to each of the plurality of baseband processors (105A, 105B);
receiving a grant to one or more of the distinct plurality of shared spectrum channels corresponding to each baseband processor (105A, 105B); and
assigning each shared spectrum access channel of the distinct plurality of shared spectrum access channels for each of the plurality of baseband processors (105A, 105B) to a corresponding band-specific cell processor (<NUM>, <NUM>, <NUM>, <NUM>) of each.