Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

The cognitive radio comprises of the following three important functional components to realize its operation as wireless communication device:

1. Sensing: Sensing is at the center of the cognitive radio platform. This is responsible for sensing the environment and providing opportunistic information to the cognitive radio platform. Sensing information can be utilized locally or it can be passed to other devices responsible for utilizing the spectrum information. Examples would include passing the information to peer cognitive radio device for distributed spectrum usage learning. Another example would be passing the information to a central server which is responsible for making decisions.

2. Acclimation: A cognitive radio based on the sensed environment adapts its operating parameters to suit the desired operating behavior. The operating parameters primarily includes PHY and MAC layer of a cognitive radio device, but other OSI layers may need adjustment depending upon the network behavior.

3. Transmission/Reception: Once the transmission parameters are adapted, the cognitive radio node communicates with its peer node. To achieve such communication every node in the cognitive radio system need to adhere to a common standard of operation. This is required for any communication system to function properly.

Since cognitive radio operates in a sporadic heterogeneous environment, QoS provisioning in such system faces various challenges. A framework for cognitive radio network is discussed which includes functional modules responsible for QoS provisioning. To achieve this, an observation over the macroscopic and microscopic behavior of resource demand including bandwidth and latency is required. Different frameworks have been proposed and implemented by researchers for cognitive radio networks [14]; However not many framework focuses on the issue of QoS provisioning in cognitive radio network from the perspective of Layer 2 of the protocol stack.Footnote 1 This book will integrate different technologies responsible for QoS and there relationship with each other.

3.1 QoS Parameters

As described in previous section, quality of service is defined as the ability of a system to provide a guarantee over a minimum grade of service offered to an inbound/outbound traffic. The two important parameters of QoS are latency and throughput. These two parameters have correlation with respect to resource access [5]. The system has varying degree of latency if the channel access is correlated with the bandwidth resource.

3.1.1 Latency Versus Throughput

Multiple factors affect latency including propagation delay, serialization delay, routing/switching delay, queue and buffer management delay [6]. For a user with bandwidth requirement more than the resource available, the latency is caused by an additional parameter called as resource access delay. A resource access delay of a packet refers to the time period for which the packet was deprived of resource since it was next in line for transmission in the queue [7]. This type of delay depends upon the access scheme used and hence the QoS provisioning framework includes resource access scheme as one of its important ingredient component. Throughput on the other hand refers to the rate of successful message delivery over a media [8]. This is affected by the bandwidth and quality of the selected wireless channel and also on the access scheme utilized by the user. Therefore channel selection is also included as one of the important ingredient composition of QoS provisioning framework.

To realize the quality of service, packet categorization is done to implement access categories. As discussed in Sect. 1.5, four access categories are supported by the discussed framework as shown in Table 3.1. Voice data is provided highest priority while background data is provided lowest priority. Therefore any packet generated by any application will fall within one of these categories. These access categories have different priorities and hence different handling techniques. Packets from higher access category are not dropped as often as packets from lower access category. Since a user may run multiple applications each generating traffic of different priority, packets are identified using packet marking scheme in packet headers [9]. Through the marking of packets in the header, the protocols realize which packet belongs to which category.

Table 3.1 Priorities of different packets

3.1.2 Self-coexistence and Its Role in QoS

Since wireless channels are unguided media (except in the case of beamforming, which is not considered in this work), operation of multiple wireless networks in the vicinity of each other suffers from interference [10]. Self coexistence refers to the method of establishing a non-interfering coexistence with other homogeneous networks in the vicinity. To achieve this coexistence, multiple methods have been proposed and most of them require sacrificing a part of resource so that interference is minimized. These sacrifices result in deterioration of QoS in the network. Therefore a method is required to cater graceful degradation of QoS while mitigating the interference for self-coexistence. This yields in the composition of self-coexistence management functionality in the QoS provisioning framework for cognitive radio network.

3.1.3 Energy Management and QoS

For green communication and to prolong the life of a battery operated device, it is fundamental to reduce the overall power consumption of the wireless network. This is achieved by reducing the transmission power and by operating on channels which require lower transmission power. Reducing the transmission power reduces the SNR/SINR of the signal and hence the QoS. Similarly, operating on channels with lower transmission power with lower bandwidth results in bandwidth loss and hence a degradation in QoS. Therefore an energy management system is incorporated as an ingredient of the composition of framework for the purpose of graceful degradation of QoS.

