ROLL                                                P. van der Stok, Ed.
Internet-Draft                                          Philips Research                                    vanderstok consultancy
Intended status: Informational                            March 12, 2012                                   E. Dijk
Expires: September 13, January 12, 2013                                     A. Lelkens
                                                        Philips Research
                                                           July 11, 2012

              Multicast requirements for control over LLN
                     draft-vanderstok-roll-mcreq-01
                     draft-vanderstok-roll-mcreq-02

Abstract

   This is a working document intended to focus discussion on
   requirements for multicast in Low-power and Lossy Networks in the
   area of M2M communication for control purposes. applications.  The Trickle
   algorithm, which uses random re-broadcasting to assure that messages
   arrive at all destinations, is has been proposed as in the Trickle
   Multicast Forwarding ROLL WG draft as the basis for a multicast
   routing protocol.  In this draft additional requirements on Trickle, multicast
   routing are presented, such as timeliness and
   ordering, are timeliness, motivated by building
   control.  Re-broadcasting  Random re-broadcasting and timeliness can be mutually exclusive properties.  To alleviate that
   problem, this difficult to
   reconcile.  This draft considers minimizing re-broadcast by limiting the
   number of re-broadcasting devices presents some simulation results in typical
   control settings which show that achieving latencies below 400 ms is
   feasible with Trickle.  Recommendations are proposed for the wireless network. current
   Trickle Multicast Forwarding draft to achieve optimal performance and
   meet the stated requirements.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 13, 2012. January 12, 2013.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Motivation . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Application characteristics  . . . . . . . . . . . . . . . . .  4
   3.  Multicast requirements . . . . . . . . . . . . . . . . . . . .  5  6
   4.  Wireless link characteristics  Performance of Trickle-based multicast . . . . . . . . . . . .  7
     4.1.  Reasons for using Trickle  . . . . . . . . . . . . . . . .  7
   5.  Recommendation
     4.2.  Simulation setup . . . . . . . . . . . . . . . . . . . . .  7
     4.3.  Simulation results . . . . . . . . . . . . . . . . . . . .  8
     4.4.  Simulation conclusions . . . . . . . . . . . . . . . . . .  9
   5.  Performance issues of Trickle Multicast Forwarding . . . . . .  9
     5.1.  Redundancy of Trickle ICMP message . . . . . . . . . . . . 10
     5.2.  Ability to configure forwarders as data sinks  . . . . . . 11
     5.3.  Issues in the 'consistency' definition . . . . . . . . . . 11
     5.4.  Window handling without ICMP . . . . . . . . . . . . . . . 12
   6.  Summary of Recommendations for Trickle Multicast Forwarding  . 12
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  9
   7. 12
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   8. 13
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . .  9
   9. 13
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     9.1. 13
     10.1. Normative References . . . . . . . . . . . . . . . . . . .  9
     9.2. 13
     10.2. Informative References . . . . . . . . . . . . . . . . . . 10
   Author's Address . 14
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10 14

