(8)
CrossMark
Available online at www.sciencedirect.com
ScienceDirect
Procedía Computer Science 70 (2015) 166 - 173
4thInternational Conference on Eco-friendly Computing and Communication Systems, ICECCS
A Distributed Approach to Construct Minimum Spanning Tree in
Cognitive Radio Networks
Mahendra Kumar Murmu
Computer Engineering Department, National Institute of Technology, Kurukshetra, Haryana 136119, INDIA
Abstract
The minimum spanning tree is useful for data disseminating or broadcasting where a leader node can regulate the data with minimum cost and time. The article presents an algorithm to construct minimum spanning tree in cognitive radio networks. The cognitive radio network works differently with single channel or multi-channel wireless networks than conventional wireless networks. The cognitive radio (or secondary user) nodes have multi-channel accessing capabilities during run time by adjusting the radio parameters according to the available spectrum. The primary user or licensed user holds the spectrum and if it is free, the secondary user can use this for any purpose. Initially, we identify the challenges related to formation of logical structure in cognitive radio network. Then, we present our time and message constrained based cost (or weight) estimation distributed algorithm to construct minimum spanning tree. We describe our algorithm with the help of state diagram representation. The correctness proof of the algorithm is also included.
© 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/4.0/).
Peer-review underresponsibilityofthe Organizing Committee of ICECCS 2015
Keywords: Cognitive radio network; Minimum spanning tree; Minimum cost; Distributed algorithm
* Corresponding author. Tel.: +91-89-501-18-619. E-mail address: mkmurmunitkkr@gmail.com
1877-0509 © 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.Org/licenses/by-nc-nd/4.0/).
Peer-review under responsibility of the Organizing Committee of ICECCS 2015 doi:10.1016/j.procs.2015.10.066
1. Introduction
The emerging network notably known as cognitive radio network (CRN) fulfils the gap of spectrum shortage problem in today's wireless communication. In CRN, the secondary user (SU) always interact with the radio environment and come in contact with others using free spectrum of primary user (PU) for a short time period. The primary users are the stakeholder of the spectrum in the radio environment and can randomly take the channel from secondary user whenever they are required to use. Thus, the communication network formed by secondary users are temporary available. The interested can refer for fundamental of cognitive radio network, given in [1].
The cognitive radio network is a kind of opportunistic network where the SU node has the learning, efficiency, intelligence, reliability, and adaptivity property to work with heterogeneous channel [17]. The availability of communication channel is depends on the behavioural activity of PU in the environment. The autonomous SU nodes change its location dynamically and at each position the availability of the local channel set (LCS) differs. The ad hoc characteristics of the channels and the SU nodes can be easily seen in [2]. Therefore, the communication link failure is obvious in the cognitive radio network. The creation of link and neighbour discovery is depends on the mutual agreement for at least one common control channel (CCC) available within its radio range [6, 9]. The common control channel (a member of local channel set (LCS)) creates logical links among secondary user nodes in the cognitive radio network, where the logical link is the graph where two SU nodes interact, hence, sometimes called interaction graph (or edges). There may be more than one connected links between the SU nodes but the links are temporarily available due to node mobility and the spectrum mobility. Thus, the number of total channels sensed by SU is variable. The total number of channel sensed by the secondary user nodes are called global control channel (GCS), the superset of LCS and CCC, forms the communication graph in cognitive radio network.
In CRN, the set of secondary user nodes create communication graph which is collection several interaction graph. In the graph, the associated channel set may vary with the location of the secondary user in the network and hence the weight or cost is different. For example, if we consider distance as a parameter between the SU nodes, the same weight may associated with all CCC, in other case it may differ. The logically connected components create a logical structure in the cognitive radio network. In this structure, obtaining minimum spanning tree is always a trivial tasks and it is not easy to declare the termination. The minimum spanning tree is a minimum weighted graph that connects all SU nodes (or vertex) and the resultant tree is acyclic in cognitive radio network. If the link capacity of the channel (number of available CCC per node) is high and the weight count to the destination is low then the condition is preferable for creating graph in order to construct MST. The following characteristics of the channels affect the weight associated with it which must take care during MST construction in CRN [7, 9].
• Spatial variation: Different channel set may available for SUs at different position.
• Spectrum fragmentation: The availability of channels is opportunistic.
• Temporal variation: The discontinuity of the available channel strength with the different time interval.
Thus, we need to design a distributed algorithm in such a way so that the algorithm can handle the challenges of opportunistic network in order to construct minimum spanning tree [16]. The minimum cost tree is highly recommended for data dissemination and coordination among SU in cognitive radio network (for ex., leader election). Another application of MST is highlighted for termination detection [17] and for QoS multicast routing [4, 8] in cognitive radio network.
The construction of minimum spanning tree is a fundamental problem in distributed computing system. The literature review [10-15] proposes numerous distributed algorithms to construct MST in wireless networks. The present work proposes a distributed algorithm that constructs a minimum spanning tree for cognitive radio network. In the algorithm, each secondary user node is distinctly identified by the unique identifier (id) integer number. The edges create the logical link among secondary user nodes where edges having certain weight or cost associated with its. The smallest connected component is called the sub tree. The sub tree is represented by the root process and the root process has unique identifier value. Thus, the root process may represent a simple node or sub tree. The sub tree collects information about vertex, edges and local channel set of SU node. The small sets of logical sub tree are put together and combine them in order to form a big tree called minimum spanning tree. The minimum spanning tree is
a collection of acyclic sub tree and the resultant tree is also acyclic.
The rest of the organization of the paper is as follows. The section 2 describes the works related to MST construction in asynchronous model. Then we describe the problem related to MST construction in cognitive radio network in section 3. The section 4 proposes a model for creation of distributed algorithm that construct a MST in CRN and the proposed algorithm with the description details are given in section 5. Then section 6 describes the correctness proof of the algorithm and finally we concluded the paper with conclusion in 7.
2. Related work
The MST construction algorithm is well explored in asynchronous model in mobile ad hoc network (MANETs). The authors of [10] proposed a famous distributed algorithm for constructing MST for asynchronous model. The level grows when it achieves the maturity and at each iteration it switches to the next level. The fragment identity is user is used in order to grow the spanning tree. In this, more waiting time is required to switch into the next level which is highly unfavorable condition for CRN. Further, the work concentrated in [11] is efficient in terms of MST construction for asynchronous network. It reduces the complexity by assuming that no need to wait for achieving maturity at each level and network considered as fully connected network. The root id has been used in order to grow the MST. An approximation distributed algorithm have been proposed in [14] that uses random selection mechanism for the selection of minimum cost edges in order to form MST in the asynchronous system. The linear time algorithm [15] is proposed for ad hoc networks. The algorithm is simple but cannot used directly in CRN environment, since, having of different working characteristics. The work proposed in [12, 13] is the MST construction for overlay networks with sub logarithmic time. The work proposed in [5], also describe the algorithm for MST construction in mobile ad hoc network. The author of [3] proposed an energy optimal distributed algorithm for MST construction in distributed system. The randomly selection method of node position is applied in the system. Somehow, the proposed algorithm has been developed by taking care of CRN environment but not fully. The distributed MST construction algorithm of mobile ad hoc network is not directly applicable in CRN due to remarkable functionality differences between them. The cognitive radio networks have some unique challenges in terms of single or multichannel accessing capabilities. Therefore, the MST algorithm proposed for ad hoc network require some modification to make it adaptive for CRN or a fresh approach is needed. The protocol of this paper is influenced with the [11] due to the following reasons.
• Cooperation among the CR nodes is much needed criteria for MST construction in cognitive radio network, due to its organizational property.
• The CR nodes can sense any channel which becomes part of MST edges in the communication graph. Two neighbours may have identical channel set represented by distinct integer value.
• Balanced growth is not really suitable for CRN, since, the network is opportunistic type and SU nodes are unlicensed node.
3. The MST construction Problem in CRN
There are some unique challenges in order design distributed algorithm that construct MST in the cognitive radio network. Those challenges are as follows:
3.1. Multiple channel access
The cognitive radio nodes or SU nodes work with multiple channels. However, at any time the secondary user nodes tuned with one channel called common control channel. Moreover, the channel must be available to the SU nodes for communication is for sufficiently long time in order to construct MST in cognitive radio network.
3.2. Common control channel
The common control channel is used for finding the neighbors and actually forms the edges among the secondary user nodes. During the edge formation the SU node must keep on watch so that there is no cycle and the selected edge in minimum. In case of multiple common control channels available between the nodes the priority is given to the lowest cost associated channel in order to make MST.
3.3. Mobility
In terms of mobility, the CRN can be classified into two parts: the spectrum mobility and the node mobility [2]. The secondary user can join or leave the network anytime in ad hoc fashion due to its mobility property. Similarly, the spectrum mobility causes due to the primary user interference in the available channel. The node and the spectrum consistency are highly observed challenges in CRN to design a distributed algorithm that create MST.
3.4. Primary user interference
There is very difficult to predict the activity of primary user in the cognitive radio network. The affected portion of the spectrum is no more the part of the minimum spanning tree of the cognitive radio network. In other words, the edges of the secondary user nodes are arbitrarily affected by the primary user, thus, temporary available for communication.
3.5. Neighbour discovery
The neighbor nodes connected with minimum edge is appreciable in order to construct minimum spanning tree of CRN. The selection of unique channel from the available channel list with minimum cost edges is a big challenge in order to construct tree which is minimum.
4. System Model
We assume, the weighted undirected graph consists of vertex, edges and channels, G = (V*, E*, LCS), where, V* represents the number of nodes are connected, E* represents the number edges connected and the local channel set (LCS) represents the number the channels sensed by each node. The number of vertex present n is logically connected through n-1 edges in the network model. The total numbers of channels i.e., k is sensed by radio nodes called global channel set (GCS), where, LCS e GCS. Two neighbour nodes may have more than one common control channel (CCC) but they agree for one at a time for communication. Therefore, the CCC is responsible for creating the edge (e e E*) or relation graph between them, where, CCC e LCS. The edges are used to connect the SU nodes in order to form the logical sub tree of the network. The sub tree is represented by the root process that is uniquely identified by the root id. The root process may represent a simple node or a sub tree of the CRN. The secondary user nodes communicate through message passing and no loss of message during transmission is assumed. The communication channels are not necessarily FIFO. The communication graph of minimum spanning tree (MST) is the collection of relation graph in CRN. The aim of the algorithm is to collect entire graph information into one or more nodes and use this information for finding shortest path between the nodes in order to create MST.
4.1. State of the root process
Sleep_State(SS): The root process is in passive mode and does not has the capability to sense the channel. Listen_State(LS): The root process listen on each channel LCS or outgoing edge in order to find the next sub tree. Query_State(QS): The root process generates a query beacon message on outgoing edges of CCC to identify the next root.
Participation_State(PS): query_request is confirmed using query_reply and continue the operation in the interaction
graph.
Wait_State(WS): The root process continuously wait on the same channel that it was discovered.
4.2. Data Structures
id: This is the identifier of the root process that represents the sub tree or a simple node. The root process with
minimum identity value is given priority to become a new root of the connected sub tree.
connect: This is used to connect sub tree using invite_message in order to grow the spanning tree.
accept: Reply permission by using response_message for connection between root processes of the sub tree.
reject: Reply message for disagree for combining the two sub tree using response_message.
invite_time: The time to send an invitation using invite_message to connect the root processes of the sub tree.
response_time: The time at which the request permission for invitation is granted.
query_time: The time at which the query_message has been sent in each LCS about identification of the sub tree. reply_time: The time at which the next sub tree identification is granted. marry_time: The time at which the two sub tree performing merging operation.
4.3. Message types
query_request (id, query_time): The message is used by the sender root process in order to create the relation graph. query_reply (id, reply_time): The message is used by the receiver in order to grant the sub tree identification. invite_message (id, connect, invite_time): The invitation message is sent to the receiver for connection. response_message (id, accept / reject, response_time): The message is used by the receiver in order to accept or reject the connect messages and send back to the sender.
marry_ message (id, accept, marry_time ): The message is used for combining the root process of the sub trees. connect_new root (id): The message is used to inform merged nodes about new root.
5. Algorithm description
The minimum spanning tree is an undirected communication graph which is formed by the collection of relation graph. The weight is distributed among several relation graphs in the minimum spanning tree. The relation graph consists of the SUs, edges and the local channel set, later, termed as the sub tree of the MST. The sub tree is uniquely represented by the root process. Moreover, the root process may represent a sub tree or a simple node. The root process contain unique root id. The set of sub tree is combined on the basis of relation order to form next sub tree in increasing order to construct a MST of cognitive radio network. The algorithm is described in details with the help of state diagram representation given in Fig. 1. Initially, all root process of the sub tree remains in the Sleep_State (SS). The root process does not listen anything in this mode. The root process wake up and turn its state into Listen_State (LS). In this state the root process (root;) of sub tree identifies the local channels set and send the query_request message to each channel of the local channel set and waits for the reply from other root process of the sub tree. The receiver sub tree can receive the message only when if there is at least one CCC. Once query message is initiated the root process turns its state into Query_State (QS). If the root processes agree on same CCC, they turn its state into the Participation_State (PS) and now, both the sub trees are called neighbours of each other. The receiver root process grant the query_request message using query_reply and the sender sends its id, connect and sent_time to the receiver root process using invite_message for showing his interest to create the relation graph between sub trees. Once receive, the root process starts comparison and if the sender root id is greater than the receiver root id, the rooty respond accept using response_message. The sub tree (rooty) is absorbing sub tree (rootx). Now the root process, rooty becomes new root of the connected sub tree. In other case, the root process replies reject message using the response_message. Upon receiving the reject message, the sender root process of sub tree wait and watch for finding next sub tree in the communication graph of CRN. The root process contain optimum value is the preferable node to become a new root in the sub tree. The connect information of sender tells to the receiver to
combine and establish a relation graph among them. The connect message replied by the receiver root process is granted using the marry_message in order to merge two sub trees into once. The invite_message is only sent by the root process containing highest identity value (id) of its sub tree. In this way the process step from 3 is repeating by each sub tree of root node in order to grow the minimum spanning tree of the cognitive radio network. The root process (root;) is the root of the connected distinct sub trees in the network. If the root process (root;) is not able to find the local channel set and hence does not send query_request for further next sub tree discovery, we assume there is no more sub tree in the network. Therefore, MST construction process is terminated and the resultant tree is the final minimum spanning tree of the CRN. The constructed minimum spanning tree can be used for leader election in the cognitive radio network.
Fig.1. State Diagram of the algorithm execution
5.1. Proposed algorithm
Steps of the distributed MST algorithm are as follows:
1. Initially all root process (root) of the sub tree are in sleep mode of operation. In this, the root process cannot initiate computation.
2. The root process wake up and change its mode of operations into the Listen State. The root process listen the sub trees info on each channel using queryrequest at its outgoing edges and moves its state into QS.
rooti = LS a query_request (root) = ON(LCS)
3. When the queryreply is received, the root process (root) change its mode of operation into ParticipationState and initiate to send the connect message into one of sub tree using invite_message (id, connect, invitetime) and wait in the Wait State.
VCCC e LCS a rooti = PS (CCC) a query request (root) <— query_reply (root) a send (root) = invite_message (id, connect, invite time)
4. On receiving invite message (id, connect, invite time), the receiver (root) immediately start comparison. Suppose, the rootx and rooty are sender and receiver root process respectively of rooti in the sub tree.
rootx a rooty = PS (CCC) a CCC e LCS
5. If ( id(rootx) > id(rooty) )
The root process (rooty) of the receiver sub tree replies accept message to the sender (rootx) by
generating reply message response_message (id, accept, responsetime).
6. Upon receiving response _message (id, accept, response time) from y, the sender x sends marry_message (ID, accept, marrytime) for merging with the sub tree y and accept root process (rooty) as new root of the compound sub tree.
connect = accept a new root (rooty) = rooti ^ V x e child a child = child u {y} a rooti = LS Now, the new root of connected sub tree is y (i.e., rooty) and the connected sub tree is belongs to the new root y in rooti.
7. Else
The receivery send reject message using response_message (id, reject, response time) to the sender x, connect = reject a response_message (id, reject, response time)
8. If the message is accepted, than the root node broadcast connect_new root message to inform others in the merge tree about new root.
9. Repeat process step from 3.
10. The root process terminates (term) if there is no further outgoing edge.
Vi ^ LCS a query request (rooti) = ^ a rooti = LS
6. Correctness proof of the algorithm
We assume n number of sub trees (i.e., X], X2, X3... Xn) are connected with each other to form a minimum spanning tree. The sub tree (X,) consists of the set of vertex (Vi), edges (E) and the channels associated to each vertex. Here, the vertex represents the secondary user node, edge is the weight associated with CCC, where CCC e LCS. Each sub tree has a root process xi where the root process is uniquely identified by the root identifier. The nodes associated with lowest edge have probable outgoing edges and containing of least identity node is called the root node of the sub tree. Therefore, the sub tree, Xt = (Vt, E, LCS) is uniquely identified by the identifier of the root process x.
Lemma 1. No cycle is formed in the graph.
Proof: We have assumed rootx and rooty are the source and destination root process of the sub tree. The root process rootx sends invite_message as a request to the other root process rooty. As per the algorithm description, the lower root node is absorbing the higher root node i.e., if id(rootx) > id(rooty), than rooty is absorbing rootx. The minimum spanning tree formation is growing in increasing order if it satisfy the given acceptance condition. This implies that if a minimal spanning tree consists of n number of sub tree in the cognitive radio network, the id of nth sub tree must contain lowest value.
i.e., the sub tree X],X2,X3... Xn must have order relation in root]> root2> root3..........> rootn
and because of cycle formation, the state must achieve rootn > rooti, if the value of i = 1. This violates the consistency of the algorithm due to ordering relation. This says there is no cycle in the graph or no edges form a cycle in the MST in cognitive radio network.
Lemma 2. After termination of the algorithm, n-1 edges cover n vertices and resultant tree is MST.
Proof: The root process of sub tree consists of the set of vertices, edges and the channels i.e., GMST = (V*, E*, LCS), where V* represent the set of vertex, E* is the edges and LCS denotes the local channel set. The root process has unique id (rootx) and the value this is associated with the minimum edges or cost of vertex. Due to order relation, the tree grows increasingly up to the maximum value is reached. When the algorithm terminates the root process still looking for the sub tree (rooti = LS) but does not get reply from the other side. At any time, only one channel from LCS is used to represent the relation graph between the two nodes. The violation of Lemma 1 results cycle i.e., n
edges forms a cycle. This is contradiction with the assumptions made. Hence, after termination the n-1 unique path covers all vertexes for MST in cognitive radio network.
7. Conclusion
In this paper we present a distributed algorithm that construct a minimum spanning tree in cognitive radio network. We identified the possible challenges during the formation of the algorithm that construct minimum spanning tree in cognitive radio network. The correctness proof of the algorithm is included. Further, we are planning measure the complexity and implement the proposed algorithm in one of the network simulation tool. The proposed one is simple and distributive algorithm to find minimum spanning tree in cognitive radio network.
References
1. Akyildiz I. F, Lee W. Y, Varun M. C and Mohanty S. NeXt generation/dynamic spectrum access/cognitive radio wireless networks: A survey. Computer Networks. 15 September 2006; 50: 2127-2159.
2. Akyildiz I. F, Lee W. Y and Chowdhury K. R. CRAHNs: Cognitive radio ad hoc networks. Ad hoc Networks. July 2009; 7:810-836.
3. Choi Y, Khan M, Kumar A and Pandurangan G. Energy-optimal distributed algorithms for minimum spanning trees; IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS. SEPTEMBER 2009; 27:1297-1304.
4. Xie L, Jia X and Zhou K. QoS multicast routing in cognitive radio ad hoc networks. Int. J. Commun. Syst. 2012; 25:30-46.
5. Almasaeid H M, Jawadwala T H and Kamal A E. On-demand multicast routing in cognitive radio mesh networks. IEEE Globecom 2010 proceeding.
6. Gardellin V, Das S K and Lenzini L. Coordination problem in cognitive wireless mesh networks. Pervasive and Mobile Computing. 2013; 9:18-34.
7. Hua Q S, Tan H, Wang Y, Li H, Yu D, Lau F C M and Wu C. Computing capacity and connectivity in cognitive radio ad-hoc networks. International Symposium on Pervasive Systems, Algorithms and Networks. 2012.
8. Shin D, Kim J and Ko Y B. A hybrid topology based multicast routing for cognitive radio ad hoc networks. International conference on ICCCNT. 2014.
9. Khan A A, Rehmani M H and Saleem Y. Neighbor discovery in traditional wireless networks and cognitive radio networks: Basics, taxonomy, challenges and future research directions. J. Of Computer Applications. 2015; 52:173-190.
10. Gallager R G, Humblet P A and Spira P M. A distributed algorithm for minimum-weight spanning trees. ACM Transaction on Programming Language and Systems. 1983; 5:66-77.
11. Lavallee I and Roucairol G. A fully distributed (minimal) spanning tree algorithm. Information processing letter. 1986; 23:55-62.
12. Awerbuch B. Optimal distributed algorithms for minimum weight spanning tree, counting, leader election and related problems. ACM Symposium on Theory of computing. 1987.
13. LOTKER Z, PATT-SHAMIR B, PAVLOV E and PELEG D. Minimum-weight spanning tree construction in O(log log n) communication rounds. SIAM J. COMPUT. 2005; 35:120-131.
14. Khan M and Pandurangan G. A fast distributed approximation algorithm for minimum spanning trees. Distrib. Comput. 2008; 20:391-402.
15. Singh A K, Negi A, Kumar M, Rathee V and Sharma B. On the linear time construction of minimum spanning tree. Int. Conf. on Recent Trends in Information, Telecommunication and Computing. 2014.
16. Liang H, Lou T, Tan H, Wang Y and D Yu. On the complexity of connectivity in cognitive radio networks through spectrum assignment. J. Comb Optim. 2015; 29:472-487.
17. Sharma S and Singh A K. On termination detection in cognitive radio networks. Network management. Novenber 2014; 26:499-527.