3.2 QoS Framework for Cognitive Radio Network

The high level view of the discussed QoS framework at the Layer 2 of the protocol stack is shown in Fig. 3.1. The figure shows different blocks/units along with their inter-network connections depicting the relationship between the components and the type of interaction.

Fig. 3.1
figure 1

QoS provisioning framework for cognitive radio network

The discussed framework works alongside the normal communication path allowing the re-utilization of conventional protocol stack. The application domain consists of multiple applications including the applications requiring QoS support. These applications could be multimedia application, VoIP, gaming etc. This domain conveys the QoS requirements of the applications to the other units in the framework. QoS control unit (QCU) is the block which receives the information from the application domain regarding the requirement of the QoS. It conveys this information to the Channel selection and management unit (CSMU) as well as to the MAC protocol unit (MPU). Environmental and RF channel block provide the information about the external environment including channel availability, and this information is passed to the CSMU and also to the MPU. The Energy Management Unit (EMU) is used to make important decisions with the help of other units to conserve the energy of the user. Channel Selection and Management Unit (CSMU) based on the knowledge from QCU select the channel which meets the required QoS level. Also, if required the CSMU utilizes the information from EMU to select a channel which will conserve the energy of the system. MAC Protocol Unit (MPU) considers all the information from all other units and selects/design appropriate MAC which conforms to all the requirements. If all requirements are not met, then an optimization step is required to achieve the desired level of result. A self-coexistence engine (SCE) is required to mitigate the issues of mutual interference experienced by multiple cognitive radio networks operating in the vicinity of each other. This unit interacts with CSMU and MPU to provide self-coexistence from the perspective of resource allocation and resource sharing respectively.

3.3 Detailed Layer 2 QoS Provisioning Framework

Figure. 3.2 shows the detailed view of the discussed framework for QoS provisioning at the Layer 2 of the protocol stack. The right portion shows the normal communication system path, in which the application sends the packets to the routing engine and from there it is sent to the MAC instance. A similar process happens in the reverse direction whenever a packet is received by the MAC instance. The left portion shows the QoS engine which works in parallel with the normal communication path. This portion receives the QoS requirement from the application (if application can provide) and performs actions needed to achieve the desired QoS with the help of different functional modules.

Fig. 3.2
figure 2

Detailed QoS provisioning framework for cognitive radio network

The framework is composed of different individual functional modules or components, which collectively operate towards achieving the common goal of network operation. The complete framework is interrupt driven and therefore any module would perform busy waiting until it receives an interrupt from source module. These modules are connected via function call and response method; parameters are passed via function calls and results are obtained in the form of response. Following are the description of different modules:

Application: Application is the user process generating traffic with varying priorities. User applications are assumed to generate 4 levels of priority traffic as shown in Table 3.1. Since a user can support multiple applications with varying levels of priorities, the application process allows multiplexing of different data types. An application can also act as a process for generating system traffic for the purpose of control plane.

Application QoS Engine: This component converts the application QoS requirement into the discussed framework language. For example if the application identifies the traffic communicated as VoIP traffic, application QoS engine will convert this information into the QoS bound value of the VoIP traffic. The QoS bounds are defined in terms of latency and bandwidth; and these values are stored in a database which are accessible to network operator. This component is integrated within the QoS Control Unit.

QoS Control Unit: This unit is responsible for procuring and facilitating the QoS requirements of different traffic. Any other module/component may demand for QoS bound for the purpose of its operation. This unit is also responsible for managing and monitoring the experienced QoS of the system. QCU monitors the QoS of the system which it experiences through the utilization of current mode of the protocol stack with its current parameters. A feedback based control is utilized to manage the QoS by replacing/configuring the appropriate module which in turn will guide the QoS of the system between the defined bounds.

Policy Domain: Policy domain provides two sets of radio regulation policies: local and global, for a given geographical location. The local policy domain always supersedes the global policy domain. In case there is no entry in local policy domain for the given geographical location, global policy domain is accounted in. These radio regulation policies include allowed channels, maximum allowed power, operating bandwidth, channel separation, maximum usage time, sensing duration and sensitivity. Apart from providing these regulation policies, policy domain may also provide a list of optimal channels for selection. These optimal channels may be provided by third party spectrum monitoring institutes.