1.  Introduction

   The ROLL working group is chartered to design and standardize a
   routing protocol for resource constrained devices in Low-power and
   Lossy Networks (LLN) [I-D.ietf-roll-rpl]. [RFC6550].  The requirements for ROLL are
   documented in [RFC5548] [RFC5673] [RFC5826] [RFC5867].  For building
   control it is recognized that most communication is local to the
   wireless mesh network, and does not necessarily pass through the edge
   router.  The point-to-point RPL routing algorithm is developed to
   efficiently support unicast routing in such applications
   [I-D.ietf-roll-p2p-rpl].  The Trickle algorithm was initially
   developed to support the RPL routing algorithm [RFC6206], and later
   proposed to support general multicast delivery in LLN LLNs in Trickle
   Multicast Forwarding (TMF) [I-D.ietf-roll-trickle-mcast].

   This draft discusses the multicast requirements for constrained
   devices participating in M2M building control networks.  An important
   requirement is the delivery of control commands to a subset (group)
   of neighbouring devices in the LLN within some latency bound.  Also,
   analyses are provided of how well Trickle algorithm and TMF can meet
   these requirements and suggestions for improvement are made.

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].
   Addtional privileged words are described below.

   "TMF" is used as an abbreviation for Trickle Multicast Forwarding as
   described in [I-D.ietf-roll-trickle-mcast].

   A "device" is a physical processor connected to at least one link
   through a network interface.  Each interface has at least one IP
   unicast address.  The IP address is optionally bound to a host name,
   which may be a Fully Qualified Domain Name (FQDN).

   One device communicates directly with another device by wirelessly
   transmitting packets to it over a link.  The link quality is divided
   in three regions: regions [Zhao]:

   1.  good: where a transmitted packet will be correctly received by a
       destination with a probability higher than 99%. of say 95% or more.
   2.  transitional: where the probability of correct reception
       fluctuates.
   3.  bad: where almost no transmission is successfully received.

   It is empirically known that good links can become bad occasionally
   (e.g. once a week for a few minutes)due to dynamic effects such as
   multipath interference.

   A distinction is made between reception and delivery of a message.  A
   message is received when it is stored in the reception buffer of the
   receiver after transmission and all error checks have been
   succesfully passed.  The message is delivered when the message is
   passed from the reception buffer to the destination application.  We
   also say the application accepts the message.

   Broadcasting is used for the link-local sending of one packet to all
   reachable 1-hop neigbours.  This is equivalent to the term link-local
   multicast.

1.2.  Motivation

   In this draft, we focus and develop discussions on requirements
   pertaining to multicasting, IP multicasting requirements and IP multicast routing,
   in the context of building control
   applications. applications on LLNs.  This draft
   aims to show potential (latency) improvements for current proposed
   multicast routing approaches, that can be easily attained.

2.  Application characteristics

   Multicast is important for building control applications.  Two types
   of applications are considered:

   1.  Discovery messages to (a subset of) the members of the mesh
       (multicast GET)
   2.  Control messages to a subset of the mesh (multicast PUT)

   The first type requires the message to be sent to a (sub)set which
   may be randomly distributed over the building area.  Some of the
   destinations return unicast response messages to the source.

   The second type requires the a Non-Confirmable message mostly to be sent
   to a closely spaced subset.  No return messages are generated.  This
   second type is the subject of this draft, although most of the
   requirements equally apply to case 1.

   GET and PUT and GET Confirmable/Non-Confirmable are the message types defined
   for CoAP [I-D.ietf-core-coap].  They are thought representative for
   the two applications types, as one returns the multicast GET SHOULD return a result
   unicast response and the other multicast PUT typically does not. not return a
   response in control applications.

   An office building typically consist of multiple floors, divided in
   working areas.  The working areas can be open or enclosed by walls.
   Within a working area sensors measure temperature, presence, humidity
   and other parameters.  On the basis of these measurements, equipment
   within the working area can receive commands to change settings.  A
   well-known example is presence detection to switch on or dim lights.
   The equipment configuration is quite stable, because devices are
   installed in the ceiling, and modifying (or servicing) the
   installation can be costly.

   The equipment is interconnected in a wireless network.  The RF
   transmissions pass through the walls and generate interference to the
   wireless equipment in other working areas.

   The lay-out of a network may be different from installation to
   installation.  However, it is expected that many wireless networks
   extend over one floor and include several working areas.  Another
   working hypothesis is that most of the time sensors will multicast
   their values to a group of devices within the working area.
   Consequently, multicast messages are often meant for a subset of
   neigbouring (not necessarily 1-hop) devices.

   A LoWPAN is a mesh of wireless devices that share the same IPv6
   address prefix.  A typical LowPAN in a building may cover the area of
   an entire floor.  A commercial installation may cover 1000 m2 per
   floor.  A length of 50 m can easily mean a hop count >5 for a message
   to pass from end to end.  For example, devices may be installed in
   the ceiling in a grid with a grid pattern distance of 40 cm 2 m between
   devices.

   Messages may consist of sensor measurements performed or commands
   issued in a given working area, which then must be acted upon by
   neigbouring devices in the same working area.  Under this control
   pattern, source and sink are located in one working area, and
   accordingly sink and source of a multicast message are often between
   3 - 6 m from each other.  Consequently, it is required to send a
   multicast to a subset of the devices in the LoWPAN.

   In case of commands to luminaries, messages a command message must be
   delivered to all LoWPAN-local multicast group members within a clear
   deadline of about 200ms.  In [RFC5867] a deadline of 120 ms is
   suggested for other building applications.

   Although control messages are frequently exchanged between closely
   spaced (less than 6 m) devices, it is sometimes necessary, say every
   hour or less frequently, necessary to send a
   message to a subset of devices covering the whole building.  In that
   case the multicast message will need to pass the edge router of the lowpan
   LoWPAN and to propagate to other subnets.  This case is discussed in
   more detail in [I-D.ietf-core-groupcomm].

