Multi-hop Time Synchronization Protocol for IEEE 802.11 ... - CiteSeerX

3 downloads 0 Views 1MB Size Report
Clock synchronization is very important for power management protocol in a multi-hop MANET. ... the device with fastest timer as the leader node of the group. In SYN ... nodes communicate through an access point (AP), which usually connects to the Internet. In the ad ... base station to perform centralized control. Therefore ...
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 23, 969-983 (2007)

Multi-hop Time Synchronization Protocol for IEEE 802.11 Wireless Ad Hoc Networks* GUAN-NAN CHEN1, CHIUNG-YING WANG2 AND REN-HUNG HWANG2 2

1 Department of Communication Engineering Department of Computer Science and Information Engineering National Chung Cheng University Chia-Yi, 621 Taiwan 1 E-mail: [email protected] 2 E-mail: {wjy; rhhwang}@cs.ccu.edu.tw

Clock synchronization is very important for power management protocol in a multi-hop MANET. However, since MANET is a network temporarily formed by a collection of mobile nodes without the aid of any centralized coordinator, clock synchronization is very difficult to achieve. Therefore, most of previous works on power efficiency assumed asynchronous clock. As a consequence, a mobile node will waste a lot of power and time waiting for forwarding a packet to its neighbors, due to the lack of information of wakeup times of its neighbors. In this paper, we propose a multi-hop time synchronization protocol, referred to as MTSP, for multi-hop MANETs based on IEEE 802.11 ad hoc mode. The MTSP consists of two phases: beacon window (BW) phase and synchronization (SYN) phase. In BW phase, several devices, which can directly communicate with each others, form a synchronization group. And each group selects the device with fastest timer as the leader node of the group. In SYN phase, leader nodes then synchronize with each other. Our simulation results show that MTSP is a distributed and effective multi-hop time synchronization protocol, especially for dense networks. Keywords: clock synchronization, IEEE 802.11, multi-hop, mobile ad hoc network (MANET), medium access control

1. INTRODUCTION In recent years, wireless networks have become prevail in our surroundings. The most popular wireless technique is from the set of IEEE 802.11 standards. The IEEE 802.11 supports Infrastructure Mode and Ad Hoc mode. In infrastructure mode, mobile nodes communicate through an access point (AP), which usually connects to the Internet. In the ad hoc mode, mobile nodes dynamically form an ad hoc network and communicate with each others through multi-hop routing. Although infrastructure mode is more commonly adopted, ad hoc mode may be the only solution in some special applications, such as battlefields, disaster areas, and outdoor activities. No matter in which mode, the power of mobile nodes is a limited resource. Without power, any wireless device will become useless. Therefor, power saving becomes a critical issue in wireless networks. In recent years, several power saving protocols have been proposed for IEEE 802.11 wireless LANs. They can be classified in to two groups: synchronous wake up and Received September 15, 2006; accepted February 6, 2007. Communicated by Ten H. Lai, Chung-Ta King and Jehn-Ruey Jiang. * This paper was partially supported by National Science Council of Taiwan, R.O.C., under grant No. NSC 942213-E-194-001.

969

970

GUAN-NAN CHEN, CHIUNG-YING WANG AND REN-HUNG HWANG

