• 沒有找到結果。

When Cognitive Radio Meets Cloud

Chun-Hsien Ko, Din Hwa Huang and Sau-Hsuan Wu,

Institute of Communications Engineering, National Chiao Tung University, Hsinchu, Taiwan 300 E-mail:{[email protected], [email protected], [email protected]}

Abstract—A Cognitive Radio Cloud Network (CRCN) in TV White Spaces (TVWS) is proposed in this paper. Under the infrastructure of CRCN, cooperative spectrum sensing (SS) and resource scheduling in TVWS can be efficiently implemented a hierarchical parallelization method is also implemented with Microsoft’s dotNet 4.0 in a MapReduce-like programming model.

Based on our simulation studies, a proper programming model and partitioning of the sensing data play crucial roles to the performance of the SBL-based SS on the Cloud.

Index Terms—Cognitive Radio, Cloud Computing, MapRe- duce, Windows Azure, Sparse Bayesian Learning.

I. INT RODUCT ION

The concept of cognitive radio (CR) is first introduced by Joseph Mitola III in [1]. Since then CR has attracted significant research attentions either in telecommunications technologies or their related regulations. In view of the inefficient usages of the licensed spectrum (less than 25% overall [2]) and the opportunity of the termination of analog TV broadcasting, the Federal Communications Commission (FCC) of the U.S has established the regulation for CR accesses in its TV White Spaces (TVWS) in 2007 [3] and has recently granted field tests of the CR network in part of the TVWS. Encouraged by the acts of FCC, many international organizations have also 106.2dBm). In addition, the CR operators should also provide databases that maintain the geographical locations of TV base stations (BS) and their radiation powers, antenna heights and a much larger area than that covered by the transmit power of a mobile device. To reconstruct the radiation power profile of even a TV BS, it requires sensing reports from SUs located in different positions inside the coverage area of the TV signal.

However, the distribution and population density (sparsity) of SUs are not uniform in different areas, and vary in different time of a day. Moreover, the received signal strength of a SU is likely to be attenuated by the shadowing effects of wireless channels. Considering these characteristics of sensing measurements and the strict requirements of SS in TVWS, we study a cooperative SS algorithm for TVWS in this paper based on the concept of sparse Bayesian learning (SBL) and the relevance vector machine (RVM) [4].

As the number of SUs vary with time, the computational demands to reconstruct the power propagation map (PPM) of a large area may change significantly over time if sensing reports inside the area are all used in cooperative SS. To control been introduced by H. Harada et al in [5] where they consider a heterogeneous network that consists of various types of wireless networks and propose a Cloud-based algorithm to optimize the spectrum resource scheduling among the het- erogeneous networks in CWC. In contrast to their ideas in heterogeneous networks, we propose herein a more complete concept of Cognitive Radio Cloud Network (CRCN) that enables and integrates cooperative SS and resource scheduling in TVWS. Making use of the scalability and the vast storage and computing capacity of the Cloud, the database of PPM can be established, updated and accessed by a large amount of SUs in an efficient manner. Under this infrastructure of CRCN, we study and implement a SBL-based cooperative SS algorithm on Microsoft’s Windows Azure Cloud platform, and propose a scalable mapping method under a MapReduce-like program-

附錄 1

ming model to dynamically partition the geographical area according to the SU density. Utilizing the scalable mapping method and the dynamic computing resource allocation of the Cloud, the CRCN can provide a PPM in different precisions according to the density of SUs. Based on our simulation studies, a proper programming model and partitioning of the sensing data play crucial roles to the performance of the SBL- based cooperative SS on the Cloud.

This paper is organized as follows. Section II specifies the system model for CRCN and provides some background knowledges on Windows Azure. Section III reviews the basic concept of SBL and the MapReduce [6] programming model, and introduces a SBL-based cooperative SS and a scalable mapping method on Window’s Cloud platform. Simulation re- sults are presented in Section IV followed by some conclusions and discussions made in Section V.

II. THE INFRAST RUCT URE OF CRCN