3.  Multicast requirements

   The Multicast multicast requirements are derived from the characteristics of
   the aforementioned applications.  A device is said to be correct it
   it follows the selected multicast routing algorithm.  The application
   characteristics and the network installation make it possible to add
   an additional set of network properties to make the multicast
   algorithm more efficient.

   The basic traditional multicast requirements (applying (applicable to both PUT
   and
   GET)are: GET) are [Mullender]:

   o  Validity: If sender S sends message, m, to a group, g, of
      destinations, a path exists between S and a any destination D, and
      if S and D are correct, D eventually accepts m.
   o  Integrity: A destination D accepts m at most once from sender S
      and only if sender S sent m to a group including destination. D.
   o  Agreement: If a correct destination of g accepts m, then all
      correct destinations of g accept m.

   The set of intended destination devices is identified by the
   multicast (group) IP address.  Every device in the associated
   multicast group is a destination of the multicast.  Each destination
   accepts messages with as destination the specified IP multicast
   address.  Additional multicast requirements are:

   o  Timeliness: There is a known constant C such that if m is sent at
      time t, no correct destination accepts m after t+C.

   For lighting control applications the value of C is taken as 200 ms.
   This requirement considers only holds for the PUT case and without response from a
   destination, but not for the return of GET case where a response in the GET case. is returned.

   o  Ordering: When m1 and m2 sent to the same group g, and a receiver
      in g accepts message m1 before m2, every receiver in g accepts m1
      before accepting m2

   Ordering applies to both the PUT and GET cases.  Ordering can be
   partial or total.  Partial ordering means that for specified message
   pairs, one message of the pair precedes the other.  In case of total
   ordering, every message pair is ordered.  Partial ordering is
   obtained by adding message counters in the message such that
   destinations can order the messages of a given sender.  Messages from
   different sources are not ordered.  Total ordering can be obtained
   with vector clocks or using synchronized clocks.  Vector clocks
   require a large overhead that increases linearly with the number of
   devices in the network.  As long as no synchronized clocks are
   available, partial ordering seems the most realistic.  Total Ordering
   is interesting for the discovery application.  When two devices
   announce themselves simultaneously with conflicting properties, all
   participants can come to the same decision by favoring the first
   arrival.  Partial ordering is necessary when a multicast message
   needs multiple packets (for example discovery messages) or when
   multicast messages are sent with intervals shorter than the maximum
   throughput delay.

4.  Wireless link characteristics

   It  Performance of Trickle-based multicast

   In this section we investigate the behavior of the Trickle algorithm
   [RFC6206] when used for multicast routing.  Rebroadcasting as defined
   in Trickle makes meeting tight deadlines a challenge.  Simulation
   results in this section show for particlar configurations and
   parameter settings which end-to-end communication delays can be
   expected.