asynchronous wake up. In the synchronous wake up approach, all nodes wake up at the same time in order to send or receive packets from its neighbors. Thus, time synchronization becomes the most important part of this kind of protocols. Examples of synchronous wake up protocols are IEEE 802.11 Power saving protocol [1], and p-MANET [2]. On the other hand, asynchronous wake up protocols do not synchronize wake up time of mobile nodes. Nodes asynchronously wake up a period of time for receiving packets from its neighbors. Examples of asynchronous wake up power saving protocols are [3-5]. Concerns of asynchronous wake up protocols are less power efficiency, longer transmission delay, and difficult to perform broadcast. In this paper, we focus on the design of synchronous wake up power saving protocols. However, to synchronize mobile nodes in MANET is very difficult, since there is no base station to perform centralized control. Therefore the Pulse protocol [6] synchronizated with base station can’t apply in MANET. The IEEE 802.11 Standard has defined a Timing Synchronization Function (IEEE 802.11 TSF) for single-hop ad hoc networks [7]. Mobile nodes generate a beacon with its system time and periodically send a beacon. Nodes can be synchronized by the time information in the beacon. Extension of this protocol for multi-hop ad hoc networks can be found in the literature [8], however synchronization accuracy is still an issue. In IEEE 802.11, if the synchronization accuracy, i.e., the time difference between the clock of the fastest node and that of the slowest node, is larger than 224μs, which is equivalent to the time to change from one operating channel frequency [1], the network is called “out of synchronization.” Sometimes small clock skew and the defects of IEEE 802.11 TSF may cause the problem of out of synchronization. In [9], Huang and Lai proposed that let faster node have higher priority to send a beacon can improve the synchronization accuracy on single hop ad hoc networks. In the last few years, several papers have been devoted to the study of time synchronization. For example, [10, 11] have proposed time synchronization mechanisms for sensor networks. [12] proposed how to synchronize mobile devices in Bluetooth networks. In [9, 13-15], researchers pointed out that network density may affect the synchronization accuracy in IEEE 802.11 ad hoc networks. [16] showed that time synchronization mechanism for single hop ad hoc networks is not suitable for multi-hop ad hoc networks. Only few attempts so far have been made for time synchronization in multi-hop networks. Sheu et al. [8] proposed a time synchronization scheme, called Automatic Self-time-correcting Procedure (ASP), for multi-hop networks. In ASP, mobile nodes adjust their clocks according to the beacon information among neighbors. In this paper, we proposed a new time synchronization mechanism based on IEEE 802.11 TSF, called Multi-hop Time Synchronization Protocol (MTSP). IEEE 802.11 Standard only defines how to synchronize clocks in single hop networks. Extending TSF to multi-hop networks will cause out of synchronization problem. Our MTSP adapts to both single hop and multi-hop ad hoc networks and improves the synchronization accuracy. MTSP consists of two phases: Beacon Window (BW) Phase and Synchronization (SYN) Phase. The BW phase tackles the synchronization accuracy problem in high density single-hop networks while the SYN phase solves the time partition problem in multi-hop networks. In BW phase, similar to [16], faster node has higher priority to send beacon. After BW phase, several one-hop synchronization groups will be formed, and the fastest node in each group is selected as the group leader node. At this time, clock skew

MULTI-HOP TIME SYNCHRONIZATION PROTOCOL FOR IEEE 802.11

971

between different groups may be significant, referred to as the time partition problem. The SYN phase solves this problem by synchronizing all of the leader nodes. Our simulation results show that MTSP can achieve very good synchronization accuracy. This paper is organized as follows: In section 2 we present existing time synchronization mechanisms in IEEE 802.11 ad hoc mode. Section 3 describes the proposed multihop time synchronization protocol. Performance analysis of MTSP is given in section 4. Simulation results of MTSP are presented in section 5. Section 6 concludes this paper.

2. TIME SYNCHRONIZATION IN IEEE 802.11 AD HOC MODE We first summary the IEEE 802.11 TSF as follows: (1) Each node randomly generates a beacon-generation timer in units of microsecond (μs) within the range of (0, 2 * aCWmin * aSlotTime), where aCWmin and aSlotTime are defined in Table 1. When the timer times out, the node will send a beacon with a 64-bit timestamp, (2) If a node receives a beacon before its beacon-generation timer times out, it will cancel the timer and keep quite in this beacon interval, (3) A node will update its clock to synchronize with a faster timestamp it received; and it will ignore slower timestamps and (4) Each node has the same probability to contend sending a beacon. Table 1. Parameters used in generating beacon timer. aCWmin aSlotTime

FHSS 15 50μs

DSSS 31 20μs

