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 : 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]