A Fast Distributed and Efficient Virtual Backbone Election in Large ...
A Fast Distributed and Efficient Virtual Backbone Election in Large ...
A Fast Distributed and Efficient Virtual Backbone Election in Large ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
A <strong>Fast</strong> <strong>Distributed</strong> <strong>and</strong> <strong>Efficient</strong> <strong>Virtual</strong> <strong>Backbone</strong><strong>Election</strong> <strong>in</strong> <strong>Large</strong> Scale MANETsWasim El-HajjCollege of Information TechnologyUAE UniversityUnited Arab EmiratesEmail: welhajj@uaeu.ac.aeMohsen GuizaniCollege of Information TechnologyUAE UniversityUnited Arab EmiratesEmail: mguizani@uaeu.ac.aeAbstract— <strong>Virtual</strong> backbone based rout<strong>in</strong>g is a promis<strong>in</strong>gapproach for enhanc<strong>in</strong>g the rout<strong>in</strong>g efficiency <strong>in</strong> wireless ad hocnetworks. To establish communication <strong>in</strong> the network, the virtualbackbone nodes have to be connected. Connected dom<strong>in</strong>at<strong>in</strong>gsets (CDS) are the earliest structures proposed as c<strong>and</strong>idates forvirtual backbones <strong>in</strong> ad hoc networks. In this paper, we proposea fast distributed <strong>and</strong> efficient algorithm to f<strong>in</strong>d a connecteddom<strong>in</strong>at<strong>in</strong>g set (DE-CDS) <strong>in</strong> wireless ad hoc networks. DE-CDShas a message <strong>and</strong> time complexity of O(n) <strong>and</strong> O(∆ 2 ),wheren is the number of nodes <strong>in</strong> the network <strong>and</strong> ∆ is the maximumnode degree. Accord<strong>in</strong>g to our knowledge, DE-CDS achievesthe best message <strong>and</strong> time complexity comb<strong>in</strong>ations among thepreviously suggested approaches. Moreover, DE-CDS constructsa reliable virtual backbone that takes <strong>in</strong>to account (1) node’slimited energy, (2) node’s mobility, <strong>and</strong> (3) node’s traffic pattern.I. INTRODUCTIONMobile wireless ad hoc networks appear <strong>in</strong> a wide varietyof applications, <strong>in</strong>clud<strong>in</strong>g military battle field, disaster relief,surveillance, sens<strong>in</strong>g <strong>and</strong> monitor<strong>in</strong>g. An Ad-Hoc networkis a collection of autonomous arbitrarily located wirelessnodes, <strong>in</strong> which an <strong>in</strong>frastructure is absent. Two nodes cancommunicate directly with each other if they are with<strong>in</strong> eachothers’ range; otherwise, <strong>in</strong>termediate nodes have to relaymessages for them.It has been proven <strong>in</strong> [1], [2] that a flat network haspoor scalability. In fact, the authors showed that the nodethroughput decl<strong>in</strong>es rapidly to zero as the number of nodes<strong>in</strong> the network <strong>in</strong>creases. To overcome this problem, thenetwork is designed <strong>in</strong> a hierarchical fashion, where somenodes are elected as leaders <strong>and</strong> other nodes connect to theleaders form<strong>in</strong>g the clusters. We adapt such a technique <strong>and</strong>we call the leaders cluster heads. The cluster heads formthe backbone of the network (also called virtual backbone).In order to establish communication between the variouscluster heads, the backbone nodes have to be connected. Thenetwork can be modeled as a graph G =(V,E), where V isthe set of vertices <strong>and</strong> E is the set of edges.Connected dom<strong>in</strong>at<strong>in</strong>g sets (CDS) are the earliest structuresproposed as c<strong>and</strong>idates for virtual backbones <strong>in</strong> ad hocnetworks [3], [4], [5]. A dom<strong>in</strong>at<strong>in</strong>g set (DS) is a set D ofvertices of G such that every vertex of G is either <strong>in</strong> D oradjacent to a vertex <strong>in</strong> D. A CDS is a DS, where the elementsof D are connected. A m<strong>in</strong>imum connected dom<strong>in</strong>at<strong>in</strong>g set(MCDS) is a CDS, where |D| is m<strong>in</strong>imum. In the context ofad hoc networks, a well studied problem is that of f<strong>in</strong>d<strong>in</strong>g aMCDS <strong>in</strong> a Unit Disk Graph (UDG), a class of graphs usedto model connectivity <strong>in</strong> ad hoc networks. Unfortunately,f<strong>in</strong>d<strong>in</strong>g the CDS <strong>and</strong> the MCDS were proven to be NP-hardproblems [6], [7], [8].In this paper, we propose a fast distributed <strong>and</strong> efficientalgorithm to f<strong>in</strong>d a connected dom<strong>in</strong>at<strong>in</strong>g set (DE-CDS) <strong>in</strong>wireless ad hoc networks. DE-CDS has a message complexityof O(n) <strong>and</strong> a time complexity of O(∆ 2 ), where n is thenumber of nodes <strong>in</strong> the network <strong>and</strong> ∆ is the maximum nodedegree. Accord<strong>in</strong>g to our knowledge, such complexities arethe best achieved among the previously proposed schemes.We approach the problem based on: fast convergence, energyefficiency, <strong>and</strong> reliability. The rema<strong>in</strong>der of this paper isorganized as follows. Section II <strong>in</strong>cludes some survey on thebackbone construction. Section III describes the cluster headelection scheme (virtual backbone construction). Section IVforms the clusters based on the elected cluster heads. Section Vpresents our contributions <strong>and</strong> section VI concludes the paper<strong>and</strong> discusses future work.II. RELATED WORKResearchers have proposed several distributed algorithmsto f<strong>in</strong>d a CDS for arbitrary undirected graphs <strong>and</strong> UDGs.These algorithms differ <strong>in</strong> their runn<strong>in</strong>g time <strong>and</strong> messagecomplexity. In the follow<strong>in</strong>g section, we briefly surveysome of the schemes for virtual backbones <strong>in</strong> wirelessad hoc networks. The message <strong>and</strong> time complexity ofour approach (O(n) <strong>and</strong> O(∆ 2 ) respectively) provide asubstantial improvement over the suggested approaches.Das et al. [3], [4] proposed an approach that conta<strong>in</strong>sthree stages: approximat<strong>in</strong>g the m<strong>in</strong>imum dom<strong>in</strong>at<strong>in</strong>g set,construct<strong>in</strong>g a spann<strong>in</strong>g forest of stars, <strong>and</strong> exp<strong>and</strong><strong>in</strong>g thespann<strong>in</strong>g forest to a spann<strong>in</strong>g tree. The major drawback ofthis approach is that it has a high message complexity ofO(n 2 ) <strong>and</strong> a high time complexity of O(n 2 ).1-4244-0357-X/06/$20.00 © 2006 IEEEThis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE GLOBECOM 2006 proceed<strong>in</strong>gs.
Wu et al. [9] proposed a simple distributed algorithmthat marks a node as a gateway if two of its neighbors arenot directly connected. To route traffic from a source to adest<strong>in</strong>ation, the source sends the traffic to its gateway, thegateway routes the traffic to the dest<strong>in</strong>ation gateway, <strong>and</strong>then from the dest<strong>in</strong>ation gateway to the dest<strong>in</strong>ation node.The proposed algorithm has Θ(m) message complexity <strong>and</strong>O(∆ 3 ) time complexity, where m is the number of edges <strong>in</strong>UDGs <strong>and</strong> ∆ is the maximum node degree. Although suchcomplexities are promis<strong>in</strong>g, this approach may produce poorresults where the output CDS consists of all nodes <strong>in</strong> thenetwork. Also, the CDS might be composed of nodes thathave very low residual energy.Stojmenovic et al. [10] proposed a scheme that is verysimilar to Wu’s scheme except that it requires neighborhoodtopology which may be achieved by GPS or other locationtechnique. Stojmenovic’s approach has a very high messagecomplexity of O(n 2 ) <strong>and</strong> a time complexity of Ω(n). Bothapproaches do not consider message losses due to collisions<strong>in</strong> their model.Cardei et al. [11] proposed a scheme that first f<strong>in</strong>ds amaximal <strong>in</strong>dependent set <strong>and</strong> then connects all vertices <strong>in</strong>the set us<strong>in</strong>g a ste<strong>in</strong>er tree. The second step is based onthe distributed depth-first search spann<strong>in</strong>g tree algorithm.Cardei’s scheme has message complexity of O(n∆) <strong>and</strong> timecomplexity of O(n). It also requires leader election beforethe algorithm starts which is not a favorable approach <strong>in</strong> adhoc networks.Parthasarathy et al. [12] proposed two algorithms forf<strong>in</strong>d<strong>in</strong>g the virtual backbone. The first algorithm has message<strong>and</strong> time complexity of O(n log 2 n) <strong>and</strong> O(∆ log 2 n)respectively. The second algorithm has message <strong>and</strong> timecomplexity of O(n log n) <strong>and</strong> O(log 2 n) respectively. Theauthors assume that each node knows (approximately) thenumber of its neighbors, the maximum degree, <strong>and</strong> the sizeof the network. There is really no fast way to know thenumber of nodes <strong>in</strong> the network or the maximum degree.Acquir<strong>in</strong>g such <strong>in</strong>formation requires some k<strong>in</strong>d of flood<strong>in</strong>gwhich <strong>in</strong>creases the complexity of the algorithm.Several other distributed algorithms for f<strong>in</strong>d<strong>in</strong>g the MCDS<strong>in</strong> UDG exist <strong>in</strong> [13], [14], [15], [16]. The message <strong>and</strong> timecomplexity of these algorithms are O(n log n) <strong>and</strong> O(n) respectively.In [17], Alzoubi reduced the message complexity toO(n). The follow<strong>in</strong>g table summarizes some of the approachesdiscussed above.measure [9] [10] [11] [12] [17]msg complexity Θ(m) O(n 2 ) O(n∆) O(n log n) O(n)time complexity O(∆ 3 ) Ω(n) O(n) O(log 2 n) O(n)Our approach (DE-CDS) provides better message complexity(O(n)) <strong>and</strong> time complexity (O(∆ 2 )) comb<strong>in</strong>ation thanthe approaches discussed above. Moreover, DE-CDS providesa reliable backbone suitable for mobile ad hoc network applications.DE-CDS takes <strong>in</strong>to account: (1) the energy restrictionimposed on the wireless nodes, (2) the mobility of the wirelessnodes, <strong>and</strong> (3) the traffic pattern of the wireless node. Inthe next section, we describe our approach <strong>in</strong> details <strong>and</strong> weanalyze the message <strong>and</strong> time complexity of each step.III. DISTRIBUTED AND EFFICIENT CONNECTEDDOMINATING SET (DE-CDS)We assume that each node knows its own ID, residualenergy (RE), mobility (M), <strong>and</strong> traffic load (T). DE-CDSis divided <strong>in</strong>to four steps. The first step performs a simpleneighbor discovery protocol <strong>and</strong> assigns a weight for eachnode. The second step elects an <strong>in</strong>itial set of cluster heads.The third step connects the cluster heads together (thoseelected <strong>in</strong> the second step) form<strong>in</strong>g a connected dom<strong>in</strong>at<strong>in</strong>gset. The last step elim<strong>in</strong>ates some redundant cluster heads.In our approach, we consider that message collisions areh<strong>and</strong>led by the MAC layer. In the follow<strong>in</strong>g subsections, eachstep is described <strong>and</strong> analyzed.A. Step 1: Neighbor discovery <strong>and</strong> weight generationBefore DE-CDS is executed, each node needs to know its1-hop <strong>in</strong>formation. To acquire the 1-hop <strong>in</strong>formation, a simpleneighbor discovery protocol is performed by each node. Eachnode sends a message conta<strong>in</strong><strong>in</strong>g its ID, RE, mobility, <strong>and</strong>traffic (send nodeInfo{ID,RE,M,T}). Every node thatreceives the nodeInfo message extracts the data <strong>and</strong> storesit <strong>in</strong> a special data structure (Vector).After collect<strong>in</strong>g the nodeInfo messages, each node knowsthe ID, RE, M, <strong>and</strong> T of each of its 1-hop neighbors. LetRE i , M i , <strong>and</strong> T i be the residual energy, the mobility, <strong>and</strong>the traffic load of node i respectively. Let RE max be themaximum residual energy among the neighbors of i <strong>in</strong>clud<strong>in</strong>gi. Similarly, let M max <strong>and</strong> T max be the maximum mobility<strong>and</strong> the maximum traffic load among node i <strong>and</strong> its 1-hopneighbors. Node i normalizes its own values with respect tothe maximum values i.e.REn i =RE iRE max, Mn i = M iM max, Tn i = T iT maxIn [18], we designed a fuzzy logic controller which is usedto calculate the node’s quality. REn i , Mn i , <strong>and</strong> Tn i arefed to this controller <strong>and</strong> a s<strong>in</strong>gle value (W i ) is returned.W i represents the quality of node i. Note that the fuzzylogic controller comb<strong>in</strong>es the residual energy, mobility,<strong>and</strong> traffic accord<strong>in</strong>g to certa<strong>in</strong> rules keep<strong>in</strong>g <strong>in</strong> m<strong>in</strong>d thesynergy between them. The fuzzy logic controller tends togive a high weight for nodes that have: (1) high residualenergy, (2) low mobility, <strong>and</strong> (3) low traffic. When W iis generated, node i sends W i (send nodeW eight{i, W })to its 1-hop neighbors. A neighbor receiv<strong>in</strong>g the message,records the weight of node i. After the completion of thisphase, each node knows the ID’s <strong>and</strong> weights of its neighbors.1-4244-0357-X/06/$20.00 © 2006 IEEEThis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE GLOBECOM 2006 proceed<strong>in</strong>gs.
Note that a node with a high weight is a cluster head c<strong>and</strong>idate.Step 1 requires each node to send 2 messages (O(1)message complexity). The first message is used to send thenode’s <strong>in</strong>itial <strong>in</strong>formation (ID,RE,M,T) <strong>and</strong> the secondmessage is used to send the node weight (W ). Let ∆ bethe maximum node degree (maximum number of neighbors).The time complexity of Step 1 is O(∆) because each nodesearches its neighbors to f<strong>in</strong>d RE max , M max <strong>and</strong> T max .4414732454057 45 9424712106 49538485501341381416155158B. Step 2: Initial Cluster Head <strong>Election</strong>1) Algorithm: This step presents one of our importantcontributions. In this step, nodes cooperate with each other<strong>in</strong> order to elect cluster heads. The cooperation is establishedwhen a node asks another node to become a cluster head. Thenode receiv<strong>in</strong>g the request should agree on becom<strong>in</strong>g a clusterhead. Algorithm 1 presents the pseudo code of this step. Anode checks if its weight (W ) is the maximum among itsneighbors. If the node has the maximum weight, it sets itselfas a cluster head. If it does not have the maximum weight,it asks the neighbor hav<strong>in</strong>g the maximum weight to becomea cluster head. Each node <strong>in</strong> the network executes algorithm 1.Algorithm 1: Initial CH <strong>Election</strong>Data: Γ = list of my neighborsResult: An election of one cluster headbeg<strong>in</strong>if myWeight is the maximum weight among the nodes<strong>in</strong> Γ thenset myself as a CHsend a message to my neighbors <strong>in</strong>form<strong>in</strong>g themof my decisionelseLet j be the neighbor that has the maximumweightsend a message to node j ask<strong>in</strong>g it to become aCHend12345678Figure 1 shows the elected cluster heads (nodes enclosed<strong>in</strong> grey rectangles). Node 4 has W 4 = 57 which is themaximum weight among its neighbors. So, node 4 sets itselfas a cluster head. Same for nodes 10 <strong>and</strong> 15. Node 5 hasW 5 =50<strong>and</strong> it does not have the maximum weight among itsneighbors. But it was elected as a cluster head because node11 sent a message to node 5 ask<strong>in</strong>g it to become a cluster head.2) Analysis: This step requires each node to send onemessage (O(1) message complexity). If the node has themaximum weight among it neighbors, it sends a message<strong>in</strong>form<strong>in</strong>g them that it declared itself as a cluster head. If thenode does not have the maximum weight among its neighbors,it requests from the neighbor<strong>in</strong>g node hav<strong>in</strong>g the maximum1146Fig. 1. Initial CH <strong>Election</strong>. The numbers next to the nodes represent thenodes’ weights. Nodes 4, 5, 10, <strong>and</strong> 15 are elected as cluster heads.weight to become a cluster head. The time complexity ofthis step is O(∆) because a node needs to search its 1-hopneighbors look<strong>in</strong>g for the node hav<strong>in</strong>g the maximum weight.If the 1-hop neighbors are sorted accord<strong>in</strong>g to their weight,the time complexity of this step becomes O(∆ log(∆)).Figure 1 shows that the elected cluster heads does not forma connected backbone. Let d(u, v) =k represent the numberof hops between nodes u <strong>and</strong> v. For example, cluster head 4is 3-hops away from cluster head 10 i.e. d(4, 10) = 3.Theorem 1. ∀ normal node u, ∃ cluster head v such thatd(u, v) =1.Proof: The proof is extracted directly from the algorithm.L<strong>in</strong>es 6 <strong>and</strong> 7 <strong>in</strong> algorithm 1 <strong>in</strong>dicate that if a node is not acluster head, it asks one of its neighbors to become a clusterhead. Therefore, every node <strong>in</strong> the network is either a clusterhead or a neighbor of a cluster head.u(a)uxx(c)Fig. 2. For a given cluster head u, u can reach another cluster head <strong>in</strong>: (a)One hop: d(u, x) =1, (b) two hops: d(u, y) =2, (c) three hops: d(u, z) =3Theorem 2. ∀ cluster head u, ∃ cluster head v such thatd(u, v) =3or less, <strong>and</strong> the <strong>in</strong>termediate hops are normalnodes.Proof: Assume that u is a cluster head. Let C(u) ={x| xis a cluster head neighbor of u}. ∀ x ∈ C(u), d(u, x) =1(figure 2(a)). If x /∈ C(u), then x is a normal node (figure2(b)). Let C(x) ={y| y is a cluster head neighbor of x}. ∀y ∈ C(x) <strong>and</strong> y /∈ C(u), d(u, y) =2.Ify /∈ C(x), then yuyx(b)zy1-4244-0357-X/06/$20.00 © 2006 IEEEThis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE GLOBECOM 2006 proceed<strong>in</strong>gs.
is a normal node (figure 2(c)). But accord<strong>in</strong>g to algorithm 1,y must have at least one cluster head neighbor. Let such acluster head be z, then d(u, z) =3. Therefore, any clusterhead can reach another cluster head <strong>in</strong> at most three hops.C. Step 3: Connect Cluster Heads1) Algorithm: Accord<strong>in</strong>g to theorem 2, each cluster headis 1-hop, 2-hops, or 3-hops away from another cluster head.In figure 1, cluster head 15 is 2-hops away from cluster head10. Nodes 12 <strong>and</strong> 13 can potentially connect both clusterheads. Cluster head 4 is 3-hops away from cluster head 10.In order to connect cluster heads 4 <strong>and</strong> 10, 2 normal nodeshave be elected as cluster heads. In the follow<strong>in</strong>g section, wepresent the algorithm that elects new cluster heads lead<strong>in</strong>g toa connected backbone.The decision of elect<strong>in</strong>g new cluster heads is made bythe cluster heads that were elected <strong>in</strong> step 2. Referr<strong>in</strong>g tofigure 1, only cluster heads 4, 5, 10, <strong>and</strong> 15 execute thealgorithm. The algorithm requires each cluster head to knowits 2-hop neighbors. Each node sends its 1-hop <strong>in</strong>formation toits neighbors. A node receiv<strong>in</strong>g the 1-hop <strong>in</strong>formation, storesthe data <strong>in</strong> its data structure. Figure 3 shows the data structurethat node 1 uses. All other nodes use similar data structure.3, 47 , ..,2, 45 , ..,N(3)N(2)4, 57 ,.. 2, 45 ,.. 1, 41 ,..4, 57 ,..5, 50 ,..3, 47 ,..1, 44 ,..Algorithm 2: Connect<strong>in</strong>g the backboneData: 1-hop <strong>and</strong> 2-hop neighbors of cluster head v.Notation: Γ x = 1-hop neighbors of node xResult: Cluster heads elected by vbeg<strong>in</strong>for each node i <strong>in</strong> Γ v doif i is a cluster head thenCHR i =truefor each node j <strong>in</strong> Γ i doif j is a cluster head thenCHR j = trueelseNR j = true123456789101112131415161718192021elseNR i = trueendbeg<strong>in</strong>for each node i <strong>in</strong> Γ v doif i is not a cluster head thenfor each node j <strong>in</strong> Γ i doif j ≠ i && j is a cluster head &&CHR j = false thenask i to become a cluster headif j is not a cluster head &&NR j = false thenask i to become a cluster headask j to become a cluster head22end1-hop neighbors of node 12-hop neighbors of node 1Fig. 3. Node 1 data structure. N(3) <strong>and</strong> N(2) represent the neighbors ofnodes 3 <strong>and</strong> 2 respectively. The nodes are sorted accord<strong>in</strong>g to their weights.Such a data structure enables node 1 to know its 1-hop <strong>and</strong> 2-hop neighbors.Algorithm 2 is used to generate a connected backbone.The Algorithm is divided <strong>in</strong>to two parts. Assume that clusterhead v is execut<strong>in</strong>g the algorithm. L<strong>in</strong>es 1 through 12 areresponsible for f<strong>in</strong>d<strong>in</strong>g the cluster heads <strong>and</strong> the normal nodesthat can be reached by v us<strong>in</strong>g 2-hops. L<strong>in</strong>e 2 checks every1-hop neighbor (i) of v. Neighbors that are cluster headsare marked as CHR i = true; mean<strong>in</strong>g that cluster head vcan reach cluster head i. Neighbors that are normal node aremarked as NR i = true; mean<strong>in</strong>g that cluster head v canreach node i. L<strong>in</strong>e 5 checks the neighbors of every 1-hopneighbor. Such neighbors are represented by j, where j is2-hops away from v. Ifj is a cluster head that can be reachedby v, itismarkedasCHR j = true. Ifj is a normal nodethat can be reached by v, itismarkedasNR j = true.L<strong>in</strong>es 13 through 22 loop across the 1-hop <strong>and</strong> 2-hopneighbors <strong>and</strong> elect new cluster heads. If cluster head v isconnected to a normal neighbor i <strong>and</strong> i is connected to acluster head j, but cluster head v can not reach cluster headj, then elect i as a cluster head (l<strong>in</strong>es 17-18). This processconnects a cluster head to other cluster heads that are 2-hopsaway from it. In figure 1 cluster head 15 elects node 12 tobe a new cluster head so that it can connect to cluster head10. If cluster head v is connected to a normal neighbor i <strong>and</strong>i is connected to a normal node j, but cluster head v cannot reach node j, then elect i <strong>and</strong> j as new cluster heads(l<strong>in</strong>es 19-21). This process connects a cluster head to othercluster heads that are 3-hops away from it. This electionprocess might elect redundant cluster heads. But, sometimesit is good to have more cluster heads because more clusterheads translate to a more reliable network. Also more pathsexist between source <strong>and</strong> dest<strong>in</strong>ation pairs. If the cluster headmade its decision us<strong>in</strong>g 3-hop <strong>in</strong>formation (larger locality)rather than 2-hop <strong>in</strong>formation, less cluster heads would havebeen elected. In figure 1 cluster head 5 elects nodes 6 <strong>and</strong>8 to be new cluster heads. Nodes hav<strong>in</strong>g higher weight arechosen first to act as cluster heads.2) Analysis: This step requires each node to send onemessage (O(1) message complexity). Each normal nodesends a message conta<strong>in</strong><strong>in</strong>g its 1-hop <strong>in</strong>formation to its1-4244-0357-X/06/$20.00 © 2006 IEEEThis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE GLOBECOM 2006 proceed<strong>in</strong>gs.
neighbors. After execut<strong>in</strong>g the algorithm, each cluster headsends a maximum of 2 messages ask<strong>in</strong>g some nodes tobecome cluster heads. The time complexity of the algorithmis O(∆ 2 ), because a cluster head needs to loop across its1-hop <strong>and</strong> 2-hop neighbors. Note that algorithm 2 is onlyexecuted by the cluster heads.D. Step 4: Reduce Cluster Heads1) Algorithm: Step 3 elected new cluster heads basedon the 1-hop <strong>and</strong> the 2-hop <strong>in</strong>formation. Such a smalllocality fails to produce an optimal global result. So, somenewly elected cluster heads might be redundant. Algorithm3 presents a very simple algorithm to elim<strong>in</strong>ate unnecessarycluster heads. If cluster head v <strong>and</strong> its 1-hop neighbors arefully covered by a neighbor<strong>in</strong>g cluster head, then cluster headv changes its status to become a normal node. In case of atie (i.e. both neighbor<strong>in</strong>g cluster heads have the exact sameneighbors), the cluster head hav<strong>in</strong>g the lower weight switchesto become a normal node. Figure 4 shows the resultantnetwork after execut<strong>in</strong>g all the steps.Algorithm 3: Cluster head reductionData: 1-hop <strong>and</strong> 2-hop neighbors of cluster head v.Notation: Γ x = 1-hop neighbors of node x; N x =Γ x ∪ xResult: Cluster head v reduced or keptbeg<strong>in</strong>for each node i <strong>in</strong> Γ v doif i is a cluster head thenif N v ⊂ N i thencluster head v becomes a normal node123456789end44 1473245if N v = N i thenif W v
44 14732454057 45 9424712550Fig. 5.6 4911468481053Network after cluster formationproposed <strong>in</strong> literature. Accord<strong>in</strong>g to our knowledge, DE-CDSachieves the best message <strong>and</strong> time complexity comb<strong>in</strong>ationsamong the previous suggested approaches. In addition to DE-CDS fast convergence, it has the follow<strong>in</strong>g advantages:1) DE-CDS takes <strong>in</strong>to account the residual energy, themobility, <strong>and</strong> the traffic load of each wireless nodewhen construct<strong>in</strong>g the backbone. These parameters werecomb<strong>in</strong>ed us<strong>in</strong>g a fuzzy logic controller [18]. The weightproduced by the controller played a very important role<strong>in</strong> elect<strong>in</strong>g the backbone nodes. So, the backbone nodesare ensured to be high quality nodes which enablesthem to perform their duties (rout<strong>in</strong>g discovery, relay<strong>in</strong>g,address assignment, etc.).2) DE-CDS creates a backbone that provides multiple pathsbetween source <strong>and</strong> dest<strong>in</strong>ation pairs. Figure 4 shows anexample of such a backbone1341381416155158[8] S. Guha <strong>and</strong> S. Khuller. Approximation algorithms for connecteddom<strong>in</strong>at<strong>in</strong>g sets. Algorithmica, 20(4):374–387, april 1998.[9] J. Wu <strong>and</strong> H. L. Li. On calculat<strong>in</strong>g connected dom<strong>in</strong>at<strong>in</strong>g set forefficient rout<strong>in</strong>g <strong>in</strong> ad hoc wireless networks. In 3rd ACM <strong>in</strong>ternationalworkshop on Discrete algorithms <strong>and</strong> methods for mobile comput<strong>in</strong>g<strong>and</strong> communications, pages 7–14, 1999.[10] I. Stojmenovic, M. Seddigh, <strong>and</strong> J. Zunic. Dom<strong>in</strong>at<strong>in</strong>g sets <strong>and</strong> neighborelim<strong>in</strong>ation based broadcast<strong>in</strong>g algorithms <strong>in</strong> wireless networks. In IEEEHawaii International Conference on System Sciences, 2001.[11] M. Cardei, X. Cheng, X. Cheng, <strong>and</strong> D.-Z. Du. Connected dom<strong>in</strong>ation<strong>in</strong> multihop ad hoc wireless networks. In 6th International Conferenceon Computer Science <strong>and</strong> Informatics, North Carol<strong>in</strong>a, USA, 2002.[12] S. Parthasarathy <strong>and</strong> R. G<strong>and</strong>hi. <strong>Fast</strong> distributed well connecteddom<strong>in</strong>at<strong>in</strong>g sets for ad hoc networks. Technical Report CS-TR-4559,University of Maryl<strong>and</strong>, 2004.[13] K. M. Alzoubi, P.-J. Wan, <strong>and</strong> O. Frieder. <strong>Distributed</strong> heuristicsfor connected dom<strong>in</strong>at<strong>in</strong>g sets <strong>in</strong> wireless ad hoc networks. IEEEComSoc/KICS Journal on Communication Networks, 4:22–29, 2002.[14] K. M. Alzoubi, P.-J. Wan, <strong>and</strong> O. Frieder. New distributed algorithmfor connected dom<strong>in</strong>at<strong>in</strong>g set <strong>in</strong> wireless ad hoc networks. In IEEEHICSS35, 2002.[15] P.-J. Wan, K. Alzoubi, <strong>and</strong> O. Frieder. <strong>Distributed</strong> construction ofconnnected dom<strong>in</strong>at<strong>in</strong>g set <strong>in</strong> wireless ad hoc networks. In IEEEINFOCOM, 2002.[16] M. V. Marathe, H. Breu, H. B. Hunt III, S. S. Ravi, <strong>and</strong> D. J.Rosenkrantz. Simple heuristics for unit disk graphs. Networks, 25:59–68, 1995.[17] K. M. Alzoubi, P.-J. Wan, <strong>and</strong> O. Frieder. Message-optimal connecteddom<strong>in</strong>at<strong>in</strong>g-setconstruction for rout<strong>in</strong>g <strong>in</strong> mobile ad hoc networks. Inthe Third ACM International Symposium on Mobile Ad Hoc Network<strong>in</strong>g<strong>and</strong> Comput<strong>in</strong>g, 2002.[18] W. El-Hajj, D. Kountanis, A. Al-Fuqaha, <strong>and</strong> M. Guizani. A fuzzy-basedhierarchical energy efficient rout<strong>in</strong>g protocol for large scale mobile adhoc networks (feer). In IEEE ICC 2006, Istanbul, Turkey, 2006.VI. CONCLUSIONIn this paper, we proposed a fast distributed <strong>and</strong> efficientalgorithm to f<strong>in</strong>d a connected dom<strong>in</strong>at<strong>in</strong>g set (DE-CDS) <strong>in</strong>wireless mobile ad hoc networks. DE-CDS constructs a reliable<strong>and</strong> energy efficient virtual backbone us<strong>in</strong>g O(n) messagecomplexity <strong>and</strong> O(∆ 2 ) time complexity. These complexitiesare the best achieved complexities among the previouslyproposed schemes. In our future work, we will compare ourapproach to other approaches based on: performance, stretch,<strong>and</strong> degree.REFERENCES[1] P. Gupta <strong>and</strong> P. R. Kumar. The capacity of wireless networks. IEEETransactions on Information Theory, IT-46(2):388–404, 2000.[2] P. Gupta, R. Gray, <strong>and</strong> P. R. Kumar. An experimental scal<strong>in</strong>g law forad hoc networks. May 2001.[3] B. Das, R. Sivakumar, <strong>and</strong> V. Bharghavan. Rout<strong>in</strong>g <strong>in</strong> ad-hoc networksus<strong>in</strong>g a virtual backbone. In 6th International Conference on ComputerCommunications <strong>and</strong> Networks (IC3N’97), pages 1–20, 1997.[4] B. Das <strong>and</strong> V. Bharghavan. Rout<strong>in</strong>g <strong>in</strong> ad-hoc networks us<strong>in</strong>g m<strong>in</strong>imumconnected dom<strong>in</strong>at<strong>in</strong>g sets. In ICC (1), pages 376–380, 1997.[5] R. Sivakumar, B. Das, <strong>and</strong> V. Bharghavan. Sp<strong>in</strong>e rout<strong>in</strong>g <strong>in</strong> ad hocnetworks. ACM/Baltzer Cluster Comput<strong>in</strong>g Journal (special issue onMobile Comput<strong>in</strong>g), 1998.[6] M. Garey <strong>and</strong> D. Johnson. Computers <strong>and</strong> Intractability: A Guide tothe Theory of NP-Completeness. Freeman, San Francisco, 1979.[7] B. N. Clark, C. J. Colbourn, <strong>and</strong> D. S. Johnson. Unit disk graphs.Discrete Mathematics, 86:165–177, 1990.1-4244-0357-X/06/$20.00 © 2006 IEEEThis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the IEEE GLOBECOM 2006 proceed<strong>in</strong>gs.