IEEE 802.11 TSF may encounter the “beacon contention problem” in dense networks where the fastest node cannot send out its beacon due to beacon contention. As a consequence, the network becomes out of synchronization. In [9], “Adaptive Timing Synchronization Procedure” (ATSP) has been proposed to solve beacon contention problem. Lai et al. [13] proposed the “Tiered Adaptive Time Synchronization Procedure” (TATSP) to improve synchronization accuracy of ATSP and reduce the convergence time of synchronization. They also proposed to prioritize the beacon-generation timer such that faster nodes get shorter timers to send beacons in [14]. All of the aforementioned works consider only the single-hop ad hoc environment. In [16], the authors showed that directly extending the single-hop time synchronization protocol to multi-hop environment will encounter the time partition problem. The time synchronization problem in multi-hop ad hoc networks is first studied in [8]. An automatic self-time-correcting procedure (ASP) was proposed. However, the convergence time of synchronization is too long and out of synchronization still may occur.

3. MULTI-HOP TIME SYNCHRONIZATION PROTOCOL In this section, we present our multi-hop time synchronization protocol (MTSP) for the IEEE 802.11 multi-hop ad hoc network. The main design goals are: (1) Improve syn-

972

GUAN-NAN CHEN, CHIUNG-YING WANG AND REN-HUNG HWANG

chronization accuracy, especially in high density networks, (2) Avoid the out of synchronization problem and (3) Solve the time partition problem. Unlike the IEEE 802.11 TSF, the basic idea of MTSP is to have fast nodes to become leader nodes and have higher priority to send beacon, like [14]. A leader node can synchronize its one-hop neighbor nodes easily and form a synchronization group. After synchronization groups are formed, MTSP then tries to synchronize those groups by synchronizing leader nodes. Therefore, MTSP consists of two phases: beacon window phase and synchronization phase. Details are described as follows. 3.1 System Architecture MTSP operates under the network layer and above the physical layer; it provides the synchronization information for power management protocols. In MTSP, time is synchronized and divided into beacon intervals. Each beacon interval is composed of four windows: (1) Beacon Window: nodes generate a random timer to contend to send beacons in the beacon window, (2) Synchronization Window (SYNC window): leader nodes synchronize with each others in the synchronization window; other nodes stay at idle state, (3) ATIM Window: ATIM window is the same as the IEEE 802.11 Standard. A node uses the ATIM frame to announce data frames that are to be transmitted in the data window and (4) Data Window: Data window is used for transmitting and receiving data frames. Nodes that send or receive ATIM frames will stay at active mode in data window.

Fig. 1. Beacon interval of MTSP.

Fig. 1 shows the beacon interval of MTSP. The length of a beacon interval is 100 ms, as suggested by the IEEE 802.11 standard. MTSP adds a 4-ms beacon window and a 6-ms sync window. The length of beacon window is the same as that of IEEE 802.11 standard. The length of sync window is 1.5 times more than that of beacon window. The length of ATIM window is 20 ms, same as that of IEEE 802.11 standard. 3.2 Beacon Window Phase Beacon window phase is designed based on IEEE 802.11 TSF. Nodes use random timers to contend for wireless medium to send beacons with 64-bit timestamp. By following the fastest node, nodes can be synchronized. The length of beacon packet is 50 bytes, same as defined in the IEEE 802.11 standard. The beacon-generation timer, BWTimer, is managed as follows such that faster

MULTI-HOP TIME SYNCHRONIZATION PROTOCOL FOR IEEE 802.11

973

nodes have higher priority to transmit beacons. First of all, nodes are either in high priority (HI) state or low priority (LO) state. Nodes in HI state will randomly generate BWTimer within the range of (0, 1/2 beacon window length) while nodes in LO state generate BWTimer within the range of (1/2 beacon window length, beacon window length). The design goal is to have the fastest node of a synchronization group to stay in HI state while the rest of nodes to stay in LO state such that the fastest node can send out its beacon without contention. However, if a node in LO state becomes faster, it still has the chance to announce its beacon. The flow chart of the beacon window (BW) phase operation is shown in Fig. 2. Nodes are grouped into synchronization groups in a self-organizing way. A synchronization group is centered at a node with the fastest system time among all nodes in the same group. The BW phase operates as follows:

Fig. 2. Flow chart of beacon window phase.

