Re: [Roll] Interest in opportunistic routing?

Simon Duquennoy <simonduq@sics.se> Fri, 07 March 2014 17:42 UTC

Return-Path: <simon.duquennoy@gmail.com>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8CCC81A01E8 for <roll@ietfa.amsl.com>; Fri, 7 Mar 2014 09:42:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.277
X-Spam-Level:
X-Spam-Status: No, score=-1.277 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C-qFsJ5P-xHI for <roll@ietfa.amsl.com>; Fri, 7 Mar 2014 09:42:43 -0800 (PST)
Received: from mail-vc0-x22d.google.com (mail-vc0-x22d.google.com [IPv6:2607:f8b0:400c:c03::22d]) by ietfa.amsl.com (Postfix) with ESMTP id C813F1A0083 for <roll@ietf.org>; Fri, 7 Mar 2014 09:42:41 -0800 (PST)
Received: by mail-vc0-f173.google.com with SMTP id ld13so4531424vcb.32 for <roll@ietf.org>; Fri, 07 Mar 2014 09:42:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=VrKLyINjqfDQRV/RO3bQfYm/14jVVNfuwsi4fAlOesc=; b=cl1NWoJgmoRePjWhfU2P4XVI9j8GD3X7aKeGKZPvZK3EJTBSj5+7ST71VDXgs52eFx grSpBN4VQGUbEjHxiUAA4mv/pfvECm5HfVeGhKrf/1C8syZArnx56zJpU5fh/crUQUDT ysvEH/AA+WID491JLhgEvtWNPY+uTKnpurnma24V/L7yqPfQFx1GsODqqNQ1j8+CrLr2 H/DxveM4UtLJU17Ys/YFy2gBolciFNO7yrqiz5wWclpVWXdyoP8lGq4O6ca70EETudA8 QLWn/1GRGw88MtNKM0AzmtX+zfCcp/uFB1hSYwhOy4y/S5+p8TP6N2t2eIov9fxKH8Qv WA3g==
MIME-Version: 1.0
X-Received: by 10.58.248.228 with SMTP id yp4mr1755004vec.35.1394214157024; Fri, 07 Mar 2014 09:42:37 -0800 (PST)
Sender: simon.duquennoy@gmail.com
Received: by 10.220.150.209 with HTTP; Fri, 7 Mar 2014 09:42:36 -0800 (PST)
In-Reply-To: <8B665F7F-8EA1-4150-924D-46F722BC5FC8@cisco.com>
References: <CAMxvJtKqhSMpFE5pP42h-Dt3_zCLnJ8WWochjjg7TOCO8kMQVg@mail.gmail.com> <19299.1394195834@sandelman.ca> <CAMxvJtKjw0k-3=Q1f5KUFwYweC_Vu6Gr4N=z8LHEL3toMhaigw@mail.gmail.com> <8B665F7F-8EA1-4150-924D-46F722BC5FC8@cisco.com>
Date: Fri, 07 Mar 2014 18:42:36 +0100
X-Google-Sender-Auth: AfwVTZOSFZbhAaEjjBFVbSebV0s
Message-ID: <CAMxvJtLnjndcQDU8zznhcUjxO+WeUW=TU=jrEWASW_NHg_H5kQ@mail.gmail.com>
From: Simon Duquennoy <simonduq@sics.se>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Content-Type: multipart/alternative; boundary="047d7bf0cd0292041504f407c79c"
Archived-At: http://mailarchive.ietf.org/arch/msg/roll/rB0Fx5GVaFcGczNhxv9Kf5qchds
Cc: Quentin Lampin <quentin.lampin@insa-lyon.fr>
Subject: Re: [Roll] Interest in opportunistic routing?
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Routing Over Low power and Lossy networks <roll@ietf.org>
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Mar 2014 17:42:47 -0000

Dear Pascal,

AFAICT it does go along the same lines as Quentin's work. The main
difference is that we support addressable nodes, i.e. not only upwards but
also downwards routing.

As you're asking for more, let me elaborate a bit on how I see our protocol
(ORPL) integrated in RPL :)
* routing decision (assuming storing mode): the forwarding decision is made
at the receiver, not at the sender. Upon receiving a packet, a node decides
whether to forward it based on (1) its rank and (2) the inclusion of the
destination IPv6 address into its routing table.
  - If the packet is going up and the node has a lower rank then it will
forward with upwards anycast.
  - If the packet is going up or down and the node has a higher rank, and
the destination IPv6 address is in the routing table (i.e. the destination
is below in the DODAG) then it will forward with downwards anycast.
One interesting thing is any-to-any routing is that ORPL has many more
common ancestors to use than RPL. In our experiments, any-to-any routing is
where the benefits of ORPL are most significant, with the latency between
leaf nodes improved with a factor up to 15 (case where RPL has a common
ancestor several hops away whereas ORPL exploits many ancestors closer to
the source and destination).
* routing tables: the standard RPL tables will do. It is however worth
noting that because anycast transmission do not target a specific receiver,
all we need at every node is not a full routing table (<destination,next
hop> pairs) but only a set of reachable destinations. This makes the table
potentially more compact. In the paper we investigate fancy structures for
this such as Bloom filter but I regard this as out of the scope for a
potential integration in standard RPL.
* routing metric: ORPL can work with any routing metric, the only
requirement is to have a DODAG. In the SenSys'13 paper we use our own
metric, which is opportunistic routing-oriented. It helps but isn't
strictly required (could possibly be the object of a separate draft)

