[core] Sleepy devices: OMA lightweight queue mode for CoAP

"Dijk, Esko" <esko.dijk@philips.com> Mon, 11 November 2013 09:30 UTC

Return-Path: <esko.dijk@philips.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D358E21E812C for <core@ietfa.amsl.com>; Mon, 11 Nov 2013 01:30:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.858
X-Spam-Level:
X-Spam-Status: No, score=-2.858 tagged_above=-999 required=5 tests=[AWL=0.609, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, UNRESOLVED_TEMPLATE=3.132]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1cr+KtFkX7ki for <core@ietfa.amsl.com>; Mon, 11 Nov 2013 01:30:22 -0800 (PST)
Received: from co9outboundpool.messaging.microsoft.com (co9ehsobe001.messaging.microsoft.com [207.46.163.24]) by ietfa.amsl.com (Postfix) with ESMTP id 7991611E8142 for <core@ietf.org>; Mon, 11 Nov 2013 01:22:12 -0800 (PST)
Received: from mail121-co9-R.bigfish.com (10.236.132.226) by CO9EHSOBE009.bigfish.com (10.236.130.72) with Microsoft SMTP Server id 14.1.225.22; Mon, 11 Nov 2013 09:22:00 +0000
Received: from mail121-co9 (localhost [127.0.0.1]) by mail121-co9-R.bigfish.com (Postfix) with ESMTP id 059B4C80248; Mon, 11 Nov 2013 09:22:00 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:157.55.7.222; KIP:(null); UIP:(null); IPV:NLI; H:mail.philips.com; RD:none; EFVD:NLI
X-SpamScore: -35
X-BigFish: VPS-35(zz217bI98dI15d6O9371Ic89bh936eI542I1432I9251I4015I168aJ1521Idd85kzz1f42h208ch1ee6h1de0h1fdah2073h2146h1202h1e76h1d1ah1d2ah1fc6hzz8275ch1de098h1033IL17326ah8275bh8275dh1de097h186068h1954cbhz2dh109h2a8h839h93fhd25hf0ah1288h12a5h12a9h12bdh137ah13b6h1441h1504h1537h153bh15d0h162dh1631h1758h18e1h1946h19b5h19ceh1ad9h1b0ah1b2fh2222h224fh1fb3h1d0ch1d2eh1d3fh1dc1h1dfeh1dffh1e1dh1fe8h1ff5h2216h1155h)
Received: from mail121-co9 (localhost.localdomain [127.0.0.1]) by mail121-co9 (MessageSwitch) id 1384161718810480_13618; Mon, 11 Nov 2013 09:21:58 +0000 (UTC)
Received: from CO9EHSMHS023.bigfish.com (unknown [10.236.132.225]) by mail121-co9.bigfish.com (Postfix) with ESMTP id C06ED3C003E; Mon, 11 Nov 2013 09:21:58 +0000 (UTC)
Received: from mail.philips.com (157.55.7.222) by CO9EHSMHS023.bigfish.com (10.236.130.33) with Microsoft SMTP Server (TLS) id 14.16.227.3; Mon, 11 Nov 2013 09:21:58 +0000
Received: from 011-DB3MPN2-082.MGDPHG.emi.philips.com ([169.254.2.206]) by 011-DB3MMR1-011.MGDPHG.emi.philips.com ([10.128.28.50]) with mapi id 14.03.0158.002; Mon, 11 Nov 2013 09:21:56 +0000
From: "Dijk, Esko" <esko.dijk@philips.com>
To: Zach Shelby <zach@sensinode.com>, "core@ietf.org" <core@ietf.org>
Thread-Topic: Sleepy devices: OMA lightweight queue mode for CoAP
Thread-Index: Ac7eupK1vkBEFzF3SDuPgMOcHEH12w==
Date: Mon, 11 Nov 2013 09:21:55 +0000
Message-ID: <031DD135F9160444ABBE3B0C36CED6180CC2895D@011-DB3MPN2-082.MGDPHG.emi.philips.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [194.171.252.106]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: philips.com
X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn%
X-FOPE-CONNECTOR: Id%0$Dn%INTERDIGITAL.COM$RO%1$TLS%0$FQDN%$TlsDn%
Subject: [core] Sleepy devices: OMA lightweight queue mode for CoAP
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/core>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Nov 2013 09:30:27 -0000

