Ad Hoc Networks 9 (2011) 453–467
Contents lists available at ScienceDirect
Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc
Immediate neighbor scheduling (INS): An adaptive protocol for mobile ad hoc networks using direct-sequence spread-spectrum modulation Brian J. Wolf ⇑, Harlan B. Russell Dept. of Electrical and Computer Engineering, Clemson University, Clemson, SC, United States
a r t i c l e
i n f o
Article history: Received 8 December 2009 Received in revised form 25 June 2010 Accepted 13 August 2010 Available online 31 August 2010 Keywords: Distributed protocol Mobile ad hoc network Transmission scheduling Direct-sequence spread-spectrum modulation
a b s t r a c t We investigate a new approach for scheduling transmissions in a mobile ad hoc network employing direct-sequence spread-spectrum (DSSS). Multiple-access interference may be better tolerated in these systems, allowing higher levels of spatial reuse and a reduction in the overhead required to schedule transmissions. We present a protocol which leverages these features of DSSS to support greater end-to-end throughput and terminal mobility rates. A protocol extension allows terminals to adjust protocol overhead in order to preserve network connectivity in sparse networks. For each transmission, terminals use a combination of common and transmitter-oriented spreading sequences in a format which allows for discovery of nearby terminals and adaptation of transmission rates to maximize throughput. The protocol does not operate over an artificial network graph, nor does it require an initialization phase or two-way exchange of information during a transmission slot. Through simulations, we evaluate the performance of the transmission scheduling protocol in a variety of static and mobile scenarios. For comparison, we also simulate a centralized transmission scheduling protocol with perfect knowledge of topology. Ó 2010 Elsevier B.V. All rights reserved.
1. Introduction Distributed transmission scheduling protocols have been well-studied in the context of mobile ad hoc networks (MANETs). Schedule-based channel access offers distinct benefits over contention-based access, such as stable throughput during periods of high traffic loads, and reduced delay jitter. There are many scenarios in which the benefits of scheduled access outweigh the overhead required to schedule transmissions, such as networks providing real-time services with delay constraints, or mobile backbone networks which must carry a large amount of network traffic. A common approach in the design of transmission scheduling protocols is to first identify links to be scheduled, then develop a schedule that meets a set of criteria, such as collision-free node or link activation, sensitivity ⇑ Corresponding author. Tel.: +1 864 723 0970. E-mail address:
[email protected] (B.J. Wolf). 1570-8705/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.adhoc.2010.08.018
to traffic load, or minimized end-to-end delay. This approach is suitable when the network topology is represented by an artificial graph; vertices in the graph represent wireless terminals and edges in the graph represent communications links and interference patterns. However, graph-based models of the physical layer do not capture many of the problems encountered in real wireless networks, such as signal fading proportional to transmission distance and the effect of aggregate interference from distant transmitters. In contrast, we consider scheduling under a physical interference model which accounts for the effects of signal fading and aggregate interference. Under this model, the transmission schedule determines the multiple-access interference (MAI) patterns in the network, and thus influences the set of available communications links. Even if strongly interfering terminals are suppressed through scheduling, certain links may be vulnerable to aggregate MAI from distant transmitters, making them useful only at certain times. We address the interaction between
454
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
transmission schedules and network topology by specifying not only which transmitters are activated in each time slot, but which links can be successfully activated by each transmission. We assume network membership and topology is dynamic. Terminals operate on a single communication channel, and may not simultaneously receive and transmit. Packets are transmitted using direct-sequence spread-spectrum (DSSS), and transmissions must satisfy a signal-to-interference-plus-noise (SINR) threshold at a receiver which is actively correlating with the transmitter’s sequence to be successfully received. A terminal has no knowledge of the signal path or channel gain, but is able to form an estimate of the SINR for a received packet. The contribution of this work is a cross-layer, distributed broadcast transmission scheduling protocol which achieves improved spatial reuse and reduced overhead in DSSS systems when compared to standard scheduling approaches. This results in better performance for endto-end traffic in many network scenarios, as well as significantly faster schedule adaptation in mobile ad hoc networks. The protocol allows terminals to identify communications links to neighboring terminals and the times at which these links may be activated to support point-topoint and broadcast transmissions. For point-to-point transmissions, terminals use estimates of link performance to increase data rate on links with a high SINR. Terminals also employ a queue management policy designed to take advantage of variable link data rates and reduce control packet overhead. We develop efficient methods for sharing additional topology information between terminals when network connectivity demands it. We evaluate the performance of the protocol in terms of end-to-end throughput, delay, and completion rate in random networks. The remainder of the paper is organized as follows: in Section 2, we describe related approaches to the transmission scheduling problem. In Section 3, we define the channel and receiver model used in protocol development, as well as the algorithm used to activate transmitters. The transmission scheduling protocol is presented in Section 4. Simulation results are presented in Section 5, followed by conclusions. 2. Related work The time-slot assignment problem may be viewed, in its most general form, as the problem of assigning transmission opportunities to network terminals in a repeating frame to satisfy some set of constraints [1]. Often, these constraints take the form of link activation to support unicast transmissions or node activation to support broadcast transmissions [2]. Additional objectives may include designing schedules which minimize end-to-end delay [3,4], balance traffic loads [5–7], or minimize the length of the repeating transmission frame to enable more frequent transmissions [8]. There are many centralized algorithms for computing time-slot assignments based on some criteria, such as [9–12]; however, the focus here is on mobile ad hoc networks with no centralized control,
leading us to consider only distributed protocols which do not require global information. A standard approach for developing distributed scheduling protocols is to model the network as a graph G = (V, E), where the vertex set V represents the wireless terminals and the edge set E represents links between terminals that may communicate directly. Two terminals are deemed 1-neighbors if they are connected by an edge, or 2neighbors if they have a common 1-neighbor. A terminal in receive mode can receive a transmission from a 1-neighbor if all of its other 1-neighbors are silent; if two or more 1neighbors transmit at the same time, a collision results and no packets are received. Collision-free schedules are designed to prevent this type of packet loss. In the case of broadcast transmission scheduling, collision-free schedules may be generated by ensuring that each terminal has a unique transmission slot among its 1- and 2-neighbors. Hence, the scheduling problem may be formulated as a graph coloring problem in which each radio is assigned a unique color among its 1- and 2-neighbors [13,14]. In [15], an existing collision-free schedule is locally adapted in response to topology changes caused by terminal mobility by exchanging a series of handshaking messages with nearby terminals. Other graph-based distributed scheduling approaches use reservation periods or random priority generation instead of colors to assign slots. In [16] a schedule is constructed by iterating through several rounds in which terminals run a lottery for requesting slots. After the lottery is completed terminals begin using the schedule. In [17] a schedule is formed during periodic contention phases during which terminals reserve transmission slots in later transmission frames. In [18], each transmission frame is preceded by bootstrap slots in which terminals make reservations for transmissions in the following frame. In [19], each terminal is assigned a random number seed which is shared with 1- and 2-neighbors. In each slot, if a terminal has a packet to transmit it becomes active with probability p using its own seed. Transmissions are not collision-free, but the frequency of collisions is greatly reduced. Also, there is no transmission frame, so channel access delay varies from one transmission opportunity to the next. Similarly [20] also does not use a transmission frame. Hash functions are used to compute random priorities for terminals in each time slot, and a terminal may transmit if it has the highest priority among its 1- and 2neighbors. A conflict graph may further be used to model interference between communications links by representing each link as a vertex in the conflict graph, and drawing edges between links if they cannot be successfully activated together, as done in [7] and [21]. However, multiple-access interference is not an all-or-nothing phenomenon, but a cumulative effect. Results in [21] and [22] show that schedules developed under a graph-based model exhibit degraded performance under the physical interference model due to the cumulative effect of interference. Coordinated Distributed Scheduling (CDS), developed for the IEEE 802.16 Mesh mode, reduces MAI by utilizing an extended 3-hop transmission scheduling mode (via ExtendedNeighborType), resulting in increased overhead and decreased
455
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
spatial reuse. In [23] it is shown that extension to a 3-hop mode does not always prevent collisions (taken here to mean interference leading to transmission failure) under more realistic channel models. Their proposed modification to CDS, termed collision-free CDS or CF–CDS, allows terminals to detect collisions and adapt the schedule when necessary. We develop a robust distributed protocol in physical interference model which leverages the multiple-access capability of DSSS to achieve greater spatial reuse of the channel. A theoretical basis for this approach is given in [24], which uses the concept of a guard zone. A guard zone is a region around a receiver in which interfering transmissions are prohibited; this helps to ensure that a transmission from a primary transmitter is successful. The work in [24] shows that the transmission capacity of DSSS systems is maximized when the guard zone around each receiver is less than the transmission range, taking advantage of the interference mitigation provided by DSSS. For the protocol developed in this work, a terminal considers only those terminals within transmission range to schedule transmissions; this results in a smaller guard zone around each receiver. The DSSS system in [25] also uses a smaller guard zone around receivers; however, they pair this with CSMA/CA instead of scheduled access. The protocol developed in this work also differs from typical approaches because it allows transmission rate adaptation in response to changes in link quality. The work of [26] shows that transmission rate adaptation based upon slow-varying channel conditions improves the information efficiency of a link. Our protocol allows a network terminal to identify neighboring terminals, determine whether that neighbor should be used for forwarding packets, and determine an appropriate transmission rate based on estimation of link quality. 3. System design 3.1. Channel model Throughout this paper, we assume terminals communicate over a common channel using DSSS modulation with a fixed chip rate. All terminals use identical transmission power. Link gain is symmetric between two terminals, and constant for the duration of a transmission slot. Terminals are synchronized to slot boundaries using an external GPS signal, as described in [17] or they may establish local synchronization in a distributed manner similar to [27]. We assume a transmission is successfully received only if the SINR at the receiver exceeds a threshold, b. Specifically, when a link (i, j) is activated for a transmission from terminal i to terminal j, the SINR for the link, denoted ni;j , must satisfy
ni;j ¼
Pr ðiÞNi;j T c P > b: N0 þ 8k–i Pr ðkÞT c
ð1Þ
In the above calculation, Pr(i) is the power received from terminal i at j, Tc is the chip duration, Ni,j is the spreading factor employed for this transmission, and N0 is the receiver noise. This model for DSSS modulation assumes spreading codes are pseudo-noise (PN) sequences and the
sequences are long enough so that there are a large number of possible sequences. We assume spreading sequences are pre-assigned to terminals and automatically provided to all other terminals. 3.2. Receiver model To simulate the capture effect, we consider two distinct cases: transmissions using a common spreading code known to all terminals, and transmissions using a transmitter-oriented spreading code with a unique code for each transmitter (see [28]). For common-code transmissions, if several terminals begin transmitting at the start of a time slot, we assume the slight clock differences at the transmitters and variations in propagation times cause the signals arriving at receiver j to be chip-asynchronous, enabling capture of a single transmission. We model capture as follows. In a time slot in which all transmitters employ a common spreading code, each receiver j calculates the SINR for each transmitter i and forms the set Sj fijni;j > bg of candidate signals to capture. If Sj is not empty, j randomly selects one element from the set using a uniform distribution. This capture model reflects the message-retraining capture model described in [29] with retraining threshold cMR ffi b. For time slots in which all transmitters employ transmitter-oriented spreading codes, a receiver must pre-select a transmitteroriented code to monitor, and successful packet reception occurs only if the transmitter is active and the SINR requirement in (1) is satisfied. 3.3. Scheduling algorithm We employ a distributed scheduling algorithm developed by Lyui [30], and a description of the algorithm and its properties is found in [31]. To schedule transmissions for a given terminal i, we define the neighborhood of i as the set of terminals with which i must share the channel (in Section 4 we explain how i builds its neighborhood). Lyui’s algorithm uses color numbers to assign transmission slots to i based upon its neighborhood, and requires that i has a color number which is unique in its neighborhood. In each slot t, terminal i generates a priority to transmit, P(i, t), as
Pði; tÞ ¼
ci ; t mod pðci Þ ¼ ci mod pðci Þ 0;
otherwise
ð2Þ
where ci is the color number assigned to i and p(ci) is the smallest power of 2 greater than or equal to ci. Terminal i transmits in slot t when it generates the largest transmission priority among its neighbors. The transmission frame determines the rate at which the schedule repeats, and the frame length calculated at i is the smallest power of two greater than or equal to the maximum color number among i and its neighbors. Frame lengths vary across the network depending on local terminal density; however, since the frames are all a power of two, they nest together evenly. Terminals are guaranteed to transmit at least once per frame, and possibly in additional slots based depending on neighborhood membership and coloring.
456
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
Lyui’s algorithm was initially designed to generate collision-free transmission schedules under a graph-based channel model; this requires that all 1- and 2-neighbors be included in the neighborhood used for scheduling transmissions. However, the algorithm is easily extended to operate with any arbitrary channel model; the level of MAI permitted is determined by the size of the neighborhood used for scheduling transmissions. A larger scheduling neighborhood reduces MAI at the cost of reduced spatial reuse, while a smaller scheduling neighborhood allows terminals to transmit more often, but under increased levels of MAI. 4. Immediate neighbor scheduling The multiple-access capability of DSSS modulation motivates a different design philosophy for transmission scheduling protocols since transmissions can be received in the presence of interference from other users. In particular, terminals may use a smaller neighborhood to schedule transmissions, resulting in greater spatial reuse and less control overhead. Suppose a network of nine terminals is constructed so that there are three clusters of three terminals apiece, arranged as shown in Fig. 1. Terminals in cluster 1 can communicate directly with terminals in cluster 2, and terminals in cluster 2 can communicate directly with terminals in cluster 3, but terminals in clusters 1 and 3 cannot communicate directly. Two scheduling scenarios are examined: (a) The neighborhood of a terminal used for scheduling transmissions consists of all terminals within two hops. (b) The neighborhood of a terminal consists of all terminals within one hop.
In scenario (a) only one terminal may transmit per slot, allowing each terminal in cluster 2 to establish links with each terminal in clusters 1 and 3. In scenario (b), when two terminals in clusters 1 and 3 which are assigned the same color number transmit simultaneously, the terminals in cluster 2 can capture only one of the transmissions, even if both may satisfy the SINR requirement in Eq. (1). As a result, terminals in cluster 2 can establish up to three bidirectional inter-cluster links. Fig. 2 shows two topologies corresponding to the two scenarios, where lines represent bidirectional communications links between terminals. Despite the loss of some communications links, connectivity between clusters is maintained in scenario (b). The advantage to this is that instead of transmitting in 1 out of 9 slots on average, as in scenario (a), terminals are able to transmit in 1 out of 6 slots on average – a gain of 50%. At the same time, the diameter of the network increases from 2 to 3; however, only a fraction of the network traffic is affected by this increase. Also, in a mobile ad hoc network, the schedule changes whenever the neighborhood membership changes. Since scenario (b) uses a smaller neighborhood for scheduling, the schedule changes less frequently in mobile scenarios, and less information must be exchanged to adapt the schedule. The benefit of using a smaller neighborhood to schedule transmissions in conjunction with DSSS modulation motivates the design of our protocol. Since the protocol collects information only from terminals which are near at hand to schedule transmissions, we denote this approach as the immediate neighbor scheduling (INS) protocol. The protocol defines how terminals collect, exchange, and use neighbor information, which is then used by Lyui’s algorithm to schedule transmissions. 4.1. INS overview
Each terminal is required to have a unique color number in its neighborhood, so scenario (a) requires nine total colors. In scenario (b) the two non-neighboring clusters reuse colors, requiring six total colors.
Cluster 1
Cluster 2
Cluster 3
Fig. 1. Example network with nine terminals arranged into three clusters.
(a)
1
4
7
5
2
The key properties of the INS protocol are summarized as follows: Transmission slots are divided into an identification interval and a data interval (see Fig. 3). The neighborhood used by Lyui’s algorithm for scheduling transmissions is based upon neighbors detected during identification intervals. Terminals maintain basic information about neighbors using a neighbor table. Terminals in receive mode use a receive vector to determine which neighbor transmits in each slot. The receive vector for terminal i is denoted r(i). If element rik of r(i) is equal to j, then i attempts to receive a packet from neighbor j in slot k of the frame.
(b)
1
4 5
2
8 9
3
6
7 8 9
3
6
Fig. 2. Network topology for scenario (a), where the neighborhood is all terminals within two hops, and for scenario (b), where the neighborhood is all terminals within one hop.
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
frame for terminal m 1
2
n
3 slot
flag bits identification interval
data or control packet data interval
Fig. 3. Formatting of transmission slots.
Terminals in transmit mode use a transmit matrix to determine which neighbors may receive a transmission in the current slot. The transmit matrix for terminal i is denoted T(i). Element t ij;k of T(i) is equal to 1 if neighbor j configures its receiver to detect a packet from i in slot k, and 0 otherwise. Entries in the neighbor table are formed by receiving a FLAG packet in the identification interval. Entries in r(i) are formed by receiving a packet in the data interval. Entries in T(i) are formed via exchange of periodic neighbor acknowledgement, or NBR_ACK, control packets. Neighbors are grouped into two sets. The communicable neighbor set of i, N i1 , is the set of nearby terminals for which bidirectional communication is possible. The detectable neighbor set, N i2 , is the set of nearby terminals for which communications links are intermittent or unidirectional. Each terminal maintains a color number that is unique among the terminals in its neighborhood. If terminal i detects a neighbor with an identical color number, then i selects the smallest unused color number to be its new color number. 4.2. INS description Transmissions during the identification interval use a common spreading code to facilitate detection of neighboring terminals, while transmissions during the data interval use a transmitter-oriented spreading sequence unique to the transmitting terminal. When terminal i is assigned to transmit in slot k, it transmits a FLAG packet in the identification interval with probability ½. A FLAG packet from i contains the ID and color number of i. Fewer terminals transmit in the identification interval, so multiple-access interference is much lower during this time and neighbors are more easily detected. If i does not transmit a FLAG in the identification interval, i may receive a FLAG from another transmitter, even if i transmits in the data interval. Since transmissions during the data interval use a transmitter-oriented spreading sequence, the receive vector for terminal i, r(i), allows i to determine which transmitteroriented spreading code to monitor in each slot in which it does not transmit. The transmit matrix of i, T(i), specifies, for each slot, which terminals monitor i’s unique spreading sequence. The neighbor table of i stores terminal ID, color number, link parameters (outgoing link SINR estimate,
457
transmission rate, and cost for use in routing), and expiration slots for the neighbor table entry, r(i), and T(i). Entries in the neighbor table, r(i), and T(i) expire after a period of time if they are not refreshed so that the schedule remains efficient as neighbors cease operating or move away. The neighbor timeout parameter, Nto, determines the number of transmission frames to store information that is not refreshed. When i receives a FLAG from terminal j in slot k, the information for j in the neighbor table is updated and the neighbor table entry’s expiration slot is set be 2niNto slots from the current slot, where ni is the frame length calculated by i. When i receives a packet from terminal j in the data interval of slot k, i sets r ik ¼ j, and sets the receive vector expiration slot for entry rik to be niNto slots from the current slot. Using a longer timeout for neighbor table entries is intuitive since it promotes greater stability in neighborhood membership in situations where link SINR degrades slowly due to increasing distance between a transmitter and receiver. Entries in T(i) are formed via periodic exchange of NBR_ACK packets. A NBR_ACK packet transmitted by terminal j contains the receive vector of j (r(j)), an estimate of the incoming SINR (^ ni;j ) for each terminal i listed in r(j), and a slot utilization measure U j . The SINR estimates are used for transmission rate adaptation; this is described in Section 4.7. The SINR estimates are also used, along with the slot utilization measure, to calculate link costs, and this is described in Section 4.8. For each terminal i that receives this NBR_ACK packet, i sets tij;k ¼ 1 for all slots k such that r jk ¼ i. It also sets the transmit vector expiration slot for entry tij;k to be niNto slots from the current slot. Lastly, i updates its neighbor table with the outgoing link SINR estimate to j. To ensure periodic broadcast of NBR_ACK packets, when terminal j transmits a NBR_ACK packet, j schedules another NBR_ACK packet to be transmitted in a slot uniformly distributed in the interval ðnj Nto Þ ; ðnj N to Þ slots from the current slot. NBR_ACK 2 packets are also automatically generated when a packet is received in the data interval from a terminal that is not listed in the receive vector. There are two ways in which a terminal may receive a packet in the data interval from a terminal not listed in the receive vector. During slot k, if terminal i is in receive mode and r ik ¼ 0 (i.e., no transmitter is associated with the current transmission slot), then if i receives a FLAG from a terminal j, we assume i processes the information in the FLAG, obtains the spreading code used by j during the data interval, and then attempts to receive a packet from j in the data interval of slot k. If rik ¼ 0 and no FLAG is received, i attempts to receive a packet from the terminal in its neighbor table with the highest transmission priority in the current slot (if multiple terminals satisfy this then a simple tie-breaker, such as lowest ID, is used). Successful packet reception from terminal j in the data interval of slot k allows i to set r ik ¼ j. Every terminal is required to have a unique color number among the terminals listed in its neighbor table. If after updating its neighbor table, a terminal has the same color number as one of its neighbors, it changes its color number to the smallest color number not found in the neighbor table. If, after updating neighbor information, the neighbor
458
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
table information is inconsistent with the receive vector or transmit matrix, then the invalid entries in r(i), and T(i) are automatically corrected. This happens if a neighbor j changes its color, for example, from 1 to 2. Neighbor j can no longer transmit in slot 1. If r i1 ¼ j, then i sets ri1 ¼ 0. If r i2 ¼ 0, i sets ri2 ¼ j; otherwise ri2 does not change. The neighbors of terminal i are divided into two sets: detectable neighbors, N i2 , and communicable neighbors, N i1 . For a neighbor j, if rik ¼ j for some slot k, and tij;l ¼ 1 for some slot l, then j 2 N i1 ; otherwise, j is a member of N i2 . The reason for this separation is that, due to varying levels of MAI, not all links are bidirectional. Unidirectional links are not reliable since transmission of NBR_ACK packets fails in one direction. Consequently, the link cost to neighbors in N i2 is set to infinity so they are not considered for routing multi-hop data traffic. 4.3. INS example: neighbor detection and initial schedule configuration In this section we consider an example network during initialization to illustrate how terminals using the INS protocol discover neighbors and build their neighbor tables. The example network contains six terminals, A, B, C, D, E, and F, arranged in a linear configuration. A terminal may communicate directly with adjacent terminals; for example, C can transmit to B or D, but not to E. In Fig. 4, each row corresponds to a time slot, and the color, transmission, and reception status for each terminal is shown in each slot. Initially, each terminal is assigned color 1. The minimum frame length is four slots. In slot 1, we assume terminals B and D transmit NBR_ACK packets. B also transmits a FLAG packet in the identification interval. The FLAG from B is received by A and C, allowing them to obtain B’s spreading code. A and C add B as a neighbor, receive the NBR_ACK from B, and generate their own NBR_ACKs to reply to B. Since B has color 1, A and C both change their color to 2. D’s transmission is unsuccessful because C and E have not yet detected D and do not know to monitor D’s spreading code. In slot 2, A and C are eligible to transmit because they now have color 2. We assume A transmits its NBR_ACK without a FLAG, while C transmits both a FLAG and its
NBR_ACK. B detects the FLAG from C, adds C as a neighbor and receives the subsequent transmission from C in the data interval; no color change is necessary. In slot 3, we assume E generates a NBR_ACK packet; E has color 1, and by (2) E is a candidate to transmit in slot 3. E transmits both a FLAG and its NBR_ACK. The FLAG is detected by D and F, and this allows them to receive the NBR_ACK from E and update their neighbor tables. D changes its color to 3 since it now has detected neighbors with colors 1 and 2. F changes its color to 2 since it has only detected a neighbor with color 1. In slot 4, we assume A generates a periodic NBR_ACK packet; A transmits a FLAG and the NBR_ACK. B receives the FLAG and updates its receive vector, r(B), to receive from A in slot 4 of each frame. We now examine the neighbor table of B, r(B), and T(B) at the end of slot 4. B has detected two neighbors: A and C. B received a packet from C in slot 2 and a packet from A in slot 4, so r(B) = (0, C, 0, A). The NBR_ACK received from C in slot 2 informs B that it can transmit a packet to C in slot 1 of the frame. The NBR_ACK received from A in slot 4 informs B that it can transmit a packet to A in slots 1 and 3. Thus, the non-zero entries of T(B) are t BA;1 ; t BA;3 , and tBC;1 . Lastly, the set of communicable neighbors for B is N B1 = {A,C}since A and C appear in the receive vector and have non-zero entries in the transmit matrix. 4.4. Extending INS to low-density networks using selective collision elimination In a network with a low spatial density of terminals, each terminal tends to have few neighbors and a connected network topology is difficult to achieve. Consider again the example in Fig. 4; each link is essential for connectivity. At the end of slot 4, B can communicate with A and C because they are both members of N B1 . However, C’s receive vector is r(C) = (B, 0, B, 0). D is not listed in r(C), so D is a member of N C2 . Since the schedule does not support bidirectional communication between C and D, the network becomes disconnected (i.e., there is no route between one or more source–destination pairs). For this example, under ideal circumstances each network terminal establishes a bidirectional communications
Slot # 0
Possible Transmit & Receive Scenarios A
B
C
D
E
F
1
1
1
1
1
1
2
1
2
1
1
1
2
1
2
1
1
1
2
1
2
3
1
2
1
2
3
Transmit Data Transmit FLAG & Data Receive Data Receive FLAG & Data Receive FLAG
4
Receive FLAG & Transmit Data Fig. 4. Example illustrating neighbor detection and color selection via FLAG reception.
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
link with each adjacent terminal, resulting in a connected network topology. A centralized algorithm may easily accomplish this by configuring the transmission slots and receive matrix of each network terminal. A distributed protocol, like the INS, may require additional cooperation between terminals to achieve a connected network topology. In the following example, we show how exchange of additional neighbor information allows terminals to establish additional bidirectional links and achieve a connected network topology. This process, called selective collision elimination, uses network control messages, termed BLOCK packets, to allow terminals to create additional neighbor table entries for nearby terminals which cannot be detected via FLAG transmissions. In practice, a terminal only needs to know about a few of these non-immediate neighbors in order to recover links necessary for connectivity. The message contained in a BLOCK packet is a fourtuple (a, t, c, b), where a is the ID of a neighbor, t is a slot number, c is a color number, and b is another terminal ID representing the intended recipient of the BLOCK message. When terminal i receives a BLOCK packet with message (a, t, c, b), i adds terminal a to its neighbor table and, if necessary, changes its color to maintain a unique color among the terminals in its neighbor table. We continue the six-terminal network example from Fig. 4 to demonstrate how BLOCK packets allow important links to be recovered. The next sequence of slots is shown in Fig. 5 starting with slot 5 (slot 1 of the 4-slot frame). In slot 6, assume A transmits in both the identification and data intervals while C transmits only in the data interval. This allows B to detect that two terminals are transmitting in the same slot if B captures the FLAG from A and receives the packet from C (the receive vector of B is
r(B) = (0, C, 0, A)). In the next section, we describe rules to determine when a terminal should generate a BLOCK packet. For this example, assume B responds to detection of two transmitting terminals in this slot by generating a BLOCK packet with message (C, 2, 2, A). This message is constructed to inform terminal A that terminal C also transmits in slot 2 of each frame with color 2. In slot 7, B transmits the BLOCK packet. Terminal A receives the BLOCK packet and learns of terminal C, which also has color 2; A adds C to its neighbor table and changes its own color to 3. Meanwhile, terminal D transmits in the identification and data intervals of slot 7. C detects two terminals transmitting in the same slot when it receives the FLAG from D and the BLOCK packet from B. Assume C constructs a BLOCK packet with message (D, 3, 3, B). C waits until slot 10 to transmit the BLOCK packet, since tCB;2 ¼ 1 and slot 10 is slot 2 of the transmission frame. No color change results from this BLOCK packet. At this point, the network supports multi-hop communications between any pair of terminals. BLOCK packets introduce additional network control overhead, and the information contained in them introduces additional scheduling constraints which reduce the level of spatial reuse in the schedule. Thus, the difficulty in implementing selective collision elimination lies in balancing additional overhead with more robust network connectivity. We investigate two methods for implementing selective collision elimination. The method described in Section 4.5 employs a simple, fixed SINR threshold which is used by terminals to determine whether or not to employ selective collision elimination. The method described in Section 4.6 identifies links which are critical for connectivity, and uses
Slot # A
B
C
D
E
F
2
1
2
3
1
2
2
1
2
3
1
2
2
1
2
3
1
2
5 (1)
6 (2) ! 7 (3)
B(C,2,2,A)
!
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
8 (4)
9 (1)
10 (2)
11 (3)
459
B(D,3,3,B)
3
1
2
3
1
2
3
1
2
3
1
2
12 (4)
Fig. 5. Six-terminal network example showing collision elimination with BLOCK packets.
460
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
selective collision elimination only when significant MAI threatens these links. 4.5. Implementing selective collision elimination with a fixed threshold A common blocking threshold parameter, BT, shared by all terminals, represents the minimum SINR for a received packet that causes a BLOCK packet to be created. When terminal i receives a FLAG transmission in slot t from terminal j, i forms an SINR estimate ^ nj;i for the received FLAG. If rit –j and ^ nj;i > BT, then i creates a BLOCK message. Letting r it ¼ k, if cj > ck , the BLOCK message is (j, t, cj, k). Otherwise, the BLOCK message is (k, t, ck, j). A lower value for the BT allows for more BLOCK packets to be created. If BT is set to 0, then terminal i generates a BLOCK whenever it receives a FLAG packet from a terminal for which it is not scheduled to receive from during that data interval of the same slot. The resulting schedule is very close to a collision-free broadcast schedule, but the overhead to achieve this can be significant. As a result, while a low value of BT is valuable in networks where connectivity is an issue, it becomes a liability (in terms of overhead) when connectivity is robust. If a larger value of BT is used, then a BLOCK packet is generated only when the transmitter identified in the FLAG is a strong source of interference during the data interval. 4.6. Implementing selective collision elimination with a variable threshold Each terminal i calculates a blocking threshold btj for each neighbor j based upon the incoming link SINR estimate for that neighbor, ^ nj;i , as:
btj ¼
Nmax 1 ^ nj;i 1 : b 2
ð3Þ
The calculation in (3) sets bt j to one half the level of interference that prevents i from receiving a packet transmitted by j. Dividing this threshold by 2 is done for robustness: link SINR estimates are generally not exact, and may vary from one time slot to another depending upon transient conditions. In this method, the routing table of i is used in conjunction with the neighbor blocking thresholds to determine when to create a BLOCK packet. A BLOCK packet may be created in two cases. In the first case, if i receives a FLAG transmission from j in slot t, and there is currently no route to j, and rit – j, then i creates a BLOCK packet with message (j, t, cj, k), where k ¼ r it (note this does not depend upon btj ). Terminal i also sets rit ¼ j. When terminal k receives this BLOCK packet, k adds j to its neighbor table and, if necessary, changes its color. With j added to the neighbor table, k will no longer transmit in slot t, and it is easier for j to become a communicable neighbor of i. Since no route to j existed previously, this improves network connectivity. In the second case, if i receives a FLAG transmission from a neighbor k in slot t, and there exists some other terminal j for which r it ¼ j, btj < ^ nk;i , and the next hop for routing packets to j is j itself, then i creates a BLOCK packet
with message (j, t, cj, k). When terminal k receives this BLOCK packet, k adds j to its neighbor table and, if necessary, changes its color. This ensures that i can continue receiving NBR_ACK packets from j, so that link (i, j) may continue to be used for forwarding packets. By using the routing table and a variable threshold to determine when to generate BLOCK packets, terminals are better able to control the additional overhead of selective collision elimination. A terminal always generates a BLOCK packet when network connectivity is improved, and it also generates BLOCK packets to protect links that are used for forwarding packets. 4.7. Transmission rate adaptation and queue management in the INS protocol In this section we describe the rules for transmission rate adaptation during transmission of unicast data packets, and how this interacts with the packet queue at each terminal. When terminal i transmits a unicast data packet to neighbor j, the outgoing link SINR estimate reported by the NBR_ACK packets, denoted ^ ni;j ; may be used to adjust the spreading factor to take advantage of links with high SINRs. Utilizing the maximum spreading factor, Nmax, i can transmit one packet in the payload interval. When ^ ni;j is above a threshold, i reduces the spreading factor to increase the data rate. For the investigations reported in this paper, i can reduce the spreading factor by a factor of 2 or 4 as shown in Table 1. A 3 dB margin must be satisfied before terminals attempt to increase the spreading factor. Broadcast data, BLOCK, and NBR_ACK packets are always transmitted using the maximum spreading factor. Queue management is utilized to exploit spreading factor adaptation and to reduce control packet overhead. In a slot in which a terminal is scheduled to transmit, it scans its queue for candidate packets. Broadcast data, BLOCK, and NBR_ACK packets are always candidates for transmission; if the first candidate packet is a broadcast data, BLOCK, or NBR_ACK packet, the search stops and the packet is transmitted. A unicast data packet is a candidate only if the next hop for the packet is listed in the transmit matrix for this slot. If the first candidate packet is unicast data packet, and the next hop is a neighbor for which a reduced spreading factor will be employed, then the search continues for other candidate unicast data packets which may be sent using a reduced spreading factor. If no candidate packet is found, the terminal does not transmit in the data interval. Fig. 6 shows several allowable transmission scenarios. When a BLOCK message is created, it is added to the tail of the queue. A collision event is typically detected at
Table 1 Allowable transmission modes for various link SINR estimates. Outgoing link SINR estimate
Link spreading factor
Maximum link rate
b<^ ni;j 6 4b ^i;j 6 8b 4b < n
Nmax
1 packet per slot
Nmax/2
2 packets per slot
8b < ^ ni;j
Nmax/4
4 packets per slot
461
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
j1
j2 j3
i Payload (1x)
Flag (p=0.5)
(A) use for low-SINR link to j3 Payload (2x)
Payload (2x)
Flag (p=0.5)
(B) use for intermediate-SINR link to j2 Flag (p=0.5)
Payload (4x)
Payload (4x)
Payload (4x)
Payload (4x)
(C) use for high-SINR link to j1 Flag (p=0.5)
Payload (2x)
Payload (4x)
Payload (4x)
(D) Mixed strategy: unicast multiple packets to receivers j1 and j2 Fig. 6. Example showing feasible transmission scenarios for unicast data packets from terminal i.
several terminals, causing each terminal to create a BLOCK message. A terminal with high traffic load should not preempt a data packet to transmit a BLOCK packet because a neighboring terminal with a lower traffic load may be able to transmit the BLOCK packet without preempting a data transmission. When a BLOCK packet is received by a terminal, all BLOCK messages in the receiving terminal’s queue which have identical messages are removed from the queue. This prevents redundant BLOCK messages from being transmitted multiple times. NBR_ACK packets contain time-sensitive information, so they are always inserted at the head of the queue. 4.8. Calculation of link costs in the INS protocol Only communicable neighbors are used by the protocol to forward data traffic. Each terminal computes a link cost to each of its communicable neighbors using parameters, such as link rate, slot utilization, and link SINR, which are stored in its neighbor table. The link costs may be used by a routing protocol to compute min-cost routes other terminals in the network. The cost metric computed by terminal i for a neighboring terminal, j, is
Cost i;j ¼
fð^ni;j Þð1 þ U j Þ : ETRðiÞ LinkRateði; jÞ
ð4Þ
In (4), ETR(i) represents the effective transmission rate of terminal i, calculated as the number of slots in each frame in which i transmits divided by the frame length of terminal i. LinkRate(i, j) is the number of packets per slot which may be sent over this link, and this depends upon the outgoing link SINR estimate ^ ni;j . The factor U j is a number between 0 and 1 which represents the long-term average slot utilization for terminal j, measured as the fraction of transmission slots assigned to j in which j transmits a packet (data or control). Links with low SINR estimates are more sensitive to MAI and channel variations. A scaling
function, fðxÞ; increases the cost of low-SINR links so that high-SINR links are utilized, when available, for forwarding packets. fðxÞ is defined as
8 x6b > < 1; Þ; b < x 6 2b fðxÞ ¼ 1 lnðxb b > : 1; x > 2b
ð5Þ
5. Simulations In this section we analyze the performance of Immediate Neighbor Scheduling using simulations. For each simulation, 100 terminals are placed at random locations in a 1000 1000 m square grid with a uniform distribution. Performance results are averaged over 100 networks. Average neighbor density is controlled by setting the transmission power. End-to-end packet statistics are used to compare the performance of schedules which use a 2-hop neighborhood, as used in collision-free graph-based schedules, and immediate neighbor schedules, which use a smaller neighborhood to schedule transmissions. In the subsequent section, we discuss settings used in simulations. This is followed by a description of the centralized scheduling protocol used for comparisons to INS. After that, we present steady-state end-to-end traffic measurements for networks with stationary terminals. In the final section we describe a new mobility model, and present end-to-end traffic measurements for networks with mobile terminals. 5.1. Simulation settings We define the Nto parameter, which determines how quickly neighbor table entries expire and how often NBR_ACK packets are generated, to be 16 frames. The channel parameters used in simulations are listed in Table 2. The power received from transmitter i at receiver j is
462
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
2-neighbors to ensure a collision-free schedule. All other details of the BTS are identical to the INS protocol, including routing, queueing policies, control overhead (NBR_ACK packets), adaptation of spreading factors, and the requirement on SINR given by (1). Note that while BTS results in collision-free transmission schedules under the graphbased connectivity model, transmissions still fail in our simulation if (1) is not satisfied.
Table 2 Channel parameters used in simulations. Parameter
Value
b Tc N0 Nmax k
8 2.9e7 s/chip 4.0e21 J/Hz 32 0.125 m 3.5
a
5.3. Steady state throughput results
k 4pdi;j
a ;
ð6Þ
and depends on the transmitted energy P t ; the wavelength k of the carrier frequency, the transmission distance di;j , and the path-loss exponent a. To simplify interpretation of results with different neighbor densities, we define the communications range of a terminal, denoted R, as the maximum distance between the transmitter and receiver distance satisfying (1) assuming no MAI and use of the largest spreading factor, Nmax. Given R, we set the transmission power, Pt, as
Pt ¼
a 4pR bN0 : k T c N max
ð7Þ
Unicast data packet generation is modeled as a Poisson process with rate c; and at the time of packet creation the source and destination for the packet are assigned by randomly selecting two distinct terminals. A centralized implementation of Dijkstra’s algorithm computes min-cost routes between each pair of terminals based upon the link costs stored at each terminal. The forwarding table at each terminal is automatically updated to use the min-cost route. In simulations, min-cost routes are recomputed every 64 time slots based on the current link costs. In simulations, packets are not acknowledged, nor are dropped packets retransmitted. Packets are dropped in four situations. A terminal may enqueue up to 20 packets (data and control); a packet arriving to a full queue is dropped. If a packet arrives at a terminal which has no route to the packet’s destination, the packet is dropped. A packet is dropped if the SINR is less than or equal to b at the receiver. A packet is also dropped if the intended receiver is not correlating to the transmitter’s spreading sequence. The latter two types of packet loss occur far less often than packet drops due to queue overflow, especially at high packet generation rates. 5.2. Centralized collision-free scheduler implementation For comparison, we have implemented a centralized broadcast transmission scheduler (BTS) which generates collision-free broadcast schedules under the graph-based connectivity model. Specifically, the communications range is used to generate a topology graph (i.e., the 1-neighbors of a terminal are all terminals within communications range, and the 2-neighbors of a terminal are all additional terminals within communications range of 1-neighbors) which is then supplied to each terminal. Terminals are assigned unique colors among their 1- and
We examine the steady-state performance of the BTS, as well as the INS protocol with and without selective collision elimination. Results with selective collision elimination are given for a variable blocking threshold, as described in Section 4.6, and for a fixed blocking threshold, as described in Section 4.5, with BT = 100. We have found that a fixed BT of 100 provides an acceptable tradeoff between network control overhead and connectivity. To support our claim of higher spatial reuse with the INS protocol and its variants, in Fig. 7 we show the average maximum color number found in each terminal’s neighborhood for R = 200 m, R = 250 m, and R = 350 m. The BTS naturally requires more color numbers to be assigned since there are more terminals in each neighborhood. The INS protocol, which uses a smaller neighborhood to schedule transmissions, requires fewer color numbers on average; as a result, transmission frames tend to be shorter, terminals transmit more frequently, and the network has a higher level of spatial reuse. Use of the fixed blocking threshold (BT = 100) results in a modest increase in the average maximum color number. The variable blocking threshold requires slightly more colors than the fixed threshold for small values of R, but when R = 350 m, both blocking approaches result in an average maximum color number of approximately 30.4. Steady state end-to-end packet statistics for networks of varying neighbor densities are shown in Figs. 8–10, respectively. When R = 200 m, terminals have fewer neigh-
50
Average Maximum Color Number
Pr ðiÞ ¼ Pt
40 BTS
30 INS, Variable BT
20
INS
10
0 200
INS, BT=100
250
300
350
Communications Range, R Fig. 7. Average maximum color number in the neighborhood of each terminal.
463
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467 1.2
1
INS
INS, Variable BT
INS, Variable BT
INS, BT=100
1 INS, BT=100
Packet Throughput
Packet Throughput
0.8
BTS
0.6 INS
0.4
0.2
0.8
BTS
0.6
0.4
0.2
0
0 0.2
0.4
0.6
0.8
1
1.2
1.4
0.2
0.4
0.6
0.8
1
1.2
1.4
1.2
1.4
Packet Generation Rate
Packet Generation Rate 250
250
200
200 BTS
BTS
Packet Delay
Packet Delay
INS, Variable BT
150 INS INS, Variable BT
100
150
INS, BT=100
100
INS, BT=100
INS
50
50
0 0.2
0.4
0.6
0.8
1
1.2
0
1.4
0.2
0.4
Packet Generation Rate
0.6
0.8
1
1
BTS
1
Packet Generation Rate
INS
INS, Variable BT
INS, Variable BT
INS, BT=100
0.9
Packet Completion Rate
Packet Completion Rate
0.9
INS
0.8
0.7
0.6
INS, BT=100
0.8 BTS
0.7
0.6
0.5 0.2
0.4
0.6
0.8
1
1.2
1.4
Packet Generation Rate
0.5
0.2
0.4
0.6
0.8
1
1.2
1.4
Packet Generation Rate
Fig. 8. Packet throughput, delay and completion rate when R = 200 m.
Fig. 9. Packet throughput, delay, and completion rate when R = 250 m.
bors on average and, in some instances, a connected network topology is impossible to achieve. This occurs in tests of both the INS protocol and the BTS. Disconnected network topologies are more frequent when R = 200 m and the INS protocol is used. In the INS protocol, not all detect-
able neighbors become communicable neighbors due to schedule collisions and greater MAI. In the BTS, there are no schedule collisions (since each receiver is within range of only one transmitter per slot) and MAI is lower. When a network is disconnected, packets are dropped if there is no
464
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467 1.5 INS
Packet Throughput
INS, Variable BT INS, BT=100
1
BTS
0.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Packet Generation Rate 250
BTS
INS, Variable BT
200
Packet Delay
INS, BT=100
150
100
INS
50
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Packet Generation Rate 1
Packet Completion Rate
0.9
INS INS, Variable BT INS, BT=100 BTS
0.8
0.7
0.6
0.5
0.2
0.4
0.6
0.8
1
1.2
1.4
Packet Generation Rate Fig. 10. Packet throughput, delay and completion rate when R = 350 m.
route to the destination. For example, in the INS tests (with no collision elimination) at a packet generation rate, c, of 1.0 packets per slot, 10% of generated traffic is lost due to routing failures, and 19% is lost due to queue overflow. When the BTS tests are run at the same generation rate,
30% of generated traffic is lost due to queue overflow, and 0.5% is lost due to routing failures. When R = 200 m, selective collision elimination with a fixed blocking threshold of 100 improves the performance of the INS protocol in terms of packet completion rate. This improvement is due to the additional communicable neighbors gained through the use of selective collision elimination, which results in better network connectivity. When c = 1.0 packets per slot, only 6% of generated traffic is lost due to routing failures using the INS protocol with BT = 100. Use of the variable blocking threshold with the INS protocol further improves performance in terms of packet completion rate. When c = 1.0 packets per slot, less than 3% of generated traffic is lost due to routing failures using the INS protocol with the variable blocking threshold. The variable blocking threshold performs similarly to the BTS in terms of packet completion rate, however the average packet delay is lower. At very low packet generation rates, the packet completion rate of the INS protocol declines slightly because terminals do not transmit often enough establish reliable transmitter–receiver matchings. For example, if the data input rate to the network is zero, then terminals only transmit periodic NBR_ACK packets, which are themselves unreliable since receivers may not be correlating to the spreading sequence used by the transmitter. As the packet generation rate increases, this is no longer a problem. At high packet generation rates, the INS tests achieve a higher packet completion rate and lower packet delay since terminals are able to transmit more often. The improvement comes despite the fact that each packet, on average, requires slightly more hops to reach its destination. This mirrors the analysis in [32] showing that theoretical wireless network transport capacity is maximized when network connectivity is just dense enough to ensure network connectivity while allowing for maximal spatial reuse. At higher neighbor densities (generated by using R = 250 m and R = 350 m) network connectivity is more robust, so more links for routing packets are available and eliminating collisions is not as important. In these networks, use of a low, fixed blocking threshold, such as BT = 10 or BT = 20, would introduce significant network control overhead. The fixed blocking threshold we consider, BT = 100, as well as the variable blocking threshold, perform acceptably in these cases, providing higher throughput than the BTS despite the fact that they require additional network control overhead. The INS protocol supports higher throughput when selective collision elimination is not used because there are no BLOCK packets to introduce additional network control overhead. At R = 350 m, the INS protocol with no selective collision elimination supports a 90% packet completion rate up to c ffi 1.35 packets per slot. This is slightly better than the use of limited blocking (BT = 100 and Variable BT), which cross the 90% completion mark at a generation rate of c ffi 1.1 packets per slot. At R = 350 m, the BTS can only support a 90% completion rate up to a packet generation rate of c ffi 0.7 packets per slot. In addition, the average packet delay is much lower when the INS protocol is used because terminals transmit more frequently.
465
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
Comparing the throughput for different values of R (200, 250, and 350) yields an interesting observation: as the value of R increases, the performance of the INS schedules continues to improve, while the performance of the BTS remains about the same. As R increases, packets require fewer hops to reach their destinations, and the resulting per-terminal traffic load decreases. On the other hand, larger values of R lead to larger neighborhood sizes and a lower effective transmission rate for each terminal. In the BTS tests, these factors balance out and performance does not change significantly from one value of R to the next. Under the INS protocol, not only do terminals operate with a smaller neighborhood, but the rate of growth in neighborhood size as R increases is also smaller (see Fig. 7). As a result, the INS protocol is able to better scale to networks with dense groupings of terminals.
1
4
0
2
3 5.4. Mobile scenarios To examine the performance of the INS protocol in dynamic environments, we use a five-state Markov chain to model terminal mobility. In state 0, terminals are stationary. In states 1, 2, 3, and 4 terminals may move north, east, south, and west, respectively. We assume terminals in motion all move at the same speed. The rate of mobility-induced topology changes depends upon the speed of mobile terminals, as well as two probability parameters, denoted p and q, which define how long terminals are in the mobile states (states 1–4) and how long terminals are in the stationary state (state 0). A third parameter, r, defines the rate at which terminals in motion turn right or left. When a stationary terminal begins moving, its initial direction is equally likely among the four mobile states. When a terminal changes direction, it turns left or right with equal probability. A diagram of the mobility model is shown in Fig. 11, along with the state transition probability matrix. We use this model in lieu of the random waypoint mobility model [33] because it is easier to create special-case mobility scenarios, and because it maintains a more even spatial distribution of terminals. Table 3 shows the values of the mobility parameters used in simulations. The mobility state of a terminal is updated in each slot. If we define a D as the random variable representing the number of slots a terminal moves in a single direction, then the expected value of D is
E½D ¼
1 X n¼1
nð1 ð1 p rÞÞn ¼
1 : pþr
ð8Þ
Similarly, when a terminal stops moving the expected amount of time spent in the stationary state is 1=q slots. When mobile terminals reach a boundary, they are reflected back in the opposite direction. Lastly, speeds are quoted in meters/s, and we assume there are 150 time slots per second in the simulation. In the INS mobility tests terminals are initialized with color 1 and no knowledge of surrounding terminals, as in the stationary tests. In the BTS tests, terminals are initialized with a greedy coloring based upon the topology of the network at the beginning of the simulation. In each slot of the BTS tests, the neighbor table of each terminal is updated
q q q q ⎤ ⎡ ⎢1 − q 4 4 4 4 ⎥ ⎢ ⎥ r r ⎥ ⎢ p 1− p − r 0 ⎢ 2 2 ⎥ ⎢ ⎥ r r ⎢ p 1− p − r 0 ⎥ 2 2 ⎢ ⎥ ⎢ r r ⎥ 0 1− p − r ⎢ p ⎥ 2 2 ⎥ ⎢ ⎢ ⎥ r r 0 1− p − r⎥ ⎢ p ⎣ ⎦ 2 2 Fig. 11. Mobility model and state transition matrix.
to account for all 1 and 2-hop neighbors (determined based upon the communications range, R); however, as in the INS tests, old neighbor entries are removed only when the expiration slot is reached, and new neighbors become communicable neighbors only after the exchange of NBR_ACK packets. In both the INS and BTS tests, the centralized routing is recomputed every 64 slots. The packet generation rate is 0.5 packets per slot for the duration of the simulation. The terminals move according to the schedule in Table 4. We compare the mobile performance of the INS protocol with the centralized BTS protocol by computing the average instantaneous throughput over 100 test networks: for each test network, packets arriving successfully at their destinations are counted for 64 slots. At the end of the 64-slot window, this measurement is divided by 64 to obtain a measurement of instantaneous throughput. Instantaneous throughput values are then averaged over all test networks. Fig. 12 shows the throughput measurements during the 4-stage simulation for R = 250 m for the INS protocol with and without selective collision elimination, as well as the BTS. The INS protocol maintains a high level of throughput during mobile periods, and performs about the same with and without selective collision elimination. The steadystate performance in slots 0–5000 and slots 15,000– 25,000 is approximately the same for all cases, including the BTS, as one may infer from Fig. 9.
466
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
Table 3 Mobile parameters used in simulations. p: probability a mobile terminal stops moving q: probability a stationary terminal begins moving r: probability a mobile terminal turns 90° left or right (equally likely)
0.000065 0.02 0.000065
Table 4 Terminal mobility in mobile scenarios. Time period (slots)
Speed (m/s)
(1, 5000) (5001, 10000) (10,001, 15,000) (15,001, 25,000)
0 10.0 20.0 0
Packet Throughput (64 slot windows)
0.6
0.5
0.4 INS 0.3 BTS 0.2 INS, Variable BT 0.1 INS, BT=100 0 0
Mobility affects the accuracy of the information in the neighbor tables in tests of both the INS protocol and the BTS; for example, link SINR estimates are less reliable during mobile periods. In the INS protocol, as terminals move about they must occasionally change colors as they detect neighbors with identical color numbers; communications links with neighbors must be reestablished by exchanging NBR_ACK packets. In the BTS tests, color changes are performed automatically based upon the neighbors within two hops, but terminals must still receive packets and exchange NBR_ACK packets to form entries in the receive vector and transmit matrix. The BTS supports a lower level of spatial reuse than the INS protocol, so NBR_ACK packets are transmitted less often and this process takes longer; this is the primary reason the performance is lower for the BTS. The quality of the coloring degrades during mobile periods since a terminal may move through a dense area of the network and acquire a large color number. As the terminal moves to a more sparse area of the network, it keeps the color number even if a smaller color number is available, causing it to operate with an unnecessarily large frame length. This is noticeable in the BTS tests in particular; hence, in the BTS tests only, the networks are recolored in slot 15,000 to ensure they are able to return to their
Packet Throughput (64 slot windows)
0.6
INS, Variable BT INS, BT=100 INS
0.5
0.4 BTS 0.3
0.2
0.1
0 0
5000
10000
15000
20000
25000
Slot Number Fig. 12. Packet throughput during 4-stage mobile scenarios for R = 250 m.
200
400
600
800
1000
Slot Number Fig. 13. Close-up of packet throughput measurements to show initialization behavior.
original level of performance. This results in a brief period of low performance in the BTS tests. Even though it is a distributed protocol, the INS does not require an extended initialization period to identify neighbors and compute a schedule. Fig. 13 shows a closeup of the graph in Fig. 12 to demonstrate the initialization behavior. As terminals detect new neighbors, they may change color several times and generate several NBR_ACK packets. By time slot 600, however, the INS protocol is delivering packets at a higher rate than the BTS protocol, clearing backlog that built up as neighbors were detected. 6. Conclusions The immediate neighbor scheduling (INS) protocol combines the interference suppression capability of DSSS modulation with the stable performance of a transmission scheduling protocol. The INS protocol is fully distributed and does not require two-way communication in a time slot, nor does it require periodic downtime to modify or recreate the schedule. Instead, the schedule continuously adapts to the current environment. The set of links used in scheduling is determined by aggregate MAI and channel gain, not a graph-based topology model. We have shown through simulations that the INS protocol improves spatial reuse, supporting greater end-to-end packet throughput and decreased end-to-end packet delay. Furthermore, since full knowledge of 2-hop neighbors is not required by the protocol, the overhead necessitated by local exchange of information is diminished in comparison to a scheduling protocol which does require knowledge of 2-hop neighbors. This simplifies tasks such as network initialization and schedule reconfiguration. In mobile environments, the smaller neighborhood of the immediate neighbor scheduling approach results in faster schedule adaptation. We have shown through simulations that a high level of throughput is sustained even during periods of high mobility. By selectively eliminating collisions present in the schedule, the INS protocol provides satisfactory performance in
B.J. Wolf, H.B. Russell / Ad Hoc Networks 9 (2011) 453–467
networks without robust connectivity. There is a tradeoff between the level of selective collision elimination allowed and the resulting increase in overhead. However, by employing a variable blocking threshold based upon the SINR estimate for each link and the routing table, selective collision elimination achieves significantly improved connectivity in networks with low neighbor density, and maintains low overhead in networks for which the connectivity is already robust. References [1] L.C. Pond, V.O.K. Li, A distributed time-slot assignment protocol for mobile multi-hop broadcast packet radio networks, in: Proceedings of the IEEE Military Communications Conference, vol. 1, October 1989, pp. 70–74. [2] S. Ramanathan, E.L. Lloyd, Scheduling algorithms for multihop radio networks, IEEE/ACM Transactions on Networking 1 (2) (1993) 166– 177. [3] P. Djukic, S. Valaee, Link scheduling for minimum delay in spatial reuse TDMA, in: 26th IEEE International Conference on Computer Communications (INFOCOM 2007), May 2007, pp. 28–36. [4] D.D. Vergados, D.J. Vergados, C. Douligeris, S.L. Tombros, QoS-aware TDMA for end-to- end traffic scheduling in ad-hoc networks, IEEE Wireless Communications 13 (5) (2006) 68–74. [5] J. Gronkvist, Distributed scheduling for mobile ad hoc networks – a novel approach, in: IEEE International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC 2004), vol. 2, September 2004, pp. 964–968. [6] B.J. Wolf, J.L. Hammond, H.B. Russell, A distributed load-based transmission scheduling protocol for wireless ad hoc networks, in: 2006 International Conference on Wireless Communications and Mobile Computing (ACM IWCMC), July 2006, pp. 437–442. [7] W. Wang, Y. Wang, X.-Y. Li, W. Song, O. Frieder, Efficient interference-aware TDMA link scheduling for static wireless networks, in: Proceedings of the 12th Annual international Conference on Mobile Computing and Networking (MobiCom), September 2006, pp. 262–273. [8] K. Papadaki, V. Friderikos, Robust scheduling in spatial reuse TDMA wireless networks, IEEE Transactions on Wireless Communications 7 (12) (2008) 4767–4771. [9] G. Wang, N. Ansari, Optimal broadcast scheduling in packet radio networks using mean field annealing, IEEE Journal on Selected Areas in Communications 15 (2) (1997) 250–260. [10] S. Salcedo-Sanz, C. Bousoño-Calzón, A.R. Figueiras-Vidal, A mixed neural-genetic algorithm for the broadcast scheduling problem, IEEE Transactions on Wireless Communications 2 (2) (2003) 277–283. [11] A. Pantelidou, A. Ephremides, Minimum schedule lengths with rate control in wireless networks, in: IEEE Military Communications Conference, November 2008. [12] P. Bjorklund, P. Varbrand, D. Yuan, A column generation method for spatial TDMA scheduling in ad hoc networks, Ad hoc Networks 2 (4) (2004) 405–418. [13] A. Ephremides, T.V. Truong, Scheduling broadcasts in multihop radio networks, IEEE Transactions on Communications 38 (4) (1990) 456– 460. [14] S. Ramanathan, A unified framework and algorithm for channel assignment in wireless networks, Wireless Networks 5 (2) (1999) 81–94. [15] P.K. Appani, J.L. Hammond, D.L. Noneaker, H.B. Russell, An adaptive transmission-scheduling protocol for mobile ad hoc networks, Ad hoc Networks 5 (2) (2007) 254–271. [16] I. Rhee, A. Warrier, J. Min, L. Xu, DRAND: distributed randomized TDMA scheduling for wireless ad-hoc networks, ACM MobiHoc (2006) 190–201. [17] C. Zhu, M.S. Corson, A five-phase reservation protocol (FPRP) for mobile ad hoc networks, Wireless Networks 7 (4) (2001) 371–384. [18] C.D. Young, USAP multiple access: dynamic resource allocation for mobile multihop multichannel wireless networking, in: Proceedings of the IEEE Military Communications Conference, October 1999, pp. 271–275. [19] R. Rozovsky, P.R. Kumar, SEEDEX: A MAC protocol for ad hoc networks, ACM MobiHoc (2001) 67–75. [20] L. Bao, J.J. Garcia-Luna-Aceves, Distributed dynamic channel access scheduling for ad hoc networks, Journal of Parallel and Distributed Computing 63 (1) (2003) 3–14.
467
[21] J. Grönkvist, A. Hansson, Comparison between graph-based and interference-based STDMA scheduling, ACM MobiHoc (2001) 255– 258. [22] A. Behzad, I. Rubin, On the performance of graph-based scheduling algorithms for packet radio networks, IEEE GLOBECOM 6 (1) (2003) 3432–3436. [23] H. Zhu, Y. Tang, I. Chlamtac, Unified collision-free coordinated distributed scheduling (CF–CDS) in IEEE 802.16 mesh networks, IEEE Transactions on Wireless Communications 7 (10) (2008) 3889–3903. [24] A. Hasan, J.G. Andrews, The guard zone in wireless ad hoc networks, IEEE Transactions on Wireless Communications 6 (3) (2007) 897– 906. [25] X. Yang, G. de Veciana, Inducing multiscale clustering using multistage MAC contention in CDMA ad hoc networks, IEEE/ACM Transactions on Networking 15 (6) (2007) 1387–1400. [26] M. Souryal, B.R. Vojcic, R.L. Pickholtz, Adaptive modulation in ad hoc DS/CDMA packet radio networks, IEEE Transactions on Communications 54 (4) (2006) 714–725. [27] A. Ebner, H. Rohling, M. Lott, W. Halfmann, Decentralized slot synchronization in highly dynamic ad hoc networks, in: Fifth International Symposium on Wireless Personal Multimedia Communications, vol. 2, 27–30 October 2002, pp. 494–498. [28] M.B. Pursley, The role of spread spectrum in packet radio networks, Proc. IEEE, vol. 75, no. 1, January 1987, pp. 116–134. [29] C. Ware, J. Chicharo, T. Wysocki, Simulation of capture behaviour in IEEE 802.11 radio modems, in: Proceedings of the IEEE Vehicular Technology Conference, vol. 3, October 2001, pp.1393–1397. [30] W.-P. Lyui, Design of a new operational structure for mobile radio networks, Ph.D. Dissertation, Clemson University, August 1991. [31] J.L. Hammond, H.B. Russell, Properties of a transmission assignment algorithm for multiple-hop packet radio networks, IEEE Transactions on Wireless Communications 3 (4) (2004) 1048–1052. [32] P. Gupta, P.R. Kumar, The capacity of wireless networks, IEEE Transactions on Information Theory 46 (2000) 388–404. [33] C. Bettstetter, G. Resta, P. Santi, The node distribution of the random waypoint mobility model for wireless ad hoc networks, IEEE Transactions on Mobile Computing 2 (3) (2003) 257–269.
Brian Wolf received a Ph.D. in Electrical and Computer Engineering from Clemson University in 2010. He received his B.S. degree in Computer Engineering from Clemson University. He worked for Siemens Energy and Automation from 2000-2002. He recieved his M.S. in Electrical Engineering, also from Clemson University, in 2005. His research interests include ad hoc networks, distributed protocols, network performance analysis, and cross-layer design and optimization. He is currently employed by MIT Lincoln Laboratory.
Harlan B. Russell received the B.S. degree in Computer Engineering in 1986 and the M.S. and Ph.D. degrees in electrical engineering in1989 and 1993, respectively, all from the University of Illinois, Urbana-Champaign. From 1993 to 1999 he was a Senior Research Engineer for Techno-Sciences, Inc., Pendleton, SC. While at Techno-Sciences he worked on several joint projects with industrial, government, and university partners related to adaptive link and network layer protocols for handheld mobile ad hoc networks. He joined the faculty at Clemson University in December 1999 were he is currently an Associate Professor in the Electrical and Computer Engineering Department. His research interests are in distributed protocols for wireless ad hoc networks. The primary focus is on link, network, and transport layer protocols that provide different quality-of-service levels for multimedia traffic. On-going research interests include energy-efficient routing, adaptive-transmission protocols, and transmission scheduling for multiple-hop radio networks.