Network Working Group                                             P. Kim
Internet-Draft                              Korea Polytechnic University
Intended status: Experimental
Expires: September 7, 2019
                                                           March 9, 2019


                    A Naming System for IOT Objects
               draft-pskim-dnsop-namesystem-iotobject-00

Abstract

   This draft suggests an object-centric naming system including name
   space and name resolution system for the IOT environment. A name
   space is defined to cover diverse IOT objects. To consider
   scalability and distributed architecture, the format of the name
   space consists of object category, local name, domain name, and
   parameters. Then, registries and servers are introduced to manage
   mapping between identifier and object names with one-to-many
   relationship. Then, name registration and resolution using these
   registries and servers are described.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 7, 2019.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must

Kim                      Expires September 7, 2019               [Page 1]


Internet-Draft         A Naming System for IOT Objects         March 2019

   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  A Name Space for Diverse IOT Objects  . . . . . . . . . . . . 3
   3.  A Name Resolution System  . . . . . . . . . . . . . . . . . . 4
     3.1.  Components and Functions  . . . . . . . . . . . . . . . . 4
     3.2.  Name Registration and Resolution . .. . . . . . . . . . . 5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
   5.  References  . . . . . . . . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . 7


1.  Introduction

   With the arriving of Internet of things(IOT) which refers to the
   connection of billions of physical devices around the world to the
   Internet, the naming system including name(or identifier) and
   resolution is considered as one of essential elements to name
   each IoT device[1]-[5].

   Although the IP address is performing a primary role at the data
   plane as well as the control plane in legacy Internet architecture,
   it has generally a human-unfriendly. Thus, a human readable name
   space should be required for binding and resolution. The name space
   can be classified by "host-centric" as well as "object-centric". The
   host-centric name space names only host as shown in well-known
   Domain Name System (DNS)[2]. On the other hand, the object-centric
   name space can name diverse IOT objects such as user, file, device,
   service, content, context as well as host, as shown in Future
   Internet(FI) and Digital Object Architecture(DOA)[3]-[5]. This means
   that IOT objects would not be limited by the host. Hence, the name
   space should be designed with consideration of the scalability for
   tremendous IOT objects.

   In addition, as the registration and resolution between name and
   identifier(or locator) has been required, a name resolution system
   should be also required in order to take care of the functions
   necessary to perform the management of mapping between name and
   identifier, including ensuring that names are unique, and managing
   the list of identifiers and names. According to the name resolution
   manner, the naming system can be classified by "lookup-by-name" and
   "route-by-name". The lookup-by-name based approach uses an
   indirection system as DNS. The naming system using lookup-by-name
   has been adopted for object-centric name space such as FI, DOA as
   well as host-centric name space such as DNS. The route-by-name based
   approach does not require an indirection system, that is, resolution

Kim                      Expires September 7, 2019               [Page 2]


Internet-Draft         A Naming System for IOT Objects         March 2019

   system and perform the name based routing.

   In this draft, a naming system with an object-centric name space and
   a lookup-by-name based resolution system is suggested for the IOT
   environment. The main role of the name resolution system is that
   users can perform the resolution of IOT object names to get
   corresponding locator/identifier (and vice versa) for only the
   connection before communication, which is similar to the
   lookup-by-name method used for DNS, FI, DOA. Of course, in the
   future, the name resolution system is required for communication as
   well as connection, which is similar to the route-by-name method.
   Firstly, a name space for diverse IOT objects is defined. To
   consider scalability and hierarchical architecture, the format of
   the name space consists of object category, local name, domain name,
   and parameters. Secondly, name registration and resolution are
   designed to manage mapping between IOT object names and
   locator/identifier with one-to-many relationship.

   In general, the name space for the networking system defines the
   structure of the name system and the rules for creating names. The
   name space is the most abstract among main functions of a name
   resolution system. It is also the most fundamental part of the
   naming system, since it actually describes how the names are created.

