Chapter 6 Time synchronization
Outline 6.1. The Problems of Time Synchronization 6.2. Protocols Based on Sender/Receiver Synchronization Network Time Protocol (NTP) Timing-sync Protocol for Sensor Networks (TPSN) Flooding Time Synchronization Protocol (FTSP) 6.2.4. Ratio-based time Synchronization Protocol (RSP) 6.3. Protocols Based on Receiver/Receiver Synchronization Reference Broadcast Synchronization (RBS) Hierarchy Referencing Time Synchronization (HRTS) 6.4. Summary 2
6.1. The Problems of Time Synchronization 3
The Problems of Time Synchronization Why Need for Time Synchronization? Many of the applications of WSN needs the event with time stamp Ordering of the samples for reporting Events are reported by multiple nodes When WSN is energy save enabled, it need all nodes to be in sync in order to be in Idle or Active mode Medium Access Layer (MAC) Scheduling Order of messages may change while transmission 4
Sources of Inaccuracies A local software clock of node i at time t L i (t) = q i H i (t) + f i H i (t): hardware clock of node i at time t q i :clock drift rate of node i f i :phase shift of node i Actual oscillators have random deviations from nominal frequency (drift, skew) additional pulses or lost pulses over the time of one million pulses at nominal rate Oscillator frequency is time variable 5 Long-term variation: oscillator aging Short-term variation: environment (temperature, pressure, supply voltage,...)
General Properties of Time Synchronization Algorithms Physical time vs. logical time External vs. internal synchronization Global vs. local algorithms Keep all nodes of a WSN synchronized or only a local neighborhood? Absolute vs. relative time Only accurate time difference Sufficient to estimate the drift instead of phase offset 6
General Properties of Time Synchronization Algorithms Hardware vs. software-based mechanisms A GPS receiver would be a hardware solution, but often too heavyweight/costly/energy-consuming in WSN nodes, and in addition a line-of-sight to at least four satellites is required A-priori vs. a-posteriori synchronization Is time synchronization achieved before or after an interesting event? Post-facto synchronization: is triggered by an external event Deterministic vs. stochastic precision bounds Local clock update discipline No backward jumps of local clocks No sudden jumps 7
Performance Metrics and Fundamental Structure Metrics: Precision: maximum synchronization error for deterministic algorithms, mean error /stddev /quantiles for stochastic ones Energy costs, e.g. # of exchanged packets, computational costs Memory requirements Fault tolerance: what happens when nodes die? 8
Performance Metrics and Fundamental Structure Fundamental building blocks of time synchronization algorithms: Resynchronization event detection block: when to trigger a time synchronization round? Remote clock estimation block: figuring out the other nodes clocks with the help of exchanging packets Clock correction block: compute adjustments for own local clock based on remote clock estimation Synchronization mesh setup block: figure out which node synchronizes with which other nodes 9
Constraints for Time Synchronization in WSNs Scale to large networks of unreliable nodes Quite diverse precision requirements, from ms to tens of seconds Use of extra hardware is mostly not an option Low mobility Often there are no fixed upper bounds on packet delivery delay Negligible propagation delay between neighboring nodes Manual node configuration is not an option 10
6.2. Protocols Based on Sender/Receiver Synchronization 11
Protocols Based on Sender/Receiver Synchronization In this kind of protocols, a receiver synchronizes to the clock of a sender The classical Network Time Protocol (NTP) belongs to this class We have to consider two steps: Pair-wise synchronization How does a single receiver synchronize to a single sender? Network wide synchronization How to figure out who synchronizes with whom to keep the whole network / parts of it synchronized? 12
Network Time Protocol (NTP) Synchronizing Physical Clocks Computer Clocks in distributed system not in consistent Need to synchronize clocks External synchronization (ES) Synchronized with an external reliable time source S S - C < D, where C is computer s clock Internal synchronization (IS) Synchronized with other computer in the distributed system C i - C j < D IS does not imply ES Clock C i and C j may drift together ES implies IS Within bound 2D 13
Timing-sync Protocol for Sensor Networks (TPSN) Introduction We present a Timing-sync Protocol for Sensor Networks (TPSN) that works on the conventional approach of sender-receiver synchronization Pairwise-protocol: timestamping at node i happens immediately before first bit appears on the medium, and timestamping at node j happens in interrupt routine 14
Timing-sync Protocol for Sensor Networks (TPSN) Network Model The network is always-on Every node maintains 16-bit register as clock Sensor has unique ID Build hierarchical topology for the network Node at level i can connect with at least one node at level i-1 15
Timing-sync Protocol for Sensor Networks (TPSN) Level discovery Phase Trivial Synchronization Phase Pair-wise sync is performed along the edge of hierarchical structure 16
Timing-sync Protocol for Sensor Networks (TPSN) Level discovery Phase The root node is assigned a level 0 and it initiates this phase by broadcasting a level_discovery packet level_discovery packet contains the identity and the level of the sender The immediate neighbors of the root node receive this packet and assign themselves a level (level = level +1) This process is continued and eventually every node in the network is assigned a level. On being assigned a level, a node neglects any such future packets. This makes sure that no flooding congestion takes place in this phase 17
Timing-sync Protocol for Sensor Networks (TPSN) Synchronization Phase T1: A is sender, starting sync by sending synchronization_pulse packet to B T2 = T1 + Δ + d where Δ is the clock drift d is propagation delay T3: B replies acknowledgement containing T1, T2, T3 T4: A receive Ack and T4 = T3 - Δ + d. So: Δ = [(T2 - T1) - (T4 - T3)] / 2 d = [(T2 - T1) + (T4 - T3)] / 2 18
Timing-sync Protocol for Sensor Networks (TPSN) Synchronization Phase A receive an Ack and get timestamp T4 T2: B replies B receive acknowledgement the synchronization containing _pulse packet and T1: A is sender, starting sync by sending timestamping T1,T2,T3 immediately synchronization_pulse packet to B with timestamp T1 B T2 T1,T2,T3 T1 A T4 19 At time t3 t1 t4 t2
Timing-sync Protocol for Sensor Networks (TPSN) Simulation and Comparison 20
Timing-sync Protocol for Sensor Networks (TPSN) Simulation and Comparison 21
Flooding Time Synchronization Protocol (FTSP) 22
Flooding Time Synchronization Protocol (FTSP) Introduction The FTSP synchronizes the time to possibly multiple receivers utilizing a single radio message Linear regression is used in FTSP to compensate for clock drift 23
Flooding Time Synchronization Protocol (FTSP) Network Model Every node in the network has a unique ID Each synchronization message contains three fields: TimeStamp RootID SeqNum The node with the smallest ID will be only one root in the whole network 24
Flooding Time Synchronization Protocol (FTSP) The root election phase FTSP utilizes a simple election process based on unique node IDs Synchronization phase 25
Flooding Time Synchronization Protocol (FTSP) The root election phase When a node does not receive new time synchronization messages for a number of message broadcast periods The node declares itself to be the root Whenever a node receives a message, the node with higher IDs give up being root Eventually there will be only one root 26
Flooding Time Synchronization Protocol (FTSP) Synchronization phase Root and synchronized node broadcast synchronization message Nodes receive synchronization message from root or synchronized node When a node collects enough synchronization message, it estimates the offset and becomes synchronized 27
Flooding Time Synchronization Protocol (FTSP) Timestamp rootid seqnum Root Timestamp rootid seqnum A B 28 Synchronized Node Unsynchronized node C
Flooding Time Synchronization Protocol (FTSP) Simulation and Conclusion 29
Ratio-based Time Synchronization Protocol (RSP) 30
Ratio-based time Synchronization Protocol (RSP) The RSP use two synchronization messages to synchronize the clock of the receiver with that of sender The RSP also can extend to multi-hop synchronization The nodes in the wireless sensor network construct a tree structure and the root of this tree is the synchronization root The global time of the root is flooding out to the nodes through the tree structure 31
Ratio-based time Synchronization Protocol (RSP) The local clock time of a sensor device is provided by the quartz oscillator inside itself Transformation formula between t and C i (t): : the local clock time of a sensor node i. t : the Coordinated Universal Time (UTC). : the drift ratio : the offset of node i s clock at time t. By (1), the local clock times of two sensor nodes i and j have the following relationship: (1) (2) 32 : relative drift ratio between nodes i and j : offset between the clocks of nodes i and j
Ratio-based time Synchronization Protocol (RSP) Reference node Sensor node calculate the clock drift ratio θ = (T 3 T 1 )/(T 4 T 2 ). 33
Ratio-based time Synchronization Protocol (RSP) Reference node Sensor node Each node can estimate the local time of reference node in the following way: 34 (3) : the local time of sensor node :the corresponding local time of the reference node. : the initial offset between reference node and sensor node.
Ratio-based time Synchronization Protocol (RSP) It can be calculated using linear interpolation with the four timestamps the can be derived as follows 35 (4)
Ratio-based time Synchronization Protocol (RSP) Therefore, we can derive (5) from (3) and (4): Each sensor node can estimate the local time of reference node, that is, the global time of the network (5) 36
Ratio-based time Synchronization Protocol (RSP) Reference node Sensor node R S (T 13 ) 37
6.3. Protocols Based on Receiver/Receiver Synchronization 38
Protocols Based on Receiver/Receiver Synchronization In this class of schemes The receivers of packets synchronize among each other, not with the transmitter of the packet Reference Broadcast Synchronization (RBS) Synchronize receivers within a single broadcast domain RBS does not modify the local clocks of nodes, but computes a table of conversion parameters for each peer in a broadcast domain 39
Reference Broadcast Synchronization (RBS) 40
Reference Broadcast Synchronization (RBS) Introduction Reference broadcasts do not have an explicit timestamp Receivers use reference broadcast s arrival time as a point of reference for comparing nodes clocks Receivers synchronizes with one another using the message s timestamp (which is different from one receiver to another) 41
Reference Broadcast Synchronization (RBS) Types of errors in traditional synchronization protocol Send time latency time spent at the sender to construct the message Access time latency time spent at the sender to wait for access to transmit the message Prorogation time latency time spent by the message in traveling from the sender to the receiver Receive time latency time spent at the receiver to receive the message from the channel and to notify the host 42
Reference Broadcast Synchronization (RBS) Types of errors in RBS Phase error due to nodes clock that contains different times Clock skew due to nodes clock that run at different rates 43
Reference Broadcast Synchronization (RBS) Difference between RBS & Traditional synchronization protocol RBS Synchronizes a set of receivers with one another Supports both single hop and multi-hop networks Traditional Senders synchronizes with receivers mostly supports only single hop networks 44
Reference Broadcast Synchronization (RBS) The phase offset with the clock skew is estimated by: Least-squares linear regression graph From the best-fit line of the graph, following can be inferred: Slope of the line : Clock skew of the nodes clock Intercept of the line : Phase of the nodes clock 45
Reference Broadcast Synchronization (RBS) Basic idea to estimate phase offset and clock skew for non-deterministic receivers: Transmitter broadcasts m reference packets Each of the n receivers records the time that the reference was received, according to its local clock The receivers exchange their observation Each Receiver i can compute its phase offset to any other receiver j Drift can be neglected when observations are exchanged quickly after reference packets Drift can be estimated jointly with offset O when a number of periodic observations of O i,j have been collected 46
Reference Broadcast Synchronization (RBS) Formula for calculating the phase offset and clock skew of receiver r 1 with another receiver r 2 : Let t r,b be r s clock when it received broadcast b for each pulse k that was received by receivers r 1 and r 2, we plot a graph : x = t r1, k y = t r2,k t r1,k Diagonal line drawn through the points represents the best linear fit to the data 47
Reference Broadcast Synchronization (RBS) Diagonal line minimizes the residual error (RMS) Therefore, we go for calculating the slope and intercept of the diagonal line Time value of r 1 is converted to time value of r 2 by combining the slope and intercept data obtained 48
Reference Broadcast Synchronization (RBS) Reference Packet Step1: Transmitter Step2: Receiver broadcasts records its local Step3:Use clock, Least-squares and exchange linear regression observation to estimate phase Finish offset RBS A:Local time A B:Local time B Transmitter Receiver 49
Reference Broadcast Synchronization (RBS) Communication costs: Be m the number of nodes in the broadcast domain First scheme: reference node collects the observations of the nodes, computes the offsets and sends them back 2 m packets Second scheme: reference node collects the observations of the nodes, computes the offsets and keeps them, but has responsibility for timestamp conversions and forwarder selection m packets 50
Reference Broadcast Synchronization (RBS) Communication costs: Be m the number of nodes in the broadcast domain Third scheme: each node transmits its observation individually to the other members of the broadcast domain m (m-1) packets Fourth scheme: each node broadcasts its observation m packets, but unreliable delivery 51
Reference Broadcast Synchronization (RBS) Conclusion Collisions are a problem: the reference packets trigger all nodes simultaneously to tell the world about their observations Computational costs: least-squares approximation is not cheap! Can be used without external timescales Does not require tight coupling between sender and its network interface 52
Hierarchy Referencing Time Synchronization (HRTS) 53
Hierarchy Referencing Time Synchronization (HRTS) Goal : Synchronize the vast majority of a WSN in a lightweight manner Idea Combine the benefits of LTS and RBS 54
Hierarchy Referencing Time Synchronization (HRTS) LTS : Lightweight Time Synchronization Goal Synchronize the clocks of all sensor nodes of a subset of nodes to one reference clock It considers only phase shifts and does not try to correct different drift rates 55
Hierarchy Referencing Time Synchronization (HRTS) LTS : Pairwise Synchronization At time t 23 41 n 1 Record t 14 Record t 23 n 2 Sync packet Reply packet In this packet contains t 2 and t 3 56
Hierarchy Referencing Time Synchronization (HRTS) 57
Hierarchy Referencing Time Synchronization (HRTS) LTS : Pairwise Synchronization Offset : O = Δ(t 5 )=L i (t 5 ) - L j (t 5 )= [L i (t 8 )+ L i (t 1 )- L j (t 6 )- L j (t 5 )] / 2 Because L i (t 5 ) = [L i (t 8 ) + L i (t 1 )- (L j (t 6 )- L j (t 5 ))] / 2 Benefit : only two packet transmissions with each pair Benefit of RBS Idea : ignore transmission delay By this idea, one packet can synchronize every node in one hop Combining the two protocol s benefit, the HRTS finds good solution to synchronize nodes in hierarchical way 58
Hierarchy Referencing Time Synchronization (HRTS) 59
Hierarchy Referencing Time Synchronization (HRTS) Timeline: Root node triggers time synchronization at t 1 with timestamp L R (t 1 ) Node i timestamps packet at time t 2 with L i (t 2 ) and node j timestamps it at t 2 with L j (t 2 ) Node i formats a packet and timestamps it at time t 3 with L i (t 3 ) the packet includes the values L i (t 2 ) and L i (t 3 ) Root node R timestamps the answer packet at time t 4 with L R (t 4 ) and computes its offset O R,i with node i s clock O R,i =L i (t 2 ) - L R (t 2 ) = L i (t 2 ) (L R (t 1 ) + L R (t 4 ) (L i (t 3 )- L i (t 2 ))/2 =[ (L i (t 2 ) - L R (t 1 )) (L R (t 4 )- L i (t 3 ))]/2 Root node R broadcasts the values O R,i and L i (t 2 ) 60
Hierarchy Referencing Time Synchronization (HRTS) The root node R can estimate the offset O R,i between its own clock and the local clock i in a similar fashion as the protocol LTS O R, i ( Li ( t2) LR ( t1)) ( LR ( t4) Li ( t3) 2 Root R broadcast the values O and L i (t 2 ) to all nodes Node i simply subtract the offset O R,i from its local clock Node j can compute O j,i directly as O j,i = L i (t 2 ) L j (t 2 ) and O R,j = O R,i O j,i 61
Hierarchy Referencing Time Synchronization (HRTS)- Discussion Node j is not involved in any packet exchange by this scheme is possible to synchronize an arbitrary number of nodes to R s clock with only three packets!! The synchronization uncertainty comes from: The error introduced by R when estimating O R,i The error introduced by setting t 2 = t 2 This makes HRTS only feasible for geographically small broadcast domains 62
Hierarchy Referencing Time Synchronization (HRTS)- Discussion Both kinds of uncertainty can again be reduced by: timestamping outgoing packets as lately as possible (relevant for t 1 and t 3 ) timestamping incoming packets as early as possible (relevant for t 2, t 2, t 4 ) The authors propose to use extra channels for synchronization traffic when late timestamping of outgoing packets is not an option Rationale: keep MAC delay small 63
Hierarchy Referencing Time Synchronization (HRTS) 64
Summary Time synchronization is important for both WSN applications and protocols Using hardware like GPS receivers is typically not an option, so extra protocols are needed Post-facto synchronization allows for time synchronization on demand, otherwise clock drifts would require frequent resynchronization and thus a constant energy drain 65
Summary Some of the presented protocols take significant advantage of WSN peculiarity like: small propagation delays the ability to influence the node firmware to timestamp outgoing packets late, incoming packets early 66
References [1] Ed. Ivan Stojmenovic, Handbook of Sensor Networks Algorithms and Architectures, 2005. [2] F. Sivrikaya,and B.Yener, Time Synchronization in Sensor Networks: A Survey,2004. (www.cs.rpi.edu/~yener/papers/winet/timesync04.pdf) [2] J. Elson, L. Girod, and D. Estrin,Fine-Grained Network Time Synchronization using Reference Broadcasts. (In Proceedings of the Fifth Symposium on OSDI 2002) [3] S. Ganeriwal, R. Kumar, and M. Srivastava, Timing-Sync Protocol for Sensor Networks. (SenSys 03) [5] D. L. Mills. Network Time Protocol (Version 3) Specification, Implementation and Analysis. RFC 1305, 1992. [6] D. L. Mills. Improved Algorithms for Synchronizing Computer Network Clocks. IEEE/ACM Transactions on Networking, 3(3): 245 254, 1995. [7] D. L. Mills. Adaptive Hybrid Clock Discipline Algorithm for the Network Time Protocol. IEEE/ACM Transactions on Networking, 6(5): 505 514, 1998. 67
References [8] S. Ganeriwal, R. Kumar, S. Adlakha, and M. Srivastava. Network-Wide Time Synchronization in Sensor Networks. Technical Report NESL 01-01-2003, Networked and Embedded Systems Lab (NESL), University of California, Los Angeles (UCLA), 2003. [9] S. Ganeriwal, R. Kumar, and M. B. Srivastava. Timing-Sync Protocol for Sensor Networks. In Proceedings of the 1st ACM International Conference on Embedded Networked Sensor Systems (SenSys), pages 138 149, Los Angeles, CA, November 2003. [10] Miklós Maróti, Branislav Kusy, Gyula Simon, Á kos Lédeczi, The Flooding Time Synchronization Protocol, In Proceedings of the 2ed ACM International Conference on Embedded Networked Sensor Systems (SenSys), pages 39 49, Baltimore, MD, USA, 2004. [11] J.-P. Sheu, W.-K. Hu, and J.-C. Lin, Ratio-Based Time Synchronization Protocol in Wireless Sensor Networks, Telecommunication Systems, Vol. 39, No. 1, pp. 25-35, Sep. 2008. [12] J. Elson, L. Girod, and D. Estrin. Fine-Grained Network Time Synchronization using Reference Broadcasts. In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation (OSDI 2002), Boston, MA, December 2002. [13] H. Dai and R. Han. TSync: A Lightweight Bidirectional Time Synchronization Service for Wireless Sensor Networks. ACM SIGMOBILE Mobile Computing and Communications Review, 8(1): 125 139, 2004.
Recommend Reading Particular Challenges and Constraints for Time Synchronization Algorithms in WSN J. Elson and K. R omer. Wireless Sensor Networks: A New Regime for Time Synchronization. In Proceedings of the First Workshop on Hot Topics In Networks (HotNets-I), Princeton, NJ, October 2002. J. E. Elson. Time Synchronization in Wireless Sensor Networks. PhD dissertation, University of California, Los Angeles, CA, Department of Computer Science, 2003. Other Time Synchronization Protocol Lightweight time synchronization protocol (LTS) J. V. Greunen and J. Rabaey. Lightweight Time Synchronization for Sensor Networks. In Proceedings of the 2nd ACM International Workshop on Wireless Sensor Networks and Applications (WSNA), San Diego, CA, September 2003. 69