Passive Cluster Based Clock Synchronization in Sensor Network Md. Mamun-Or-Rashid Dept. of Computer Engineering Kyung Hee University, 449-701
[email protected]
Choong Seon Hong* Dept. of Computer Engineering Kyung Hee University, 449-701
[email protected]
Abstract Clock synchronization has paid a great magnitude of attention in the distributed systems. Sensor networks differ from traditional distributed system in many ways. One of the dramatic differences is the energy constraint in sensor network which is absent in traditional distributed systems. Almost any form of sensor data fusion or coordinated actuation requires synchronized physical time for reasoning about events in the physical world. Sensor networks make extensive use of time synchronized operations in many contexts (for example TDMA schedulers, synchronized sleep period, tracking and surveillance application). In this paper we propose a novel scheme for clock synchronization in sensor networks which is a combined idea of passive clustering and diffusion based asynchronous averaging algorithm for clock synchronization. Our proposed scheme takes the advantage of passive clustering for cluster creation and then applies asynchronous averaging algorithm for clock synchronization to reduce number of rounds and operations required for converging time which in turn save energy significantly than energy required in diffusion based asynchronous averaging algorithm.
1. Introduction
Availability and extensive use of small and low power sensors in smart devices and effortless wireless communication facility have led to active research in wireless sensor network. Wireless sensor network is inherently distributed in nature. Time synchronization is a critical and well studied issue in distributed system, but sensor networks differ substantially in many ways from traditional distributed systems (for example energy and mobility constraint). These differences often violate assumptions on which many *Correspondent author This paper is supported by the university ITRC project of MIC
Chi-Hyung In Plantynet Co., Ltd Research Center
[email protected]
of the traditional techniques are predicated. So, new synchronization technique is required. Typical applications of sensor networks are environmental monitoring which detects several environmental parameters such as fire, oil slicks, water pollution, or animal herds. In order to determine the happening time and decision making in accordance with the happenings, temporal ordering of the events of different devices (implies different clocks in different sensor nodes) has to be determined. In such applications involving temporal ordering issues must be dealt with synchronized clocks. The use of local processing, hierarchical collaboration, and domain knowledge to convert data into increasingly distilled and high-level representations or, data reduction is the key to the energy efficiency of the system. In general, a perfect system will reduce as much data as possible as early as possible, rather than incur the energy expense of transmitting raw sensor values further along the path to the user. Data reduction requires time specific similarity and ordering among the data generated by sensor network which strengthen the requirement of clock synchronization among the nodes. Sensor data fusion or coordinated actuation requires synchronized physical time for reasoning about events in the physical world. Energy efficient routing in ad hoc network is one of the challenging and flourishing frontiers of ad hoc network research. To accomplish this in sensor network some researchers proposed sleep and awake status of sensor nodes in a timely fashion for enlarging the life time of the network. Based on periodic control signals nodes determine their status. Transmission and reception of control signal should be well synchronized. Operations may be disrupted due to drifts in the clocks of different nodes. Considering the above phenomenon many researchers have proposed clock synchronization technique for sensor network. In [2] Qun Li et al have proposed fully localized diffusion based technique for global clock synchronization in sensor networks with
Proceedings of the Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/ELearning on Telecommunications Workshop 0-7695-2388-9/05 $20.00 © 2005 IEEE Authorized licensed use limited to: UNIVERSITY OF DELAWARE LIBRARY. Downloaded on January 20, 2009 at 19:46 from IEEE Xplore. Restrictions apply.
synchronous and asynchronous implementations. The technique is based on exchange and update clock information locally among the neighbor nodes. Synchronous rate based algorithm exchange clock reading values proportional to their clock difference in a set order. On the other hand, asynchronous method can synchronize with its neighbor at any time in any order. It is claimed that asynchronous algorithm can also adopt with node failure, broken link and node mobility. Keen observation about diffusion based method is it can achieve synchronization but it needs the participation of all the nodes in the network which in turn effectively reduce the life time of the nodes as the nodes consumes energy for the synchronization process. Also the time convergence requires large number of rounds and incurs huge amount of flooding overhead to exchange the clock collection and updates. Clustering can efficiently handle the flooding overhead by limiting the synchronization process in a manageable set and can reduce the node participation significantly which, in turn save energy and enlarge the life time of the nodes. Yet, clustering approach to be effective, we must consider the cluster creation and maintenance cost. Kwon and Gerla [3] has proposed a passive clustering for on demand creation and maintenance of the cluster substrate which can avoid potential long set-up time and reduce re-forwarding significantly. In this paper we study how diffusion based technique can be benefited from a passive clustering based network topology to reduce its flooding overhead during message exchange among the neighbors and thus make the synchronous process energy efficient.
2. Related Work A lot of research works [4] [5] [6] [7] [8] available in the field of clock synchronization in distributed systems. However, techniques described for synchronization in distributed system do not take into account the limited resource availability for sensor networks and other dynamic constraints such as mobility. Nodes of a sensor network may be equipped with GPS system [7] to synchronize them, but currently this is a costly solution considering availability, cost and power consumption. An interesting technique “Post-facto synchronization” has been proposed by Elson and Estrin [9] which is based on unsynchronized local clocks but limits synchronization to the transmission range of mobile computing nodes. The precision achieved by their approach is very good, but lacks a deterministic bound
on the clock. Romer introduced time synchronization is ad hoc networks in [8]. The algorithm is suitable for sparse ad hoc network, which transforms time stamps exchanged between nodes inside message to the local time of the receiver instead of adjusting the clock. But naturally sensor networks are dense network due the frequent failure of nodes. The author also claimed, the algorithm is also suitable for resource restricted distributed sensor networks due to low resource and message overhead. Fine-Grained Network Time Synchronization using Reference Broadcast has been introduced in [10]. However the approach is comparatively computation intensive and does not provide firm bounds on the achieved precision. Three methods have been proposed for global clock synchronization in [2]. Those are (1) All-Node-Based, (2) Cluster Based and (3) Diffusion Based method. The idea of “All-Node-Based” method is impractical to implement due to its assumption of finding a single cycle which includes all the nodes at least once. To implement the idea of “All-Node-Based” method in a small manageable set they proposed “Cluster Based” method which create and maintain clusters and use “All-Node-Based” method to synchronize among the nodes of clusters. But still “Cluster Based” method is having a great amount of overhead for cluster maintenance which, ascertain its limitation to be implemented in energy constraint sensor network. Finally, the proposed fully localized “Diffusion Based” method for clock synchronization in which nodes can be synchronized at any time with its neighbor and also can adapt adverse communication channel and node mobility. Directed diffusion [4] is a data-centric routing protocol. In a Wireless Sensor Network (WSN) the data that the network can provide is interesting, not specific nodes. In order to receive data, an interested node (a “sink”) floods the network with an interest message. This message contains a detailed description of the event it is interested in (e.g. cars in a certain geographical region). When this interest is received by a node, it sets up a gradient to the neighbor from which it heard the interest. If it hears the same interest form several neighbors, gradients will be set up for each one of them. This focus on neighbors is a specific feature of directed diffusion, which allows the protocol to scale with the number of nodes in the network.
3. Overview of Passive Clustering Several unique properties of passive clustering include increased viability as a flooding overhead control mechanism for on-demand wireless networking
Proceedings of the Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/ELearning on Telecommunications Workshop 0-7695-2388-9/05 $20.00 © 2005 IEEE Authorized licensed use limited to: UNIVERSITY OF DELAWARE LIBRARY. Downloaded on January 20, 2009 at 19:46 from IEEE Xplore. Restrictions apply.
protocols. Passive clustering is a kind of on demand clustering and the formation of cluster here is dynamic and is initiated by the first data message to be flooded. Which in turn reduces the significant long initial set-up period, and the benefits of the reduction of the forwarding set can be felt after a very small number of data message rounds. Because the main function of the clusters is to optimize the exchange of flooded messages, there is no point in wasting valuable resources to pro-actively maintain such an elaborate structure between floods, when there is no traffic that can make use of it. Consequently, passive clustering refrains from using explicit control messages to support its functionality and all protocol-specific information is piggybacked on the exchanged data messages. In passive clustering nodes can have four status: (1)Initial, (2) Cluster head, (3) Gateway and (4) Ordinary. For cluster creation passive clustering has a simple novel rule, called first declaration wins. Under this rule, the first aspirer to become a cluster head is immediately and without further neighborhood checks declared as such and allowed to dominate the radio coverage area. The node who is receiving request from a node turns to be initial node. Only initial nodes can be the candidate for cluster head. One node become cluster head using the “first declaration wins” rule. Any node receiving packets from two cluster head will change its status to gateway. Rest of the nodes assigned as ordinary node. For detailed understanding we refer [3].
4. Diffusion Based Method for Global Clock Synchronization Diffusion based method [2] achieves global synchronization by spreading the local synchronization information to the whole system. The method is based on two basic operations (1) for each collect the clock value of the neighbors and compare them (2) change them accordingly. Assuming n sensor nodes in the system they [2] modeled the network using graph G (V, E). Where V is the set of sensor nodes and E is the set of one hop connections among the nodes. Proposed rate based synchronous and asynchronous averaging algorithms are stated as follows: Rate based synchronous diffusion algorithm: Do the following with some given frequency for each sensor ni in the network do Exchange clock times with ni’s neighbors for each neighbor nj do Let the time difference between ni and ni be ti ítj
Change ni’s time to ti í rij (ti í tj) All the nodes in the network will execute the above algorithm but requires the node operation to be done in a set of order. No node can perform the operation without waiting for all the nodes to finish the current round of operations. To make the algorithm a bit floppy, asynchronous averaging algorithm has been proposed operations can be done at any order. Asynchronous Averaging Algorithms for each node ni with uniform probability do Ask its neighbors the clock readings (read values from ni and its neighbors) Average the readings (compute) Send back to the neighbors the new value (write values to ni and its neighbors) Each node tries to compute the local average value directly by asking all its neighbors about their values; it then sends out the computed average value to all its neighbors to update their values with the assumption that the average operation is atomic, that is, if a node is involved in two or more average operations, these operations must be sequenced. We refer [2] for detail understanding of the proof of convergence, and bounds on convergence speed of the method. Asynchronous averaging algorithm can effectively solve the synchronization problem. But one of the factors that affects the convergence speed and energy is that, all nodes have the same probability to execute the average operation. The operation of node whose clock is similar to its neighbors does not contribute much to the convergence. We investigate this observation and came up with an implication that cluster based method can be useful to decrease the convergence time and energy consumption by involving the cluster head and gateway nodes for the averaging operation. At the same time we need to find a well suited clustering technique which is having the minimum cluster creation and maintenance overhead. Next section we articulate our idea of passive clustering asynchronous algorithm which can effectively reduce convergence time, number of broadcast and energy consumption due to synchronization process.
5. Proposal-Passive Cluster algorithm for Synchronization
Based
Passive clustering is a 2-hop clustering structure that is any two nodes the cluster is having a distance of at most 2 hops. This implies that all nodes in a cluster
Proceedings of the Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/ELearning on Telecommunications Workshop 0-7695-2388-9/05 $20.00 © 2005 IEEE Authorized licensed use limited to: UNIVERSITY OF DELAWARE LIBRARY. Downloaded on January 20, 2009 at 19:46 from IEEE Xplore. Restrictions apply.
are connected to the cluster head by one hop. To illustrate the idea let’s consider an example of network with n nodes and each node is having transmission range r and the size of the roaming space will be k/¥2 r X k/¥2 r, where k is an even number. We assume nodes at coordinate a/¥2 r, b/¥2 r are the nodes acting as cluster heads and gateways. Nodes at the center of the circle depicted in figure 5.1 are cluster head and yellow color nodes are gateway. For n nodes in the network it will take n round to diffuse the clock information once to the network according to asynchronous averaging algorithm. On the other hand, in passive clustering structure it will take (k-1) X k/2 + k/2 X (k/2-1) + = k(3k-4)/4 rounds to diffuse the clock information once. If n=100 then passive clustering will save (n- (k(3k-4)/4 )) = 79 number of rounds to diffuse the clock information once.
if the node is a cluster head{ collect clock information from the member nodes of the cluster compute the average of the clocks of the nodes in a cluster send new clock to the members of the cluster } if the node is a gateway node{ collect clock information from cluster head nodes within the gateways transmission range computer the average clocks of the cluster head nodes send new clock information to the cluster head nodes } } We describe our synchronization process with the help of the figure 5.1
6. Simulation
Ordinary Cluster member Gateway Cluster Head Clock exchange between cluster head and new clock update to the cluster members Clock exchange between and new clock update to the cluster head and gateways Figure 5.1: Synchronization process
Considering the reduced operation and less overhead of cluster head maintenance of passive clustering, we change the asynchronous algorithm in the following way: Like other traditional synchronization algorithms our algorithm is having two major operations: Collecting clock information and averaging Sending the new clock value to be updated In our algorithm cluster head and gateway nodes are responsible for initiating clock collection, averaging and updating. All gateway nodes and cluster heads are having equal probability to execute averaging operation, while asynchronous diffusion in based algorithm all nodes are responsible for clock averaging operation. Synchronization process is as follows for each cluster head node hni and gateway node gni in the network {
To justify our claim of reduction of operation and thus reduction of energy, we implement two different algorithms (Asynchronous averaging and Passive clustering asynchronous averaging algorithm) and compare the results. Implemented algorithm executed by varying number of nodes and transmission range. In case of asynchronous averaging algorithm for each time slot, each node executes the averaging operation and the order of the node is randomized. Similarly, our algorithm for each time slot cluster head and gateway nodes execute averaging operation once and the operation of those nodes are randomized. Real time deployment of our algorithm needs the time interval of synchronization operation for the sensor nodes which depends on the clock drift of the nodes in the sensor network. Our first and second set of experiment has the following parameters Roaming Space 200 X 200 Number of Nodes = 200 The experiment shows the number of rounds required for asynchronous averaging algorithm and passive clustering averaging algorithm. Both the algorithms require comparatively large number of rounds at lower transmission range and fewer numbers of rounds at high transmission range. At low transmission range the network nodes supposed to
Proceedings of the Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/ELearning on Telecommunications Workshop 0-7695-2388-9/05 $20.00 © 2005 IEEE Authorized licensed use limited to: UNIVERSITY OF DELAWARE LIBRARY. Downloaded on January 20, 2009 at 19:46 from IEEE Xplore. Restrictions apply.
Averaging Algorithm Proposed Passive Clustering Avg Alg
Averaging Proposed Passive Clustering Avg Alg
500 400 300 200 100
0 100
150
200
250 300 350 Number of Nodes
400
450
500
Figure 6.3: Number of rounds --- varying number of nodes --- Fixed transmission range 30
35
40
45
Figure 6.1: Number of rounds --- Fixed number of nodes --- varying transmission range
Asynchronous averaging algorithm requires three different operations in each stage (1) send message to transmit the clock of its neighbor, (2) each neighbor send their clock to requested node and (3) Transmit the updated clock to all the neighbors. On the other hand, in our proposed algorithm only the cluster head and gateway nodes are responsible for averaging operation. We have calculated the number of operation in each stage for both the algorithm under different transmission range. Figure 6.2 depicts the effect of passive clustering. Our proposed algorithm significantly reduces the number of operations required for converging the clock with an error rate of 0.01%. Reduction in number of operation will reduce energy consumption for the synchronization process significantly 30000
Averaging Algorithm Proposed Passive Clustering Avg Alg
25000 20000 15000 10000 5000 0 30
35
40
45
70000
50
Transm ission Range
Number of Operations
600 Number of Rounds
1800 1600 1400 1200 1000 800 600 400 200 0
under increasing number of nodes. Our proposed algorithm performs better both in terms of number of rounds and operations required for synchronization operation for increasing number of nodes.
50
Transmission Range
Figure 6.2: Number of operations --- Fixed number of nodes --- varying transmission range
Number of Operations
Number of Rounds
have fewer neighbors and the effect of diffusion operation effects slowly. Number of round requirement at higher transmission range can be explained with inverse logic. With low transmission range our algorithm performs better comparing the number of rounds. At higher transmission range both the algorithm require almost equivalent number of rounds due the high network connectivity.
Averaging Proposed Passive Clustering Avg Alg
60000 50000 40000 30000 20000 10000 0 100
150
200
250
300
350
400
450
500
Number of Nodes
Figure 6.4: Number of operations --- varying number of nodes --- Fixed transmission range
7. Conclusion Diffusion based asynchronous averaging algorithm each node performs its operation locally and diffused to whole network to achieve the global synchronization. Albeit Cluster based method proposed in the same work have a better performance but suffered from the overhead of cluster creation and maintenance. One of the factors that affects the performance of diffusion based asynchronous algorithm is all node have the equal probability to execute averaging operation. Our proposed algorithm takes the advantage of passive clustering (which is an on demand dynamic clustering method with negligible amount of cluster creation and maintenance overhead) which reduces the chance of executing averaging operation in all nodes. Rather our proposed algorithm executes averaging operation only in cluster head and gateway nodes which in turn improve the performance in terms of time and energy.
Next two set of experiments compares our proposed algorithm with asynchronous averaging algorithm
Proceedings of the Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/ELearning on Telecommunications Workshop 0-7695-2388-9/05 $20.00 © 2005 IEEE Authorized licensed use limited to: UNIVERSITY OF DELAWARE LIBRARY. Downloaded on January 20, 2009 at 19:46 from IEEE Xplore. Restrictions apply.
8. References [1] L.Lamport, “Time, clocks, and the ordering of events in a distributed system,” Communications of the ACM, 1978, vol. 21, no. 7, pp. 558–565. [2] Qun Li, Daniela Rus, Global Clock Synchronization in Sensor Networks, In IEEE INFOCOM 2004, Hong Kong [3] Kwon, T.J., Gerla, M.: Efficient flooding with passive clustering (PC) in ad hoc networks. ACM SIGCOMM Computer Communication Review 32 (2002) 44–56 [4] Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. Directed diffusion: A scalable and robust communication paradigm for sensor networks. In MobiCOM 2000, Boston, Massachusetts, August 2000. [5] K. Arvind, Probabilistic Clock Synchronization in Distributed Systems, IEEE Transactions on Parallel and Distributed Systems , 1994, Volume 5 , Issue 5, pp 474 – 487
[6] M.Lemmon, J. Ganguly, and L. Xia, “Model-based clock synchronization in networks with drifting clocks,” in Proc Of the 2000 Pacific Rim International Symposium on Dependable Computing, Los Angeles, CA, Dec. 2000, pp. 177–185. [7] B. Hofmann-Wellenhof, H. Lichtenegger, and J. Collins, Global Positioning System: Theory and Practice, 4th ed. Springer- Verlag, 1997. [8] K. Romer, “Time synchronization in ad hoc networks,” in Proc. of ACM Mobihoc, Long Beach, CA, 2001. [9] J. Elson and D. Estrin, “Time synchronization for wireless sensor networks,” in Proc. of the 2001 International Parallel and Distributed Processing Symposium (IPDPS), Workshop on Parallel and Distributed Computing Issues in Wireless Networks and Mobile Computing, San Francisco, CA, Apr. 2001. [10] J. Elson, L. Girod, and D. Estrin, “Fine-grained network time synchronization using reference broadcasts,” in UCLA Technical Report 020008, Feb. 2002.
Proceedings of the Advanced Industrial Conference on Telecommunications/Service Assurance with Partial and Intermittent Resources Conference/ELearning on Telecommunications Workshop 0-7695-2388-9/05 $20.00 © 2005 IEEE Authorized licensed use limited to: UNIVERSITY OF DELAWARE LIBRARY. Downloaded on January 20, 2009 at 19:46 from IEEE Xplore. Restrictions apply.