Channel Selection and Management Unit: Normally, channel selection is handled by PHY module (Layer 1) of a communication system, but in the discussed framework, this functionality is included at Layer 2 so as to enable close integration with other QoS related functionalities. The channels from Layer 1 are abstracted as identifiers to the Layer 2 along with their characteristics including bandwidth, occupancy statistics, SINR and transmission power requirement. Channel selection and management unit (CSMU) is responsible for selection of single or multiple wireless channels from a given list of channels. The channels are selected and facilitated to the media access scheme for communication purposes and therefore the number of channels selected depends upon the media access scheme. The given list from which the CSMU has to select channel is provided by policy domain. Various factors affect the selection of channel including occupancy, QoS constraint (latency and bandwidth) and energy consumption bound.

Energy Management Unit: Energy management unit provides the information about the remaining energy in the system. This unit helps in deciding whether a battery saving protocol should be activated or not. If a battery saving protocol is activated it provides information to the CSMU about the energy consumption bounds for the purpose of channel selection. In this way an optimized protocol can be used so as to minimize the energy consumption. Since the system tries to minimize the energy consumption, a graceful degradation in QoS is achieved with the help of packet admission control administered by energy management unit.

Packet Admission Control: Packet admission control unit is responsible for blocking/dropping certain number/category of data packets so as to provide resources to other higher priority data packets. This is mainly done when the total resource demand is greater than the available resource. Low priority packets are blocked in the queue and are transmitted when the resource available is commensurate to the demand. If resources are not available for prolonged time, the packets are dropped from the queue.

Traffic Classification Unit: Legacy applications may not have the functionality to explicitly provide the information about the priority of a traffic; this is overcome by providing a traffic classification unit. The work of traffic classification unit is to classify the incoming/outgoing traffic into one of the mentioned access category (Table 3.1). Different traffic classifiers utilize different methods for building up a classifier including statistical and rule based learning. Study of traffic classifier is beyond the scope of this work.

Routing Engine: Routing engine is a layer 3 technology which provides opportunistic routing protocols for packet routing. This unit is responsible for efficient routing, congestion control and energy efficient data transfer across the network. Routing engine may utilize information from other modules presented in this book. Since it is a layer 3 technology, it is beyond the scope of this book.

MAC Protocol Unit: This unit spawns/selects a MAC protocol which accommodates the requirements of QoS bounds of the given application. This unit gets the information about the QoS requirements from QCU. On receiving this information, the MPU retrieves the list of channels from CSMU and utilizes it to spawn a MAC instance. This unit is capable of generating multiple MAC instances for multi-radio system. In case of multi-radio system, all MAC instances operate in parallel by utilizing a multiplexing and demultiplexing scheme. This work does not consider the case of multiple radio.

Environment and RF Channel: This Layer 1 unit is equipped with radio which performs sensing and communication. Therefore reconfiguration of mixers, filters, modulator/demodulator and detector is done in this unit. Apart from reconfiguration of physical communication layer, this unit provides information about channel conditions like noise power, signal power, bit error rate etc. Since, this is a layer 1 technology, it is beyond the scope of this work.

Sensing Report: This unit encapsulates a spectrum detection functional module to provide the information about the availability of a channel. It receives information about channel parameters from Environment and RF module and facilitates CSMU for enhanced channel selection whereas the same information is utilized by an instance of MAC protocol to utilize/skip the frame. Sensing report unit is abstracted so as to present only the relevant information to the upper layers.

Success/Failure Report: This unit processes the information about the success/failure rate of the packets from the Environment and RF channel unit and pass it to the Channel Selection and management unit, so as to improve the decision on channel selections. The same information is passed to the MAC protocol unit which utilizes this information and if necessary, reconfigures its MAC instance on the fly. Again, this unit is abstracted so as to present only the relevant information to the upper layers.

3.3.1 Mode of Operation