4.1.  Reasons for using Trickle

   The simplest approach to IP multicast is possible to broadcast from a source
   to a set of devices reachable over good links in one hop.  This is
   not sufficient however, because the set of reachable devices is often
   a subset of the set of destination devices.  Consequently, additional
   measures are needed to make sure that the Agreement requirement is
   met.  A standard technique, to reach all devices instead of a subset,
   stipulates that every receiver of a broadcast message rebroadcasts
   this message (flooding).  When the multicast destination address of
   the message corresponds with a specified multicast address in the
   receiver device, the message is delivered.  Thanks to this technique
   it is assured that when a path exists between the source and the
   destination device, the destination device will eventually receive
   the message from the sender.

   Given the network density described in section 2, the multicast can
   generate a broadcast storm with lots of interfering senders.  The
   technique to prevent the storm, also used in Trickle, is to randomly
   delay the a message rebroadcast.  However, the long delays can seriously
   jeopardize the timeliness Timeliness requirement.  This draft proposes
   three ways suggested by  The following sections give
   insight under which conditions the application characteristics, to reduce Timeliness requirement can be met.

4.2.  Simulation setup

   The simulations were done on a general rectangular network topology
   and on an approximation of known building installations.  The IEEE
   802.15.4 protocol is simulated with CSMA and the interference standard back-off
   intervals specified by IEEE 802.15.4.  Packets between re-broadcasting devices:

   1.  Restrict A and B arrive
   with a probability dependent on the scope distance but independent of the multicast.
   2.  Restrict number
   direction.  A distance of rebroadcasting devices.
   3.  Weaken 70m is at the Timeliness requirement.

   In limit of the application characteristics it is mentioned that most control
   messages have transmission
   range.  Two rectangular meshes were tried: (1) 5 x 5 nodes and (2) 10
   x 10 nodes.  The distance between two adjoining neigbors was varied
   between 5 and 70 m.  The total surface for the 10 x 10 mesh varied
   accordingly between 45 x 45 m^2 and 630 x 630 m^2.  The building
   installation approximation consist of a set rectangular grid of destinations which 14 x 7
   nodes over a surface of 35 x 15 m^2.  Parameters Imin, Imax and k and
   variables I, t and c are closely spaced to defined as in [RFC6206].

4.3.  Simulation results

   The table below presents some of the
   source. results on the 5 x 5 mesh.

               Imax  k Parameter     Distance
                                     10m      40m    70m
               250ms 1 hopcount      1        2-4    5-9
               250ms 1 avg delay     5 ms     40 ms  110 ms
               250ms 1 max delay     18 ms    90 ms  1050 ms
               250ms 1 msgs sent     0-5      0-11   1-12
               250ms 1 msgs received 18-36    3-20   0-20
               250ms 3 hopcount      1        2-4    5-9
               250ms 3 avg delay     5 ms     40 ms  130 ms
               250ms 3 max delay     25       90 ms  260 ms
               250ms 3 msgs sent     1-7      3-12   7-13
               250ms 3 msgs received 40-60    14-32  9-23
               500ms 1 hopcount      1        3-5    5-10
               500ms 1 avg delay     5 ms     40 ms  110 ms
               500ms 1 max delay     19 ms    100 ms 1500 ms
               500ms 1 msgs sent     0-4      0-8    0-10
               500ms 1 msgs received 12-26    0-16   0-16
               500ms 3 hopcount      1        3-5    5-10
               500ms 3 avg delay     5 ms     40 ms  120 ms
               500ms 3 max delay     22       80 ms  240 ms
               500ms 3 msgs sent     1-8      2-9    5-10
               500ms 3 msgs received 28-44    8-27   5-18

   The interference between multicast sources can be reduced by
   limiting observed behavior is close to what is observed on the scope 10 x 10
   mesh and on the installation configuration.  Behavior on, for
   example, a single row of nodes tends to be quite different and
   requires quite different parameter settings.  The results in the broadcast message.
   table concern node (4,4) which had the longest end-to-end delays of
   all nodes.  Node (0,0) sent a message every 2 seconds.  Individual
   packets were lost but all messages arrived at all nodes eventually.
   The ensuing proximity
   condition can be formulated for both PUT Imin was taken to 10 ms and GET as:

   o  Proximity condition: A multicast Imax was taken to 250 ms and 500 ms
   with quite similar results.  Changing the Imax has measurable
   influence on the maximum end-to-end delay.  The table shows how many
   copies of a given message is accepted were received by node (4,4) and how many
   times a subset
      of devices closely spaced given message was rebroadcast.  For k=3 more messages were
   received and sent.  Receiving more messages leads to lower maximum
   delays because the sender.

   In practice, this condition means probability of receiving the message early
   increases with increasing rebroadcast frequency.

   The causes for the large maximum delays (>400ms), occurring at d=70m,
   have been investigated in more detail.  It is shown that most multicast messages can be
   constrained to 1-2 hops.  Therefore, it a new packet
   does not always arrive after the first transmission.  This is recommended
   probably due to put the
   multicast range under control synchronization of nodes when a new message
   arrives, resulting in hidden terminal effects at the multicast source.

   Given the stability destination node
   by overlapping sending intervals of its neighbors.  For d=70 m,
   packets are only received by the network configuration, direct neighbor along the configuration
   of good links is also stable over long periods (say several days). x-axis or
   the y-axis.  Consequently, when node (x, y) receives a new message,
   it originates probably from (x-1, y) or (x, y-1).  When all good links node (x, y)
   sends, packets are available, the number received in nodes (x+1, y) and (x,y+1).  Given a
   Imin value of possible paths
   between 10ms there is a source large probability that the sending by
   nodes (x+1, y) and each (x, y+1) overlap, leading to collision of its destinations the
   messages at node (x+1, y+1).  In the following intervals, nodes (x+1,
   y) and nodes (x, y+1) receive the last message from their neighbors
   and do not repeat the message because c is probably larger than
   required given k, thus
   leading to long delays.  The receiving node (x+1, y+1) sends at
   regular intervals, determined by the sporadic failure Imax value, its last received
   'old' message.  Often the reception of the old message by a good link.  Under neighbor
   leads to resending the
   assumption new message.  For that reason the qualities of maximum
   delay is linked to the good links maximum interval Imax.  Increasing the value
   of a given device are
   unrelated, k increases the failure probability of good link has no consequence reciveing rebroadcast messages.