(1) All nodes are in HI State initially. (2) At the beginning of a beacon interval, each node generates its BWTimer randomly, according to its state. (3) Each node then counts down its BWTimer timer. A node will send out a beacon with its system time when BWTimer expires and enter the HI state. The node should still remain in active mode and receive beacons until the end of the beacon window. If it receives a beacon with a faster timestamp, it proceeds to step (4). (4) If a node receives a beacon with a timestamp that is faster than its clock before or after its BWTimer expires, it will synchronize its clock to the timestamp, cancel its BWTimer if necessary, and enter the LO state. The node should keep receiving beacons and repeating this step until the end of beacon window and update its clock if a faster timestamp is received. According to above operations, let us discuss a special case that if a node receives a beacon with a faster timestamp after BWTimer time out, it will change system time and

974

GUAN-NAN CHEN, CHIUNG-YING WANG AND REN-HUNG HWANG

enter the LO state until Beacon Window time out. In this case, even this node can not receive any more beacons with even faster timestamp; it will follow the BW phase operations while entering next Beacon Window. 3.3 Synchronization Phase The purpose of synchronization phase is to solve the time partition problem [16]. In multi-hop ad hoc networks, nodes can only receive beacon from its neighbors. Therefore, the beacon of the fastest node cannot be received by nodes that are not within the fastest node’s transmission range. A mechanism thus is required to broadcast the beacon of the fastest node to all nodes in the ad hoc network. The basic idea of the synchronization (SYN) phase is to synchronize leader nodes which in turn synchronize nodes in their group. Let us consider the example shown in Fig. 3 where there are four leader nodes A, B, R, and S. The clock rates in decreasing order are A > R > S > B. Power level will be increased for communication between leader nodes, which will be described in more detail later. As shown in Fig. 3, let us assume that node A can communicate directly with node R, node R can communicate directly with node S, and node S can communicate directly with node B. Now, if node A sends a synchronization packet with its timestamp to node R, and node R relays to node S, and then to node B, these four leader nodes can then be synchronized.

Fig. 3. Basic idea of synchronization phase.

Before describing the algorithm of the synchronization phase, let us define the synchronization packet format first. The synchronization (SYN) packets are classified into three types: (1) SYNC-Query: SYNC-Query packet is used by a leader node to query if there are other faster leader nodes within SYN packet transmission range. Each leader node sends a SYNC-Query, which carries its 64-bit timestamp, in the synchronization phase, (2) SYNC-ACK: a SYNC-ACK packet is used to respond a SYN-Query packet with slower timestamp and (3) SYNC-RACK: when a leader node receives a SYNCQuery with a faster timestamp, it will update its system time and send a SYNC-RACK to notify its neighbor leader nodes. Fig. 4 shows the format of the synchronization packet. The 50-byte frame shares the same format as the beacon packet. It can be considered as a frame control packet of IEEE 802.11 MAC layer. Different types of synchronization are differentiated by the frame control field, as shown in Fig. 4. Recall that more than one synchronization groups may be formed after the BW phase. Nodes that are in HI-state will become the leader nodes of synchronization groups. Only leader nodes will involve in the SYN phase. Similar to BWTimer, each leader node maintains a randomly generated MTSF timer and will send a SYNC-Query packet when

MULTI-HOP TIME SYNCHRONIZATION PROTOCOL FOR IEEE 802.11

975

Fig. 4. Format of synchronization packet.

Fig. 5. Flow chart of the synchronization phase.

this timer expires. The flow chart of SYN phase is shown in Fig. 5. The algorithm is described as follows: (1) Each leader node randomly generates a MTSF timer within the range of [0, MTSFmax], where MTSFmax is set to 2 * aCWmin * aSlotTime initially. MTSF timer is re-generated at the beginning of each SYN phase.

976

GUAN-NAN CHEN, CHIUNG-YING WANG AND REN-HUNG HWANG