The purpose of CR is to utilize the precious radio resources more intelligently. Fig. 1 illustrates the infrastructure of the CRCN proposed in this paper. SUs in the CRCN are allowed to use a spectrum in time and space as long as not seriously deteriorating the signal qualities of primary users (PUs) in the same spectrum. To make the most out of the available spectra, a command and control center (also referred to the CR Cloud (CRC)) is used to coordinate and manage the entire radio resources in TVWS. In the CRCN, there are various CR BSs to collect sensing measurements from distributed SUs.

The sensing results are fed back through CR BSs to the CRC to estimate the PPM with a SBL algorithm implemented on Microsoft’s Windows Azure. The resultant PPM of SS contains the number of PUs and their locations and corresponding radio power profiles, and are stored in Microsoft’s SQL Azure.

A. The Windows Azure CRC Platform of data storages which are BLOB for general binary data, Table for systematic data and Queue for data passing between webs and programs.

For the programming model in Windows Azure, there are two different roles which are:

Web Role: The task of web role is to communicate export the results periodically.

On the other hand, SQL Azure is the Cloud version of SQL server and is built on Windows Azure. Designed for Cloud, SQL Azure only supports part of the functions of SQL server.

Fig. 1. A conceptual map of the Cognitive Radio Cloud Network,

To reconstruct the PPM on Windows Azure, each SU inside the CRCN is assumed equipped with a global positioning system (GPS) device and is able to feed back its location, time and value of the received signal strength indicator (RSSI) to the CRC through the Web Role of Windows Azure as shown in Fig. 2. Each Web Role takes the inputs sent from a CR BS and stores the sensing reports in the input database of SQL Azure. The CRC then partitions the sensing measurements in the input database into blocks according to their associated positions, and maps the data of each block to a Worker Role of Windows Azure to parallelizes the SBL algorithm. A Worker Roles performs the SBL-based SS algorithm with the sensing measurements of each block and stores the reconstructed PPM of PUs of each time slot in the output database of SQL Azure.

If a SU wants to access the CRCN, it first sends a request together with its location to the CRC to ask for permission.

The CRC will allocate the radio resource to the SU according to the PPM of PUs and the locations of all users both stored in the input and output databases of SQL Azure.

III. THE IMPL E ME NTAT ION OF T HE SBL-BASE D COOPE RAT IVE SS ON CRC

More details about the SBL-based cooperative SS algorithm and how we implement and parallelize the algorithm on the CRC are provided in this Section. A scalable mapping function is also proposed to adjust the block scale of each Worker Role.

A. The SBL-Based Cooperative SS Algorithm

Assume that there are N PUs in an area of Np ×

deleting criterion is only applied in the first EM in which the basis parameters µ, s and M are assumed known. Therefore, the variance parameters −1 and β−1 are estimated as

Besides, the deleting threshold η in (3) should be set based on the noise variance β−1 . In the second M-step, w, β−1 , and shadowing effect, with each entry being a zero-mean Gaussian random variable (RV) with variance β−1 . The SBL iteratively modifies the RVM and estimates the parameters M , −1 ,

The details of the iteration process is shown in Table I.

According to the compressive sensing (CS) theorem [8], a signal can be exactly reconstructed when the measurement rate (N/N 2 ) is larger than 0.16. Even though the SBL algorithm does not adopt orthogonal bases and as such does not abide by the CS theorem, the CS theorem still provides for the SBL algorithm a useful reference figure on the measurement rate.

In the sequel, we only simulate the cases whose measurement rates are less than 0.15. The estimation errors do not improve significantly when the measurement rates are larger than 0.15, while the complexity will increase dramatically.

TABLE I

The Sparse Bayesian Learning Algrithm 1) Uniformly spread M bases φj in the area of interest.

β−1 , µj , and sj to maximize the marginal likelihood function 2) Initiate the iterations with αj = 1, β = 1 and k = 0, p(t|X , α, β, µ, s, M ) from sparse measurements.

The SBL can also be viewed as an alternative EM algorithm.

In the E-step, the covariance Σ and mean m of the posterior distribution of weighting coefficients w are evaluated by