Hello Zach, all,

> In the OMA Lightweight standard, the mechanism that uses CoAP to solve this problem was just called a "queue mode". This is in practice realised with a Proxy and
> an RD in the same box. An RD registration parameter is used to indicate that a node is in queue mode. From there on the proxy queues all incoming requests to the
> node, which are released upon reception of a registration update request from the node. If the WG wants, this could fairly easily be documented in the Resource
> Directory draft maintaining compatibility with OMA Lightweight.

In this solution, does the Proxy queue a CoAP request for an arbitrary time period? I assume it works as follows

1- the CoAP client that needs to reach the sleepy/intermittent-connectivity endpoint (SICEP) sends a CON request to Proxy, containing the Proxy-Uri or Proxy-Scheme option
2- Proxy ACKs the CON message and puts the request in queue
3- SICEP wakes up, updates its registration on Proxy
4- Proxy sends queued request (CON) to SICEP
(- optional: if request fails to be delivered to SICEP it is re-queued for next time; then move back to step 3)
5- Proxy receives CoAP response from SICEP
6- Proxy delivers response to the CoAP client (using CON)

From core-coap I understand there is no inherent limit to the time between a CoAP request and its response. E.g. it may be 24 hours in above example.
I wonder if current implementations of core-coap allow this, or are tested on this aspect.

One benefit of this solution (if I see it right) is that there is no resource delegation/buffering needed at all. A drawback is that the SICEP needs to acts as CoAP server as well as CoAP client, while some other solutions require only CoAP-client functionality in the SICEP.

Esko

-----Original Message-----
From: core-bounces@ietf.org [mailto:core-bounces@ietf.org] On Behalf Of Zach Shelby
Sent: Monday, October 14, 2013 18:14
To: Rahman, Akbar
Cc: core@ietf.org
Subject: Re: [core] New Version Notification fordraft-rahman-core-sleepy-nodes-do-we-need-00.txt

Hi,

I think "Sleepy Nodes" really misses the broader point. What we are really dealing with is a node with intermittent reachability, "I'll call you, don't call me". Sleeping might just be one reason why this happens, a NAT is another even more common one. And on cellular networks nodes typically come on the network just long enough to get their business done.

In the OMA Lightweight standard, the mechanism that uses CoAP to solve this problem was just called a "queue mode". This is in practice realised with a Proxy and an RD in the same box. An RD registration parameter is used to indicate that a node is in queue mode. From there on the proxy queues all incoming requests to the node, which are released upon reception of a registration update request from the node. If the WG wants, this could fairly easily be documented in the Resource Directory draft maintaining compatibility with OMA Lightweight.

Although Mirror Server is a useful paradigm for some use cases (and we should eventually document it), I find it less useful as it limits the REST operations that can be performed.

Zach

On Oct 11, 2013, at 9:38 PM, "Rahman, Akbar" <Akbar.Rahman@InterDigital.com> wrote:

