VIEWS: 22 PAGES: 14 POSTED ON: 10/29/2009 Public Domain
TDMA Scheduling in Long-Distance WiFi Networks Debmalya Panigrahi, Bhaskaran Raman Department of Computer Science and Engineering, Indian Institute of Technology Bombay Technical Report No: TR-CSE-2008-16 August 2008 Abstract In the last few years, long-distance WiFi networks have been used to provide Internet connectivity in rural areas. The strong requirement to support real-time applications in these settings leads us to consider TDMA link scheduling. Such scheduling takes on a different ﬂavour in long-distance mesh networks due to the unique spatial reuse pattern. In this paper, we consider the FRACTEL architecture for long-distance mesh networks. We propose and substantiate a novel angular interference model. This model is not only practical, but also makes the problem of TDMA scheduling tractable. We then make two signiﬁcant algorithmic contributions. (1) We ﬁrst present a simple, 3/2 approximate algorithm for TDMA scheduling. (2) We then consider delay-bounded scheduling and present an algorithm which uses at most 1/3rd more time-slots than the optimal number of slots required without the delay bound. Our evaluation on random as well as real network topologies shows that the algorithms are practical, and are more efﬁcient in practice than their worst-case bounds. 1 Introduction In the recent past, long-distance WiFi networks have been proposed as a cost-effective means to provide Internet connectivity to remote rural regions [1, 2, 3]. Several deployments of such networks have been built around the world [4, 5]. Experience with such networks has shown that real-time video-conferencing based applications are very important. For instance, the Ashwini project uses video-conferencing extensively for applications such as “education enhancement”, “health training”, and “agricultural information” [5]. Similarly, the Aravind network uses video-conferencing for telemedicine: for eye-care of patients at remote sites [6]. Such use of real-time conferencing is especially important in developing regions of the world, since traditional web usage is unappealing due to illiteracy as well as paucity of appropriate web content. In the context of multi-hop wireless mesh networks, it is well-known that it is difﬁcult, if not impossible, to provide delay guarantees for real-time applications, while using CSMA/CA [3]. A TDMA-based approach is appropriate in such a setting; this allows the possibility of providing delay guarantees. However, optimal or even approximate TDMA scheduling in wireless mesh networks is a well known hard problem [7, 8]. This is because the TDMA scheduling problem is closely related to the other well known NP-hard problem of graph vertex coloring. However, TDMA scheduling in long-distance networks requires a fresh look, since they have a pattern of spatial reuse, which is absent in generic mesh networks. This paper considers the FRACTEL (wiFi-based Rural data ACcess and TELephony) architecture for long-distance mesh networks [9]. We propose and substantiate a novel angular threshold interference model in such networks. Under this interference model, we make two main algorithmic contributions. First, we present a simple 3/2 approximate scheduling algorithm. Our second algorithm betters this on two counts: it achieves a worst-case approximation ratio of 4/3. And importantly for real-time applications, it achieves the smallest possible delay bound. Our ﬁrst algorithm is still useful: it is simpler, has lower algorithmic complexity, and also, it performs better in practice despite the poorer worst-case bound. It is hence appropriate when we do not have delay considerations. We evaluate the algorithms on random topologies as well as real ones: our algorithms perform better than their worst case bounds, and the consideration of delay bound results in only a small increase in the length of the TDMA schedule in practice. Although literature in TDMA-based multi-hop wireless networks is vast, our work differs from those signiﬁcantly in terms of the consideration of long-distance networks, and the unique angular threshold based interference model. Also, our 1 algorithm considering a delay bound, and producing a schedule within a small, bounded factor of the optimal solution, is novel. The rest of this paper is organized as follows. The next section (Sec. 2) describes our problem setting. This then provides the context for the detailed presentation of our algorithmic solutions, in Sec. 3. We evaluate our algorithms extensively in Sec. 4. Sec. 5 presents prior work on TDMA scheduling in wireless mesh networks, and Sec. 6 concludes the paper. 2 2 Problem Setup Efﬁcient TDMA scheduling in wireless mesh networks is a well known hard problem [7, 8]. Even without consideration of any delay bounds, just the problem of minimizing the schedule length is as hard as graph vertex coloring, for which even good approximate solutions are difﬁcult to ﬁnd. However, we now show using a sequence of observations that the problem needs a fresh look in long-distance networks. Long-distance links: A generic mesh network consists of links of various lengths. FRACTEL makes an architectural distinction between long-distance links and local-access links [9]. The distinction stems from two reasons: (a) long-distance links are formed using high-rise towers at one or both ends of a link. This is required to achieve Fresnel zone clearance above any obstructions [10] (see Fig. 1). And (b) each long-distance link typically uses a high-gain directional antenna at one end and a sector antenna at the other end [9]. This is required for achieving the long range. Manual antenna alignment is involved in such link setup. A typical setting is to have one central high-rise tower form long-distance links to several lower towers (Fig. 1); this amortises the high cost of the central tower [11]. Figure 1. Long-distance links; Fresnel clearance required The long-distance links thus involve signiﬁcant infrastructure and are setup in a planned fashion. In contrast, local-access links typically are setup in an unplanned fashion, using omni-directional antennas atop buildings (which are not very tall in rural areas) or trees: at a height of about 5-10m. The long-distance network (LDN), consisting of the long-distance links, is used to extend connectivity from a point of wired connection to various remote regions around it. In this paper, we shall consider only the LDN for TDMA scheduling. Long-distance network (LDN) structure: We now make a signiﬁcant observation regarding the structure of the LDN. The long-distance links use high-gain directional antennas for the uplink (i.e. toward the central node or gateway) [11, 9]. This is again for achieving the range required for setting up the link. The uplink connectivity from a node (i.e. its parent) is hence ﬁxed, and determined during the planned network setup. In other words, the LDN topology is a tree. A further observation is the following. With reasonable tower heights (40-50m), we can reach 20-25km with one hop easily in most ﬂat terrains [11]. This implies that we can extend connectivity from the central node around a radius of 40-50km, with two-hops from the centre. Now, this covers a signiﬁcant number of practical scenarios (although, arguably, not all). For instance, in India, each district has an optical ﬁber dropout at which the central node can be housed; and most districts are within 60-80km in dimension [12]. Hence a two-hop LDN is sufﬁcient to cover most villages around the district headquarters. So we consider two-hop topologies in this paper. The ideas presented however, can potentially be extended to trees of greater depth as well. Deﬁnition 1. The root node of the LDN is the central node which has wired connectivity. Children of the root node are known as hop-1 nodes; they are connected to the root via hop-1 links. Children of the hop-1 nodes are known as hop-2 nodes; they are connected to their respective hop-1 parents via hop-2 links. Trafﬁc and channel models: Most trafﬁc ﬂows in a mesh network is between leaves of the network and the root (or via the root to the Internet). This is known to be true for rural mesh networks deployed in practice [5]. Thus as an input to our TDMA scheduling, we assume that we are given the uplink as well as downlink trafﬁc demands (in bits/sec) for each hop-2 node in the network. For ease of exposition, we ﬁrst assume that the trafﬁc demand to each hop-2 node is the same: say one unit, along the downlink direction (from the root node). And we assume that there is only one orthogonal channel (or frequency) available. Sec. 3.4 later discusses how our algorithms can easily accommodate relaxation of these assumptions. Hop-1 node-splitting/link-replication, Network spoke model: Given our input graph of a two-hop tree, we ﬁrst make a simple transformation as follows. We split each hop-1 node/link into as many parts as the number of children the hop-1 node has. Each of the replicated hop-1 node is attached to exactly one of the original hop-1 node’s child (hop-2) node. For example, in Fig. 2, original hop-1 node X1 has three children G1 , G2 , and G3 . X1 is split into three nodes H1 , H2 , and H3 ; and each Hi is connected to Gi , i = 1, 2, 3. The original hop-1 link R − X1 is split into three hop-1 links: R − Hi , i = 1, 2, 3. The physical location of nodes Hi is deemed to be the same as that of the original Xi (although Fig. 2 shows them slightly away from one another, for clarity). 3 Figure 2. Hop-1 node-splitting/link-replication, Network spokes Deﬁnition 2. After such transformation, a spoke of the graph is a hop-1 link and its corresponding hop-2 link. (Note that our spokes can be “bent” at the hop-1 node.) For TDMA scheduling, each spoke now has a downlink trafﬁc demand of one unit. Throughout the following discussion, we will denote the total number of spokes of the (transformed) star graph by n; thus the graph has 2n + 1 vertices and 2n edges. We denote the root node as R, the hop-1 nodes as Hi , the hop-1 links as hi , the hop-2 nodes as Gi , and the hop-2 links as gi , i = 1..n. These notations are indicated in Fig. 2. We denote the spoke consisting of hi and gi as si , i = 1..n. When we denote a link l (without any index), sl denotes the spoke containing l. Angular threshold interference model: We consider link scheduling and hence a link interference model. Although a link can be scheduled in either direction, our interference model considers undirected links. We use the notation x ⌣ y to indicate that links x and y do not interfere with one another, and the notation x ⌢ y to indicate that x and y mutually interfere. In any interference model, a pair of adjacent links interfere with one another. This is reasonable since all the links at a node are setup atop the same central tower (many links may in fact use the same sector antenna in a point-to-multipoint conﬁguration). Thus in our spoke model, hi ⌢ h j , ∀i, j, and hi ⌢ gi , ∀i. We ﬁrst considered a generic interference model, where our input graph has no constraints in terms of which link may interfere with which other link, except the above constraint that adjacent links always interfere. In such a case, even in our simple star graph, we found the problem of optimal scheduling to be NP-hard1 . This motivates us to consider a relaxed, yet practical, interference model: the angular threshold interference model. This model is based on the following observation, unique to long-distance links. In Fig. 1, the further apart the two towers are, larger would be the Fresnel radius r. Also, larger would the effect of earth’s curvature (x in Fig. 1). Effectively, for a given pair of towers, of certain heights, there is a maximum distance d beyond which they cannot “see” each other: due to lack of Fresnel clearance and earth’s curvature. This means that the radios on such towers will not interfere with one another either. Table 1. Max. link length for a given pair of heights Table 1 tabulates the maximum distance d for various values of the heights of the towers. For computing this table, we have taken an obstruction height of 12m (trees), and ignored land undulations. Such conditions are true in most plain (non-hilly) rural regions [11]. The angular threshold interference model captures this distance threshold in terms of the angle, around the central root node. Intuitively, the larger the angle between hi and h j , further apart are the towers at Hi and H j , or Hi and G j , or Gi and G j . Hence it is less likely that gi interferes with h j or with g j . 1 Reduction from vertex coloring; see [13] for the proof. We capture this intuition in terms of an angular threshold θthr . We denote the angle subtended at R by hi and h j as θi j (note that only hop-1 links are involved in θi j ). In the angular threshold interference model, a hop-2 link gi interferes with both h j and g j if and only if θi j ≤ θthr . In the example shown in Fig. 2, suppose θthr = 90o , we have θ34 < θthr while θ36 > θthr . Hence g6 ⌣ h3 and g6 ⌣ g3 , while g4 ⌢ h3 and g4 ⌢ g3 . For ease of exposition, we abbreviate the above situation by saying s3 ⌢ s4 (i.e. s3 and s4 mutually interfere) while s3 ⌣ s6 (i.e. s3 and s6 are mutually independent). This is with the implicit understanding that any hx and hy interfere mutually always. Extending this notion, we say that a spoke s interferes with a link l if s interferes with sl . In this model, θthr is an input parameter to our algorithms. We ﬁnd in our evaluation on various topologies (Sec. 4) that in most cases θthr < 30o . Summary: To summarize, the input for our algorithms is the transformed graph. The scheduling problem maps directly to a link coloring problem, where interfering links ought to have different colors (i.e. time-slots in the TDMA schedule). Once we have a TDMA schedule for the transformed graph, the TDMA schedule for the original graph is obvious: the hop-1 links which were split into Hi , i = 1..k would be allocated the union of the time-slots given by the algorithm for the various Hi . 4 3 TDMA Scheduling in an LDN In this section, we ﬁrst present a simple greedy algorithm (Sec. 3.2). We then consider the problem of scheduling with delay bounds (Sec. 3.3). We generalize our problem considerations further in Sec. 3.4. 3.1 Scheduling under the generic interference model Under the generic interference model, the optimal scheduling problem is NP-hard, even in our two-hop tree topology. Interference graph: We construct an auxiliary graph by replacing each hop-1 and hop-2 link by a vertex and connecting two vertices with an edge if and only if they interfere. We call this graph the interference graph. It is easy to observe that the optimal scheduling problem on the network graph translates to the optimal vertex coloring problem in the interference graph. Below, we prove that any arbitrary instance of the vertex coloring problem can be transformed into an instance of our scheduling problem, thus establishing the equivalence of the two problems. Since the vertex coloring problem is known to be NP-hard [14], it immediately follows that our scheduling problem is also NP-hard under the general interference model. NP-Hardness: To reduce an arbitrary instance of the vertex coloring problem in a graph G = (V, E), to an instance of our scheduling problem, we use the following rules. Let each vertex v ∈ V correspond to a spoke in our problem instance. Call this spoke sv ; let the corresponding hop-1 and hop-2 links be denoted by hv and gv respectively. All the hop-1 links must mutually interfere according to our model. However, in the general interference model, the interference between hop-1 and hop-2 links and between hop-2 links themselves is arbitrary. In our problem instance, let each hop-1 link interfere with each hop-2 link (along with interfering with every other hop-1 link). Finally, let two hop-2 links gu and gv mutually interfere if and only if u and v are connected by an edge in G. We prove a theorem claiming that solving this particular instance of the scheduling problem solves the vertex coloring problem in graph G. Theorem 1. If the instance of the scheduling problem has a schedule of length s, then G has a vertex coloring using s − n colors, where n = |V |. Proof. Observe that each hop-1 link must receive a distinct slot in the schedule, since each hop-1 link interferes with all other links. Thus, the n hop-1 links are given n unique slots. The remaining s − n slots in the schedule are given to hop-2 links, where the vertices in G correspoding to the hop-2 links given the same color form an independent set. Thus, these vertices can be colored using the same color in a vertex coloring of G, and hence, G has a vertex coloring using only s − n colors. 3.2 A simple greedy scheduling algorithm Let us start with a simple idea. We choose an arbitrary spoke s and color all the hop-1 links in clockwise order starting at s using n distinct colors. Now, we color all the hop-2 links in clockwise order starting at s again, choosing for each hop-2 link, the color with the smallest index which has not been already assigned to any of its interfering links. Unfortunately, this algorithm does not necessarily perform well. The problem lies in the arbitrary choice of the initial spoke s. So, we need to modify this algorithm slightly so that it has provably good performance. To describe this modiﬁcation, we need some deﬁnitions. Deﬁnition 3. A sector of the graph comprises a set of contiguous spokes. The total angle subtended by a sector at the center is said to be its subtended angle. Deﬁnition 4. Let the number of spokes interfering with a spoke be its congestion. The congestion of a sector is the maximum congestion of a spoke in the sector. Our modiﬁcation to the na¨ve greedy algorithm is in the initial choice of s. We choose s such that the minimum congestion ı sector is traversed last. We will show, in our analysis, that this small modiﬁcation is sufﬁcient to guarantee provably good performance of the algorithm. The entire algorithm is presented as Algorithm 1. 5 Algorithm 1 A simple greedy algorithm for the scheduling problem under the angular-threshold based reuse pattern Find the sector of subtended angle θthr with minimum congestion; call it Smin . Let s be the ﬁrst spoke in clockwise direction after the sector Smin ; assign colors 1 to n to hop-1 links in clockwise order starting at s. Color the hop-2 links in clockwise order starting at s, choosing the color with the minimum index not assigned to any interfering link for each hop-2 link. Time complexity Initially the spokes need to be sorted in clockwise order and stored in a circular linked list. This takes O(n log n) time. A simple O(n) time dynamic program can be used to compute the congestion of each link; an additional O(n) time is sufﬁcient to ﬁnd the congestion of each sector of subtended angle θthr and ﬁnd the one with minimum congestion. We skip details of this procedure for brevity. The coloring proceeds in two phases- the ﬁrst phase which colors all the hop-1 links, trivially takes O(n) time, while the second phase can also be implemented using a simple dynamic program and the minheap data structure in O(n log n) time. We skip details of this step as well, for the sake of brevity. The entire algorithm therefore has a time complexity of O(n log n). Performance bound Theorem 2. For θthr < 90o , the greedy algorithm uses at most 1.5 times the number of colors used by an optimal algorithm. The assumption about θthr is reasonable: Sec. 4 shows that θthr < 30o for most topologies. To prove the theorem, we need the following deﬁnition. Deﬁnition 5. A spoke is said to be critical if its congestion is greater than 3n/4. A sector is said to be critical if there exists at least one critical spoke in it. Thus, the congestion of a critical sector is also at least 3n/4. The following lemma states that not all sectors in the graph can be critical. Lemma 1. If θthr < 90o , Smin is not critical. Proof. Consider all sectors of subtended angle 3θthr . By averaging arguments, there exists at least one sector with at most 3θthr n/2π spokes in it. This sector can be decomposed into 3 sectors of subtended angle θthr . Of these 3 sectors, the one in the middle has congestion at most 3θthr n/2π . Since θthr < 90o , this sector is not critical. Proof of Theorem 2. The above lemma helps us in proving Theorem 2. If the number of colors used by our algorithm is at most 3n/2, then clearly it is at most 1.5 times the optimal solution since the optimal solution is forced to use n different colors for the n hop-1 links. So, let us assume that our algorithm uses n + k colors for some k > n/2. Since the hop-1 links use colors 1, 2,. . . , n, there exists at least one hop-2 link which uses color n + k. Let this hop-2 link be L. Clearly, L must have at least (n + k − 1)/2 spokes in its set of interfering links; otherwise, one of the ﬁrst n + k − 1 colors must have been available. Thus, in particular, L is critical. By the above lemma, this implies that L is not in sector of subtended angle θthr which is colored last, i.e. Smin . Consider the set of links interfering with L which have already been colored when L is being colored. These links can be partitioned into two parts- a set of hop-1 and hop-2 links of spokes within an angular distance θthr in the counter-clockwise direction from L and a set of hop-1 links of spokes within an angular distance θthr in the clockwise direction from L. We call these sets of spokes Scc and Sc respectively. (We include L in both sets, i.e. L = Scc ∩ Sc .) The critical property is that since L ∈ Smin , none of the hop-2 links in Sc have been colored when L is colored. / Let |Scc | = a and |Sc | = b. Since L is given color n + k and there are a total of 2a + b − 1 links (including L) in Sc ∪ Scc which have already been colored when L is being colored, 2a + b − 1 ≥ n + k. Also, observe that there are a + b − 1 hop-1 links in Scc ∪ Sc and 2a mutually interfering hop-1 and hop-2 links in Scc . Thus, m = max(a + b − 1, 2a) is a lower bound on the number of colors used by an optimal algorithm. Clearly, n + k ≤ 1.5m, proving the theorem. 3.3 Scheduling with delay considerations 6 The above algorithm however does not perform well with respect to delay considerations. For instance, consider a case where all the n spokes mutually interfere. Giving alternate colors to the hop-1 and hop-2 links leads to a delay of 0 for each spoke. However, the above algorithm will incur a delay of n − 1 time-slots in each spoke by assigning colors 1, 2, . . . , n to the hop-1 links and colors n + 1, n + 2, . . . , 2n to the hop-2 links. This motivates our next scheduling algorithm. As mentioned earlier, this algorithm outperforms the previous algorithm on two counts- it has a better approximation ratio and also meets stringent delay requirements. Before describing the algorithm, let us deﬁne the delay restrictions we will impose on our schedule. Consider only downlink ﬂows (from the root toward the leaves), and only one channel (frequency). We shall later generalize our solution. The delay incurred by a ﬂow is the number of time units spent by a data unit (packet) at the intermediate hop-1 node. Figure 3. TDMA scheduling cycle Note that in a TDMA schedule, the time-slots are repeated in a cyclical fashion. This is depicted in Fig. 3. In this scheduling cycle, if gi gets a time-slot right after hi , the delay incurred is minimized: the delay is in fact zero. This is what we shall achieve in our algorithm. The algorithm seeks to minimize SL, the schedule length (i.e. maximize throughput efﬁciency), subject to the above delay constraint. We present our algorithm by ﬁrst describing a sequence of four ideas. We then string the ideas together to end up with a complete algorithm. Idea I1: Consider a sub-part of the network shown in Fig. 4, where we have a pair of mutually non-interfering spokes named s1 and s2 . Now, we can color h1 ← 1, g1 , h2 ← 2, and g2 ← 3. The fact that s1 ⌣ s2 allows us to use the same color for g1 and h2 . Figure 4. Idea I1 Now, in the network, we need at least two colors for the two spokes, whereas we have used three colors above. So the overhead in coloring just using this idea is 3/2. Idea I2: We can improve upon I1 by considering 2 pairs of mutually non-interfering spokes: s1 ⌣ s2 , and s3 ⌣ s4 . This is shown in Fig. 5. We use the following lemma. Figure 5. Idea I2 Lemma 2. If (s1 , s2 ) and (t1 ,t2 ) be two pairs of spokes where each pair is non-interfering, then there always exists a noninterfering pair (si ,t j ), i, j ∈ {1, 2}, if θthr < π /2. Proof. If s1 interferes with both t1 and t2 , but t1 and t2 and non-interfering, then clearly, t1 and t2 are on two sides of s1 within an angular distance of θthr on each side. It is now easy to see that if θthr < π /2, then s2 cannot interfere with both t1 and t2 . Without loss of generality, say s2 ⌣ s3 , as indicated in Fig. 5. Now, we can color: h1 ← 1, g1 , h2 ← 2, g2 , h3 ← 3, g3 , h4 ← 4, and g4 ← 5. As in I1, we have reused colors across gi and h j when si ⌣ s j . Now, for the four spokes in Fig. 5, we need at least 4 colors, whereas we have used ﬁve above. So the overhead in using I2 in a sub-part of the network is at most 5/4. Idea I3: Consider a situation where s1 and s2 are mutually non-interfering and s3 is a spoke which does not interfere with at least one of s1 or s2 . In the example in Fig. 6, s3 ⌣ s2 . We can now allocate colors as: h1 ← 1, g1 , h2 ← 2, g2 , h3 ← 3, and g3 ← 4. This mechanism uses four colors where we require at least three. So the overhead of using I3 is 4/3. 7 Figure 6. Idea I3 Idea I4: Our ﬁnal idea is an improvement upon I3, where we consider the existence of another pair of mutually non-interfering spokes s4 ⌣ s5 , such that s3 does not interfere with at least one of s4 or s5 . In the example in Fig. 7, s3 ⌣ s4 . Figure 7. Idea I4 We can now allocate colors as: h1 ← 1, g1 , h2 ← 2, g2 , h3 ← 3, g3 , h4 ← 4, g4 , h5 ← 4, and g5 ← 6. We have now used six colors where potentially only ﬁve are required (ﬁve spokes). So the overhead in applying I4, is 6/5. Our algorithm is summarized in Algorithm 2. Given the above four ideas, the algorithm can be explained easily. Clearly, the best ideas, in terms of the least overhead, are I4 and I2. In both these, note that we consider pairs of mutually non-interfering spokes. So our algorithm ﬁrst ﬁnds as many mutually non-interfering spokes as possible: Step-1. If the above matching process leaves no unmatched spoke, there is no room for applying I3 or I4. But if there are unmatched spokes (set denoted S), we seek to associate each link of S with a pair of mutually non-interfering spokes, so that we can apply I3 or I4. We seek to apply I4 ﬁrst (case 2a in Algorithm 2), and apply I3 whenever this is not possible (case 2b in Algorithm 2). In Step-3, we seek to apply I2. If any pair of mutually non-interfering spoke remains after this, we seek to apply I1, in Step-4. Even after this, if any spokes remain, we simply color using none of the above four ideas: this is Step-5. A couple of remarks need to be made about the algorithm. Our ﬁrst claim is that in Step-2, we can indeed ensure that if one link of a spoke in S is matched in M2 , then it is the hop-1 link. This claim is a direct consequence of the fact that the pair of links corresponding to a spoke in S are connected to the same set of vertices in B1 . Therefore, even if the matching M2 matches the hop-2 link in a spoke in S, but does not match the corresponding hop-1 link, we simply change the end-point of this matching edge from the hop-2 link to the hop-1 link to obtain another maximum matching. This can also be ensured more elegantly using a minimum cost maximum ﬂow to compute the maximum matching after suitably augmenting the bipartite graph. We omit details for brevity. Our second claim is about Step-3. We claim that for any any two pairs of spokes in B1 , there must necessarily be one spoke in each pair which are non-interfering. This follows as a direct consequence of Lemma 2. Thus, for any pairing at the beginning of Step-3, we can always ﬁnd the pair of non-interfering spokes as required. 3.3.1 Analysis As earlier, we ﬁrst analyze the running time of the algorithm. Step-1 involves ﬁnding a maximum matching in a general graph. This takes O(n2.5 ) time. Step-2 involves ﬁnding a maximum matching in a bipartite graph taking O(n2.5 ) time as well. Steps 3, 4 and 5 take O(n) time each. Thus, the algorithm has a time complexity of O(n2.5 ). Clearly, it is not as efﬁcient as the previous algorithm. This is one of the penalties it pays for being more accurate and satisfying delay bounds. We now prove guarantees on the quality of the solution produced by the algorithm. We need a few lemmas. Lemma 3. For every pair of matched spokes in M1 , at least one spoke of the pair interferes with all spokes in S. Proof. Let each spoke in the matched pair not interfere with some spoke in S. If they do not interfere with different spokes in S, then there is a length-3 augmenting path corresponding to M1 . Since M1 is a maximum matching, such an augmenting path cannot exist. Hence, both the spokes must be non-interfering with exactly one spoke in S, say s. Consider any other spoke t ∈ S. The two matched spokes must lie on two sides of t since they interfere with t but do not mutually interfere. However, this would mean that one of the matched pair of spokes is closer in angular distance to s than to t. Then, it must interfere with s since it is interfering with t, leading to a contradiction. Lemma 4. If a set of m spokes interfere with the same spoke s, then at least m/2 spokes mutually interfere. 8 Figure 8. Proof of Corollary 1 Step-2 Step-3 Step-4 Step-5 Total |M1 | − |M2 | is even 6z + 4(y − 2z) 5 (n−k)/2−y 2 0 2(k − y + z) 5n+3k−2y 4 |M1 | − |M2 | is odd 6z + 4(y − 2z) 5 (n−k)/2−y−1 2 3 2(k − y + z) 5n+3k−2y+2 4 Figure 9. Number of colors used by Algorithm 2 Proof. The m spokes must be distributed on the two sides of s, within an angular distance of θthr on each side. There are at least m/2 spokes in the side containing more spokes, and these spokes mutually interfere. Corollary 1. If a set of m spokes interfere with the a set of k mutually interfering spokes, then at least m/2 + k spokes mutually interfere. Proof. The m spokes must lie within an angular distance of θthr in the clockwise direction from one end of the mutually interfering spokes and within an angular distance of θthr in the counter-clockwise direction from the other end, as shown in Figure 8. It is now easy to conclude that one of these two regions must contain at least m/2 + k mutually interfering spokes. Theorem 3. Algorithm 2 uses at most ⌈(4/3) ∗ OPT ⌉ colors, where OPT is the number of colors used by any optimal channel allocation algorithm, and satisﬁes the property that a hop-2 link is scheduled immediately after its corresponding hop-1 link. Proof. The second assertion is easy to verify from the algorithm. So, we prove the ﬁrst assertion. Let |S| = k (i.e. |M1 | = (n − k)/2), |M2 | = y, Step-2a be invoked in z cases and Step-2b in y − 2z cases. Then, the number of colors used by the algorithm is given in Fig. 9. Now, let us ﬁnd a lower bound for the number of colors used by any channel allocation algorithm. By Lemma 3, after the matching M1 , we have a set of (n − k)/2 spokes, each of which interfere with all the spokes in S. Using Corollary 1, we can conclude that there is a set of k + (n − k)/4 mutually interfering spokes, giving a lower bound of (n + 3k)/4 colors. Now, consider the matching M2 . Let us use the following notation, as illustrated in Fig. 10: X0 set of nodes in B1 that are not matched by M2 , Y0 set of nodes in B2 that are not matched by M2 , X1 set of nodes in B1 that are matched by M2 and reachable from X0 using an even length path where all the even indexed edges in the path are in M2 , Y1 set of nodes in B2 that are matched by M2 and reachable from X0 using an odd length path where all the even indexed edges in the path are in M2 , X2 set of nodes in B1 that are matched by M2 and reachable from Y0 using an odd length path where all the even indexed edges in the path are in M2 , 9 Figure 10. Illustrating the deﬁnitions of Xi , Yi , i = 0, 1, 2, 3 Value of ℓ 1 2 (n + 3k) n n+k−y Implications of value of ℓ 1 y ≥ 2 (n − k), k ≥ n 3 y ≥ k, k ≤ n 3 1 y ≤ k, y ≤ 2 (n − k) Ratio of algorithm’s solution (L) to ℓ 2 4 L = 1 (5n + 3k − 2y) ≤ n + k ≤ 3 n + 2k = 3 ℓ 4 1 1 4 4 L = 4 (5n + 3k − 2y) ≤ 4 (5n + k) ≤ 3 n = 3 ℓ 4 1 L = 1 (5n + 3k − 2y) ≤ 3 (n + k − y) − 12 (n + 7k − 10y) 4 4 2 4 ≤ 3 (n + k − y) − 3 (k − y) ≤ 3 (n + k − y) = 4 ℓ 3 Figure 11. Proving the approximation ratio of Algorithm 2 in Theorem 3 Y2 set of nodes in B2 that are matched by M2 and reachable from Y0 using an odd length path where all the even indexed edges in the path are in M2 , X3 set of nodes in B1 that are matched by M2 but not in either X1 or X2 , and Y3 set of nodes in B2 that are matched by M2 but not in either Y1 or Y2 . It is easy to see that X1 ∩ X2 = Y1 ∩ Y2 = 0; otherwise, there is an augmenting path and M2 is not a maximum matching. / Also, it is easy to verify that |Xi | = |Yi | for i = 1, 2, 3. Now, we observe the following properties of these sets: P1 There is no edge between X0 and Y0 since M2 is a maximum matching. P2 There is no edge between X0 and Y2 since Y1 ∩Y2 = 0. / P3 There is no edge between X0 and Y3 by deﬁnition of Y3 . P4 There is no edge between X1 and Y0 since X1 ∩ X2 = 0. / P5 There is no edge between X1 and Y2 ; otherwise, there is an augmenting path and M2 is not a maximum matching. P6 There is no edge between X1 and Y3 since Y1 ∩Y3 = 0. / Clearly, Y0 ∪Y2 ∪Y3 mutually interfere since they belong to S. Also, from the above properties, we have a set of |X0 | + |X1 | spokes which interfere with these spokes in S. We add to this set the spokes which were matched in M1 but interfere with all spokes in S; there are at least (n − k)/2 such spokes by Lemma 2. At least half of these spokes must be mutually interfering, giving us a total of |Y0 | + |X0 | + |X1 | + |Y2 | + |Y3 | + (n − k)/2 = n + k − y mutually interfering links. Finally, since all the hop-1 links mutually interfere, we have a lower bound of n. Thus, we have a lower bound of ℓ = max((n + 3k)/2, n, n + k − y). We now compare the lower and upper bounds (for the time being, we only consider the case when |M1 | − |M2 | is even) in Fig. 11. To extend the result to the case when |M1 | − |M2 | is odd, we simply relax our claim and say that our algorithm uses at most ⌈(4/3) ∗ OPT ⌉ colors where an optimal channel allocation algorithm must uses OPT colors (note that ℓ is a lower bound on OPT ). 3.3.2 An example 10 To explain the above algorithm, let us look at an example. Consider the input graph shown in Fig. 12. In the example, we show the spokes, and the angle they make with the positive x-axis. We assume θthr = 45o here. Algorithm 2 proceeds as follows. In many steps, there are many possibilities; for instance, there may be many maximum matchings possible; we show only one possibility in the example below. Figure 12. An example to illustrate Algorithm 2 Step-1: M1 is: s1 ⌣ s2 , s3 ⌣ s4 , s5 ⌣ s6 , s7 ⌣ s8 , s9 ⌣ s10 . Step-2: S = {s11 }, B2 = {h11 , g11 }, B1 = {(s1 , s2 ), (s3 , s4 ), (s5 , s6 ), (s7 , s8 ), (s9 , s10 )}; B will be a graph with many edges between the two partitions B1 and B2 . M2 will have the two edges: (h11 , (s1 , s2 )) and (g11 , (s3 , s4 )). The for-loop will be executed exactly once, and Case-2a will be triggered. At the end of this step, the colors assigned will be h1 ← 1, g1 , h2 ← 2, g2 , h11 ← 3, g11 , h4 ← 4, g4 , h3 ← 5, g3 ← 6. Step-3: M3 will now be {((s5 ⌣ s6 ), (s7 ⌣ s8 ))}. The for loop in this step too will be executed exactly once, at the end of which, the colors assigned will be: h5 ← 7, g5 , h6 ← 8, g6 , h7 ← 9, g7 , h8 ← 10, g8 ← 11. Step-4: The node u ∈ B1 would now be (s9 ⌣ s10 ), and the colors assigned now will be: h9 ← 12, g9 , h10 ← 13, g10 ← 14. Step-5: This step is not relevant in this example since at this stage all edges have been colored. 3.4 Discussion of generic considerations We now discuss some important generalizations of the problem consideration so far; these can be accommodated easily in our algorithms. Non-uniform trafﬁc consideration: We have so far not discussed the case when different links have different trafﬁc demands. But this can be easily handled in our algorithm, so long as the trafﬁc demands are in integral multiples of a unit, say b Kbps. This is very much practical; for instance, we could have ﬂow demands in units of, say 20 Kbps or 30 Kbps. If we have a ﬂow request of k × b Kbps, we can simply replicate the spoke k times, before using either of our algorithms on the input. Although this increases the complexity of the protocol in terms of k, this is unlikely to be an issue in practice since k will be small (say 15-20). Uplink versus downlink: We considered only downlink ﬂows thus far, for ease of exposition. Since we have considered undirected edges throughout, the algorithms remain unchanged even if we consider uplink ﬂows. If we have a combination of uplink and downlink ﬂows, for either of the algorithms, we simply have to run the algorithm once each for the uplink and the downlink, independently. And in Algorithm 2, for uplinks, we can simply color the links in the reverse order in each step (so the delay would be 0 in the uplink direction). Use of multiple orthogonal channels: Another practical consideration is the use of multiple orthogonal channels. For instance, 802.11b/g has three orthogonal channels of frequencies. With c orthogonal channels, we essentially have c times the number of colors as with just one channel. We can easily accommodate this in our algorithm as follows. Each color used the algorithm now maps onto a tuple: (i, j), where i corresponds to the channel number and j corresponds to the time-slot number. We let our algorithm run as usual and generate a coloring using SL colors. That is, it uses colors 1, 2, ...SL. Let m = ⌈SL/c⌉. Now tuples (1, j), j = 1, 2, ...m map onto colors 1, 2, ...m. And tuples (2, j), j = 1, 2, ...m map onto colors m + 1, m + 2, ...2m, and so on. In the resultant schedule in Algorithm 2, it is easy to see that any hop-1 link scheduled in time-slot i will have its hop-2 link scheduled in time-slot i + 1 (or (i MOD m) + 1, to be precise). So our delay minimization property is still maintained for Algorithm 2, while we have utilized the c orthogonal channels to the maximum extent possible. 4 Performance Evaluation We have implemented both the algorithms; we evaluate them using the metric of schedule length (SL), which is the number of colors allocated. 4.1 Evaluation setup 11 Measurement topologies: We use two different types of topologies. (1) Random Topologies: We generated 20 topologies each consisting of 20, 50, 100, 200 and 400 nodes, distributed randomly in a circular region of radius 40km on the x-y plane. (2) Real Topologies: These topologies are derived from two districts in India: (a) The Ashwini project [5] from the West Godavari district, Andhra Pradesh, India. This covers 33 villages, in an area of 30-40 km radius. (b) A set of 128 village nodes from Durg district, Chattisgarh, India; most of the nodes are within about 60 km from the root node in this case. Topology construction: The issues of antenna tower height assignment, and that of topology construction in a cost optimal fashion, for rural networks, is itself a well researched problem [11, 10]. For the purpose of our evaluation, we use simple mechanisms for the tower height assignment and the topology construction. We assume a tower of 45m height at the root node as well as at the hop-1 nodes; and a 20m tower at the hop-2 nodes. To construct the topology starting from a given set of points, and the location of the root node, we ﬁrst label all the nodes within a threshold distance of the root as the hop-1 nodes and the corresponding links as hop-1 links. To choose this threshold distance, we refer to Table 1 (Ht1=Ht2=45m); this gives us a maximum link length of 27km for the hop-1 links. On the conservative side, we choose 25km to be the above threshold distance. As a subsequent step, for each of the remaining nodes X, we locate the nearest hop-1 node, Xhop1 . If dist(X, Xhop1 ) < dist(X, R), then we label X as a hop-2 node, with its parent as Xhop1 . Else, we label X as a hop-1 node. As a ﬁnal step, for each hop-1 leaf node Yl , we see if there is a hop-1 non-leaf node Ynl within 17km of it (refer Table 1; Ht1=45m, Ht2=20m). If so, we make Yn l to be Yl ’s parent; Yl thus becomes a hop-2 leaf, which effectively reduces the tower height requirement at that node from 45m to 20m. Of course, before invoking any algorithm, we do the hop-1 node splitting transformation to get a graph with several spokes. 4.2 Angular threshold interference model; θthr in practice Our algorithms assume that θthr < 90o . We ﬁrst checked if this is indeed valid on the various random topologies. For this, we assumed the hop-1 and hop-2 node heights as mentioned above, and we pessimistically assumed that RF interference could extend 5km beyond the maximum link length given in Table 1. We further assumed a uniform radio transmission power of 20dBm, and that the required SIR (Signal-to-Interference Ratio) is 15dB (well above the theoretical value of 10dB for 11Mbps 802.11b transmission [15]). We considered three different kinds of antennas: a 24dBi parabolic grid, a 15dBi yagi antenna, and a 17dBi 90o sector antenna. We approximated the radiation patterns of these antennas from the vendor speciﬁcations as given at www.hyperlinktech.com. Furthermore, at each node, we used the antenna assignment algorithm as given in [11]. We considered the 20 different 400-node random topologies, and with the above settings, computed the threshold angle beyond which no pair of spokes mutually interfere. For 18 of the 20 topologies, this angular threshold was less than 30o ; in one case it was 35o and in another it was 76o . This validates our our assumption of θthr < 90o . 4.3 Results for algorithm performance evaluation For the purpose of presenting the various results, we term Algorithm 1 as simple, and Algorithm 2 as delay. We ﬁrst plot the SL metric for the two algorithms, for networks of various sizes. This is shown in Fig. 13. We show the results for various values of θthr . We compare SL with n since the latter is a lower bound on the schedule length. We observe that even though the worst-case performance of the simple algorithm is poor, on random graphs, its performance is close to the lower bound of n. We have shown the results for θthr = 60o ; the results for 30o and 90o were similar for the simple algorithm; for clarity, these are not shown. The delay algorithm uses more colors, but not too many more; it uses not more than 20-25% more colors than the lower bound of n. We also observe from Fig. 13 that the performance is not very sensitive to θthr , which is a nice property to have. Finally, we note that while we have presented the average values for SL and n over 20 random graphs of a given size, the standard deviation we observed was very small, and hence we do not report it. 500 450 400 350 300 250 200 150 100 50 0 Spokes (n) SL_simple (60deg) SL_delay (30deg) SL_delay (60deg) SL_delay (90deg) Avg. SL 20 50 100 200 Num. nodes 400 Figure 13. Avg. SL vs. network size 12 Table 2. Performance for Ashwini & Durg; θthr = 30o , 90o Table 2 shows the performance results for the two real topologies. We see that our observations here are similar to those for random graphs, which we can summarize as follows. (1) The performance of the simple algorithm is close to the lower-bound of n. (2) The delay algorithm uses a small fraction of additional colors as compared to the number of spokes n. (3) The performance of the algorithms is not affected much by the θthr parameter. To further test the algorithms, we ran them on topologies where there was a high degree of asymmetry: the random points were all generated within a semi-circle with the root as the centre. Even in such topologies, the above observations broadly hold; with the average SL/n ratio increasing by not more than 5-10% as compared to the symmetric case. 5 Related Work TDMA scheduling with spatial reuse has been a topic of considerable research in multi-hop wireless networks. Two versions of the problem have been considered: link scheduling (e.g. [16, 17]) and node or broadcast scheduling (e.g. [8, 18, 19, 20]). In both cases, the goal is to minimize the TDMA schedule length, so as to maximize throughput. However, both versions of the problem are known to be NP-complete [7, 8] and efforts have focused on other issues such as a distributed implementation [16, 8, 18, 19, 20]. Our work is different from the above literature in two important aspects. First, we consider delay as a metric in such scheduling. Second, we consider scheduling for long-distance WiFi networks, with its resultant spatial reuse pattern, as captured by the angular threshold interference model. The work in [3, 21] is similar to ours in terms of consideration of TDMA scheduling in long-distance networks. However, the model they consider is restricted in terms of using only highly directional antennas and only point-to-point links. In practice, the use of sector antennas and point-to-multipoint links is common, which is what we have considered. The work in [22] is like ours in its consideration of path delay as a metric. In this, the authors formulate the problem of minimizing the maximum delay in a set of paths. They show this to be NP-complete, and present heuristics to arrive at an appropriate link transmission order. Our work differs from this in several important aspects. The ﬁrst is our consideration of long-distance networks and the resultant angular threshold interference model. On the other hand, [22] considers an interference model in which only links close to each other in the routing tree can interfere. Another important distinction is that [22] minimizes the maximum delay in a set of paths, given a set of bandwidth requirements. As a result of this, [22] does not always ﬁnd a feasible schedule. On the other hand, we maximize the network throughput, assuming a bound on the delay incurred. This is more practical for real-time applications which typically have a hard delay bound. Furthermore, the work in [22] only proposes a heuristic, while our algorithm gives a worst-case bound on the throughput inefﬁciency. We also have evaluated our algorithm on large networks, of a few 100 nodes, which may occur in practice. To summarize, our work is novel in comparison to prior work in terms of its consideration of long-distance networks, and optimizing in the presence of a delay bound. 6 Conclusion Wireless mesh networks using long-distance links have unique properties in terms of the spatial reuse pattern. In this paper, we have considered TDMA scheduling in long-distance networks. We have proposed and substantiated an angular threshold interference model for such networks. We have presented two algorithms for TDMA scheduling. The ﬁrst is a simple algorithm, which produces a TDMA schedule at most 3/2 times as long as the optimal solution. Our evaluation with real as well as random topologies shows that the algorithm performs close to the optimal in practice. Our second algorithm lays emphasis on real-time applications, and considers delay minimization as one of the criteria. It produces a schedule which is at most 4/3 times longer than the optimal solution. Again, our evaluations show that in practice, the solution performs better than the worst case bound in most cases. The problem of optimal TDMA scheduling in wireless mesh networks is closely related to the graph coloring problem, which is a well known hard problem. Our work is novel in that we solve the problem with provable bounds, under the unique angular threshold interference model for long-distance wireless networks. Although we have considered the problem in the context of long-distance networks based on WiFi, our ideas can be applied for other wireless networks too, like WiMAX, so long as we have a network architecture with long-distance links. References [1] P. Bhagwat, B. Raman, and D. Sanghi, “Turning 802.11 Inside-Out,” in HotNets-II, Nov 2003. 13 [2] E. Brewer, M. Demmer, B. Du, K. Fall, M. Ho, M. Kam, S. Nedevschi, J. Pal, R. Patra, and S. Surana, “The Case for Technology for Developing Regions,” IEEE Computer, vol. 38, no. 6, pp. 25–38, June 2005. [3] B. Raman and K. Chebrolu, “Design and Evaluation of a new MAC Protocol for Long-Distance 802.11 Mesh Networks,” in 11th Annual International Conference on Mobile Computing and Networking paper (MOBICOM), Aug/Sep 2005. [4] R. Patra, S. Nedevschi, S. Surana, A. Sheth, L. Subramanian, and E. Brewer, “WiLDNet: Design and Implementation of High Performance WiFi Based Long Distance Networks,” in USENIX NSDI, Apr 2007. [5] B. Raman and K. Chebrolu, “Experiences in using WiFi for Rural Internet in India,” IEEE Communications Magazine, Special Issue on New Directions In Networking Technologies In Emerging Economies, Jan 2007. [6] E. Brewer, M. Demmer, M. Ho, R. Honicky, J. Pal, M. Plauche, and S. Surana, “The Challenges of Technology Research for Developing Regions,” IEEE Pervasive Computing, vol. 5, no. 2, pp. 15–23, Apr-Jun 2006. [7] S. Ramanathan and E. L. Lloyd, “Scheduling Algorithms for Multi-hop Radio Networks,” IEEE Transactions on Networking, vol. 1, no. 2, pp. 166–177, Apr 1993. [8] R. Ramaswami and K. K. Parhi, “Distributed scheduling of broadcasts in a radio network,” in INFOCOM, 1989. [9] K. Chebrolu and B. Raman, “FRACTEL: A Fresh Perspective on (Rural) Mesh Networks,” in NSDR, Sep 2007, a Workshop in SIGCOMM 2007. [10] D. Panigrahi, P. Dutta, S. Jaiswal, K. V. M. Naidu, and R. Rastogi, “Minimum Cost Topology Construction for Rural Wireless Mesh Networks,” in INFOCOM’08 Mini-Conference, Apr 2008. [11] S. Sen and B. Raman, “Long Distance Wireless Mesh Network Planning: Problem Formulation and Solution,” in WWW, May 2007. [12] J. Ashok and R. Sangamitra, “Role of Wireless technologies in connecting rural India,” Indian Journal of Radio and Space Physics, vol. 34, Oct 2005. [13] D. Panigrahi and B. Raman, “TDMA Scheduling in Long-Distance WiFi Networks,” Dept. of CSE, IIT Bombay, Tech. Rep., Aug 2008, http://www.cse.iitb.ac.in/techreport/reports/TR-CSE-2008-16.pdf. [14] M. Garey and D. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979. [15] D. Aguayo, J. Bicket, S. Biswas, G. Judd, and R. Morris, “Link-level Measurements from an 802.11b Mesh Network,” in SIGCOMM, Aug 2004. [16] I. Chlamtac and S. Lerner, “A link allocation protocol for mobile multi-hop radio networks,” in Globecom, Dec 1985. [17] R. Ogier, “A decomposition method for optimal scheduling,” in 24th Allerton Conference, Oct 1986. [18] A. Ephremedis and T. Truong, “Distrbuted algorithm for efﬁcient and interference-free broadcasting in radio networks,” in INFOCOM, 1988. [19] I. Cidon and M. Sidi, “Distrbuted assignment algorithms for multi-hop packet-radio networks,” IEEE Transactions on Computers, vol. 38, no. 10, pp. 1353–1361, Oct 1989. [20] I. Chlamtac and S. Kutten, “A spatial reuse TDMA/FDMA for mobile multi-hop radio networks,” in INFOCOM, Mar 1985. [21] B. Raman, “Channel Allocation in 802.11-based Mesh Networks,” in INFOCOM, Apr 2006. [22] P. Djukic and S. Valaee, “Link Scheduling for Minimum Delay in Spatial Re-use TDMA,” in INFOCOM, May 2007. 14 Algorithm 2 A scheduling algorithm satisfying delay bound of 0 Step-1: Find a maximum matching M1 of the spokes where non-interfering pairs of spokes can be matched Step-2: Let S be the set of spokes unmatched, B1 be the set of pairs of spokes matched under M1 and B2 be the set of hop-1 and hop-2 links corresponding to spokes in S Construct a bipartite graph B comprising vertex sets B1 and B2 , where a vertex u ∈ B1 is connected by an edge to a vertex v ∈ B2 if and only if at least one spoke in the pair u is non-interfering with v Find a maximum matching M2 in B ensuring that in M2 , if only one link of a spoke in S is matched, then that link is the hop-1 link i←0 for each matched pair (u, v) ∈ M where v ∈ B2 is a hop-1 link do Find a spoke among those corresponding to u which is non-interfering with v; call this spoke s1 Let s2 be the other spoke corresponding to u (and sv that corresponding to v) Assign color i + 1 to h2 , i + 2 to g2 , h1 and i + 3 to v, g1 i ← i+3 Delete u, v from M2 Let w be the hop-2 link in sv if w is matched to some vertex x in M2 then Case 2a Let s3 and s4 be the spokes corresponding to x; let s3 and sw (= sv ) be mutually non-interfering Assign color i + 1 to w, h3 , i + 2 to g3 , h4 and i + 3 to g4 i ← i+3 Delete w, x from M2 else Case 2b Assign color i + 1 to w i ← i+1 end if end for Step-3: Arbitrarily pair up vertices in B1 that were not matched in M2 ; call this pairing M3 for each pair (u, v) ∈ M1 do Find a non-interfering pair of spokes, one corresponding to u and the other corresponding to v; call them s1 and s3 respectively; let s2 and s4 be the other spoke of u and v respectively Assign color i + 1 to h2 , i + 2 to g2 , h1 , i + 3 to g1 , h3 , i + 4 to g3 , h4 and i + 5 to g4 Delete u, v from M3 i ← i+5 end for Step-4: if there is a node u ∈ B1 which has not been colored yet then Let s1 , s2 be the spokes corresponding to u Assign color i + 1 to h1 , i + 2 to g1 , h2 and i + 3 to g2 i ← i+3 end if Step-5: Pair up links in B2 which have not been colored yet according to the spoke they belong to; call this pairing M4 for each (u, v) ∈ M2 where u is the hop-1 link do Assign color i + 1 to u and i + 2 to v Delete (u, v) from M4 i ← i+2 end for