(2) A leader node sends a SYNC-Query packet when its MTSF timer expires. It should maintain in active state to receive other SYN packets until the end of SYNC window. (3) Upon receiving a SYNC-Query packet with a faster timestamp from neighbor leader nodes, it will synchronize its clock to the timestamp and send a SYNC-RACK packet to notify other neighbor leader nodes. On the other hand, if the timestamp is slower, it sends a SYNC-ACK to notify sender which includes its timestamp. (4) Upon receiving a SYNC-ACK or a SYNC-RACK packet, it should update its clock if the received timestamp is faster. (5) A leader node stays active until the end of SYNC window. (6) If a leader node never updates its clock during the SYNC window which means it is the fastest node among its neighbors, then it decreases its MTSFmax to max(1, MTSFmax − 1). Otherwise, it increases MTSFmax to min(MTSFmax + 1, SYNC window length). (7) If a leader node never updates its clock during the SYNC window which means it is the fastest node among its neighbors, then it decreases its MTSFmax to max(1, MTSFmax − 1). Otherwise, it increases MTSFmax to min(MTSFmax + 1, SYNC window length). Let us illustrates the SYN phase using a simple example. Assume that there are four leader nodes A, B, C, and D. The clock rate of these four nodes in decreasing order is A > B > C > D. Further assume that node A can directly communicate with node B; node B can communicate with node A and C; node D can communicate with node C. Fig. 6 shows the SYN phase of the first beacon interval. Without loss of generality, let us assume that the order of randomly generated MTSF timer is A > B > C > D. Firstly, node D sends a SYNC-Query packet to node C. Upon receiving this packet, node C replies a SYNC-ACK to node D since node C is faster than node D. Node D will synchronize its clock to that of node C, denoted by Tc. Later on, node C sends out a SYNC-Query when its MTSF timer expires. Similarly, node B replies a SYNC-ACK to node C since it is faster. As a consequence, node C updates its clock to Tb, the system timestamp of node B. Later on, node B sends out a SYNC-Query. Node C updates its clock again upon receiving this packet. Node C also sends a SYNC-RACK to notify its neighbor leader nodes such that node D also synchronizes its clock to that of node B. Finally, node A sends out its SYNC-Query when its MTSF timer expires. This time, node B synchronizes its clock with node A and sends a SYNC-RACK to notify node C. When the SYNC window ends, node A, B, and C have synchronized their clocks, while node D needs another round of SYN phase in order to synchronize its clock with the fastest node, node A. After the first beacon interval, node B, C, and D have received faster timestamp from other nodes, so they will increase their MTSFmax by one slot time at next beacon interval in order to decrease the priority of sending SYNC-Query packets. On the other hand, node A decreases its MTSFmax by one. Fig. 7 shows the SYN phase of the second beacon interval. Here, we assume the order of the randomly generated MTSF timers is C > D > A > B. So, node C sends a SYNC-Query first. Upon receiving this packet, node D updates its clock while node B replies a SYNC-ACK which updates node C’s clock. Later on, node D sends a SYNCQuery and node C replies with a SYNC-ACK which synchronizes node D’s clock to Tb.

MULTI-HOP TIME SYNCHRONIZATION PROTOCOL FOR IEEE 802.11

Fig. 6. SYN phase of the first beacon interval.

977

Fig. 7. SYN phase of the second beacon interval.

The fastest leader node A sends SYNC-Query next. Upon receiving this packet, node B updates its clock and sends out a SYNC-RACK to notify node C. Node B and node C now synchronize with node A. Finally, node B sends a SYNC-Query which causes node C to send a SYNC-RACK to node D. After node D receives this SYNC-RACK, all nodes synchronize with node A.

4. DESIGN ISSUES AND PERFORMANCE OF MTSP 4.1 Transmission Range The purpose of beacon is to synchronize nodes in a synchronization group, which can be considered as local synchronization. On the other hand, synchronization packet is used to synchronize leader nodes, which is to achieve global synchronization. For power saving and transmission efficiency, we propose to have different power levels when transmitting these two kinds of packets. That is, use a lower power to transmit beacon and a higher power for synchronization. As a consequence, the transmission range of beacon is smaller than that of synchronization packet. Let the transmission range of beacon be R. We show that in an ideal environment (not considering interfering, fading, …), the distance between two leader nodes, D, is bounded by (R, 3R). We shall only consider the case that the network is not partitioned. The proof is given as follows: Theorem

The distance between two leader nodes, D, is bounded by R < D