Σ = (βΦT Φ + A)−1 , and m = βΣΦT t (2) where A , diag(αj ) is a M × M diagonal matrix. Conse- quently, we can obtain the estimated weighting coefficients we = m and then delete those low-weighted bases according to we. Here we select the bases whose weighting coefficients are larger than a threshold η and count their number to renew the M . For the k-th iteration of SBL, we have

Fig. 3. The flowchart of the parallelized SBL-based cooperative SS algorithm in the background process of Windows Azure. In this example, there are one web role and four worker roles, and each role operates on an individual VM.

The web role distributes the sensing data; in contrast, the worker roles execute programs. The detailed execution steps of the algorithm are listed in Table II.

SUs by their locations into blocks to reduce the processing time of the SS algorithm. The data of each block are processed independently by a Worker Role of a VM to execute the SBL- based SS scheme for the block. When the number, locations and the RSSI levels of PUs are obtained, each VM reports the results to a common PUs database.

Under the MapReduce programming model [6], VMs ex- change data in a format of (key, value) pair. Applying this concept to our SS problem, we define the time and the location measurements as the Mapper’s input data key and output data key, respectively. For the Reducer, both the input data key and the output data key are location information. The flow chart is shown in Fig. 3. We note that VMs and SQLs are not guaranteed to be implemented in the same server, thus exchanging data between VMs might become the bottleneck of our implementation. It is a tradeoff between the degree of parallelism and data exchange. The detailed description of this MapReduce Programming Model is shown in Table II.

TABLE II

MapReduce Programming Model 1) Job tracker distributes SUs’ data to different

Worker Roles according to the chronical order.

2) Worker Role distributes the SUs’ data to different sub-databases according to the SUs’ locations.

Each worker Role renews its state = 1 in Check SQL when the distribution is done.

3) Worker Roles check state value in the Check SQL.

If all state values are equal to 1,

then start to run the spectrum sensing algorithm.

Otherwise, check state value periodically.

4) Export the estimation results into PUs’ database.

C. Hierarchical Parallelization

Although area parallelization can reduce the processing time significantly, the speed improvement is still restricted by the power coverage areas of the PUs, in particular, for a PU like a TV broadcasting station. This is because data processed by a VM should come from an area larger than that covered by the power of a PU to ensure the correctness of the reconstructed PPM of a PU. To lift this fundamental limit on the computational speed of the SS algorithm, one can consider a traditional parallelization method of multi-threading.

Specifically, we consider a hierarchical parallelization struc- ture for the computation of the SBL-based SS algorithm.

Measurement data are first partitioned by area into blocks for the algorithm complexity is of the third order of the number of measurements. Each block are handled by one VM with multiple CPU cores. Signal processing within each VM is further parallelized with multi-threading over multiple cores.

In Microsoft’s dotNet 4.0, a simple multi-thread instruction of P arallel.F or can be used to parallelize computations This is an advantage of Windows Azure. Unlike Hadoop, Windows Azure allows users to define some system-level properties for the different VMs of Web Roles and Worker Roles. Therefore, using multi-threading in VMs with multiple cores on Windows Azure platform can also reduce the communication cost be- tween VMs when only single-thread instructions are allowed in each VM as in typical MapReduce programming model.

IV. SIMUL AT ION RE SULT S

Before we introduce the simulation results, we first give some figures about the Windows Azure Platform. Windows Azure offers different options of VMs whose system parame- ters are listed in Table III. These options allow us to do a fairer comparison between the speeds and accuracies of different measurement rates.

We consider herein an area of 60 × 60 with 3 PUs located at (15, 45), (45, 45) and (15, 45), respectively. A baseline SBL- based SS algorithm is performed for this area on Windows Azure using the large instance in Table III. To study the per- formance of parallelization on the Cloud, we test three types of parallelization methods for the SBL-based SS algorithm. The Type I performs parallelization for the SS algorithm by simple multi-threading using four CPU cores of small instance in one VM of the Worker Role. In comparison, the Type II (in Host) partitions the entire area into four blocks. Each area includes at most one PU located at the same position relative to the baseline example. Data from each block are processed by one CPU core of a VM with 4 cores. In contrast, the Type II (on Cloud) processes data from each block on a VM of a single CPU, i.e., each Worker Role processes the measurement data from an area of 30 × 30. Finally, the Type III processes data from each block on a VM with 4 CPU cores. As a results, the total number of CPU cores for the Worker Role becomes 16.

