From: scipio Date: Sat, 16 Feb 2008 01:37:52 +0000 (+0000) Subject: TEP 118 X-Git-Tag: release_tinyos_2_1_0_0~539 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=92427cffa7c0cbaffb733a6baac057341d305312 TEP 118 --- diff --git a/doc/html/tep118.html b/doc/html/tep118.html index e0c92b21..4fa121fe 100644 --- a/doc/html/tep118.html +++ b/doc/html/tep118.html @@ -298,9 +298,9 @@ ul.auto-toc { Philip Levis and Gilman Tolle Draft-Created:10-Dec-2004 -Draft-Version:1.8 +Draft-Version:1.9 -Draft-Modified:2007-08-24 +Draft-Modified:2008-02-16 Draft-Discuss:TinyOS Developer List <tinyos-devel at mail.millennium.berkeley.edu> @@ -327,7 +327,7 @@ include network reconfiguration and reprogramming.

Dissemination is a service for establishing eventual consistency on a shared variable. Every node in the network stores a copy of this variable. The dissemination service tells nodes when the value -changes, and exchanges packets to it will reach eventual consistency +changes, and exchanges packets so it will reach eventual consistency across the network. At any given time, two nodes may disagree, but over time the number of disagreements will shrink and the network will converge on a single value.

@@ -344,32 +344,33 @@ similarities. Separating a dissemination protocol into two parts --- control traffic and data traffic --- shows that while the data traffic protocols are greatly dependent on the size of the data item, the control traffic tends to be the same or very similar. For example, the -Deluge binary reprogramming service, disseminates metadata about the +Deluge binary reprogramming service disseminates metadata about the binaries. When nodes learn the disseminated metadata differs from the metadata of their local binary, they know they either have a bad binary or need a new one.

Novelty is an explicit consideration in dissemination's consistency -model: it seeks to have every node agree on what the most recent -version of the variable is. In this way, a node can prompt the network -to reach consistency on a new value for a variable by telling the -network it is newer. If several nodes all decide they need to update -the variable, dissemination ensures that the network converges on a -single value. Consistency does not mean that every node will see every -possible value the variable takes: it only means that the network will -eventually agree on what the newest is. This means that if a node is -disconnected from a network and the network goes through eight -versions of a disseminated value, when it rejoins the network it will -only see the most recent.

+model: it seeks to have every node agree on the most recent version of +the variable. In this way, a node can prompt the network to reach +consistency on a new value for a variable by telling the network it is +newer. If several nodes all decide to update the variable, +dissemination ensures that the network converges on a single one of +the updates.

+

Consistency does not mean that every node will see every possible +value the variable takes: it only means that the network will +eventually agree on what the newest is. If a node is disconnected from +a network and the network goes through eight updates to a shared +variable, when it rejoins the network it will only see the most +recent.

Being able to disseminate small values into a network is a useful building block for sensornet applications. It allows an administrator -to inject small programs or commands and configuration constants. For +to inject small programs, commands, and configuration constants. For example, installing a small program through the entire network can be cast as the problem of establishing consistency on a variable that contains the program.

The rest of this document describes a set of components and interfaces for a dissemination service included in TinyOS 2.0. This service only handles small values that can fit in a single packet. Larger values -would likely require different interfaces and abstractions.

+require different interfaces and abstractions.

2. Dissemination interfaces

diff --git a/doc/txt/tep118.txt b/doc/txt/tep118.txt index d2a932d3..8de4bd1e 100644 --- a/doc/txt/tep118.txt +++ b/doc/txt/tep118.txt @@ -38,7 +38,7 @@ include network reconfiguration and reprogramming. Dissemination is a service for establishing eventual consistency on a shared variable. Every node in the network stores a copy of this variable. The dissemination service tells nodes when the value -changes, and exchanges packets to it will reach eventual consistency +changes, and exchanges packets so it will reach eventual consistency across the network. At any given time, two nodes may disagree, but over time the number of disagreements will shrink and the network will converge on a single value. @@ -57,27 +57,29 @@ similarities. Separating a dissemination protocol into two parts --- control traffic and data traffic --- shows that while the data traffic protocols are greatly dependent on the size of the data item, the control traffic tends to be the same or very similar. For example, the -Deluge binary reprogramming service, disseminates metadata about the +Deluge binary reprogramming service disseminates metadata about the binaries. When nodes learn the disseminated metadata differs from the metadata of their local binary, they know they either have a bad binary or need a new one. Novelty is an explicit consideration in dissemination's consistency -model: it seeks to have every node agree on what the most recent -version of the variable is. In this way, a node can prompt the network -to reach consistency on a new value for a variable by telling the -network it is newer. If several nodes all decide they need to update -the variable, dissemination ensures that the network converges on a -single value. Consistency does not mean that every node will see every -possible value the variable takes: it only means that the network will -eventually agree on what the newest is. This means that if a node is -disconnected from a network and the network goes through eight -versions of a disseminated value, when it rejoins the network it will -only see the most recent. +model: it seeks to have every node agree on the most recent version of +the variable. In this way, a node can prompt the network to reach +consistency on a new value for a variable by telling the network it is +newer. If several nodes all decide to update the variable, +dissemination ensures that the network converges on a single one of +the updates. + +Consistency does not mean that every node will see every possible +value the variable takes: it only means that the network will +eventually agree on what the newest is. If a node is disconnected from +a network and the network goes through eight updates to a shared +variable, when it rejoins the network it will only see the most +recent. Being able to disseminate small values into a network is a useful building block for sensornet applications. It allows an administrator -to inject small programs or commands and configuration constants. For +to inject small programs, commands, and configuration constants. For example, installing a small program through the entire network can be cast as the problem of establishing consistency on a variable that contains the program. @@ -85,7 +87,7 @@ contains the program. The rest of this document describes a set of components and interfaces for a dissemination service included in TinyOS 2.0. This service only handles small values that can fit in a single packet. Larger values -would likely require different interfaces and abstractions. +require different interfaces and abstractions. 2. Dissemination interfaces ====================================================================