Since cognitive radio is based on the technology of reconfiguration of protocols and communication parameters according to the environment in which it operates, the system operates with a particular set of parameters and protocols at a given time. This particular instance of protocol stack is termed as mode of protocol stack. In the discussed framework, a mode of protocol stack comprises of: Network Mode, Spectrum Selection Mode, Media Access Mode and Self Coexistence Mode. The protocol stack in such system is termed as multi-mode protocol stack. A network mode conveys the information about the mode of operation of the network: infrastructure or ad-hoc. Based on this mode the MPU unit reconfigures its selected media access mode for network operation. Spectrum selection mode provides the information about the spectrum selection technique (protocol) that is being utilized by the protocol stack. Similarly, self-coexistence mode provide information about the type self-coexistence protocol utilized by the protocol stack.

3.3.2 Generic Protocol Stack

The discussed framework utilizes different modules which share common functionalities and therefore a generic protocol stack can be introduced in control plane to build an efficient multi-mode capable system. To realize a generic protocol stack, the common functionalities are brought together to form a toolbox of protocol [11]. A generic protocol stack allows code/module sharing and accelerated protocol development using code re-usability. Therefore generic protocol stack has low memory footprint in comparison to other multi-mode protocol stack enabled by composition of different single mode protocol stacks.

Fig. 3.3
figure 3

UML diagram of the generic multi-mode protocol stack

Figure 3.3 shows the UML class diagram of a reconfigurable generic multi-mode protocol stack. As seen from the diagram, a generic multi-mode protocol stack comprises of various elements that can be identified as analogous to each other in the context of communication protocols. Some of these commonalities include:

  1. 1.

    Functionality provided by a certain layer. An example would be parametrized function for selecting optional RTS/CTS mechanism in MAC layer.

  2. 2.

    Protocol architecture and framework, for instance structure of a MAC frame (sequence, duration etc.) and access rules may be shared across different MAC schemes.

  3. 3.

    Data structure or protocol data unit (PDU) utilized by a protocol can be utilized in a generic way across layer.

These common functionalities together with specific functionalities implements a system specific protocol stack. A reconfigurable multi-mode protocol stack is realized with the help of a reconfiguration function which parametrizes the generic and mode-specific modules. Reconfiguration function is realized via QoS control unit in management plane, which guarantees the convergence of fused complementary generic and mode-specific modules for spawning a system specific protocol stack.

3.3.2.1 Generic Versus Specific Partition

The partitioning of generic and specific functionality (system specific protocol stack or proprietary stack or specific modules) of a particular protocol is beyond the scope of this book. Nevertheless, a brief idea about the partitioning of functionalities is provided. In software engineering, a generic component refers to the identification of requirements that are met by a large family of abstraction but restrictive enough to efficiently realize its function. Many functions utilized by protocol stack are mode-independent, i.e. they are shared across all modes of operation. Some generic functions can return mode-specific results by providing appropriate mode-specific parameters in a function call [12]. An example would be implementation of automatic repeat request (ARQ) protocol in link layer, which can be configured by a parameter to behave as Go-back-N or Selective Reject ARQ.

In comparison to generic component, a mode-specific component refers to the function which is unique to a mode and cannot be implemented on shared basis with other modes. An example would be the implementation of Hybrid ARQ which does not share any commonality with traditional ARQ mechanism. These mode-specific components are complemented by their counterpart generic component to realize a protocol layer. Therefore each layer is composed of a generic and mode-specific part. A slice of particular instance of protocol stack with generic and mode-specific component in each layer is shown in Fig. 3.4.

Fig. 3.4
figure 4

Self organization of the protocol stacks between different modes of operation

3.4 Self Organization

The discussed framework can be configured to manually/automatically select a desired mode of operation of protocol stack. The Network mode is manually selected to operate a network in infrastructure or ad-hoc mode. All other modes can be configured to automatically select a desired mode of operation of the protocol stack so as to guarantee a minimum grade of quality of service. The self organization is done in management plane by QoS control unit. Therefore QCU continuously monitors the system overall performance in terms of latency, packet loss and achievable throughput.

