draft-ietf-roll-trickle-00.txt   draft-ietf-roll-trickle-01.txt 
Networking Working Group P. Levis Networking Working Group P. Levis
Internet-Draft Stanford University Internet-Draft Stanford University
Intended status: Informational T. Clausen Intended status: Informational T. Clausen
Expires: September 24, 2010 LIX, Ecole Polytechnique Expires: October 12, 2010 LIX, Ecole Polytechnique
March 23, 2010 J. Hui
Arch Rock Corporation
J. Ko
Johns Hopkins University
April 10, 2010
The Trickle Algorithm The Trickle Algorithm
draft-ietf-roll-trickle-00 draft-ietf-roll-trickle-01
Abstract Abstract
The Trickle algorithm allows wireless nodes to exchange information The Trickle algorithm allows wireless nodes to exchange information
in a highly robust, energy efficient, simple, and scalable manner. in a highly robust, energy efficient, simple, and scalable manner.
Dynamically adjusting transmission windows allows Trickle to spread Dynamically adjusting transmission windows allows Trickle to spread
new information on the scale of link-layer transmission times while new information on the scale of link-layer transmission times while
sending only a few messages per hour when information does not sending only a few messages per hour when information does not
change. A simple suppression nechanism and transmission point change. A simple suppression nechanism and transmission point
selection allows Trickle's communication rate to scale selection allows Trickle's communication rate to scale
skipping to change at page 1, line 45 skipping to change at page 1, line 49
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 24, 2010. This Internet-Draft will expire on October 12, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 5, line 44 skipping to change at page 5, line 44
2. Whenever Trickle hears a transmission that is "consistent," it 2. Whenever Trickle hears a transmission that is "consistent," it
increments counter c. increments counter c.
3. At time t, Trickle transmits if and only if counter c is less 3. At time t, Trickle transmits if and only if counter c is less
than the redundancy constant k. than the redundancy constant k.
4. When an interval expires, Trickle doubles the interval length. 4. When an interval expires, Trickle doubles the interval length.
If this new interval length would be longer than Imax, Trickle If this new interval length would be longer than Imax, Trickle
sets the interval length I to be Imax. sets the interval length I to be Imax.
5. If Trickle hears a transmission that is "inconsistent" and I is 5. If Trickle hears a transmission that is "inconsistent," the
greater than Imin, Trickle resets I to Imin, and begins a new Trickle timer resets. If I is greater than Imin, resetting a
interval. Trickle timer sets I to Imin and begins a new interval. If is
equal to Imin, resetting a Trickle timer does nothing. Trickle
may also reset the timer in response to external "events."
The terms consistent and inconsistent are in quotes because their The terms consistent, inconsistent and event are in quotes because
meaning depends on the use of Trickle. their meaning depends on the use of Trickle.
5. Using Trickle 5. Using Trickle
A protocol specification that uses Trickle should specify: A protocol specification that uses Trickle MUST specify:
o Default values for Imin, Imax, and k. Because link layers can o Default values for Imin, Imax, and k. Because link layers can
vary widely in their properties, the default value of Imin should vary widely in their properties, the default value of Imin should
be specified in terms of the worst-case latency of a link layer be specified in terms of the worst-case latency of a link layer
transmission. For example, a specification should say "the transmission. For example, a specification should say "the
default value of Imin is 4 times the worst case link layer default value of Imin is 4 times the worst case link layer
latency" and should not say "the default value of Imin is 500 latency" and should not say "the default value of Imin is 500
milliseconds." Worst case latency is the time until the first milliseconds." Worst case latency is the time until the first
link-layer transmission of the frame assuming an idle channel link-layer transmission of the frame assuming an idle channel
(does not include backoff, virtual carrier sense, etc.). (does not include backoff, virtual carrier sense, etc.).
o What constitutes a "consistent" transmission. o What constitutes a "consistent" transmission.
o What constitutes an "inconsistent" transmission. o What constitutes an "inconsistent" transmission.
o Any "events" besides inconsistent transmissions that reset the
Trickle timer.
6. Operational Considerations 6. Operational Considerations
It is RECOMMENDED that a protocol which uses Trickle include It is RECOMMENDED that a protocol which uses Trickle include
mechanisms to inform nodes of configuration parameters at runtime. mechanisms to inform nodes of configuration parameters at runtime.
However, it is not always possible to do so. In the cases where However, it is not always possible to do so. In the cases where
different nodes have different configuration parameters, Trickle may different nodes have different configuration parameters, Trickle may
have unintended behaviors. This section outlines some of those have unintended behaviors. This section outlines some of those
behaviors as an educational exercise. behaviors as an educational exercise.
6.1. Mismatched redundancy constants 6.1. Mismatched redundancy constants
skipping to change at line 336 skipping to change at page 8, line 30
USA USA
Phone: +1 650 725 9064 Phone: +1 650 725 9064
Email: pal@cs.stanford.edu Email: pal@cs.stanford.edu
Thomas Heide Clausen Thomas Heide Clausen
LIX, Ecole Polytechnique LIX, Ecole Polytechnique
Phone: +33 6 6058 9349 Phone: +33 6 6058 9349
Email: T.Clausen@computer.org Email: T.Clausen@computer.org
Jonathan Hui
Arch Rock Corporation
501 Snd St., Suite 410
San Francisco, CA 94107
USA
Email: jhui@archrock.com
JeongGil Ko
Johns Hopkins University
3100 Wyman Park Dr., Room 414
Baltimore, MD 21211
USA
Phone: +1 410 516 4312
Email: jgko@cs.jhu.edu
 End of changes. 8 change blocks. 
10 lines changed or deleted 19 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/