4.4.  Simulation conclusions

   The results indicate that for
   alternative good links. the network configurations we foresee,
   with Trickle it is quite possible to reach average message delivery
   latency within the 200 ms range, meeting the Timeliness requirement
   for most nodes, and to limit the maximum latency by tuning parameter
   k.

5.  Performance issues of Trickle Multicast Forwarding

   The number Trickle Multicast Forwarding (TMF) draft
   [I-D.ietf-roll-trickle-mcast] differs from direct application of paths can be reduced by
   specifying
   [RFC6206] in the introduction of multi-source, sliding windows, and
   use of ICMP messages.  For Trickle parameter k finite, a subset transmission
   event consists of devices, called relay devices (possibly
   equivalent with sending a Trickle ICMP advertizement (that
   summarizes a forwarder's state i.e. buffered IP multicast forwarders mentioned packets)
   and in
   [I-D.ietf-roll-trickle-mcast]), addition any multicast messages that need rebroadcasting.
   This section analyzes some issues of TMF, in particular its ability
   to rebroadcast messages.  A path can
   pass from a source via relay devices meet the Timeliness requirement for building control scenarios,
   and proposes improvements to address the multicast destinations.
   A relay device can also be a destination device.  In [RFC5867] it is
   mentioned that 1 out issues.

5.1.  Redundancy of 2 devices Trickle ICMP message

   Summarizing state in an ICMP message is clearly useful to reduce
   network traffic, if many IP multicast packets are being buffered in
   Trickle multicast forwarders.  However, if only one or a relay device.  Given few
   multicast packets are active in the network densities foreseen for lighting, at a much lower relay density
   is possible.  The reduction of time, a forwarder
   sending ICMP messages generates unnecessary overhead.  As an example,
   consider a forwarder that stores and needs to rebroadcast a single
   multicast message m1.  According to TMF, it would need to send an
   ICMP message containing information about m1 (SeedID, sequence
   number, M bit) and additionally send a Trickle Multicast message with
   a Trickle Multicast header option which contains exactly the relay devices reduces same
   information (SeedID, sequence number, M bit) plus the risk useful
   application data.

   In such cases were low latency is required, the extra overhead of
   interference in
   sending the dense networks described ICMP message leads to additional delays, for example in section 2.  An
   appropriate condition
   dense network topologies due to assure the presence increased congestion.  In a
   simulation of a path between source building control installation the operation with and destination can be formulated as:

   o  Multiple relay links: any device has good links
   without extra ICMP message was compared for the case that a single
   multicast message was active.  Without ICMP messages an average
   latency of message delivery to at least q
      relay devices

   The value the entire group of q is determined 131 ms was
   observed.  The extra overhead generated by the quality ICMP messages led to an
   average delay of 197 ms, quite close to the links Timeliness bound of 200
   ms.

   The simulation modeled a single IP multicast message active in a given
   installation.

   However, the probability that
   6LoWPAN network, delivery targeted to a path was temporarily unavailable
   cannot be excluded.  The timeliness requirement group which is too strong for
   wireless sensor networks, where packets get lost for multiple reasons
   like hidden terminal, multipath fading, and others.  The timeliness
   requirement can be reformulated for a subset of 13
   nodes out of 95 nodes total, with a 40-byte data payload, each node
   acting as a forwarder, with Trickle parameters k=1, Imin=32 ms,
   Imax=128 ms.

   To addresss the PUT case as: latency issue without increasing k (which would lead
   to increased traffic), we propose that:
   o  Majority Timeliness: with high probability, p,  sending the timeliness
      requirent Trickle ICMP message is met; with probability (1-p) made OPTIONAL as part of a subset s
      transmission event, if a Trickle forwarder has any Trickle
      Multicast Messages to send in g accepts m
      after t+C.

   The agreement requirement specifies that all destinations in g accept transmission event.  A Trickle
      Multicast forwarder may decide per transmission event (depending
      on internal state e.g. number of buffered messages) whether the
      ICMP message eventually.  Consequently, there is a (low) probability
   (1-p) that members sent or not.
   o  as part of g accept a transmission event, sending the Trickle ICMP message
      MAY be done after t+C. Probability p
   and subset s are specified as function of retransmitting Trickle Multicast Messages.  Note
      that the installation and linked TMF draft does not clearly express a preferred order for
      Trickle ICMP messages.
   These proposed changes are still fully compatible with the value existing
   implementations of q.  For TMF.

5.2.  Ability to configure forwarders as data sinks

   The current TMF makes a lighting application this means separation between (IP) hosts and Trickle
   Multicast forwarders.  Nodes that only need to receive IP multicast
   packets (not wanting to participate in
   general all lights switch on/off within 200 ms and quite
   infrequently, (say once a month) one out rebroadcasting) therefore can
   be configured as hosts unaware of all lights swictches on/
   off the multicast routing protocol.
   However, this bears the risk that such hosts receive a bit later (say specific
   multicast packet very late or never, because they don't have a few seconds).

   Using rebroadcast with way to
   signal missing packets to Trickle forwarders.  Implementing a node as
   a frequency host has the clear advantages that decreases with increasing
   density the node does not need to buffer
   any Trickle Multicast Messages which can considerably reduce memory
   usage.

   A solution that enables the probability best of interference (as in Trickle)
   assures both worlds is to allow Trickle
   Multicast forwarders to act as 'data sinks' only i.e. not acting as a
   repeater.  We propose that:
   o  a Trickle Multicast forwarder MAY act as a data sink, which means
      that missed it does keep sliding window state for messages are eventually repeated.  It should be
   noted that it accepts,
      and sends Trickle ICMP messages, but does not buffer any Trickle
      Multicast Messages for retransmission.

5.3.  Issues in the relay nodes can be consistent while a receiver node 'consistency' definition

   In the TMF draft the notion of 'consistency' (as we read it) is
   not.  Relay nodes cannot detect based
   on information received in Trickle ICMP messages only, not on
   information received from incoming Trickle Multicast Messages.  This
   operation can lead to unnecessary delays in certain use cases.
   Consider the inconsistency, and following scenario:

   o  Nodes A, B, C are thus
   required to rebroadcast Trickle Multicast forwarders; where A cannot
      hear C and C cannot hear A
   o  A stores messages m1,m2,m3, B stores m1,m2,m3, C stores m2,m3
   o  C sends ICMP(m2,m3)
   o  B sees an inconsistency based on this and schedules the latest missing m1
      for transmission
   o  A sends ICMP (m1,m2,m3) but not any multicast message continuously, or receiver
   nodes rebroadcast their status with m_i
   o  B sees a low frequency.

5.  Recommendation

   From consistency and increments c
   o  When the text above emerges a number Trickle timer at B expires assuming k=1, the scheduled
      transmission of recommendations m1 is cancelled
   o  C does not get m1 from B, at least not during this round.

   Eventually C will get m2, after more rounds (when B transmits before
   A does), but later than necessary.

   A first approach to make it
   possible improve latency in this scenario is to put propagation characteristics of apply the
   suppression only to ICMP messages, not to scheduled multicast
   algorithm under application control.
   1.  Take into account timeliness and partial ordering requirements
   messages (such as m1 by B in
       multicast algorithm.
   2.  Exploit the small range example above).  A refinement of most multicasts used
   this approach is to maintain a counter c for control
       purposes and put multicast range under application control.
   3.  Introduce each SeedID/
   Sequence-number combination, in addition to a subset global Trickle counter
   c.  Then, retransmission of devices Trickle Multicast Messages is only
   suppressed for those messages that have been received at least k
   times.  ICMP suppression is still based on the global Trickle counter
   c as relay devices to reduce in the current TMF draft.

5.4.  Window handling without ICMP

   A forwarder that does not support sending ICMP advertizements could
   advertize its state by retransmitting the multicasat message with the
   largest number of rebroadcasting devices.
   4.  Introduce meachanisms to remove inconsistencies in receiver nodes
       in spite its window that has no missing messages relative to
   the lower bound of consistent relay nodes.
   5.  Use majority timeliness requirement the window.  So if a forwarder has a window
   containing m1,m2,m4,m5 it retransmits m2, triggering others to choose send
   m3 (and maybe higher numbers).  If it encounters an inconsistency,
   i.e. seeing a multicast with a number lower than its own upperbound,
   it itself would send out  the messages that have a higher number than
   the received multicast message (excluding the ones that it has
   received at least k tines during the current Trickle interval).

6.  Summary of relay
       devices with respect Recommendations for Trickle Multicast Forwarding

   From the analyses above emerge a number of recommendations that aim
   to reduce transmission latency of multicast messages and to reduce
   the probability that of missing a device misses its multicast reception deadline.
   6. message.  In summary, the
   following adaptations to TMF [I-D.ietf-roll-trickle-mcast] are
   proposed which can be applied independently of each other:
   1.  Efficient retransmission: sending the Trickle ICMP message is
       made OPTIONAL as part of a transmission event if a Trickle
       forwarder already has any Trickle Multicast Messages to send.
   2.  Allow data sinks: a Trickle Multicast forwarder MAY refrain from
       buffering any Trickle Multicast Messages for retransmission.
   3.  Consistency improvement: When a transmission is suppressed, a
       forwarder MAY only suppress ICMP but not suppress transmission of
       a multicast message that was scheduled due to a detected
       inconsistency.  This approach could be refined by keeping in
       addition to a global Trickle consistency counter c, separate
       counters c per SeedID/sequence-number combination suppressing
       only messages transit through an edge router.

6. seen at least k times.
   4.  Window handling without ICMP: forwarders without ICMP sending
       capability can ask for retransmissions by rebroadcasting
       multicast messages

7.  IANA Considerations

   This document makes no request of IANA.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.

7.

8.  Security Considerations

   TBD

8.

9.  Acknowledgments

   This I-D has benefited from conversations with and comments from
   Anders Brandt, Kerry Lynn, Zach Shelby, Emmanuel Frimout, Michael
   Verschoor, Jamie Mc Cormack, Dee Denteneer, Esko van Dijk, Jerald Martocci, Matthieu
   Vial, and Nicolas Riou.

9.

10.  References

9.1.

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5548]  Dohler, M., Watteyne, T., Winter, T., and D. Barthel,
              "Routing Requirements for Urban Low-Power and Lossy
              Networks", RFC 5548, May 2009.

   [RFC5673]  Pister, K., Thubert, P., Dwars, S., and T. Phinney,
              "Industrial Routing Requirements in Low-Power and Lossy
              Networks", RFC 5673, October 2009.

   [RFC5826]  Brandt, A., Buron, J., and G. Porcu, "Home Automation
              Routing Requirements in Low-Power and Lossy Networks",
              RFC 5826, April 2010.

   [RFC5867]  Martocci, J., De Mil, P., Riou, N., and W. Vermeylen,
              "Building Automation Routing Requirements in Low-Power and
              Lossy Networks", RFC 5867, June 2010.

   [RFC6206]  Levis, P., Clausen, T., Hui, J., Gnawali, O., and J. Ko,
              "The Trickle Algorithm", RFC 6206, March 2011.

9.2.  Informative References

   [I-D.ietf-roll-rpl]

   [RFC6550]  Winter, T., Thubert, P., Brandt, A., Vasseur, J., Hui, J., Pister, K., Thubert, P., Kelsey, R.,
              Levis, P., Pister, K., Struik, R., Kelsey, R., Clausen, T., Vasseur, JP., and T.
              Winter, R.
              Alexander, "RPL: IPv6 Routing Protocol for Low power Low-Power and
              Lossy Networks", draft-ietf-roll-rpl-19 (work in
              progress), RFC 6550, March 2011. 2012.