> Thanks, Gengyu, for your support for the topic of Sleepy Nodes.
>
> I agree that we can have different definitions of what we mean from a CORE perspective for a Sleepy Node.  At this point (until we adopt a WG deliverable for this topic) one definition is just as valid as another.  However, it is also interesting to see what other WGs are doing.  So for example, in ROLL, the definition is:
>
>
> http://tools.ietf.org/html/draft-ietf-roll-terminology-13
>
>
>   Sleepy Node: A sleepy node is a node that may sometimes go into a
>   sleep mode (i.e.  go into a low power state to conserve power) and
>   temporarily suspend protocol communication.  When no in a sleep mode,
>   the sleepy node is in a fully powered on state where it has the
>   capability to perform communication.
>
>
> And this ROLL definition, at least, is similar to the one from
> draft-dijk-core-sleepy-reqs-00
>
>
>
> Best Regards,
>
>
> Akbar
>
>
>
> -----Original Message-----
> From: weigengyu [mailto:weigengyu@bupt.edu.cn]
> Sent: Friday, October 11, 2013 2:27 AM
> To: Rahman, Akbar
> Cc: core@ietf.org
> Subject: Re: [core] FW: New Version Notification
> fordraft-rahman-core-sleepy-nodes-do-we-need-00.txt
>
> Hi, Rahman,
>
> My answer the question "Should we have a CORE deliverable for CoAP support of Sleepy Nodes?" is YES.
>
> But I have some questions about the use cases.
> According to "Sleepy Devices using CoAP - Requirements draft-dijk-core-sleepy-reqs-00"
> the definitin of Sleeping/Asleep as following:
>   Sleeping/Asleep  : A SEP being in a "sleeping state" i.e. its network interface is disconnected and a SEP is not able to send or receive messages.
> So, a sleepy node should not start to communicate with other nodes.  The communication between sleepy nodes is not possible, that is given in "Problem statement and Use cases of Sleepy node in Constrained node networks draft-hong-lwig-sleepynode-problem-statement-00"
>
> When a node is in sleeping state, it can receive, but it cannot send.
> The sleeping node can be waken-up by a received message or timer expired event; therefore the node turns to be awake.
> An alarming message may cause the sleepy node awake and then to give response.
> The timer expired event may cause  the sleepy node awake and then to send heartbeat.
> A node can send a message out only when it is awake.
>
> Afterall, it is possible that the non-sleep node  initiates communication with a sleepy node. The sleep node is passive.
> If the node in sleepy state wants to respond the message, it firstly turns to awake state.
>
> regards,
>
> Gengyu
>
>
> -----原始邮件-----
> From: Rahman, Akbar
> Sent: Friday, October 11, 2013 11:39 AM
> To: Carsten Bormann ; core@ietf.org
> Subject: [core] FW: New Version Notification
> fordraft-rahman-core-sleepy-nodes-do-we-need-00.txt
>
> Hi Carsten (and WG),
>
>
> I wrote a short draft based on the following question from IETF-87 (Berlin):
>
> "Should we have a CORE deliverable for CoAP support of Sleepy Nodes?"
>
> http://www.ietf.org/mail-archive/web/core/current/msg04750.html
>
>
>
> Any and all comments will be much appreciated.
>
>
>
> Akbar
>
> -----Original Message-----
> From: internet-drafts@ietf.org [mailto:internet-drafts@ietf.org]
> Sent: Thursday, October 10, 2013 11:34 PM
> To: Rahman, Akbar; Rahman, Akbar
> Subject: New Version Notification
> fordraft-rahman-core-sleepy-nodes-do-we-need-00.txt
>
>
> A new version of I-D, draft-rahman-core-sleepy-nodes-do-we-need-00.txt
> has been successfully submitted by Akbar Rahman and posted to the IETF
> repository.
>
> Filename: draft-rahman-core-sleepy-nodes-do-we-need
> Revision: 00
> Title: Sleepy Devices: Do we need to Support them in CORE?
> Creation date: 2013-10-11
> Group: Individual Submission
> Number of pages: 6
> URL:
> http://www.ietf.org/internet-drafts/draft-rahman-core-sleepy-nodes-do-
> we-need-00.txt
> Status:
> http://datatracker.ietf.org/doc/draft-rahman-core-sleepy-nodes-do-we-n
> eed
> Htmlized:
> http://tools.ietf.org/html/draft-rahman-core-sleepy-nodes-do-we-need-0
> 0
>
>
> Abstract:
>   This document summarizes the discussion in the CORE WG related to the
>   question of whether support of sleepy devices is required for the
>   CoAP protocol, CORE Link Format, CORE Resource Directory, etc.  The
>   only goal of this document is to trigger discussions in the CORE WG
>   so that all relevant considerations for sleeping devices are taken
>   into account.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core
>
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core

--
Zach Shelby, Chief Nerd, Sensinode Ltd.
http://www.sensinode.com @SensinodeIoT
Mobile: +358 40 7796297
Twitter: @zach_shelby
LinkedIn: http://fi.linkedin.com/in/zachshelby
6LoWPAN Book: http://6lowpan.net




_______________________________________________
core mailing list
core@ietf.org
https://www.ietf.org/mailman/listinfo/core

________________________________
The information contained in this message may be confidential and legally protected under applicable law. The message is intended solely for the addressee(s). If you are not the intended recipient, you are hereby notified that any use, forwarding, dissemination, or reproduction of this message is strictly prohibited and may be unlawful. If you are not the intended recipient, please contact the sender by return e-mail and destroy all copies of the original message.