Many different methods of distributed time synchronization are in common use today. Systems such as the U.S. Global Positioning System (GPS) [8] and the WWV/WWVB radio stations operated by the National Institute of Standards and Technology [2] provide references to the U.S. time and frequency standards. Network time protocols, most notably Mills' NTP [10], distribute time received from these primary sources to network-connected computers.
In studying their application to sensor networks, we have found it useful to characterize the different types of time synchronization along various axes. We consider certain metrics to be especially important:
The services provided by existing time synchronization methods fall into many disparate points in this parameter space. All of them make tradeoffs--no single method is optimal along all axes.
For example, consumer GPS receivers can synchronize nodes to a persistent-lifetime time standard that is Earth-wide in scope to a precision of 200ns [9]. However, GPS units often can not be used (e.g., inside structures, underwater, during Mars exploration), can require several minutes of settling time. In some cases, GPS units might also be large, high-power and expensive compared to small sensors.
In contrast, consider a small group of nodes with short-range, low-power radios. If one node transmits a signal, the others can use that signal as a time reference--for example, to compare the times at which they recorded a sound. The synchronization provided by this simple ``pulse'' is local in scope and is limited in precision by the variable delays on the radio receivers and propagation delay of the radio waves. For a given precision bound, the lifetime of the synchronization is also finite as the nodes' clocks will wander after the initial pulse. However, the pulse is fast and energy-efficient because it only requires the transmission of a single signal.
The needs of applications in wireless sensor networks can be characterized along the same axes. For example, consider a beamforming array designed to localize the source of sound, such as that described by YHRCL in [13]. The array described shares a common time base by virtue of the fact that the audio data are all fed to the same processor. For such an array to be implemented on a fully distributed set of autonomous wireless sensors, network time synchronization is needed. This synchronization would require precision of about sec but could be limited in lifetime and local in scope.
Different applications have different synchronization requirements, illustrated by another example: data aggregation. A feature common to sensor networks due to the high energy cost of communication compared to computation [11] is local processing, summarization, and aggregation of data in order to minimize the size and frequency of transmissions. Suppression of duplicate notifications of the same event from a group of nearby sensors can result in significant energy savings [6]. To recognize duplicates, events must be timestamped with a precision on the same order as the event frequency; this might only be tens or hundreds of milliseconds. Since the data may be sent a long way through the network and even cached by many of the intermediate nodes, the synchronization must be broad in scope and long in lifetime--perhaps even persistent.
A number of factors make existing methods inadequate for timekeeping in a sensor network. Perhaps the most important is that sensor networks must be highly energy-efficient. As we mentioned in Section 1, nodes will be untethered and have finite battery reserves. Unlike laptops or other handheld devices that enjoy constant attention and maintenance by humans, the scale of a sensor net's deployment will make replenishment of these reserves impossible. Existing time synchronization methods are not designed with this constraint in mind. Although protocols such as NTP are conservative in their use of bandwidth, they are inefficient in this new context where radios consume significant power even by passively listening for messages [11].
Another complication is introduced by the heterogeneity of hardware that may be used within a sensor network. The smallest nodes--perhaps designed to be attached directly to the phenomena that they are monitoring--are unlikely to have an energy budget or form factor that allows anything more than a local oscillator and a short-range radio. Some will be better endowed, with longer-range radios capable of synchronizing with more remote parts of the network, or in some cases with external time sources such as GPS or WWVB.
The heterogeneity in the synchronization requirements across sensor network applications, the need for energy-efficiency and other constraints not found in conventional distributed systems, and the variety of hardware on which sensor networks will be deployed, all lead us to the following conclusions:
We are therefore extending a range of traditional ways of synchronizing time for sensor networks. By modifying existing methods and composing them into multi-modal solutions, we can create new forms of synchronization that cover a variety of points in the parameter space we described earlier. Our goal is to implement and characterize a set of methods rich enough so that all applications will have one available that is both necessary and sufficient for its needs.
Starting down this path, we have developed a technique called post-facto synchronization to reconcile the need of many applications for accurate sensor event timestamps with the desire to keep the node off in order to conserve energy.