The simulation results for different measurement rates (spar- sities) are listed in Table IV to VIII and are also shown in Fig.

4 to Fig. 8. Fig. 4 shows that parallelization by partitioning the area is most crucial to the computation of the SS algorithm.

Time (sec) Mean Squared Error Mean Squared Error

TABLE III

T H E CO M P U T E IN S TA N C E SI Z E O F W I N D OW S AZ U R E

Computer CPU RAM Storage I/O

Instance Size efficiency

Extra Small 1.0GHz 768 MB 20 GB Low

Mean Squared Errors of Locationing for Different Measurement Rates

2500

2000

Processing Times of Locationing by Different Measurement

Rates original

At the measurement rate of 0.1, Type II (in Host) can improve the processing speed of Type I by 20 times, while Type II (on Cloud) improves the processing speed of Type I around 13 times due to the communication time between the VMs. The computational advantage of Type II results from the matrix inversion involved in the SBL-based SS algorithm since, for the Gaussian-Jordan method, the time complexity grows with the third order of the amount of sensing reports.

Fig. 5. The average mean squared errors of the SBL-based SS algorithm versus the measurement rates. The result doesn’t include the false alarms and missing detection cases.

estimation. Table V shows the MSEs in the locationing of the PUs, and Table VI presents the MSEs of the reconstructed

Mean Squared Errors of PPM by Different Measurement Rates

original type 1

type 2 type 3

The hierarchial parallelization algorithm will not effect the complexity, it only reduces the processing time for each area.

Nevertheless, this feature is particular useful for TVWS due to the large scale of the power coverage areas of PUs. For the SBL-based SS algorithm, a VM should process sensing data at least from a PU, which prevents from partitioning the area into very small processing blocks.

Table V and VI show the mean squared errors (MSE) of alarms and missing detection cases.

False Alarm Ratio Missing Ratio

Missing Ratios of Different Measurement Rates it appears to have a higher false alarm ratio in an area without PU. To resolve this problem, we set a threshold for the estimated power. With this mechanism, we can find for all of the proposed algorithms that they exhibit consistent results either in the false alarm ratios or the missing ratios.

V. DISCUSSIONS AND FUT URE WORKS

A CRCN was proposed for cooperative SS in TVWS. Based on the SBL algorithm, a cooperative SS algorithm was tested on Microsoft’s Windows Azure Cloud platform. Making use of the multi-threading features of the Windows Azure platform, a hierarchial parallelization method was proposed to improve the processing speed of the SBL-based SS algorithm on the Cloud. According to our simulation studies, the performance of the SS algorithm can be greatly improved with the parallel computing capacity and the MapReduce-like programming model of the Cloud. Under the framework of CRCN, more

False Alarm Ratios of Different Measurement Rates resource scheduling can be tested for CR in TVWS.

RE FE RE NCE S

[1] J. Mitola and G. Q. Maguire, ―Cognitive radio: Making software radios more personal,‖ IEEE Personal Communications, vol. 6, no. 4, pp. 13–18, Aug. 1999. IEEE proceeding of IEEE Global Communications Conference (GLOBECOM). Washington DC, USA.

[6] J. Dean and S. Ghemawat, ―MapReduce: Simplified Data

[8] E. Cande`s, J. Romberg, and T. Tao, ―Robust uncertainty principles : Exact signal reconstruction from highly incomplete frequency information,‖

IEEE Trans. on Information Theory, vol. 52, no. 2, pp. 489–509, Feb.

2006.

IEEE INFOCOM 2011 Workshop On Cognitive & Cooperative Networks

A Decentralized MAC Protocol for Cognitive Radio