Physical Communication 9 (2013) 231–242
Contents lists available at ScienceDirect
Physical Communication journal homepage: www.elsevier.com/locate/phycom
Full length article
Rule-based dynamic TV white space spectrum sharing services composition framework B. Ye a,∗ , M. Nekovee b , A. Pervez a , J.L. Chen c,1 a
FESBE, London South Bank University, 103 Borough Road, London SE1 0AA, United Kingdom
b
BT Research and University College of London, Polaris 134 Adastral Park, Martlesham, Suffolk IP5 3RE, United Kingdom
c
National Laboratory of Switching Technology and Telecommunications Networks, Beijing University of Posts and Telecommunications, 100876 Beijing, China
article
info
Article history: Received 28 February 2012 Received in revised form 11 August 2012 Accepted 17 August 2012 Available online 24 August 2012 Keywords: TV White Space Service oriented architecture Dynamic service composition Rule-based
abstract When developing a TV White Space (TVWS) system with the available TV spectrum after digital switchover, the smooth introduction of new technologies and components has to be supported because the requirements of users change frequently in a new system. We need to provide a modular, extensible and easy to implement framework rather than building highly integrated systems. According to environment, rules, polices and users’ requirements, advanced intelligent management functionalities that can guarantee the proper configuration of devices in TVWS networks and proper load balance, have to be developed. According to different requests from users, different algorithms and components have to be used to meet the needs of the users. How, when and which algorithms and components should be combined in order to meet the requests from the users become essential problems. Based on Service Oriented Architecture, all things in the proposed system including algorithms and components can be defined as services. This paper presents a framework of rule-based dynamic TVWS services composition that can meet the above needs and combine different TVWS services to fulfil users’ requirements dynamically. © 2012 Elsevier B.V. All rights reserved.
1. Introduction Wireless data networking technology is ideal for many environments, including homes, airports, and shopping malls because it is inexpensive, easy to install, and supports mobile users. As a result, and a tremendous growth in mobile broadband, we have seen a sharp increase in the use of wireless over the past few years [1,2], and this has in turn resulted in a sharp increase in demand for radio frequency (RF) spectrum resources. There is currently great interest in cognitive wireless network strategies to find new solutions for Spectrum Resource Management [3].
∗
Corresponding author. E-mail addresses:
[email protected] (B. Ye),
[email protected] (M. Nekovee),
[email protected] (A. Pervez). 1 A member of both the Chinese Academy of Sciences and the Chinese Academy of Engineering. 1874-4907/$ – see front matter © 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.phycom.2012.08.001
In particular both in the United States and the UK a significant portion of spatially unused RF spectrum within the existing TV band are becoming available for secondary sharing for devices with cognitive capabilities [3]. This spectrum is known as TV White Spaces (TVWS). Initially cognitive radios with sensing capabilities were considered as prime contenders for access to TVWS. In sensing-based cognitive radios sophisticated algorithms are used in order to detect the presence of TV signals and avoid harmful interference to the primary TV band users. However, sensing-based cognitive radios suffer from a number of issues, including uncertainty and the CPU, time and energy cost associated with detection. Consequently, a different approach based on the use of geolocation databases has emerged as the most pragmatic and robust approach for access to TVWS, and is also endorsed by the US and UK regulators [4].
232
B. Ye et al. / Physical Communication 9 (2013) 231–242
In a Geolocation system, prior to accessing the TVWS spectrum, a white space device has to register its location and, possibly, other characteristics with a designated database provider. The database then uses this information to determine, via a set of propagation modelling computations, a list of available TVWS channels at the location of the device along with the maximum transmit power to be used per channel. This information is then sent to the device, which selects from this list one or more vacant channels for its transmission [5]. However, an intelligent system is required on top of the simple geolocation service that can integrate TVWS devices and networking technologies, management functionalities, algorithms and cognitive, reconfigurable and cooperative schemes and can allow quick development and deployment of new algorithms and applications. The removal and replacement of existing algorithms and applications and the introduction of new modules and technologies are required. This means the low level applications and algorithms have to be abstracted through high level interfaces. There has been considerable research in recent years on resource management systems in the context of cognitive radio. In [6] the authors propose the concept of a Cognitive Radio Manager, as an evolution of the classical Radio Resource Manager in cellular networks. They aim at enabling a dynamic and distributed cross-layer approach to resource management, and the authors also attempt to implement a system with flexibility and modularity. In [7] development of a case-based reasoning cognitive engine is discussed in the context of the IEEE 802.22 WRAN applications. In [8] the authors investigate the applicability fuzzy logic and case-based reasoning methods as the core reasoning engine for a cognitive radio WiMAX system. In [9,10] an innovative and generic approach to developing cognitive radios is based on the radio environment map. The researchers in [6–10] present important advances in the development of resource management systems for cognitive radios. However, the majority of previous systems are highly integrated ones which are not very flexible. Many researchers have attempted to provide modular, extensible and easier to implement frameworks rather than building highly integrated systems. In particular we believe that a system based on Service Oriented Architecture (SOA) can satisfy the requirements of modularity and flexibility very well. In an SOA system, everything is defined as a service. Services can be defined, registered, published, found and invoked respectively or combined with other services to constitute composite services. However, there is very little research which is focusing on SOA-based radio resource management systems. The authors in [11], for example, present the design and implementation of a service-oriented platform, and also introduce a large number of services. Much more research, however, needs to be carried out in order to understand how to dynamically combine various services which are required to respond to requests from users. For example, different algorithms and components have to be used when different requests arrive. Some users send requests with one objective function while others send requests with more than one. Obviously, the
algorithm handling requests with one objective is different from that handling requests with more than one. In this system, all algorithms and components are developed as services. How and when to combine which algorithms and components become essential problems. This paper presents the framework of rule based dynamic TVWS services composition that can combine different services to fulfil users’ requirements dynamically. In the framework, when a request arrives, the requirements, the information of the device and environment will be analysed. Based on the analysis result, rules will be exacted from rules database to construct a composite service. At last, the composite service will be executed to satisfy the requirements of the users and result will be sent back. This paper is organized as follows. In Section 2, details of TV White Space Database (WSD) are introduced. All applications of TVWS are based on this database. In Section 3 the system model and a detailed problem are given. In Section 4 we present the architecture of the framework. In Section 5 the performance of the proposed framework is presented. Conclusions are given in the final section. 2. White space database Although potentially a large portion of spatially unused TV spectrum could be used by cognitive radios, the availability varies as a function of location and transmit power of devices. In this work we have made use of a tool developed at BT Research which quantifies the availability and variability of TVWS spectrum across the UK for low-power devices. These make use of publicly available coverage maps of digital terrestrial TV (DTT), which were generated via computer simulations from Ofcom’s database of location, transmit power, antenna height, and transmit frequencies of the UK’s DTT transmitters [12]. It combines these coverage maps with simplified propagation modelling calculations to obtain estimates of the vacant TVWS frequencies at any given location in the UK. Fig. 1(a) shows a coverage map of channel 21, in which there are 800 × 1600 pixels and each pixel is coloured or white. For each different channel, there is a different corresponding coverage map. The coloured pixel indicates a location where a channel is occupied while a white pixel indicates a location where a channel is available. The tool was implemented with Python. The location coordinates encoded in the UK National Grid format (Easting and Northing) [13] are used as inputs. The National Grid is the map projection used on Ordnance Survey Great Britain maps. The ‘false origin’ (f.o.) is just south-west of the Scilly Isles to ensure that all coordinates in Britain are positive. The ‘true origin’ (t.o.) is 400 km east and 100 km south of f.o. The grid is divided into 100 km squares which each have a two-letter code. The area of one square is 100 square km. Hence, one square which has a two-letter code, such as SV, SW as shown in Fig. 1(c), is a square with sides of 100 km. When a request with location arrives, the location coordinates are transformed into the corresponding pixel in coverage maps. Then the model can know whether the
B. Ye et al. / Physical Communication 9 (2013) 231–242
(a) Coverage map.
(b) Map of UK.
233
(c) The National Grid, showing t.o. and f.o. [13].
Fig. 1. Coverage map of channel 21. Table 1 Information element for TV White Space channels. Attribute Index
Attribute
Size
Description
1
ID
3 bytes
Unique identifier for each pixel.
2
CH
6 bytes
The availability of channels 21–68 is stored in this attribute. Each bit denotes one channel, because each pixel is ‘1’ or ‘0’. ‘1’ suggests that this channel is available at this pixel, while ’0’ means that this channel is occupied.
channel at this location is available or not by checking the colour of the corresponding pixel in coverage maps. In this paper, coverage maps are transformed and stored in a relational database. Because the colour of all pixels is checked, any information of coverage map cannot be lost. In Table 1, there are two elements, ‘ID’ and ‘CH’. ‘ID’ is a unique number used to identity every pixel (x, y) and calculated by Eq. (1). A users’ GPS location can be transformed into national grid Easting and Northing, which can be transformed into (x, y) of corresponding pixel. ID = x + 800y + 1
x ∈ [0, 800); y ∈ [0, 1600).
(1)
Availability of all channels at the location determined by ‘ID’ is stored in element ‘CH’. Fig. 2 shows an example, in which the first column is ‘ID’ and the second one is ‘CH’. In this database, the information of which channels are available and which are not can be read out, while the BT’s model has to read through all coverage maps to achieve the same. WSD is also called a static database, because the information of channels in WSD does not change frequently. 3. System model When a TVWS system deals with requests from users, decisions will be made to meet users’ needs in different scenarios. Because of various users’ requirements, the system needs to be really intelligent. In different scenarios,
Fig. 2. Example of White Space database.
different decisions will be made and different algorithms need to be used to improve the decisions. In our system, there is a considerable amount of information that needs to be stored in many different databases. Furthermore, several modules are developed to verify the positions of users, ensure the decisions abide by the rules of regulator and so on. However, the more frequently users use a system, the more rapidly their requirements may change. This means that additional modules and algorithms need to be developed in order to meet the users’ changing requirements. Consequently, various modules, algorithms and databases need to be loosely coupled such that newly
234
B. Ye et al. / Physical Communication 9 (2013) 231–242
Fig. 3. Architecture of intelligent TVWS management.
• Utility Function Layer: Services in this layer are used
Fig. 4. Service layers of intelligent TVWS management.
developed modules and algorithms could be easily plugged into the system. Fig. 3 depicts an overview of the proposed approach— Architecture of Intelligent TV White Space Management (ITVWSM). The Enterprise Service Bus (ESB) is the centre and the message router of this system. Here different modules, algorithms and various databases communicate with each other, users and other systems via their service interfaces. ESB handles various requests from users, internal modules and other systems and sends messages to corresponding receivers. As a result, ESB can work as a message filter, router or broker. In an SOA-based system, a service can be classified by its contextual and structural attributes [14]:
• Atomic service: an indivisible software component that is too granular and executes fewer business or technical functionalities. • Composite service: a composite service structure aggregates smaller and fine-grained services. In this system, there are three different layers as shown in Fig. 4. The services in these three layers can be atomic or composite services while the services generated by the proposed framework in Section 4 are composite services. They are explained as follows, and more details of these services are also introduced in the following sections.
to deal with basic issues. The Portal Service is used to receive users’ requests. The Policy Engine (PE) checks the validity of the decision made by the Decision Engine to ensure that the decisions conform to the regulations, standards and specifications. The Translator transforms information from users or environment into a standard format. The Security Service ensures security of this system. Rule Extraction extracts rules. The Query Engine is used to query databases. There are four main databases. The GeoLocation Database (GLD) stores information about the radio environment [10, 15], geographical environment, location, transmission signal, mobility, power supply, and priority of the mobile node. In the White Space Database (WSD), information about TVWS availability is stored and updated dynamically. The Knowledge Database (KD) and Case Database (CD) respectively store domain knowledge and the experience that the system gains. • Device-Centric Layer: All services aim at solving the problems related to users. Position Verification verifies wireless nodes’ position. The Environment Service is used to acquire information on the current status and the conditions in the present environment of devices. The Attributes Analysis Service analyses the requests from users. The User Preference Service accesses database to retrieve user preferences, which can improve user experience. The Decision Engine (DE) performs the decision process in a number of different ways. The decision may be based on the current knowledge of events, referred to as a ‘knowledge based decision (KBD)’, or based on the history of events (stored in the CD), referred to as a ‘case based decision (CBD)’, or based on a combination of the two, referred to as ‘decision by fusion’. In situations where the initial decisions made by DE do not meet the requirements of the devices, DE may move to an even higher level of intelligence. This level may be realised by the use of optimisation [16]. A range of algorithms can be used for optimisation, which include Tree Search (TS), Simulated Annealing (SA) and Genetic Algorithm (GA), etc. • Composition Layer: These services deal with the problem of dynamic service composition. There are eight services, including Service Selection, Basic Flow Construction, Initialise Package Generation, Service Composition
B. Ye et al. / Physical Communication 9 (2013) 231–242
235
Fig. 5. Flow chart of handling users’ requests.
Generation, Service Composition Verification, Composition Package Generation, Execution and Monitoring, which are further elaborated in Section 4. In a TVWS network, on the premise of not affecting other WS devices, each WS device may have its own particular requirements, such as min Bit Error Rate, max Signal to Interference Plus Noise Ratio, max Bandwidth, max throughput, min power, min interference and so on. However, if a WS device attempts to autonomously (and selfishly) optimise its own requirements, it may not necessarily lead to the best results, both for the device itself and the network as a whole. This is because a single device does not have information on the whole network. Furthermore, having all the necessarily optimisation algorithms and modules embedded into each end-device could make them complicated and costly. Hence, in our approach optimisations are performed in ITVWSM. Since ITVWSM has information on the whole network, it is able to take decisions which benefit the system as a whole. The added benefit is that WS device could be made simple and less expensive. How the ITVWSM works in an example scenario is shown in Fig. 5. In this scenario, users’ main requirements are as follows.
• If a user sends a request with one objective, algorithms for single-objective optimisation can be used. If the request has more than one objective, algorithms for multi-objective optimisation have to be used.
• If the user needs highly accurate results but does not have strict time constraints, then exact but time consuming algorithms can be used. If the user needs a rapid response and is satisfied with near-optimal results, then heuristic algorithms can be deployed. When developing a system, there are many more requirements from users and some user requirements may be missed in the initial design. After the system is used for a period of time, user requirements which were initially not considered may be discovered through interaction between the system with the users’ requests. One approach to deal with this issue is to redevelop the system after a sufficient amount of new requirements are collected. Alternatively, whenever a new requirement arrives, a new feature could be added to the system. However, in both approaches the system is hard to maintain, especially with rapidly changing users requirements. In contrast to the above approaches, the system developed in this paper analyses users’ requests and combines different services to satisfy users’ requirements. Therefore, when a user sends a request for a service which is not taken into account previously, the system may be able to combine several existing services in order to handle a user’s request. If combining existing services cannot satisfy a user’s requirement, then a new atomic requirement will be reported, and a new atomic service
236
B. Ye et al. / Physical Communication 9 (2013) 231–242
Fig. 6. Network topology before new devices come.
Fig. 7. Network topology after new devices come.
will be developed and deployed. However, because of loose coupling, this could be done without the need to redevelop the entire system. Fig. 8. Overview of framework.
4. Framework architecture In this section, the design of the proposed framework is introduced. Subsequently, the components and communications among them are presented. An example of TVWS optimal channel allocation is used as an example in order to illustrate the working of the system. In the network shown in Fig. 6, there are four pairs of TVWS transmitters and receivers {{At , Ar }, {Bt , Br }, {Ct , Cr }, {Dt , Dr }} and three available channels {c1 , c2 , c3 } at a given location and time. The available set of TVWS channels is denoted by C . The set of links between each transmitter–receiver pair is denoted by L. The binary variable xac is used as follows in order to denote that a channel c is used by a link a:
xac =
1 0
if channel c ∈ C is assigned to link a ∈ L, otherwise.
(2)
The coordinates {x, y} under the black points represent the location of devices. All devices can communicate with ITVWSM and the channels which they are using are shown in Fig. 6. In Fig. 7, a new pair of TVWS devices {Et , Er } arrives and sends a request for a channel to ITVWSM. The requirements of this new pair include maximising Signalto-Interference Ratio (SIR) while also minimising transmit power. Furthermore, the pair requires a minimum SIR of 10 dB. The following Extensible Markup Language (XML) text is the request sent by Et to ITVWSM. It is a Simple Object Access Protocol (SOAP) [14] message. In this XML message, < requestCH > means this device requires an available channel. In < transmitter > · · · < /transmitter > and < receiver > · · · < /receiver >, ID is the unique identifier for devices registered in this system and x, y represents its location (x, y). The contents of < requirements > · · · < /requirements > are the objectives and constraints. Requirements in < single_device > and < network > mean objective functions and constraints at device and network level respectively. 10 in < SIR_min > means the minimal SIR is 10. Max in < SIR_max > and min in < power_min > represent maximising SIR and minimising power respectively.
< soapenv : Env elope...... > < soapenv : Body > < request > < operate > requestCH < /operate > < transmitter > < ID > 9 < /ID > < x > 200 < /x > < y > 0 < /y > < /transmitter > < receiv er > < ID > 10 < /ID > < x > 200 < /x > < y > 25 < /y > < /receiv er > < requirements > < single_dev ice > < SIR_min > 10 < /SIR_min > < SIR_max > max < /SIR_max > < pow er_min > min < /pow er_min > < /single_dev ice > < net w ork > < SIR_min > 10 < /SIR_min > < SIR_max > max < /SIR_max > < /net w ork > < /requirements > < /request > < /soapenv : Body > < /soapenv : Env elope > An overview of the framework is provided in Fig. 8. It consists of four layers which map onto the corresponding stages in the process of handling users’ requests. All layers are composite services which invoke a number of services in them and deal with the input and output of those services. In this paper, we use the Business Process Execution Language (BPEL) [17] in order to develop these layers. Layer one translates users’ requests and analyses them to form composition requests. Layer two extracts rules based on the attributes of composition request. Then based on the extracted rules it selects services and constructs a basic flow. Following this, layer three combines all services to generate a service composition package, based on the analysed composition request from layer two. Finally, the generated package is executed and monitored in layer four. The above layered system design has several merits. Firstly, all similar components are collected together and
B. Ye et al. / Physical Communication 9 (2013) 231–242
237
{{S , { {O, {2, {max, SIR}, {min, P }}}, {C , {>, SIR, 10}} }}, {N , { {O, {1, {max, SIR}}}, {C , {>, SIR, 10}} }}
Fig. 9. User Request Analysis Layer.
separate from the rest in the same layer so that it is easy to understand and maintain them. Secondly, failures are isolated so that it is easy to discover in which layer and when an error has occurred. 4.1. User Request Analysis Layer In the User Request Analysis Layer shown in Fig. 9, there are four services: Portal, Translator, Environment and User Preference Service. This layer is also a composite service, but Portal Service is a special service, because it is an independent service used to receive requests from users and invoke Layer 1. Fig. 10 is the sequence chart of Layer 1. The numbers in Fig. 10 correspond to those in Fig. 9, for example, ‘2 Req.’ of Fig. 10 corresponding to ‘2. Transform a request’ of Fig. 9. How requests are analysed in this layer is explained below. a. When the new device Et in Fig. 7 sends a request to ITVWSM, this request is routed to Portal Service. The portal uses an XML parser to extract information from the request and sends it to Layer 1. b. Layer 1 sends ‘2. Req.’ containing user’s requirements which are extracted from < requirements > . . . < /requirements > to the Translator. c. These requirements are translated into standard format:
In this string, ‘O’ and ‘C ’ represents objective functions and constraints respectively. In the ‘O’ part, 2 means that there are two objective functions: {max, SIR, S }, maximising SIR; {min, P , S }, minimising power. There are two kinds of ‘O’: ‘S’ and ‘N’, which respectively represent satisfying objective functions of a single device and a network. In this ‘C ’ part, {>, SIR, 10} means SIR > 10. d. Layer 1 sends ‘3.1 Req.’ containing locations of devices to Environment. Then Environment returns the following information of network retrieved from GLD:
< net work > < ID > 1 < /ID > < channels_need > 4 < /channels_need > < channels_av ailable > 3 < /channels_av ailable > < transmitters > < num > 4 < /num > < transmitter > < ID > 1 < /ID > < X > 0 < /X > < Y > 0 < /Y > < receiv ers > < receiv er > < ID > 2 < /ID > < X > 25 < /X > < Y > 0 < /Y > < receiv er > .. . < /receiv ers > < transmitter > .. . < transmitters > < /net w ork > e. In ‘4.1 Req.’, Layer 1 requires information of user preference from User Preference using devices’ ID. After that, User Preference retrieves information from GLD and then sends the following information back.
< user_preference > < channel_prefer > 3 < /channel_prefer > < /user_preference >
Fig. 10. Sequence Flow of User Request Analysis Layer.
238
B. Ye et al. / Physical Communication 9 (2013) 231–242
c. Layer 2 sends a request ‘6.1 Req.’ to Rule Extraction. After receiving the request, Rule Extraction selects rules from Rules DB based on key attributes. Finally it returns the following response.
Fig. 11. Composition Request Analysis Layer.
f. Finally, Initialise Composition Request uses all the information from the above steps to generate a composition request. If a composition request cannot be generated, a failure message is sent back to user. If the next layer returns ‘composition analysis failure’, it analyses the user request again and transforms it into a new composition request based on the failure message. Otherwise, a failure message is sent back to the user. 4.2. Composition Request Analysis Layer This layer is the core of the framework shown in Fig. 11, in which there are five main services: Attributes Analysis, Rule Extraction, Service Selection, Basic Flow Construction and Initialise Package Generation Service. Similarly, the number of Fig. 12 corresponds to those in Fig. 11. How a composition request is analysed in layer 2 is explained as follows. a. The composite service Layer 2 receives a request (‘5a.1’) from Layer 1 and sends it (‘5a.2’) to Attribute Analysis. b. Attribute Analysis receives a request from Layer 2, and analyses all information from Layer 1 in order to choose key attributes. It then sends the following information back.
< key_attributes > < single_dev ice > < num_objectiv e_functions > 2 < /num_objectiv e_functions > < /single_dev ice > < net w ork > < channels_need > 4 < /channels_need > < channels_av ailable > 3 < /channels_av ailable > < num_objectiv e_functions > 1 < /num_objectiv e_functions > < /net w ork > < /key_attributes >
< rules > < single_dev ice > < if > < condition > num_objectiv e_functions == 1 /condition > < then > single_objectiv e_optimise < /then > < else > multi_objectiv e_optimise < /else > < /if > < /single_dev ice > < net w ork > < if > < condition > channels_need > channels_av ailable /condition > < then > net w ork_optimise < /then > < /if > < if > < condition > num_objectiv e_functions == 1 /condition > < then > single_objectiv e_optimise < /then > < else > multi_objectiv e_optimise < /else > < /if > < if > < condition > net work_optimise&channels_need 10 < /condition > < then > tree_search < /then > < else > heuristic_algorithm < /else > < /if > < /net w ork > < /rules >
<
<
<
<
At device level, based on an attribute ‘num_objective_ functions’, Rule Extraction selects a rule used to determine if a single-objective optimisation or multi-objective optimisation algorithm is required. Similarly, at the network level, based on the two attributes ‘hannels_need’ and ‘channels_available’ a rule is selected which is used to determine if network optimisation is needed or not. Based on ‘channels_need’, it selects a rule to determine if either ‘tree_search’ or ‘heuristic_algorithm’ is required. Tree search is an exact optimisation algorithm which becomes very time consuming once the number of links in the network (which are equal to ‘channels_need’) is greater than 10. Therefore a heuristic algorithm is used once the number of links exceeds this value. d. Based on the rules in the last step, Layer 2 selects service from services database. At the network level, because ‘channels_need’ is greater than ‘channels_available’ and the number of objective functions is equal to 1, a single objective algorithm for network optimisation is required. Furthermore, since in this example ‘channels_need’ is smaller than 10, tree search is selected as the required service. At device level, on the other hand a multi-objective heuristic algorithm is chosen since there are 2 objective functions. After choosing services, Layer 2 invokes Basic Flow Construction to construct a basic flow. This is shown in Fig. 13. f. Finally, Initialise Package Generation Request uses all the information from the above steps to generate a package generation request. Similar to the previous layer, if a package generation request cannot be generated, a failure message is sent
B. Ye et al. / Physical Communication 9 (2013) 231–242
Fig. 12. Sequence Flow of Composition Request Analysis Layer.
Fig. 13. Flow chart of basic flow.
back to the previous layer. Furthermore, if the next layer returns ‘composition package generation failure’, then the composition request is analysed again and, if possible, an alternative new service composition package is generated in response to the failure message. Otherwise, a failure message is returned to the previous layer. 4.3. Service Composition Package Generation Layer This layer, shown in Fig. 14, generates and verifies a deployable file of composite service, and generates a composition package. There are three main services, Service Composition Generation, Verification and Composition Package Generation Service. Based on the analysed result of the previous layer, the basic flow is transformed into a deployable file of composite service combining services. Fig. 15 shows the generated BPEL file which is opened in a design tool [18]. Fig. 15(a) corresponds to the ‘A’ part of the basic flow in Fig. 13, while Fig. 15(b) corresponds to the ‘B’ part. After this is verified, the Composition Package
Fig. 14. Service Composition Package Generation Layer.
239
240
B. Ye et al. / Physical Communication 9 (2013) 231–242
(a) Part1.
(b) Part2. Fig. 15. Parts of generated composite service file.
Fig. 16. Service Execution and Monitoring Layer.
Generation Service combines the verified deployable file and deployable files of services to generate a composition package. Finally the package is sent to the next layer to be deployed and executed. Similarly, if a package cannot be generated, a failure message of composition failure is returned to the previous layer. If ‘service execution failure’ is returned, a new package will be generated. Otherwise, a failure message is sent to the previous layer. 4.4. Service Execution and Monitoring Layer In this layer shown in Fig. 16, there are two main services, Execution and Monitoring Service. A composition package from the previous layer is deployed and executed, after which the package is monitored by the system. If this is executed successfully, then changes of user configurations and environment are sent to the first layer and stored in the database. Otherwise, a failure message ‘service execution failure’ is returned to the previous layer. 5. Performance In this paper, an open source ESB server ServiceMix v4.4.0 [19] containing the Orchestration Director Engine
Fig. 17. Experimental set-up.
(ODE) v1.3.5 [20], is used to execute business processes written following the WS-BPEL standard. This dynamic composition framework is deployed in ODE, while all other necessary services are deployed in ServiceMix. Fig. 17 shows the configuration of the environment in which the experiments are carried out. Two machines are used to host this framework and test tool Loadrunner. Both machines were Intel Duo processor E8400 with 1.9 GB RAM. The first machine hosts ServiceMix which contains the framework and all services. The second machine hosts Loadrunner and is used to send requests to the framework. The machines communicate with each other through the Internet. In this section, the overall performance of our framework is evaluated. The performance of the framework is analysed for the following different scenarios. In layer 4, the performance of executing final composite service depends on the performance of selected services. In other words, if selected services perform well, layer 4 also performs well, and vice versa. Hence, the time which is taken
B. Ye et al. / Physical Communication 9 (2013) 231–242
120
241
Layer1 Layer2 Layer3 Layer4
100
Time(ms)
80
60
40
20
0
Case1
Case2
Case3
Case4
Fig. 18. Execution time of each case.
by first three layers is more critical in determining the overall performance of the framework.
• Case 1. In a rural area, one device requests a channel when there are enough available channels left. Requirements include high speed. • Case 2. In a rural area, one device requests a channel when there are enough available channels left. Requirements include high speed, minimum interference, maximum throughput and minimum power. • Case 3. In an urban area, one device requests a channel when there are not enough available channels left. Requirements include high accuracy. • Case 4. In an urban area, one device requests a channel when there are not enough available channels left. Requirements include high accuracy and minimum interference. Fig. 18 shows the execution time of each case. All the measurements are repeated a hundred times and the average results are shown. Fig. 18 compares the average layer time for each test case. Seen from Fig. 18, Layer 1 and Layer 2 take more time than the other two layers. It is important to note that the reason why Layer 1 and 2 take more time is because of the low performance of accessing databases. To our knowledge, there are no regulatory specifications for the response time of TVWS database systems. However, the basic guidelines regarding response time for the interactive systems are as follows [21]:
• 0.1 s (one tenth of a second). Ideal response time. The user does not sense any interruption.
• 1 s. Highest acceptable response time. Times above 1 s interrupt the user experience.
• 10 s. Unacceptable response time. The user experience is interrupted and the user is likely to leave the system. Seen from Fig. 18, the total response time is around 240 ms. Hence, this framework performs well, but it still needs to be improved. The scalability issues of the proposed framework are also discussed. The framework’s ability to operate under increasing number of concurrent user requests is considered. The number of concurrent user requests is varied from 1 to 50. How the framework responds to an
Fig. 19. Scalability when increasing requests.
increasing number of requests is shown in Fig. 19. The relation of time and number of requests is approximately linear and there is a very smooth increase in the execution time as the number of concurrent user requests increases. A common scalability criterion is that response time increases linearly as load increases [22], because such a system can process more and more requests by adding more hardware resources in a linear fashion. This demonstrates the ability of this framework to scale gracefully to handle a large number of concurrent user requests. 6. Conclusion Since TV White Space Geolocation Databases and their associated services are technologies which are just emerging, the requirements of users are very uncertain. With users’ requirements changing frequently, such TVWS systems also need quick adaptation to meet users’ needs. Hence, a TVWS system based on SOA has been proposed in this paper. In the system based on SOA, all components are developed as services. If there is a new developed component, it can be easily plugged into the system as a service. Furthermore, considering all requirements of users is impossible. How to handle the new requests of users is a great challenge. Therefore, a rule-based dynamic TVWS spectrum sharing service composition framework has been proposed. In this system, based on various rules it can combine different services dynamically to handle users’ requests by analysing users’ requirements. Seen from the result of performance evaluation, it performs well. Finally, the framework presented in this paper incorporates services which enable the management of available white space spectrum among potentially interfering devices by using channel assignment algorithms for optimisation, as is described in [23]. This is an important service since enabling co-existence in TVWS is currently considered as one of the remaining challenges of the technology. In the current work, however, we have assumed that all white space devices operate under the administration of a single database service provider. Some of our future work will focus on extending the current framework to the scenarios of multiple database white space providers.
242
B. Ye et al. / Physical Communication 9 (2013) 231–242
Acknowledgments The authors thank Professor Mohammad Ghavami and Oladimeji Onalaja for their helpful comments. References [1] LM Ericsson AB, Ericsson first quarter report. http://www.ericsson. com/news/1407235, April 23, 2010 (Online; accessed May-2012). [2] Cisco Inc., Cisco visual networking index: global mobile data traffic forecast update, 2009–2014, White paper. http://www.cisco. com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/ white_paper_c11-520862.pdf, February 9, 2010 (Online; accessed May-2012). [3] A. Wiglinsky, M. Nekovee, T. Hou (Eds.), Cognitive Radio Communications and Networks: Principle and Practice, Elsevier, Academic Press, 2009. [4] M. Nekovee, T. Irnich, J. Larsson, Worldwide trends in regulation of secondary spectrum access to TV white spaces using cognitive radio technology, IEEE Wireless Comm. 19 (4) (2012) 32–40. [5] H.R. Karimi, Geolocation databases for white space devices in the UHF TV bands: specification of maximum permitted emission levels, in: IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, DySPAN 2011, 2011, pp. 443–454. [6] M. Petrova, P. Mahonen, J. Riihijarvi, Evolution of radio resource management: a case for cognitive resource manager with VPI, in: IEEE International Conference on Communications, ICC’07, 2007, pp. 6471–6475. [7] A. He, J. Gaeddert, K. Bae, T.R. Newman, J.H. Reed, L. Morales, C. Park, Development of a case-based reasoning cognitive engine for IEEE 802.22 WRAN applications, ACM SIGMOBILE Mob. Comput. Commun. Rev. 13 (2) (2009) 37–48. [8] M. Khedr, H. Shatila, CogmaxA cognitive radio approach for WiMAX systems, in: IEEE/ACS International Conference on Computer Systems and Applications, AICCSA 2009, 2009, pp. 550–554. [9] Y. Zhao, J.H. Reed, S. Mao, K.K. Bae, Radio environment mapenabled situation-aware cognitive radio learning algorithms, in: SOorfltawnadroe, DFeLf.ined Radio (SDR) Technical Conference, Orlando, FL, 2006. [10] Y. Zhao, L. Morales, J. Gaeddert, K.K. Bae, J. Um, J.H. Reed, Applying radio environment maps to cognitive wireless regional area networks, in: 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, DySPAN 2007, 2007, pp. 115–118. [11] V. Stavroulaki, N. Koutsouris, K. Tsagkaris, P. Demestichas, Virtualisation platform for the introduction of cognitive systems in the future Internet, in: Future Network & Mobile Summit, FutureNetw 2010, 2010, pp. 1–8. [12] UK FREE. TV. http://www.ukfree.tv (Online; accessed May-2012). [13] Ordnance survey. A guide to coordinate systems in Great Britain. http://www.ordnancesurvey.co.uk/oswebsite/gps/docs/A_Guide_ to_Coordinate_Systems_in_Great_Britain.pdf (Online; accessed May-2012). [14] M. Bell, SOA Modeling Patterns for Service Oriented Discovery and Analysis, Wiley & Sons, 2010. [15] Y. Zhao, J. Gaeddert, L. Morales, K. Bae, J. Um, J. Reed, Development of radio environment map enabled case- and knowledge-based learning algorithms for IEEE 802.22 wran cognitive engines, in: 2nd International Conference on Cognitive Radio Oriented Wireless Networks and Communications, 2007, p. 44. [16] C. Rieser, T. Rondeau, C.W. Bostian, T. Gallagher, Cognitive radio testbed: further details and testing of a distributed genetic algorithm based cognitive engine for programmable radios, in: Military Communications Conference, 2004, p. 1437. [17] M.B. Juric, B. Mathew, P. Sarang, Business Process Execution Language for Web Services, second ed., Packt Publishing, 2006. [18] Eclipse, BPEL designer project. http://www.eclipse.org/bpel/, 2012 (Online; accessed May-2012). [19] Apache, ServiceMix. http://servicemix.apache.org/, 2012 (Online; accessed May-2012). [20] Apache, orchestration director engine. http://ode.apache.org/, 2012 (Online; accessed May-2012). [21] J. Nielsen, Usability Engineering, Morgan Kaufmann, 1993.
[22] A. Fox, S.D. Gribble, Y. Chawathe, E.A. Brewer, P. Gauthier, Clusterbased scalable network services, in: The Sixteenth ACM Symposium on Operating Systems Principles, SOSP’97, ACM, New York, NY, USA, 1997, pp. 78–91. [23] B. Ye, M. Nekovee, A. Pervez, M. Ghavami, TV white space channel allocation with simulated annealing as Meta algorithm, in: 7th International Conference on Cognitive Radio Oriented Wireless Networks, IEEE, Stockholm, Sweden, 2012.
B. Ye received his B.S. and M.S. degrees from Beijing University of Posts and Telecommunications, Beijing, China, in 2007 and 2010, respectively. He is currently pursuing a Ph.D. in London South Bank University. His current research interests are in the general areas of service computing, machine learning and cognitive radio technologies.
M. Nekovee is a Senior Scientist at BT Research and a Royal Society Industry Fellow at the Centre for Computational Science, University College London. He obtained his M.Sc. in electrical engineering (cum laude) from Delft University of Technology in the Netherlands and his Ph.D. in theoretical and computational physics from the University of Nijmegen, also in the Netherlands. Dr. Nekovee’s research cuts across several disciplines and involves extensive collaborations with industrial and academic researchers. Current research areas include theory and applications of complex networks, including spreading phenomena in human, computer and social networks, wireless vehicular communication networks and their applications to intelligent transportation systems, and cognitive radio networks. He is the author of over 50 refereed papers in international journals and conferences. He is a guest co-editor of a special issue of ACM/Springer Journal on Mobile Networks and Applications (MONET) on Cognitive Radios, and a guest co-editor of a focus issue of the New Journal of Physics on complex networks. Dr. Nekovee is the recipient of a Royal Society (UK’s Academy of Science) Industry Fellowship, and an Honorary Senior Research Fellow at the University College London.
A. Pervez is working at London South Bank University, England, UK, Faculty of Engineering, Science and the Built Environment. His current research interests are in Wireless Communications, Cognitive Wireless Networks, Vehicular ad hoc wireless networks QoE.
J. L. Chen graduated from the Department of Telecommunications, Shanghai Jiaotung University in 1955 and received his Doctor of Engineering degree from the Moscow Institute of Electrical Telecommunications, in the former Soviet Union, in 1961. He was a visiting scholar in the University of California at Berkeley and also at Los Angeles from 1979 to 1981. He has been working in the Beijing University of Posts and Telecommunications (BUPT) since 1955. Currently, he is a professor and director of the Research Institute of Networking Technologies of BUPT. He is both a member of the Chinese Academy of Sciences and the Chinese Academy of Engineering. He has published a book and more than 250 papers. His current research interests include network intelligence and services, switching technology, communications software, and fault-tolerant computing.