2.  A Name Space for Diverse IOT Objects

   For a name space, diverse IOT objects are considered such as host,
   user, file, device, service, content, and more. In addition, the
   name space architecture will be hierarchical for the scalability and
   flat for the semantic, which can be represented by mixing the
   network access identifier (NAI)[6] and the uniform resource
   identifier (URI)[7]. Ultimately, the name space can consists of
   object category, local name, domain name, and parameter as
   follows:

       <object category>://<local name>@<domain name>:<parameters>

     - Object category : Category of IOT objects such as host, user,
              file, device, service, content, context, etc.
     - Local name (Flat): Semantic name of object.
     - Domain name (Hierarchical) : Name of domain where the user
              subscribes to the communication service for objects or
              the object is logically associated
     - Parameters (Option) : Parameters can be appended according to
              object category

   Example:

     device://temperature@iot.com:sensor:room:peter:kpu-15073


Kim                      Expires September 7, 2019               [Page 3]


Internet-Draft         A Naming System for IOT Objects         March 2019

     - Objejct category : device
     - Local name : temperature
     - Domain name : iot.com
     - Parameters : sensor, room, peter, kpu-15073 (Naming a sensor
       at Peter's room with address 'kpu-15073')

     device://air-conditioner@iot.ca.us:device:car:6vad286

     - Objejct category : device
     - Local name : air-conditioner
     - Domain name : iot.ca.us
     - Parameters : device, car, 6vad286 (naming an appliance
              inside a car with plate number "6vad286"

     content://billiejean.mp3@music.com:audio:Jackson

     - Objejct category : content
     - Local name : billiejean.mp3
     - Domain name : music.com
     - Parameters : audio, Jackson (Naming an audio file of singer
       'Jackson')

   Based on the designed name space, a name resolution system will be
   designed using indirection approach. Name registries, that is, name
   servers should be distributed according to IOT object categorization.
   For timely binding, a fast propagation mechanism of binding update
   should be required. In addition, for the resolution, a parsing
   mechanism for name should be also required.

3.  A Name Resolution System

3.1  Components and Functions

   In the suggested naming system, the name registration allows users
   to specify which identifier uses which object with object name (and
   vice versa). The name registration is coupled tightly with the
   object category used for object names. In addition to the name
   registration, the name resolution is also needed for user to find
   identifier that corresponds to object names for actual connection
   and communication. Actually, the name resolution is the most
   well-known aspect of name systems, because it is where most of the
   "heavy lifting" of a name system occurs[8]. The name space is
   generally set up once, and the name registration occurs only when
   object names must be created or changed. On the other hand, every
   user of a naming system instructs identifier he or she uses to
   perform the name resolution, hundreds or even thousands of times
   a day.

   For the name registration and resolution in the suggested naming
   system, servers and registries are required and distributed.

Kim                      Expires September 7, 2019               [Page 4]


Internet-Draft         A Naming System for IOT Objects         March 2019

   Basically, there are IOT object name servers (IONSs) to manage
   mapping database between identifier(such as IP address) and object
   names. In addition, there are a couple of registries to manage these
   IONSs; domain name server registry (DNSR) and IOT object name server
   registry (IONSR). The DNSR stores and manages information on the
   binding between domain names and locators of IONSRs for
   corresponding domain. The IOSNR stores and manages information on
   the binding between IOT object categories and locators of IONSs in
   the same domain. The IONS stores and distributes information on the
   binding between identifier and object names with one-to-many
   relationship for corresponding object categories such as user, file,
   device, service, content, context, etc., of active hosts that belong
   to the administrative domain managed by the DNSR and IONSR.

3.2  Name Registration and Resolution

   IOT objects register their identifiers with the IONS when they first
   connect to an edge network (i.e., when the user of the IOT object
   subscribes to the communication service). IOT objects also send
   identifier update requests to the IONS when they change their
   identifiers or other information. To register an IOT object name,
   a request must be made to have the name assignment added to the
   IONS. That is, IOT objects send name registration requests to the
   IONS when object names corresponding to identifier, and other
   information must be created or changed. The IONS thus stores dynamic
   information on object names and identifier that change often due to
   the activation of different objects. That is, the identifier is
   dynamically mapped to different object names with one-to-many
   relationship. The binding information about the IONSs stored in the
   IONSR and the IONSRs stored in the DSNR does not change frequently
   because IONSs and IONSRs are generally fixed nodes that are not
   changing their locators. The IONSs can be organized in a distributed
   structure, similar to that of DNS, for storing and retrieving static
   mapping information. Thus, the IONS record size does not grow as
   fast as the number of IOT objects. The smaller the size of the IONS
   mapping table, the faster the search and retrieval process for IONS
   records.

   Consider the procedure of the suggested name system through an
   example that a correspondent IOT object (CIO) wants to communicate
   with a target IOT object (TIO) with the following object name:

    device://temperature@iot.com:sensor:car:michelle:6VAD286

   which is naming a sensor IOT object at Michelle's car with plate
   number 6VAD286 and has a semantic name temperature and a domain name
   "iot.com". First of all, it is assumed that the TIO's IONS must have
   registered its locator in the IONSR. In addition, for the name
   resolution of identifier and object names to be successful, the TIO
   must have performed the name registration of identifier and object

Kim                      Expires September 7, 2019               [Page 5]


Internet-Draft         A Naming System for IOT Objects         March 2019

   names with one-to-many relationship through the name registration
   procedure in Section 3.2. Dynamic information on one-to-many
   relationship of identifier and object names is stored in the IONS.
   Then, to communicate with the TIO, the CIO has to perform the name
   resolution to get corresponding identifier. The CIO can get the
   TIO's identifier from the domain name lookup, the object category
   lookup, and the identifier lookup as follows.

   Domain Name Lookup : The CIO first sends a domain name lookup query
   to the DNSR to get IONSR's locator using the domain name part
   "iot.com". Then, the DNSR searches its record and finds IONSR's
   locator and subsequently replies to the CIO.

   Object Category Lookup : The CIO then sends an object category lookup
   query to the IONSR to get IONS's locator using the object category
   device. Then, the DNSR searches its record and finds IONS's locator
   and subsequently replies to the CIO.

   Identifier Lookup : The CIO then sends identifier lookup query to the
   IONS to get corresponding identifier for the local name "temperature"
   with parameters "sensor", "car", "Michelle" and "6VAD286". Then, the
   IONS searches its record and then finds and subsequently replies to
   the CIO. After obtaining identifier of the TIO, the CIO can either
   directly start data communication.

4.  IANA Considerations

   This document has no IANA actions.

5.  References


   [1] T. R. Sooraj, R. K. Mohanty, and B. K. Tripathy, "Naming services
       in the Internet of Things," In B. K Tripathy, J Anuradha (Eds.),
       Internet of Things (IoT) Technologies, Applications, Challenges
       and Solutions, Charter 9, pp. 85?101, Taylor & Francis Group, 2017.

   [2] A. Hamzic, I. Olofsson, "DNS and the Internet of things," Degree
       Project in Technology, KTH Royal Institute of Technology, 2016.

   [3] Y. Li, "Naming in the Internet of Things," Washington University
       in St. Louis, December 2013.

   [4] C. Sharp, "Overview of the digital object architecture (DOA),"
       An Internet Society Information Paper, Internet Society, October
       2016.

   [5] P. S. Kim, "Comparison and Analysis of DNS and DOA for Internet
       of Things Naming System," International Conference on AI in
       information and communication(ICAIIC 2019), Feb 2019.

Kim                      Expires September 7, 2019               [Page 6]


Internet-Draft         A Naming System for IOT Objects         March 2019

   [6] B. Aboba, M. Beadles, J. Arkko, P. Eronen, "The Network Access
       Identifier," RFC 4282, December 2005.

   [7] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource
       Identifiers (URI): Generic Syntax," RFC 2396, August 1998.

   [8] C. M. Kozierok, The TCP/IP Guide: A Comprehensive, Illustrated
       Internet Protocols Reference, No Starch Press, 2005.


Author's Address

   Pyung Soo Kim
   Korea Polytechnic University,
   2121 Jungwang-Dong, Shiheung City,
   Gyeonggi-Do  429-793, KOREA
   Phone: +82 31 8041 0489
   EMail: poongdou@gmail.com

































Kim                      Expires September 6, 2019               [Page 7]