Figure 3.4 shows a slice of protocol stack reconfiguring from mode 1 to mode 2 and vice-versa. The protocol reconfiguration happens at the reconfiguration plane which is controlled and managed by the management plane. Management plane functionality is realized by QoS control unit which continuously monitors the QoS of the system and reconfigures the protocol stack accordingly. The generic and mode-specific components are defined in user and control plane. Each layer of the protocol stack is connected to other layer via a service access point. Service access point acts as the interface for transfer of protocol data unit across layers. PHY-s1, MAC-s1 and RLC-s1 (Radio Link Control) represent the mode 1 specific components of physical, media access control and radio link control protocol respectively. Similarly PHY-g, MAC-g and RLC-g represent the generic component of physical, media access control and radio link control protocol respectively. These generic components are re-utilized in both modes as shown in Fig. 3.4. A self organization between different modes of operation can be initiated by management plane to achieve a certain grade of QoS in the system.

3.4.1 Channel Availability Model

The frequency bands utilized in the system are constituted as channels identified by an ID or a channel number. These channels can be homogeneous or heterogeneous depending upon the system model utilized for simulation purposes. Since modelling a licensed user traffic pattern on the channel is tedious in nature, the channel availability is modelled instead. To do so, each channel is assumed as an ON-OFF source. When a channel is ON, it implies that channel is occupied by licensed user and is unavailable for secondary purposes. Similarly, when a channel is OFF, it implies that channel is unoccupied and a secondary user can utilize the channel. Therefore a channel can be modelled as a two-state Markov chain as shown in Fig. 3.5. The transition probability \(\alpha \) represents the transition probability from ON-state of the channel to its OFF-state. Similarly, the transition probability \(\beta \) represents the transition probability from OFF-state of the channel to its ON-state. The steady state probability of a channel to be free from incumbent activity is calculated as:

$$\begin{aligned} \Pi _i = {\alpha _i \over {\alpha _i + \beta _i} } \text { }\forall i \in \{1,...,C\} \end{aligned}$$
(3.1)

Similarly, the steady state probability of a channel to be occupied by incumbent is calculated as:

$$\begin{aligned} \rho _i = {\beta _i \over {\alpha _i + \beta _i} } \text { }\forall i \in \{1,...,C\} \end{aligned}$$
(3.2)
Fig. 3.5
figure 5

Two state Markov chain availability model of a channel. ON state represent that channel is unavailable and vice-versa

3.4.2 Quiet Periods

Standards designed by IEEE 802.22 WRAN group suggest that the maximum interference duration that a licensed user operating on a TV band can tolerate is 2 s [13]. Therefore according to the IEEE 802.22 standards, a cognitive access point should perform channel sensing every 2 s so as to ensure the protection of licensed incumbents. In the discussed framework, channels are sensed every 100ms. While sensing channels, it is made sure that all nodes (CR users) stop their communication for the duration of sensing period. This duration is termed as quiet period. The design of quiet period follows the design of media access scheme. There are two types of sensing performed by a node: in-band and out-of-band.

3.4.2.1 In-Band Sensing

In-band sensing refers to the sensing performed by nodes on the channel in which they currently operate on. Since nodes normally exchange information with other nodes operating on the same channel, the distribution of quiet period for in-band sensing is easily obtained.

3.4.2.2 Out-of-band Sensing

Out-of-band sensing refers to the sensing performed by nodes in channels other than on which they are currently operating. Since sensing is performed in different channel, the distribution of quiet period on that channel needs to be obtained by the node performing out-of-band sensing. The design of information interchange about quiet period across all nodes in the network operating on different channels need to be considered while designing a media access scheme.

3.5 Discussion

Most of the research on QoS provisioning for CRN has been done individually without introducing a formal framework. Since cognitive radio is based on the technology of reconfiguration, a standard framework for CRN will allow easy and formal integration of different technologies responsible for QoS. The identification and compartmentalization of different technologies responsible for QoS will allow abstract and encapsulated behavior of framework design.

To achieve the above, a QoS provisioning framework for cognitive radio network at Layer 2 of the protocol stack is utilized. Different functional modules are identified for the purpose of QoS provisioning from the perspective of latency and throughput. While latency and throughput can be directly identified by the media access scheme and channel selection technique respectively, the effect of self-coexistence and energy management is separately studied. Macroscopic and microscopic functional modules at layer 2 of the protocol stack are discussed to provide an in-depth idea about the requirements. The concept of generic and mode-specific protocol stack is introduced to envisage the building blocks of the framework. From implementation and operation point of view, self-organization technique of multi-mode stack is also discussed.