Re: [T2TRG] Less than 24 hours till implementers' workshop

Michael Koster <michael.koster@smartthings.com> Wed, 26 October 2016 13:55 UTC

Return-Path: <michael.koster@smartthings.com>
X-Original-To: t2trg@ietfa.amsl.com
Delivered-To: t2trg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6B915129551 for <t2trg@ietfa.amsl.com>; Wed, 26 Oct 2016 06:55:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.12
X-Spam-Level:
X-Spam-Status: No, score=-1.12 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NEUTRAL=0.779] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=smartthings-com.20150623.gappssmtp.com
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 cJoyVX1qQ5X8 for <t2trg@ietfa.amsl.com>; Wed, 26 Oct 2016 06:55:52 -0700 (PDT)
Received: from mail-yb0-x235.google.com (mail-yb0-x235.google.com [IPv6:2607:f8b0:4002:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 086091293F3 for <t2trg@irtf.org>; Wed, 26 Oct 2016 06:55:52 -0700 (PDT)
Received: by mail-yb0-x235.google.com with SMTP id h65so2030637ybb.7 for <t2trg@irtf.org>; Wed, 26 Oct 2016 06:55:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smartthings-com.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=eROjeayvyl7+I4SK+QYPLo9shdsa3qmamY+ZxiYblV0=; b=Ht+nBClRj6fh5byvuVS7MJoNKFQ7m5BOWtLPlXdj6yP8aLrDi6IOvw8K//+X5K0IiX Crs3HphaiVd5OHTZhmP/j7aIO/3d7WpGgYmTFrdGlTO0yRp70AvsWT64GLGDgwEE5K78 ytYcFpBsxewGJ+vjbB6qFQ1Fq+wR8dvSKBLq/Xncm+yurxlVptwFeAbA3I66uWY3EBUr PoytRSPG2TOF79jpwP3Ls6kpL607H0CEZSNRf65mG3i54DgsrwYvGgbcwYgiaft6S62v RpDDxBsallwnb9CYczhXLRiWbOe5dSNxuCVLF0xjVDVxpYcss1r4oJYaF6G6tp91LK12 f4Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=eROjeayvyl7+I4SK+QYPLo9shdsa3qmamY+ZxiYblV0=; b=bujAC4ZAbXz4FuA3KHD7hMAwsdxcKAJl/R3UmCoIRLV0coQqbx2SZkM/eRVe+9mVbK OW96PYkiOVxUxDCR0a9PuL+iZM4zLk7xpu9XJH/2HAdJ2D1xyqCSU7ZDbSpwHjYgQNIZ BU+BszFnYyM669YHMgqphnVQwHLCs+HoS6H/oKrTo6pekaArMtpU9xWE4bX3bTv7InOX jfXJ1Az3NrbGT4BTJykDZc/+RfO7nnebrdGUjPpv5u3Xyowe/l34OsdNfjBSjkRsila6 gYRT8956WKKV6xjvw/Mx/NePKiQp+abrHNKaQERR5BKMCKZNGdvVw1x2cZDEaPfPDaAH 3F5Q==
X-Gm-Message-State: ABUngvd6dJm8GBprWuXrwzOZ+uS7zJGzrU5RvMHomQtYoUyfGVTM79OWvrOTb8VPyw7IbQ2r
X-Received: by 10.37.126.1 with SMTP id z1mr1707511ybc.99.1477490151145; Wed, 26 Oct 2016 06:55:51 -0700 (PDT)
Received: from [10.0.0.23] (108-201-184-41.lightspeed.sntcca.sbcglobal.net. [108.201.184.41]) by smtp.gmail.com with ESMTPSA id a67sm638439ywf.9.2016.10.26.06.55.50 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 26 Oct 2016 06:55:50 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_6F47B651-3980-4D8E-8FC0-BE08E3052B6A"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Michael Koster <michael.koster@smartthings.com>
In-Reply-To: <CAN9CcB-50cX36ExtOHLcHC9KfzFRwTuoknHX2pBAinwu-FHUGw@mail.gmail.com>
Date: Wed, 26 Oct 2016 06:55:48 -0700
Message-Id: <983B8D2B-665E-4E51-8B9B-6D05911F54D8@smartthings.com>
References: <etPan.58106485.237906da.3eb@tzi.org> <CAN9CcB-50cX36ExtOHLcHC9KfzFRwTuoknHX2pBAinwu-FHUGw@mail.gmail.com>
To: Julien Vermillard <jvermillard@gmail.com>
X-Mailer: Apple Mail (2.2104)
Archived-At: <https://mailarchive.ietf.org/arch/msg/t2trg/2Ppf6EAXsAIJ93r94CYfPOfae3M>
Cc: "t2trg@irtf.org" <t2trg@irtf.org>
Subject: Re: [T2TRG] Less than 24 hours till implementers' workshop
X-BeenThere: t2trg@irtf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "IRTF Thing-to-Thing \(T2T\) Research-Group-in-creation" <t2trg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/t2trg>, <mailto:t2trg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/t2trg/>
List-Post: <mailto:t2trg@irtf.org>
List-Help: <mailto:t2trg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/t2trg>, <mailto:t2trg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 26 Oct 2016 13:55:56 -0000

I was working on a proposal last year to add device-to-device support to LWM2M.

The basic enabler is a "peer" management object which is functionally similar to the server management object, but which defines a peer endpoint on the network (and associated ACL objects). One peer object is needed for each other device it is non-exclusively paired with. Each pair may have its own ECDHE handshake or there may be some key dist.

The peer objects may be configured by a server or a peer that has sufficient permission.

Likewise we were working on defining a multicast management object which represents a multicast address "endpoint" on the network, also with associated ACLs.

For the issue of device as server, the idea is to introduce CoAP pub/sub that enables the device to push and pull through the NAT as a client. This integrates with RD at the service end.

JSON and CBOR may coexist, and the JSON equivalent is very useful for interoperable web-facing APIs

Best regards,

Michael

> On Oct 26, 2016, at 6:39 AM, Julien Vermillard <jvermillard@gmail.com> wrote:
> 
> Some comments after a first read.
> 
> How a LWM2M device can be seen as a server when most of LWM2M adopters use that behind NAT and so the device is not directly able to receive requests.
> The LWM2M device can only receive requests from the LWM2M server when a registration or a registration update created a NAT association which will stay here for 20sec to 180 sec depending on the network configuration. So for me it make much more sense to talk about LWM2M client for the device and LWM2M server for the "server" :D
> 
> I'll use the name device for the CoAP server and LWM2M server for the RD+CoAP client here :)
> 
> Device to device interaction weren't specified because in most of IPV4 NATed networks (cellular networks) the device are not able to directly address another device.
> That explain the focus on centralizing the communication to a "cloud" server.
> 
> On PATCH/FETCH I agree it's something that could be really useful for LWM2M.
> 
> "Beyond what is described in the LWM2M documentation, devices will often talk to each other. Specially in cases when all devices are under the same subnet, this could be pretty common."
> 
> For my today LWM2M applications, we are not any time soon but I would be really interested to know the use cases behind that.
> 
> Also I have an hard time to understand the security model here. Maybe the plan is to use certificate for being able to do thing to thing DTLS?
> 
> for 3.3, I had a hard time to figure how to use HTTP/CoAP proxy when LWM2M makes obverse mandatory. Yes you can use observe for caching the value but that does means the HTTP Client must poll the HTTP/CoAP proxy which is a not a proper solution to me because we want to move a lot of telemetry values from the device to the cloud and it makes the communication pattern quite inefficient.
> 
> For the object model it totally make sense to adopt a more typed representation format like CBOR than the LWM2M specific TLV. and use it also when you use SenML with LWM2M (today only Json SenML is specified in LWM2M).
> Reducing the number of supported format (TXT/JSON/TLV) to only CBOR would keep the same feature set and reduce the implementation complexity.
> 
> Also Object instances are problematic. It's hard to find which object instance you want to address on a device without reading all the object.
> For example you use the object /9 (software management) you have a bunch of installed applications and you want to uninstall the "temperature management" app.
> For finding which object instance you need to address you need to walk though all the /9 instance, find the application called "temperature management" and remove it.
> If you try to do this across a large fleet of device it can be quite painful because on every device the app can have a different object instance id.
> 
> From what I understand from the document you would like to see more T2T and alignment with CoAP from the LWM2M spec (specifically the RD one), but it's quite hard to ignore that LWM2M was built at OMA my telco companies who want to use it for today applications: machine-to-machine device management and thing-to-thing and accessible and static IP on devices are still not a reality in the world we are deploying.
> 
> It would be nice to first work on the requirement and to see if, we want, and how, we can introduce them to LWM2M vision.
> 
> Cool, we have a lot interesting ideas to discuss tomorrow!
> 
> --
> Julien Vermillard
> 
> On Wed, Oct 26, 2016 at 10:08 AM, Carsten Bormann <cabo@tzi.org <mailto:cabo@tzi.org>> wrote:
> In less than 24 hours, the implementer’s workshop will start in Ludwigsburg (Stuttgart area).
> 
> We’ll discuss general directions of leading CoAP/DTLS implementations as well as open issues where it would be good to have a common approach between implementations.  Some standards work might spin off from this, or maybe some best practices documentation.
> 
> Implementations of course address more than the IETF part of the stack.  One interesting angle that got more focus recently is how to help with evolution of the widely recognized LWM2M effort.  There are some organizational aspects to address (which the RG is probably the wrong place for), but there are also technical points.  Jaime Jiménez (who can’t be at the meeting) has a short work in progress document for this that he gave us a glimpse on just now:
> 
> http://jaimejim.github.io/drafts/draft-jimenez-coap-functionality-lwm2m.html <http://jaimejim.github.io/drafts/draft-jimenez-coap-functionality-lwm2m.html>
> 
> More food for thought for those of us that want to further LWM2M; maybe we can even evolve this document in the RG based on our best practices work.
> 
> Grüße, Carsten
> 
> 
> _______________________________________________
> T2TRG mailing list
> T2TRG@irtf.org <mailto:T2TRG@irtf.org>
> https://www.irtf.org/mailman/listinfo/t2trg <https://www.irtf.org/mailman/listinfo/t2trg>
> 
> 
> _______________________________________________
> T2TRG mailing list
> T2TRG@irtf.org
> https://www.irtf.org/mailman/listinfo/t2trg