Regarding performance: our testbed experiments are on duty-cycled 802.15.4
nodes. We get great reliability. In the current implementation of ORPL
(posterior to the paper) we have most of the runs with 100% delivery ratio
(about 1500 packets sent and received end-to-end during the course of an
hour). The reason is that ORPL is not affected at all by isolated link
losses. It doesn't even notice it. If the link a parent is dead for some
time then another parent will forward the packet. The other side benefits
are latency and energy: when having duty cycled nodes, anycast nicely uses
the first that wakes up and gets the packet successfully, making the wakeup
procedure cheaper. A final note: opportunistic routing is great especially
in dense environments, as there are more links to exploit. In sparser
environments, as far as we have observed, the benefits reduce but are still
present.

The SenSys'13 paper contains a detailed design and thorough experimental
evaluation:
http://www.simonduquennoy.net/papers/duquennoy13orpl.pdf

If you want to know even more, I'm open to having a phone call.

Best,
Simon



On Fri, Mar 7, 2014 at 4:28 PM, Pascal Thubert (pthubert) <
pthubert@cisco.com> wrote:

>  I'd love to hear more. This work reminds me of interesting Results
> Quentin showed at his PhD...
>
> Pascal
>
> Le 7 mars 2014 à 14:47, "Simon Duquennoy" <simonduq@sics.se> a écrit :
>
>    On Fri, Mar 7, 2014 at 1:37 PM, Michael Richardson <
> mcr+ietf@sandelman.ca> wrote:
>
>>
>> Simon Duquennoy <simonduq@sics.se> wrote:
>>     > We have designed an opportunistic extension of RPL, where the basic
>> idea is to
>>     > exploit all links of the DODAG rather than the tree defined by
>> links to
>>     > preferred parents. We do this using anycast: transmissions are
>> intended either
>>     > (upwards) to any parent or (downwards) to any child having the
>> destination
>>     > below in the DODAG.
>>
>> This is very interesting.
>>
>>     > We have a working prototype [1] in Contiki that we evaluated
>> thoroughly in a
>>     > 135-node testbed [2]. In a 4-min packet interval data collection,
>> we increase
>>     > the reliability of RPL from 97.4 to 99.5%, while halving the
>> latency (below
>>     > 0.5s) and radio duty cycle (below 0.5%).
>>
>>     > If there is interest, we can come up with a simplified version of
>> the design
>>     > presented in the paper, and propose a way to integrate it in RPL
>> through only a
>>     > few minor additions. To be more specific, the simplified version
>> would use the
>>     > existing RPL routing tables rather than Bloom filters, and would be
>> MAC-layer
>>     > agnostic (the only assumption being that the MAC layer supports
>>     > anycast).
>>
>> I'm not familliar with the concept of anycast at layer-2.
>> I think that ethernet supports this, but that actually one would have the
>> multicast bit set.  I think that you'd have to do the same thing on
>> 802.11.
>> I guess that 15.4 has a specific support for this, or is just a choice of
>> a
>> particular unicast mac?
>>
>
>  Dear Michael, all,
>
>  There is no specific support for anycast in 802.15.4, but the standard
> MAC layers can easily be used for anycast (often by setting
> multicast/broadcast + ACK bits).
> I've see prototypes for 802.15.4 beacon-enabled [1], for a 15.4e RIT-like
> MAC [2], and for a CSL-like MAC (our own implementation uses ContikiMAC,
> which is similar CSL).
> Should also be possible with 15.4 TSCH or even 802.11 PSM.
> Doing this on an always-on link like ethernet or traditional 802.11 is
> more tricky because you need an agreement procedure so that only one
> neighbor that received the packet forwards it. There exist solutions for
> WiFi, such as ExOR [3], which introduced opportunistic for 802.11 back in
> 2005. I don't think we want to go into this though; I'd rather simply
> stipulate that anycast is required at the MAC layer and possibly give some
> hints on how to support it on the most common MAC protocols.
>
>  Best,
> Simon
>
>  [1]
> http://clarinet.u-strasbg.fr/~theoleyre/uploads/Publis/pavkovic11rpl.pdf
>  [2] http://www.ti5.tuhh.de/publications/2012/EWSN12_Orinoco.pdf
> [3] http://en.wikipedia.org/wiki/ExOR_(wireless_network_protocol)
>
>
>> --
>> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>> IETF ROLL WG co-chair.    http://datatracker.ietf.org/wg/roll/charter/
>>
>>
>> _______________________________________________
>> Roll mailing list
>> Roll@ietf.org
>> https://www.ietf.org/mailman/listinfo/roll
>>
>>
>    _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll
>
>
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll
>
>