and broadcast time synchronization algorithm(BTS) in 3 different scenarios. ... frequency, program style, communication quality and ..... message which is referred as M3 with t2 and d2 contained in it. .... list in the first line of Table1. There, µ is ...
Time Synchronization Simulator and Its Application Chaonong Xu1), 2), Lei Zhao1), Yongjun Xu1), Xiaowei Li1) 1) Advanced Test Technology Lab, Institute of Computing Technology, Chinese Academy of Sciences, 100080 2) Department of computer science, Hefei University of Technology, Hefei PR China, 230009 Email: {xu_chaonong, zl, xyj, lxw}@ict.ac.cn either they do not support the simulation of time synchronization, or the time model is too coarse. Simsync[15] is a time synchronization simulator for WSN. It models the time character of Mica2[16][17] which is a popular testbed in WSN. It can simulate the execution of time synchronization algorithm and enable fine-grained simulation on the time advancement of all sensor nodes in network. Users can easily develop, test and debug time synchronization algorithm with it. We develop a new time synchronization algorithm named BTS for single-hop network. We analyze the range of its synchronization error and we also think it can be enhanced by the technique of time-stamping at MAC layer which is widely employed to decrease the synchronization error. To testify them, we realize it on Simsync, and find that the simulated results are consistent with the analytic results. So we assert that Simsync is a helpful tool in the research of time synchronization. The organization of the paper is as follows: section 2 introduces the related works in time synchronization algorithm and simulator. Section 3 introduces the model of packet delay and that of the oscillator’s frequency in Simsync. Section 4 introduces the idea of BTS in singlehop network. Section 5 presents the simulated results. The last section is the conclusion of the paper.
Abstract Time synchronization is a critical middleware service of wireless sensor networks. Since the performance of time synchronization algorithm is greatly influenced by many factors, benchmark for evaluating time synchronization algorithm is not only difficult but also urgently needed. Software simulation is a good solution especially in the comparison between similar algorithms. In this paper, we presented a time synchronization simulator, Simsync, for wireless sensor networks. Simsync models the distribution of packet delay and the frequency of crystal oscillator as Gaussian. Based on it, we realized reference broadcast synchronization algorithm(RBS) and broadcast time synchronization algorithm(BTS) in 3 different scenarios. Simulated results are compared with the analytic results to advocate its effectiveness.
1
Introduction
Wireless sensor networks (WSN) have emerged and received many researchers’ attention because it bridges the gap between physical and virtual world. Application areas for WSN include geophysical monitoring, habit monitoring, intrusion detection, smart transportation, military systems, smart office and possibly every aspect of mankind’s life in future[1]. Time synchronization is one of the basic middleware services of WSN[1]. The aim of time synchronization is to keep the time of all sensor nodes in network as consistent as possible. It provides service for many other middleware such as data fusion, time division multiple access, localization, power management, security and distributed logging [2]. Researchers have proposed many time synchronization algorithms for WSN over the past few years [2][3][4][5][6][7][8][9], but even for same algorithm which runs on same hardware platform, researchers have reported different results. The cause is that the synchronization error of time synchronization algorithm is greatly influenced by factors such as running platform, packet delay, drift rate of oscillator’s frequency, program style, communication quality and even network layout. So, a benchmark for evaluating various time synchronization algorithms on common ground is not only difficult but also urgently needed. Software simulator is a good solution. Researchers have already presented some simulators[10][11][12][13][14] for WSN. Regretfully,
2
Related Works
RBS[3] is a representative of the receiver-receiver synchronization algorithm. Contrary to the traditional sender-receiver synchronization scheme, the receiverreceiver synchronization scheme excludes the time uncertainty on sender. Since RBS reduces the length of critical path, its synchronization error decreases greatly. One demerit of RBS is its tremendous energy consumption. Furthermore, the reference node can not synchronize with any other nodes. But the receiverreceiver synchronization scheme greatly influences the latter time synchronization algorithm. Contrary to RBS, TPSN(Timing-sync Protocol for Sensor Networks)[4] is a representative of the senderreceiver synchronization algorithm. [4] and [18] indicate that the synchronization error can be greatly decreased by the technique of time-stamping at MAC layer because the technique reduces the length of critical path. The author declares that the synchronization error of TPSN is about 2 times less than that of RBS. Based on the conclusion, many latter time synchronization
1517
0-7803-9514-X/06/$20.00 ©2006 IEEE
ICIEA 2006
algorithms adopt the idea of time-stamping at MAC layer. The demerit of TPSN is its tremendous energy consumption because it is virtually a pair-wise algorithm. We propose BTS algorithm to minimize the energy consumption with small synchronization error. It will be introduced in section 4. As to time synchronization simulator, Emstar[10] provides a flexible environment for transition between simulation and deployment for iPAQ-class sensor nodes running Linux. To deal with the difficulty of modelling RF propagation for short-range, low-power radios in complex environment, Emstar provides the ceiling array where each virtual node is bridged to a real-world one for networking. As far as time synchronization is concerned, the packet delay modelled in Emstar is the sum of two parts: one is the packet send time which is the result of bit number of the packet divided by transmission baud rate, the other is a random time vary between -1/2Tb and +1/2Tb where Tb is the time of sending a binary bit. TOSSim[12] is a discrete event simulator for TinyOS[18] based sensor networks. User can compile TinyOS application into TOSSim framework and run it on PC. Regretfully, TOSSim focuses on simulating TinyOS and its execution rather than simulating the real world, it does not model packet latency, nor does it model clock drift. So TOSSim can not be used to evaluate time synchronization algorithm. Omnet++[11]is a discrete event simulator. It supports modelling wireless channels and time by user with c++. In [19], the writer employs it to simulate his algorithm by modelling the sender delay and receiver delay as Gaussian variable with a mean of 100µs and a standard deviation of 11µs. [7] also uses it to do simulation but the writer has not introduced its simulation model in detail.
3
Access time: the delay incurred by waiting for access to the wireless channel. It is the least deterministic part of packet delay. Transmission time: the delay it takes for sender to transmit the packet bit by bit at the physical layer. It depends on the length of the packet and the transmission baud rate. Propagation time: the delay it takes for one binary bit in packet to travel the wireless link from sender to receiver. It is deterministic and depends on the distance between the sender and the receiver. Reception time: the delay it takes for the receiver to receive the packet. Same as transmission time, it depends on the length of packet and the transmission baud rate. It may partly overlay with transmission time. Receive time: the delay of processing the incoming packet and delivering it to the application layer in receiver. Its character is similar to that of send time. Figure1 is the outline of the packet delay. We now research into the components of the packet delay in Mica2 in detail. We track how the first bit in a packet is delivered. At first, the application layer in sender assembles the packet and stamps time on it, after Tsend (send time), the packet is delivered to MAC layer. After Taccess(access time), the sender gain access to wireless channel, then the first bit is transmitted to radio chip through its IO pin(the next bit will be transmitted after Tperbit which is the reciprocal of the transmission baud rate). After Tencoding, which is called the encoding time, the radio chip encodes and transforms the first bit into electromagnetic waves. When the electromagnetic waves propagate to receiver after Tpropagation (propagation time), the radio chip of the receiver receives the electromagnetic waves. After Tdecoding which is called the decoding time, it transforms and decodes the electromagnetic waves into a binary bit and transmits the bit to microcontroller through IO pin. Both encoding and decoding time are deterministic and depend only on the character of radio chip. When the first byte is received by hardware of receiver, it interrupts the microcontroller to request for processing. After Tinterrupt(interrupt time of microcontroller), the interrupt server program is executed and the first byte is saved into memory. When all bytes in the packet are received, they will be delivered from MAC layer to application layer in receiver after Treceive(receive time). The application layer on receiver stamps the time on it to indicate that it has received a packet. So the delay of the first byte is: Tfrist=Tsend+Taccess+Tencoding+Tdecoding+T propagation+ Tinterrupt+Treceive If all bytes in the packet are received correctly, the following equation comes into existence: Tperbit=MAX (Tperbit, Tencoding, Tdecoding, Tinterrupt, Tpropagation) Assume L is the bit number of the packet, based on the pipeline theory[20], the delay of a packet is: T=Tfirst+(L-1)Tperbit (1)
Time Mode of Simsync
3.1
Model of the Packet Delay
The biggest enemy of precise time synchronization of sensor network is non-determinism. [3] decomposes the packet delay into the following 6 components. Sender
Send time
Access time
Transmission time
Propagation time Receiver
Reception time
Receive time
Figure1: Components of packet delay Send time: the delay which is spent in assembling a packet and delivering the packet to MAC layer in sender. It depends on the system call overhead of the operation system and the load of processor. It is nondeterministic.
1518
3.2
Figure2: Local time vs. Estimated time The local time is actually the value of time counter which increases with counter pulse. If we look on the time synchronization algorithm as a system and the local time as system input, the estimated time can be looked as the system output. Figure2.A illustrates their relationship in a continuous time synchronization algorithm. The estimated time never influences the local time. But for an instantaneous time synchronization algorithm as in Figure2.B, at the beginning of a synchronization cycle, the value of time counter is replaced with the estimated time once the estimated time is worked out by the instantaneous time synchronization algorithm. Since then, the estimated time is same with the local time.
Model of Oscillator Frequency
Any crystal oscillator ticks at slight different rate even if they have same nominal frequency because of factors such as temperature, pressure, manufacture techniques, voltage, etc. The frequency of crystal oscillator is accurate on the order of from 1ppm to 100ppm, that is, time between two nodes may drift 0~100 microseconds per second if the nominal frequency of oscillator is 1MHZ. In our model of oscillator frequency, we model the instantaneous frequency of a crystal oscillator as a Gaussian variable(the mean is its nominal frequency, while the deviation is from frequency/10-6 to frequency/10-4 according to the type of crystal oscillator). Assume that the instantaneous frequency is stable during a short period which is the interval of the basic simulation step in Simsync, it is set as 1 microsecond in Simsync. The model of oscillator frequency is used to transform between the local interval and the global interval. Their difference is due to the different timescale. For a given time interval, the global interval is based on UTC time while the local interval of a node is based on the frequency of its oscillator. The local interval is equal to the global interval only if the nominal frequency and the real frequency of the node’s oscillator are equal. Their relationship is as following: local interval real frequency = global interval nominal frequency (2) According to equation (2), the local interval in one node and the corresponding global interval can be transformed into each other.
4
4.2
4.2.1
Node Time reference node
BTS algorithm
Replier
Nodek Nodej
Local time form other nodes
Continuous Time Counter Local time Synchronization AlgorithmEstimated time
A. continuous synchronization
Instantaneous Time Synchronization Algorithm
Counter pulse
Counter
M1
M2
M3
t2 t3
t2k
Figure3: Synchronization scheme of HRTS In Figure3, t1 is the time when M1 is just transmitted; t4 is the time when M2 is just received. Both of them are recorded with the local time of the time reference node; t2 is the time when M1 is just received; t3 is the time when M2 is just transmitted. Both of them are recorded with the local time of the replier. t2 and t3 are contained in M2 which is send to the time reference node by the replier. We assume that the propagation delay of M1 and M2 are same and the time offset between them is fixed during the time from t1 to t4. If we refer the propagation delay of M1 as d1, and the time offset between the time reference node and the replier is referred as d2. Since the time reference node has known about the t1, t2, t3 and t4 when it receives M2, so:
Two terms have to be explained at first, which are the local time and the estimated time. Figure2 illustrates their difference.
Local time from other nodes
t4
t1
Time
Local time vs. Estimated time
Counter pulse
HRTS in single-hop network
Figure3 illustrates the scheme of HRTS. When it need synchronize, the time reference node randomly appoints one of its neighbours as the replier. First, it broadcasts a packet which is referred as M1, every of its neighbours including the replier records the arrival time of M1 with their local time and saves it into buffer. For example, the replier records it as t2 and the nodeK records it as t2k. Then, the replier will return a packet to the time reference node which is referred as M2.
In this section, we propose the broadcast time synchronization algorithm for single-hop network. First, two terms are explained. Then, we introduce the scheme of BTS in single-hop network. At last, we analyze the synchronization error of BTS.
4.1
BTS in single-hop network
In this section, at first, HRTS(Hierarchy Referencing Time Synchronization Protocl )[9] will be introduced because it is very similar to BTS, then the synchronization scheme of BTS in single-hop network will be introduced, the last section is the error analysis.
Estimated Time = Local time
B. instantaneous synchronization
1519
t 2 = t1 + d 1 + d 2 t4 = t3 + d 1 − d 2 d1, d2 can be worked out as follows:
same time, the time reference node records its time as [t 1] 0i . Step 2: When one node(assume it is nodeP) receives M1, it records the arrival time of M1 as [t2]pi with its local time, it also computes the compensated time of the last cycle according to equation (5), the value of the compensated time is [t 2 ] im−1 - [t 2 ] ip−1 -
d 1 = (t 2 − t 1 − t 3 + t 4 ) / 2
(3 ) If we refer the local time of the time reference node as Tr, the local time of the replier as Tp and the local time of other nodes such as nodek as Tk. So: (4) Tr = Tp − d 2 At last, the time reference node broadcasts a message which is referred as M3 with t2 and d2 contained in it. If we assume that all nodes receive M1 at the same instant, we can know that: Tp − Tk = t 2 − t 2 k Combined with equation (4), we can know that: (5) Tr = Tk + t 2 − t 2 k − d 2 t2 - t2k - d2 is called compensated time of nodeK. NodeK can now adjust its local time by adding the compensated time onto its local time. If k is equal to p, then t2 is same as t2k, in that case, equation (5) is equivalent to equation (4). After adjustment, the local time of every node in the network is equal to that of the time reference node. We can think that the whole network is synchronized at that instant. d 2 = (t 2 − t 1 + t 3 − t 4 ) / 2
4.2.2
[ d 2 ] im−1 , for simplicity, we refer it as [tc ] ip− 1 . Then the point ( [t 2 ] ip−1 , [tc ] ip− 1 ) is saved into its buffer. The meaning of the point is that when the local time of nodeP is [t 2 ] ip−1 , it needs to add [tc ] ip− 1 on its local time so as to synchronize with the time reference node. Step 3: the nodeK who is appointed as the replier for this cycle sends M2 back to the time reference node with [t 2 ] ik and [t 3 ] ik contained in it. Step 4: the time reference node records the arrival time of M2 as [t 4 ] ik . It now works out [ d 2 ] ik according to equation (3). When the nodeP is inquired about the time, its estimated time is returned. Steps are as follows: Step 1: find the point whose x-coordinate is the smallest in buffer. Notate the point as ([ [t 2 ] pj , [tc] pj ). Step 2: construct a point set (for all i in buffer) {( [t 2 ] ip − [ t 2 ] pj , [tc ] ip − [ tc ] pj )} and do the leastsquares linear regression on the constructed point set. So linear equation y=kx+b is constructed. We can know that b must be 0. Step 3: if we refer the local time of nodeP as RT P , then:
BTS in single-hop network
In single-hop network, BTS modifies HRTS in two aspects. First, t2 and d2 can be piggybacked in M1 of the next cycle. Only two packets are needed in one synchronization cycle. So when a node receives M1, it not only records time information for this cycle but also computes the compensated time for last cycle. Second, when the compensated time is worked out, every node will save it into buffer instead of adjusting its local time immediately. BTS then employs the least-square linear regression technique to smooth the jitter of synchronization error. So a linear equation which describes the time relationship between itself and the time reference node is setup. To describe the scheme of BTS in more formal language, we have some notations: we refer the local time of nodeK as [t 1] ik when it sends M1, [t 2 ] ik when it
ET 0 p = RT p + k × ( RT p − [t 2 ] pj ) + [ tc ] pj = ( 1 + k ) × RT P + [ tc ] Pj − k × [ t 2 ] Pj
= k P RT P + d P = f ( RT P ) (6) That is, nodeP can estimate the local time of node0 according to equation (6). ET 0P stands for the estimated value. According to Figure2.A, it is also the estimated time of nodeP. We point out here that ET 0P may be unequal to the local time of node0. The difference is the synchronization error between nodeP and node0. We call k P and d P as local skew and local offset of nodeP respectively. Equation (6) means that the estimated time of a node can be worked out based on its local time, local skew and local offset.
receives M1, [t 3 ] ik when it sends M2, [t 4 ] ik when it receives M2 in the i’th synchronization cycle. The clock offset in the i’th synchronization cycle between nodeK and the time reference node is referred as [ d 2 ] ik . For convenience, we assume that the time reference node is node0. Steps in the i’th synchronization cycle are as follows: Step1: The time reference node broadcasts M1. It randomly appoints a neighbour node (assume it is nodeK) as the replier for this cycle, [t 2 ] ik−1 and
4.3
Error analysis
We now try to find what influences the synchronization error of the algorithm. For convenience, we assume that there are only three nodes in a single hop network, their ID number are 0, 1 and 2 respectively. We also assume that node0 is the time reference node and the three nodes starts running at the same instant and their frequencies are same at any instant. So their local times are completely equal at any instant.
[ d 2 ] im−1 of the (i-1)’th synchronization cycle are also piggybacked in M1 (assume nodeM is appointed as the replier in the (i-1)’th synchronization cycle). At the
1520
We now consider the instant when M2 has just been received by node0 in i’th synchronization cycle. Assume that node1 is appointed as the replier in the cycle. It is obvious that the synchronization scheme between node0 and node1 is the sender-receiver synchronization. It is same with TPSN algorithm. There, the author declares that propagation time, reception time are main erroneous factors. Of course, TPSN stamps time at MAC layer while BTS does not, so the critical path of BTS is from the application layer of sender to that of receiver. We refer the synchronization error caused by all components in the critical path as δ0,1 (it can be either positive or negative). So: RT0 = ET01 + δ 0,1 (7) The synchronization scheme between node2 and node1 is the receiver-receiver synchronization. It is same with RBS. There, the author declared that the receive time on receiver is the main erroneous factor. We refer the synchronization error caused by it as ∆1,2, it can be either positive or negative). So: ET01 = ET02 + ∆0,1 (8) According to equation (7) and (8), so: RT0 = ET02 + δ 0,1 + ∆1,2 (9) If e stands for the synchronization error between node2 and node0, abs(x) stands for the function which gets back the absolute value of the variable x, so: abs ( abs (δ 0 ,1 ) − abs ( ∆1 , 2 )) ≤ abs ( e ) (10) (11 abs ( abs (δ 0 , 1 ) + abs ( ∆1 , 2 )) ≥ abs ( e ) ) From equation (9), we can see that BTS is equivalent to RBS ifδ0,1 is zero. Furthermore, BTS is similar with TPSN ifΔ1,2 is zero and time-stamping at MAC layer. We think that the technique of time stamping at MAC layer used in TPSN must be effective in BTS as well since it reduce the length of the critical path.
5
there are 300 samples for it. The simulated results are list in the first line of Table1. There, µ is the mean of the synchronization error, σ is standard deviation of the synchronization error. Their units are microsecond(µs). We also realize BTS in different simulation scenes. In the first simulation scene which is notated as BTS1, only node0 and node1 are deployed in a single-hop network. All other parameters are same with that of RBS simulation. The time difference between them is δ0,1 indeed. In the second simulation scene which is notated as BTS2, node0, node1 and node2 are deployed in a single-hop network and node0 is appointed as the time reference node. All other parameters are same with that of RBS simulation. We work out the time difference between node1 and node0 for every time item, the time difference between node2 and node0 for every time item is also worked out. The synchronization error is the mean of them. Table1: Statistics of RBS and BTS experiment Interval(s) µ(µs) σ(µs) RBS 10 26.9167 20.8943 BTS1 10 42.8360 31.8943 BTS2 10 59.9362 48.5969 BTS3 10 34.6053 25.8784 From the first three lines of Table1, we can see that the simulated results are consistent with inequation (10) and (11). The last simulation scene named BTS3 is to find if the technique of time-stamping at MAC layer can decrease the synchronization error of BTS. We realize it under the same simulation scene with BTS2. Compared with BTS2, it can be easily seen that with the technique of MAC-layer time stamping, the synchronization error of BTS decreases greatly.
6
Conclusions
We developed a time synchronization simulator named Simsync for WSN. Simsync models the distribution of packet delay and the frequency of crystal oscillator as Gaussian. It enables fine-grained simulation on the time advancement of all sensor nodes in network. Based on it, we realized RBS and BTS in 3 different scenarios. Simulated results are consistent with the analytic results. We declare that Simsync is a very helpful tool in the research of time synchronization in WSN.
Experiment
To see whether BTS really satisfies inequation (10) and (11) and whether the technique of time stamping at MAC layer is effective on BTS, we realize RBS and BTS on Simsync. We first realize RBS. Node0, node1 and node2 are deployed in a single-hop network. Node0 is appointed as the reference node. We simulate it for 50 minutes. The synchronization cycle is 10 seconds. At the beginning of every synchronization cycle, we record the time of every node. At the end of simulation, all these time is exported as a file which can be used for further analysis. So there are 300 time items for each node in the file. We compute the time difference between node1 and node2 for every time item. The time difference is the synchronization error which is ∆1,2 indeed. If we think of the synchronization error as a random variable,
References [1] J. Elson and K. Römer, “Wireless sensor networks: A new regime for time synchronization”. ACM SIGCOMM Computer Communication Review, vol.33, no.1, pp.149-154, Jan 2003. [2]
1521
M. L. Sichitiu and C. Veerarittiphan, “Simple, accurate time synchronization for wireless sensor
networks”, In Proceedings of IEEE Wireless Communication and Networking Conference (WCNC 2003), New Orleans, LA, vol.2, pp.16-20, Mar 2003.
[11] A. Varga, “The OMNeT++ discrete event simulation system”. In Proceedings of the European Multiconference(ESM’2001), Prague, Czech Republic, Jun 2001.
[3] J. Elson, L. Girod, and D. Estrin, “Fine-Grained time synchronization using reference broadcasts”. In Proceedings of the Fifth Symposium Operatiation System Design and Implementation (OSDI2002), Boston, MA, pp. 147-163, Dec 2002.
[12] P. Levis, N. Lee, M. Welsh, and D. Culler, “TOSSIM: Accurate and scalable simulation of entire TinyOS applications”. In Proceedings of the First ACM Conference on Embedded Networked Sensor Systems (SenSys’03), ACM Press, pp126–13 Los Angeles, Nov 2003
[4] S. Ganeriwal, R. Kumar, and M. Srivastava, “Timing-Sync protocol for sensor networks”, In Proceedings of the First ACM Conference on Embedded Networked Sensor Systems (SENSYS 2003), ACM Press, Los Angeles, CA, pp. 138-149. Nov 2003.
[13] S. Park, A. Savvides, and M. B. Srivastava, “SensorSim: A Simulation Framework for Sensor Networks”, In Proceedings of the 3rd ACM International Workshop on Modeling, Analysis and Simulation of Wireless and Mobile Systems, Boston, MA USA, pp. 104-111, 2000.
[5] Q. Li and D. Rus, “Global Clock Synchronization in Sensor Networks”, In Proceedings of IEEE Conference on Computer Communications (INFOCOM 2004), vol.1, pp. 564-574, Hong Kong, China, Mar 2004.
[14] L. F. Perrone and D. Nicol, “A Scalable Simulator for TinyOS Applications”, In Proceedings of the 2002 Winter Simulation Conference, San Diego, USA, pp.679-687,2002.
[6] Saurabh Ganeriwal, Ram Kumar, Sachin Adlakha, and Mani Srivastava, “Network-wide time synchronization in sensor networks”, Technical report, Networked and Embedded Systems Lab, Elec. Eng. Dept, UCLA, Apr 2002.
[15] Chaonong Xu, Lei Zhao, Yongjun Xu, Xiaowei Li, Simsync: “An effective time synchronization simulator for sensor networks”, In Proceedings of the First International Workshop on Sensor Networks and Applications, Beijing, china, Oct 2005, pp.2-5. Available at http://www.wsn.org.cn /wsnnb/ subpages/simsync.pdf.
[7] .J. V. Greunen and J. Rabaey, “Lightweight time synchronization for sensor networks”. In Proceedings of the Second ACM International Workshop on Wireless Sensor Networks and Applications (WSNA 2003), San Diego, CA, pp.1119, Sept 2003.
[16] Hill, J., and Culler, D, “Mica: A wireless platform for deeply embedded networks”, IEEE Micro archive, vol. 22, no.6, pp.12-24, Nov 2002. [17] Mica2 and Mica2Dot: http://www.xbow.com/ Products/Wireless_Sensor_Networks.htm.
[8] Miklos Maroti, Branislav Kusy, Gyula Simon, and Akos Ledeczi, “The Flooding Time Synchronization Protocol”, In Proceedings of the Second ACM Conference on Embedded Networked Sensor Systems (SenSys), Baltimore, MD, ACM Press, pp. 39-49, Nov 2004.
[18] Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, and Kristofer Pister, “System architecture directions for networked sensors”. In Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-IX), ACM, Cambridge, MA, USA, pp.93-104, Nov 2000.
[9] Hui Dai, Richard Han, “TSync: a lightweight bidirectional time synchronization service for wireless sensor networks”, Mobile Computing and Communications Review, vol.8, no.1, pp.125-139, 2004.
[19] Qing Ye, Yuecheng Zhang, and Liang Cheng, “A study on the optimal time synchronization accuracy in wireless sensor networks”, Computer Networks, vol. 48, no.4, pp.549-566, Jul 2005.
[10] J. Elson, S. Bien, N. Busek, V. Bychkovskiy, A. Cerpa, D. Ganesan, L. Girod, B. Greenstein, T. Schoellhammer, T. Stathopoulos, and D. Estrin, “EmStar: An environment for developing wireless embedded systems software”, Center for Embedded Networked Sensing(CENS) Technical Report 0009, Mar 2003.
[20] J. L. Hennessy and D. A. Patterson, “Computer Architecture: A Quantitative Approach”, 2nd edition beta copy, Morgan Kaufmann Pub, San Mateo, CA, 1995.
1522