2.2 System Model
2.2.2 Observation Jitter
The approach for deriving the chronological ordering between update re-quests is introduced in Section 3.1. It is influenced by two parameters of the system: the jitter1 δcomm of the end to end communication delay between two nodes in the network on a single hop using send and the jitter δsens of the time it takes to observe a state change by means of sensors. The sum of both terms is called observation jitter or δobs.
For the communication technology used, it is assumed that δcomm is bounded and known. This can, for example, be achieved by using broadcast communication on layer two of the protocol stack, where packets are not repeated upon communication failures, sent within a bounded randomiza-tion interval, and are queued in a finite interface queue. These requirements are, for example, fulfilled by the specification of the IEEE 802.11 Standard (distributed coordination function, [Boa97]) and the MAC implementation provided with TinyOS [HSW+00], an operating system designed for wireless sensor network platforms such as the Berkeley Motes [mot].
1Delay jitter is defined to be the maximum difference between delays experienced by any two packets [ZK91].
Regarding the jitter imposed by sensor technology, we assume within this work that δsens = 0, i.e., it always takes the same time to retrieve and process data from the sensor hardware.
Chapter 3
Basic Concepts and Data Structures
In this chapter, we introduce the basic concepts and the data structures that are used within this dissertation for the development of the replication algorithms presented in Chapter 4. The two main data structures are the state record and the ordering graph. The state record reflects all information necessary to represent an update request in the system. The ordering graph is used to maintain information about the chronological ordering of update requests created by different observers.
3.1 Basic Concepts for Deriving Chronologi-cal Ordering
A frequently used approach for deriving the chronological ordering between pairs of update requests is the use of synchronized physical clocks. Here, timestamps are associated with the events by the sensors that captured the data. The chronological ordering and the time elapsed between a pair of events can simply be determined by comparing their associated timestamps.
This, however, requires that the clocks of the nodes in the network are syn-chronized. This can be achieved by using infrastructures that provide accu-rate time information, for example, the Global Positioning System (GPS), or
47
Observer 1 DB Node Observer 2
Observer 1 DB Node Observer 2
t
(b) Unambiguous ordering not guaranteed
Figure 3.1: Ordering of two packets at the receiver, with δcomm(shaded grey)
by using clock synchronization schemes. The GPS infrastructure, however, is not available in indoor scenarios since it requires line of sight communication with the GPS satellites. Clock synchronization can be either be performed proactively (often periodically), e.g., [Mil94] or reactively using posteriori synchronization, e.g., [R¨om01]. Clock synchronization schemes especially designed for wireless ad-hoc and sensor networks, e.g., [R¨om01,EGE02], take limitations of resources like bandwidth and energy into account. However, the maximum time synchronization error between any pair of nodes in the system depends on two potentially unknown system parameters: the maxi-mum number of hops between nodes (the network diameter), and the dura-tion of disconnecdura-tion between nodes, e.g., the time network partidura-tions prevail.
While the former may be critical in large networks, the latter plays a sig-nificant role in sparsely connected networks with mobile nodes where events that need to be correlated at some point in time occurred earlier on in two distinct network partitions. Due to the practically inevitable clock drift, the clocks in distinct network partitions will run at different speeds even if a periodic synchronization of the clocks within each partition is carried out.
This leads to an offset between clocks that grows with the duration of the disconnection periods.
In order to achieve ordering accuracy which is independent from the net-work diameter and the age of information, we propose a novel concept for determining the chronological ordering between update requests. Our ap-proach is based on the order in which update requests are received by nodes
3.1. BASIC CONCEPTS FOR DERIVING CHRONOLOGICAL ORDERING49 in the network via a single-hop. The concept is based upon the assump-tion that the jitter δcomm of the communication delay on a single-hop in the network has an upper bound. Figure 3.1 shows two examples with two ob-server nodes and one DB node each. In both cases, the two obob-servers send an update request for an object at times tu1 and tu2, where tu1 < tu2. The communication between the observers and the DB node is direct, i.e. no in-termediate hops are used. The shaded triangles indicate the maximum delay jitter δcomm that the individual packets may experience. By the assumptions taken in Chapter 2 this jitter is bounded.
In Figure 3.1(a) the difference δcomm = t2 − t1 is equal to the difference between tu1 and tu2 at which the update requests u1 and u2 were created.
As a result of that, the order in which the packets sent by the observers is reflected in the order in which the messages are received. The example in Figure 3.1(b) shows a situation where the difference tu2− tu1 between the sending of the two update request messages is less than δcomm. As a result of that, the message containing u1 may arrive after t2 (but before t3) and the message containing u2 may arrive earlier than t3 (but not before t2). Since the difference t2− t3 is negative, the order in which the messages arrive may be different from the order in which they were sent as a cause of the possible jitter.
In general, when tu2− tu1 ≥ δcomm, the order in which the messages were sent can be unambiguously derived from the order in which they are received at the DB node. In all other cases, when tu2− tu1 < δcomm, that order may not be maintained in all cases, depending on the effective jitter the messages have experienced in the system. In contrast to timestamp-based approaches, however, our approach cannot be used to calculate the temporal difference between update requests.
Experiments presented in Chapter 5 show that δcomm is reasonably small using standard technology. The values measured for δcomm using Berkeley Motes are below 1ms. If synchronized (physical) clocks are used the possible ordering accuracy depends on the accuracy of the underlying clock synchro-nization algorithm. In the case of the time synchrosynchro-nization algorithm for MANETs presented in [R¨om01] the inaccuracy increases linearly with both
the number of hops a message traverses in the network and the age of the information. Measurements on standard PCs presented in [R¨om01] show in-accuracies of approximately 2.2 ms and 3.75 ms for information that is 500 and 900 seconds old.