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

Document Type Active Internet-Draft (individual)
Last updated 2019-03-09
Stream (None)
Intended RFC status (None)
Formats plain text pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
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]