10.2.  Informative References

   [I-D.ietf-roll-p2p-rpl]
              Goyal, M., Baccelli, E., Philipp, M., Brandt, A., and J.
              Martocci, "Reactive Discovery of Point-to-Point Routes in
              Low Power and Lossy Networks", draft-ietf-roll-p2p-rpl-09 draft-ietf-roll-p2p-rpl-13
              (work in progress), March June 2012.

   [I-D.ietf-roll-trickle-mcast]
              Hui, J. and R. Kelsey, "Multicast Forwarding Using
              Trickle", draft-ietf-roll-trickle-mcast-00 (work in
              progress), April 2011.

   [I-D.ietf-core-coap]
              Frank, B., Bormann, C.,
              Shelby, Z., Hartke, K., Bormann, C., and Z. Shelby, B. Frank,
              "Constrained Application Protocol (CoAP)",
              draft-ietf-core-coap-08
              draft-ietf-core-coap-10 (work in progress), October 2011.

Author's Address June 2012.

   [I-D.ietf-core-groupcomm]
              Rahman, A. and E. Dijk, "Group Communication for CoAP",
              draft-ietf-core-groupcomm-02 (work in progress),
              July 2012.

   [Zhao]     Zhao, J. and R.  Govindan, "Understanding Packet Delivery
              Performance in Dense Wireless Sensor Networks", senSys ,
              2003.

   [Mullender]
              Mullender, S., "Distributed Systems, Second Edition",
              Section 5 , Addison-Wesley Publishing Company, Inc. ,
              ISBN 0-201-62427-3, 1995.

Authors' Addresses

   Peter van der Stok (editor)
   vanderstok consultancy
   Kamperfoelie 8
   Helmond,   5708 DM
   The Netherlands

   Email: consultancy@vanderstok.org
   Esko Dijk
   Philips Research
   High Tech Campus 34-1
   Eindhoven,   5656 AA
   The Netherlands

   Email: esko.dijk@philips.com

   Armand Lelkens
   Philips Research
   High Tech Campus 34-1
   Eindhoven,   5656 AA
   The Netherlands

   Email: peter.van.der.stok@philips.com armand.lelkens@philips.com