Time Synchronization - using Reference-Broadcast Synchronization Fine-Grained Network Time Synchronization using Reference Broadcasts by Jeremy Elson, Lewis Girod and Deborah Estrin Presentation by Vivek Vaidyanathan CS 691, Winter 2003 Outline Introduction Concept of Traditional Time Synchronization Concept of Reference Broadcast Synchronization Kind of latency in TTS and RBS RBS algorithm for: Single Broadcast Network Multi-Hop Network Analysis of RBS algorithms Advantages and Limitations of RBS Introduction Time synchronization is highly critical in sensor networks for purposes such as: Data Diffusion Coordinated Actuation Object Tracking Purpose To Synchronize all the nodes in the sensor network using a method that: Eliminates error efficiently Energy conservative Provides tight synchronization Applications of Time Synchronization Secure cryptographic schemes Coordination of future action Ordering logged events during system debugging Concept of TTSTraditional Time Synchronization The sender periodically sends a message with its current clock as a timestamp to the receiver Receiver then synchronizes with the sender by changing its clock to the timestamp of the message it has received from the sender (if the latency is small compared to the desired accuracy) Sender calculates the phase error by measuring the total round trip-time by sending and receiving the respective response from the receiver (if the latency is large compared to the desired accuracy) Illustration of TTS S R (a) latency is small compared to desired accuracy S R (b) latency is large compared to desired accuracy Concept of RBS – Reference-Broadcast Synchronization 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) Illustration of RBS 1 2 A 3 4 RBS vs. TTS RBS - Synchronizes a set of receivers with one another Traditional - Senders synchronizes with receivers RBS – Supports both single hop and multi hop networks Traditional – mostly supports only single hop networks RBS vs. TTS TTS Example: NTP (Network Time Protocol) RBS Types of errors that TTS should detect and eliminate Send Time Latency - Access Time Latency - time spent at the sender to wait for access to transmit the message Prorogation Time Latency - time spent at the sender to construct the message 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 Types of errors that RBS should detect and eliminate Phase error - due to nodes’ clock that contains different times Clock skew - due to nodes’ clock that run at different rate Therefore, We go for RBS!!! RBS algorithm for single broadcast domain (assuming no clock skew) Basic idea to estimate phase offset: - - - Transmitter broadcasts a reference packet to two receivers Each receiver records the time that the reference was received, according to its local clock The receivers exchange their observations RBS algorithm for single broadcast domain (assuming no clock skew) Basic idea to estimate phase offset for nondeterministic 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 RBS algorithm for single broadcast domain (assuming no clock skew) Formula for calculating the phase offset of receiver i with other receiver j: n : number of receivers m : number of reference broadcasts Tr,b : r’s clock when it received broadcast b {r n, b m} m in, jn : Offset[i,j] = 1/m k=1 (Tj,k – Ti,k) Then the receiver changes its clock by the calculated phase offset Analysis of RBS algorithm for single broadcast domain (no clock skew) 2-D view: Mean group dispersion from the average of 1000 simulated trials for: - 20-receiver group (top) 2-receiver group (bottom) Analysis of RBS algorithm for single broadcast domain (no clock skew) 3-D view: Mean group dispersion from the average of 1000 simulated trials for the same data set, from 2 to 20 receivers (inclusive) RBS algorithm for single broadcast domain (with clock skew) A MATHEMATICAL APPROACH 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 RBS algorithm for single broadcast domain (with clock skew) 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 RBS algorithm for single broadcast domain (with clock skew) Formula for calculating the phase offset and clock skew of receiver r1 with other receiver r2: Tr,b : r’s clock when it received broadcast b, for each pulse k that was received by receivers r1 and r2 , we plot a graph : x = Tr1, k y = Tr2,k – Tr1,k Diagonal line drawn through the points represents the best linear fit to the data RBS algorithm for single broadcast domain (with clock skew) Diagonal line minimizes the residual error (RMS). Therefore, we go for calculating the slope and intercept of the diagonal line Time value of r1 is converted to time value of r2 by combining the slope and intercept data obtained Fit error (usec) Phase offset (usec) Analysis of RBS algorithm for single broadcast domain (with clock skew) Time (sec) Synchronization of the Mote’s internal clock Vertical impulses show the distance of each point from the best-fit line – RMS error Phase offset (usec) Analysis of RBS algorithm for single broadcast domain (with clock skew) Time (sec) Synchronization of clocks on PC104-compatible single board computers using Mote as NIC Why RBS is the best? Comparison of RBS with NTP and NTP-Offset: Hardware implementation RBS as a UNIX daemon UDP datagrams as Motes Testbed: - StrongARM-based Compaq IPAQs - Lucent Technologies 11 Mbit 802.11 wireless Ethernet adapters - All Ethernet adapters connected to a wireless 802.11 base station Why RBS is the best? Test implemented in two different scenarios: Light network load - Minimal load generated by synchronization scheme Heavy network load - - Two additional IPAQs configured as traffic generators Each IPAQ sent randomly sized UDP datagrams of 500 to 15,000 bytes Inter-packet delay: 10 msec Test Results Light traffic scenario: - - - RBS performed more than 8 times better than NTP and NTP-Offset RBS : average of 6.29 6.45 sec error NTP : average of 51.18 53.30 sec error RBS : 95% of trails : 20.53 sec error NTP : 95% of trails : 131.20 sec error Test Results For Light traffic: Test Results Heavy traffic scenario: - - RBS – almost completely unaffected NTP – suffered a 30 fold degradation RBS : 95% of trails : 28.53 sec error NTP : 95% of trails : 3,889 sec error Test Results For Heavy traffic: Working of RBS in multi hop network Obtained by mathematical conversion of output obtained in available single hop networks in the multi-hop network. Least square linear regression graph – used to synchronize all the single hop networks in the multi-hop network The values are then formulated and converted accordingly for all the nodes in the multi-hop network Illustration of Multi-Hop Synchronization Mathematical conversion obtained through the common node 4 Algorithm for Calculating Phase Offset in Multi-Hop Network Events E1 and E7 – observed by R1 and R7 respectively Best-fit line calculated by R4 using A’s broadcast E1(R4) => E1(R1) : R1 synchronized with R4 by A Best-fit line calculated by R4 using B’s broadcast E1(R4) => E1(R7) : R4 synchronized with R7 by B R1 synchronizes with R7 using R4 All nodes in Multi-hop are synchronized similarly Analysis of Multi-Hop RBS Same test applied to Multi-Hop as the Single-Hop Test Results: - If average per-hop error = s Hop path = n Average path error of n-hop = s . Sqrt(n) Advantages of RBS Can be used without external timescales Energy conservative Does not require tight coupling between sender and its network interface Covers much wider area Applicable in both wired and wireless networks Largest resources of latency (that exists in TTS) is removed from critical path Allows tighter synchronization How RBS is energy conservative? Nodes stay in sleep mode until an event of interest occurs – post-facto sync Limitations of RBS Works only with broadband communication Does not support point to point communication (as time synchronization is done among a set of receivers. In point-to-point – only one receiver exists) Applications Acoustic Motes: Acoustic Ranging implemented in Berkeley Motes Collaborative Signal Detection References Fine-Grained Network Time Synchronization using Reference Broadcasts. Jeremy Elson, Lewis Girod and Deborah Estrin, UCLA Power point presentation on Fine-Grained Network Time Synchronization using Reference Broadcasts. Jeremy Elson, Lewis Girod and Deborah Estrin, UCLA. Available at : http://lecs.cs.ucla.edu/~jelson/talks/timesync/RBSOSDI-2002-Dec9.ppt Wireless Sensor Networks: A New Regime for Time Synchronization. Jeremy Elson and Kay Romer, UCLA Time Synchronization for Wireless Sensor Networks. Jeremy Elson and Deborah Estrin, UCLA