Re: [6lowapp] Discovery

Vlad Trifa <trifa@inf.ethz.ch> Wed, 04 November 2009 09:18 UTC

Return-Path: <trifa@inf.ethz.ch>
X-Original-To: 6lowapp@core3.amsl.com
Delivered-To: 6lowapp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 32ECE3A6A9B for <6lowapp@core3.amsl.com>; Wed, 4 Nov 2009 01:18:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.569
X-Spam-Level:
X-Spam-Status: No, score=-2.569 tagged_above=-999 required=5 tests=[AWL=0.030, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oKn1-TuJxtJv for <6lowapp@core3.amsl.com>; Wed, 4 Nov 2009 01:18:56 -0800 (PST)
Received: from gwse.ethz.ch (gwse.ethz.ch [129.132.178.237]) by core3.amsl.com (Postfix) with ESMTP id 136423A699A for <6lowapp@ietf.org>; Wed, 4 Nov 2009 01:18:55 -0800 (PST)
Received: from CAS01.d.ethz.ch (129.132.178.235) by gws00.d.ethz.ch (129.132.178.237) with Microsoft SMTP Server (TLS) id 8.2.176.0; Wed, 4 Nov 2009 10:19:14 +0100
Received: from 80-254-68-122.dynamic.monzoon.net (129.132.208.114) by mail.ethz.ch (129.132.178.227) with Microsoft SMTP Server (TLS) id 8.2.176.0; Wed, 4 Nov 2009 10:18:52 +0100
Message-ID: <A3EA52F6-45B7-4636-B502-DDD2DE01EF94@inf.ethz.ch>
From: Vlad Trifa <trifa@inf.ethz.ch>
To: Zach Shelby <zach@sensinode.com>
In-Reply-To: <A7C1F773-0C61-4548-93F8-33A74592A829@sensinode.com>
Content-Type: text/plain; charset="WINDOWS-1252"; format=flowed; delsp=yes
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0 (Apple Message framework v936)
Date: Wed, 4 Nov 2009 10:18:51 +0100
References: <3fe58b590911020532w57049a23n6d64853ec8fbf891@mail.gmail.com> <00b501ca5bc7$1ba2bcf0$52e836d0$@sturek@att.net> <CBD1B7D9-7FB8-4630-A1FE-690BB1FAA15D@sensinode.com> <01d701ca5c90$36ba5e70$a42f1b50$@sturek@att.net> <A7C1F773-0C61-4548-93F8-33A74592A829@sensinode.com>
X-Mailer: Apple Mail (2.936)
Cc: 6lowapp@ietf.org
Subject: Re: [6lowapp] Discovery
X-BeenThere: 6lowapp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Application protocols for constrained nodes and networks <6lowapp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/6lowapp>
List-Post: <mailto:6lowapp@ietf.org>
List-Help: <mailto:6lowapp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lowapp>, <mailto:6lowapp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Nov 2009 09:18:58 -0000

Hello,

just my thoughts about the discovery. Wouldn't it make sense to  
somewhat decouple the physical (network-level) discovery (eg.ws- 
discovery, bonjour) from the actual use of the device and the  
semantics describing the device API in possible high-level format  
(WADL, etc)? This allows to offer different more or less elaborate  
description of how to use devices, and having a transparent discovery  
mechanism (I doubt it's difficult to oblige manufacturers to implement  
a single discovery standard). In particular, this would allow to find/ 
understand/use devices that do not have a network discovery mechanism,  
for example by entering it's wadl url in an application manually.

Another comment, I think that attaching semantics to urls (ie. hard- 
wiring commands as tags in the URL, with /wadl as Zach proposed) is  
not the best way to go, because it's a little against the REST design  
principle (because this basically defines a protocol on top of REST  
that all devices shall adopt - nothing wrong with that inherently and  
it would work - but requires to push such a standard based on uri  
schemas for all devices, which might be a bitter pill to swallow :)

Vlad


On Nov 3, 2009, at 10:33 PM, Zach Shelby wrote:

>
> On Nov 3, 2009, at 16:16 , Don Sturek wrote:
>
>> Hi Zach,
>>
>> I haven't yet seen a service discovery solution that is usable for  
>> small
>> footprint devices (SSDP, SLP, DPWS, etc.).  All use text strings  
>> (which will
>> translated to multiple packets) or directory agents in the network  
>> which are
>> not popular in unmanaged networks
>
> Agreed.
>
> What I am saying is that a much simpler discovery mechanism is  
> enough to fulfill the requirements I have seen. We don't need a full- 
> blown discovery of anything using any protocol for any device now.  
> We just need a built-in discovery mechanism for what interfaces are  
> available for this protocol, and optionally extra meta-info about  
> those interfaces or the device.
>
>>
>> Do you have any other references?  Is there something I missed with  
>> one of
>> these technologies?
>
> A few examples:
> - DPWS has a model of using the application protocol (HTTP or SOAP- 
> over-UDP) to offer device profiles. Discovery could be supported in  
> a similar way, but much simpler in CoAP.
> - Web interfaces can be described in many standard ways already,  
> e.g. WADL or WSDL. And of course the URL itself already describes a  
> lot.
> - It is normal practice to make these web interface descriptions  
> available on a well-known interface, so that they can be used. For  
> example REST designers often make the WADL description available on / 
> wadl.
> - The SENSEI project has implemented a mechanism like this (draft- 
> gold-6lowapp-sensei).
> - Tons of other protocols have simple built-in interface discovery.
>
> We don't have to decide exactly how to do it now, but I don't see it  
> being a hard problem.
>
>>
>> I see service discovery as a hard requirement in unattended networks.
>
> I totally agree.
>
> But by just defining a couple REST interfaces and a generic, compact  
> format for e.g. URL and interface desc info, you can build that into  
> the protocol (as a well-known interface) just as is normal practice  
> on the web.
>
> This is basically what the charter says right now, define a simple  
> discovery mechanism using the CoAP protocol supporting profiles. We  
> don' t have to decide exactly how to do it, but we should have the  
> general goals in there (unattended, peer-to-peer, no DA required,  
> profiles extensible).
>
> General service discovery could be future work for re-chartering?
>
> Zach
>
>>
>> Don
>>
>>
>> -----Original Message-----
>> From: Zach Shelby [mailto:zach@sensinode.com]
>> Sent: Monday, November 02, 2009 10:19 PM
>> To: d.sturek@att.net
>> Cc: 'Kerry Lynn'; 6lowapp@ietf.org
>> Subject: Re: [6lowapp] Discovery
>>
>> Hi,
>>
>> (New thread title)
>>
>> With regards to service discovery and CoAP, the question is do we  
>> need
>> full-blown service discovery at all for such constrained networks and
>> devices in this WG?
>>
>> Looking at the requirements and discussions so far, the conclusion we
>> had is that the same CoAP protocol can easily be used for exchanging
>> service information (profiles) in a distributed manner, but allowing
>> for a DA-like entity to exist if needed. DPWS uses a similar  
>> approach.
>>
>> The current proposed CoAP charter text takes this simple approach.
>> Define a discovery interface and a simple profile format using the
>> same protocol. For constrained nodes this makes sense, no requirement
>> to implement a separate protocol. This is also extensible for vendors
>> or other standards (e.g. DPWS, oBIX) to extend profiles.
>>
>> I am not saying that general service discovery mechanisms are not
>> useful some day (SLP, mDNS, UPnP etc.). There could be a future spin-
>> off or re-charter for this work. But looking at the current
>> applications and requirements on the table - what the charter is
>> suggesting is good enough and will demand the least effort.
>>
>> Thoughts?
>>
>> Zach
>>
>> On Nov 2, 2009, at 16:16 , Don Sturek wrote:
>>
>>> Hi Kerry,
>>>
>>> Here is the big problem we keep coming up against in service
>>> discovery:
>>> 1)   Most agent based solutions are deeply unpopular by HAN device
>>> manufacturers.
>>>
>>> Here is why:
>>> 1)  Many different vendors contribute to devices in the home area
>>> network
>>> (HAN)
>>> 2)  No vendor of device "X" wants to have to increase their storage
>>> and
>>> computing capacity to become the repository of service information
>>> for all
>>> other devices in the network.
>>> 3)  HANs are not managed networks where some owning entity would  
>>> place
>>> infrastructure devices
>>>
>>> Note what I wrote above is for the home area network (HAN).   
>>> Building
>>> automation is another story as there is certainly a building control
>>> system
>>> in place there.
>>>
>>> The simplest solution for this for the HAN:  Allow individual
>>> devices to
>>> hold their own service information and provide a unicast/multicast
>>> query
>>> system to allow for self description of service information.  Allow
>>> for
>>> individual devices on the HAN to form their own queries and get  
>>> direct
>>> responses back from devices matching those service requests.
>>>
>>> For the I-D I turned in for service discovery, I did use the SLP DA
>>> (Directory Agent, I believe) to hold the strings (URI plus service)
>>> and had
>>> the DA responsible for substituting those for tokens upon request.
>>> However,
>>> I had in mind that would be all the DA would do and all service
>>> discovery
>>> was UA (User Agent) based.
>>>
>>> For a building controls solution (commercial or industrial), the DA
>>> could be
>>> fully populated an used on the building control system......
>>>
>>> Don
>>>
>>>
>>> -----Original Message-----
>>> From: 6lowapp-bounces@ietf.org [mailto:6lowapp-bounces@ietf.org] On
>>> Behalf
>>> Of Kerry Lynn
>>> Sent: Monday, November 02, 2009 5:32 AM
>>> To: 6lowapp@ietf.org
>>> Subject: [6lowapp] Newbie questions
>>>
>>> Greetings,
>>>
>>> My name is Kerry Lynn and I hope to contribute to this effort
>>> remotely.  I
>>> am an independent contractor working in the area of building
>>> automation
>>> and have worked previously in Cisco and Apple network engineering in
>>> addition to supporting university research into constrained
>>> devices.  I
>>> hope you will bear with what may be foolish questions as I come up  
>>> to
>>> speed:
>>>
>>> I tried to access the audio stream and jabber feed from yesterday's
>>> meeting but was unable to do so.  Is IETF registration necessary?
>>>
>>> Is it the consensus of the group to support peer-to-peer as well as
>>> server-based configurations?  The first is what I'd term the "one
>>> light,
>>> one switch" scenario while the latter would include DHCP, DNS, etc.
>>> and perhaps application proxy support.
>>>
>>> Has anyone considered something like T/TCP as a candidate for
>>> transaction support?  I know it has been traditionally implemented
>>> as a superset of TCP but I suspect it could be much simpler than
>>> full TCP if used in a controlled environment such as local
>>> communication with a full TCP/HTTP/REST proxy.  The security
>>> concerns could be addressed simultaneously.
>>>
>>> Has anyone proposed mDNS/DNS-SD as an alternative to SLP?
>>> Does anyone have a feeling for how one client implementation
>>> compares to the other in terms if complexity?
>>>
>>> Thanks, -K-
>>> _______________________________________________
>>> 6lowapp mailing list
>>> 6lowapp@ietf.org
>>> https://www.ietf.org/mailman/listinfo/6lowapp
>>>
>>> _______________________________________________
>>> 6lowapp mailing list
>>> 6lowapp@ietf.org
>>> https://www.ietf.org/mailman/listinfo/6lowapp
>>
>> -- 
>> http://www.sensinode.com
>> http://zachshelby.org - My blog "On the Internet of Things"
>> Mobile: +358 40 7796297
>>
>> Zach Shelby
>> Head of Research
>> Sensinode Ltd.
>> Kidekuja 2
>> 88610 Vuokatti, FINLAND
>>
>> This e-mail and all attached material are confidential and may  
>> contain
>> legally privileged information. If you are not the intended  
>> recipient,
>> please contact the sender and delete the e-mail from your system
>> without producing, distributing or retaining copies thereof.
>>
>>
>>
>
> -- 
> http://www.sensinode.com
> http://zachshelby.org - My blog “On the Internet of Things”
> Mobile: +358 40 7796297
>
> Zach Shelby
> Head of Research
> Sensinode Ltd.
> Kidekuja 2
> 88610 Vuokatti, FINLAND
>
> This e-mail and all attached material are confidential and may  
> contain legally privileged information. If you are not the intended  
> recipient, please contact the sender and delete the e-mail from your  
> system without producing, distributing or retaining copies thereof.
>
>
>
> _______________________________________________
> 6lowapp mailing list
> 6lowapp@ietf.org
> https://www.ietf.org/mailman/listinfo/6lowapp