Re: [icnrg] [T2TRG] ICNRG/T2TRG subject of the day: device naming, data naming, semantic interoperability

Ravi Ravindran <ravi.ravindran@huawei.com> Wed, 09 November 2016 22:17 UTC

Return-Path: <ravi.ravindran@huawei.com>
X-Original-To: icnrg@ietfa.amsl.com
Delivered-To: icnrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9114E12956F; Wed, 9 Nov 2016 14:17:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.718
X-Spam-Level:
X-Spam-Status: No, score=-5.718 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.497, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=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 JSbIDuu1mFRi; Wed, 9 Nov 2016 14:17:50 -0800 (PST)
Received: from dfwrgout.huawei.com (dfwrgout.huawei.com [206.16.17.72]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 71F381297F7; Wed, 9 Nov 2016 14:10:24 -0800 (PST)
Received: from 172.18.9.243 (EHLO DFWEML703-CAH.china.huawei.com) ([172.18.9.243]) by dfwrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id BWF63127; Wed, 09 Nov 2016 16:10:12 -0600 (CST)
Received: from DFWEML501-MBB.china.huawei.com ([10.193.5.179]) by DFWEML703-CAH.china.huawei.com ([10.193.5.177]) with mapi id 14.03.0235.001; Wed, 9 Nov 2016 14:10:10 -0800
From: Ravi Ravindran <ravi.ravindran@huawei.com>
To: Carsten Bormann <cabo@tzi.org>, "t2trg@irtf.org" <t2trg@irtf.org>, "icnrg@irtf.org" <icnrg@irtf.org>
Thread-Topic: [T2TRG] ICNRG/T2TRG subject of the day: device naming, data naming, semantic interoperability
Thread-Index: AQHSOqDrTKN2blibVECidnEJ4000QKDRNMmg
Date: Wed, 09 Nov 2016 22:10:10 +0000
Message-ID: <D96E28F4A22C864DBC6C871B5B1C4CC3216BB495@dfweml501-mbb>
References: <08E85DBD-53DE-4509-83F5-956E9A757D11@tzi.org>
In-Reply-To: <08E85DBD-53DE-4509-83F5-956E9A757D11@tzi.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.213.49.182]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/icnrg/5SqQ9q6K-MBtAb1aGy6WwOudUXE>
Subject: Re: [icnrg] [T2TRG] ICNRG/T2TRG subject of the day: device naming, data naming, semantic interoperability
X-BeenThere: icnrg@irtf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Information-Centric Networking research group discussion list <icnrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/icnrg>, <mailto:icnrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/icnrg/>
List-Post: <mailto:icnrg@irtf.org>
List-Help: <mailto:icnrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/icnrg>, <mailto:icnrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Nov 2016 22:17:51 -0000

Contributing to this thread:

On the naming aspect, in the section 5.1 of the ICN-IoT requirements draft https://tools.ietf.org/html/draft-zhang-icnrg-icniot-requirements-01
 we don't restrict naming only to content, but also to services and devices.

The naming itself has to satisfy heterogeneous application requirements, hence needn't be contextual as the example below, but can be self-certified flat names too, e.g. hash of content object or of a public key. The type of name determines the binding between name and the key. For contextual names, it requires a certificate, while a self-certified flat names can be locally validated without involving a third party.

On the discovery aspect, ICN-IoT discovery discussions in the context of an ICN-IoT middleware design has been presented in https://tools.ietf.org/html/draft-zhang-icnrg-iot-architecture-00
(the presentation slides are here https://www.ietf.org/proceedings/interim-2016-icnrg-03/slides/slides-interim-2016-icnrg-03-9.pdf
).  The main difference from the IP architecture is that discovery processes are name-based hence allows efficient realization of Self-configuration features at the device and service level.

Regards,
Ravi

-----Original Message-----
From: T2TRG [mailto:t2trg-bounces@irtf.org] On Behalf Of Carsten Bormann
Sent: Wednesday, November 09, 2016 7:50 AM
To: t2trg@irtf.org; icnrg@irtf.org
Subject: [T2TRG] ICNRG/T2TRG subject of the day: device naming, data naming, semantic interoperability

# Subject of the day: device naming, data naming, semantic interoperability

A few days are left until we have the joint T2TRG/ICNRG meeting on Sunday.  Until then, maybe it is a good idea to prepare for the discussion on the two mailing lists.  (Apologies for the cross-posting if your mail reader isn't collapsing.)

The subject I'd like to propose for today (US time zone) is:

## device naming, data naming, semantic interoperability

### REST

In the REST world, which is inspiring T2TRG, naming is mostly done through the URI.  The authority part (e.g., a host name or an IP
address) could stand for a device.  (The authority is also part of the origin, which is relevant for its security properties.)  The URI path that follows the authority then names the data on the device.

RFC 7320, URI Design and Ownership, tells us that it is up to the server, i.e. the device, to make up the names, and clients should not be expecting any structure there.  But then, not all interfaces on the web are exactly like this, and RFC 6570 URI templates as well as URI query parameters (possibly submitted as instructed by a form) point to some client-controlled naming.

In a REST world, we expect a lot of discovery to happen before a name is formed:
-- device discovery (server discovery)
-- resource discovery (e.g., via /.well-knwon/core and a resource directory)
-- discovery of related semantic information (e.g., forms)

We also expect using media types in order to convey semantic information about a resource representation.

In the COMI work, we also have names ("selectors", based on a YANG model of the data) as payload of FETCH and PATCH operations; these can reach into a datastore in a finely-grained way.

I'm not going to start discussing semantic interoperability here; the mail is already too long, but we'll have to do that at some point.

### ICN

In the ICN world, data is named, not devices.  For a thing (where thinginess is defined as a relationship to the physical world), it is sometime hard to distinguish between the device name (sensor for temperature in Room 5180) and the name of the data (temperature in Room 5180).  A random example I stumbled over recently:

/city name/bangalore/street name/cunningham road/location/20/corner/east /sensor type/video/sensorID/1

This doesn't have an address in the networking sense in it, but it does have a device ID...

There is an assumption that a name can be used to derive security properties, e.g. to validate signed data under this name.

There is some assumption that a client can at least form progressions of names in order to obtain chunks of an object and newer versions of an object.  ICN "discovery" often is about finding the data when you already have the name -- I don't know much about ICN name discovery schemes; maybe somebody else can chime in.

### Discussion

So what can we learn from how the naming issues are treated in the two worlds?  How would an "IoT ICN" name its data?  What ICN ideas can we (should we) integrate into CoRE, and v.v.?  Can we learn something from the way security is being handled?  How does a client learn about these names (discovery, standards, "thing descriptions", ...)?

Any form of input is welcome, from a two-liner mail here up to a position paper and the announcement of a talk in Seoul...

Grüße, Carsten

_______________________________________________
T2TRG mailing list
T2TRG@irtf.org
https://www.irtf.org/mailman/listinfo/t2trg