Exploring the Use of DNS as a Search Engine for the Web of Things



Similar documents
Building Web-based Infrastructures for Smart Meters

Internet Engineering Task Force. Intended status: Experimental Expires: September 6, 2012 March 5, 2012

Accelerating Service Discovery in Ad-hoc Zero Configuration Networking

Automatic Configuration and Service Discovery for Networked Smart Devices

Terminology. Internet Addressing System

New DNS Technologies in the LAN

Understanding DNS (the Domain Name System)

CHAPTER 1 INTRODUCTION

Conquering the Challenges of IP Network Management with DHCP and DNS

Chapter 9: Name Services. 9.1 Introduction 9.2 Name services and the DNS 9.3 Directory services 9.6 Summary

Lightweight DNS for Multipurpose and Multifunctional Devices

Securing LAN Connected Devices in Industrial Sites with TLS and Multicast DNS

Introduction to Service Oriented Architectures (SOA)

SERVICE DISCOVERY AND MOBILITY MANAGEMENT

Understand Names Resolution

Semantic Search in Portals using Ontologies

Service Oriented Architecture

SmartTV User Interface Development for SmartTV using Web technology and CEA2014. George Sarosi

The Ubiquitous Web, UPnP and Smart Homes

Glossary of Technical Terms Related to IPv6

Internet of Things based approach to Agriculture Monitoring

Service Virtualization: Managing Change in a Service-Oriented Architecture

Introduction to Network Operating Systems

Domain Name System :49:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

Intended status: Standards Track Expires: April 18, 2016 Universitaet Bremen TZI P. van der Stok consultant October 16, 2015

Diomidis Papadiomidous

How-to: DNS Enumeration

Getting Started with Service- Oriented Architecture (SOA) Terminology

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

A Generic Database Web Service

Module 2. Configuring and Troubleshooting DNS. Contents:

TRUFFLE Broadband Bonding Network Appliance. A Frequently Asked Question on. Link Bonding vs. Load Balancing

You can specify IPv4 and IPv6 addresses while performing various tasks in this feature. The resource

The Domain Name System

NETCONF-based Integrated Management for Internet of Things using RESTful Web Services

Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach

Lightweight Data Integration using the WebComposition Data Grid Service

Getting started with API testing

3. The Domain Name Service

Charter Text Network Design and Configuration

Networking Domain Name System

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Internet-Praktikum I Lab 3: DNS

A Coordinated. Enterprise Networks Software Defined. and Application Fluent Programmable Networks

A Survey Study on Monitoring Service for Grid

DNS Domain Name System

DnsCluster: A networking tool for automatic domain zone updating

Windows 2000 Deployment Technical Challenges at the University of Colorado at Boulder

Research on the Model of Enterprise Application Integration with Web Services

Local DNS Attack Lab. 1 Lab Overview. 2 Lab Environment. SEED Labs Local DNS Attack Lab 1

Gradient An EII Solution From Infosys

Service-Oriented Architectures

THE MASTER LIST OF DNS TERMINOLOGY. v 2.0

Web Service Based Data Management for Grid Applications

WEBTITAN CLOUD. User Identification Guide BLOCK WEB THREATS BOOST PRODUCTIVITY REDUCE LIABILITIES

Automated domain name registration: DNS background information

A QoS-Aware Web Service Selection Based on Clustering

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Configuring Dynamic DNS

GEOG 482/582 : GIS Data Management. Lesson 10: Enterprise GIS Data Management Strategies GEOG 482/582 / My Course / University of Washington

Network Mobility Support Scheme on PMIPv6 Networks

White Paper. Software Development Best Practices: Enterprise Code Portal

Use Domain Name System and IP Version 6

QAME Support for Policy-Based Management of Country-wide Networks

Alteon Global Server Load Balancing

Investigations on Hierarchical Web service based on Java Technique

Internet Engineering Task Force (IETF) Request for Comments: Category: Standards Track February 2013 ISSN:

TRUFFLE Broadband Bonding Network Appliance BBNA6401. A Frequently Asked Question on. Link Bonding vs. Load Balancing

Domain Name Service (DNS) Training Division, NIC New Delhi

The Personal Medical Unit A Ubiquitous Computing Infrastructure for Personal Pervasive Healthcare

Make search become the internal function of Internet

Implementation of a Lightweight Service Advertisement and Discovery Protocol for Mobile Ad hoc Networks

CHAPTER 6. VOICE COMMUNICATION OVER HYBRID MANETs

Collaborative Open Market to Place Objects at your Service

DNS. Computer Networks. Seminar 12

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

Copyright

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming

D 8.2 Application Definition - Water Management

Security in Internet of Things using Delegation of Trust to a Provisioning Server

Lesson Plans Managing a Windows 2003 Network Infrastructure

Copyright International Business Machines Corporation All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure

Contents. Introduction to Bonjour Overview 5. About Bonjour 6. Domain Naming Conventions 14. Bonjour Operations 18

ASTRI s Internet-of-Things (IoT) Gateway and Management Platform

A High-Availability Architecture for the Dynamic Domain Name System

Index Terms: Internet of Things (IoT), IPv6, IPv4, RFID, Machine to Machine Communication, WSN Network.

Network Working Group. Category: Standards Track October 2006

Contents Huntcliff, Suite 1350, Atlanta, Georgia, 30350, USA

IPv4 and IPv6: Connecting NAT-PT to Network Address Pool

Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong

Enhancing A Software Testing Tool to Validate the Web Services

ENABLING SMART HOMES USING WEB TECHNOLOGIES. Andreas Kamilaris. A Dissertation. Submitted in Partial Fulfillment of the

1 What Are Web Services?

Examining Proxies to Mitigate Pervasive Surveillance

Domain Name System Richard T. B. Ma

Enterprise Architecture Office Resource Document Design Note - Domain Name System (DNS)

Getting Started with ESXi Embedded

Analysis of Cloud Solutions for Asset Management

A common interface for multi-rule-engine distributed systems

Pattern Insight Clone Detection

Transcription:

Exploring the Use of DNS as a Search Engine for the Web of Things Andreas Kamilaris, Koula Papakonstantinou and Andreas Pitsillides Networks Research Laboratory, Department of Computer Science University of Cyprus, Nicosia, Cyprus Email: kami@cs.ucy.ac.cy, koula.papakonstantinou@gmail.com, andreas.pitsillides@ucy.ac.cy Abstract Sensor technology is becoming pervasive in our everyday lives, measuring the real world around us. The Internet of Things enables sensor devices to become active citizens of the Internet, while the Web of Things envisions interoperability between these devices and their services. An important problem remains the need for discovering these devices and services globally, ad hoc in real-time, within acceptable time delays. Attempting to solve this problem using the existing Internet infrastructure, we explore the exploitation of the Domain Name System (DNS) as a scalable and ubiquitous directory mechanism for embedded devices. We examine the feasibility of this approach by performing a simulation involving up to one million embedded devices, to test system performance and scalability. Finally, we discuss practical issues and the overall potential of this approach. Keywords-Service Discovery, Search Engine, Web of Things, Domain Name System, DNS, Environmental Services, Embedded Devices, Sensors. I. INTRODUCTION Embedded computing is becoming ubiquitous in our lives. Tiny sensor devices around the world are measuring the physical environment continuously with high precision, recording ambient conditions such as wind, dust, radiation etc. Lately, the Internet is penetrating slowly-slowly into the real world of physical objects. The introduction of IPv6 and the efforts for porting the IP stack on embedded devices [1], enable the vision of a global Internet of Things (IoT) [2]. It is already happening that physical devices exceed the human population on the Internet. Cisco predicts that by 215, 25 billion devices will be connected to the Internet, and 5 billion devices by 22 1. While the IoT enables communication between heterogeneous devices at the network layer, the Web of Things (WoT) envisions interoperability at the application layer, by reusing well-accepted and understood Web standards [3], [4]. Thus, embedded sensors are becoming fully integrated to the Web, directly by embedding Web servers on them [5] or indirectly by means of gateways [6]. An increasing number of governments, private companies and organizations, aiming to offer real-world services to the public, tend to expose the capabilities of their sensor devices as open Web API, in order to become easily reusable by developers and end users. These Web API are better structured 1 http://share.cisco.com/internet-of-things.html and understood when they conform to the REST architectural style [7], [8], which is a core element of the WoT. In general, there do not exist yet standardized, scalable and flexible ways to globally discover Internet-connected embedded devices, based on their characteristics and capabilities. Some early efforts either require additional infrastructure or they do not scale for the World Wide Web. We believe that service discovery of sensor devices needs to be ubiquitous to the users of the Web. The proposed solution must comply with existing Internet standards and should not require major changes to the existing technical equipment and protocols. Users should be able to discover environmental services simply by typing related keywords in their favorite Web browser. In this way, discovery of physical devices may be similar to the way we discover Web sites through search engines. In this paper, we propose to exploit the existing Internet infrastructure to achieve real-time discovery of embedded devices and environmental services. We investigate the utilization of the Domain Name System (DNS) as a scalable, pervasive, global meta-data repository for embedded devices, and its extension for supporting location-based discovery of Webenabled physical entities. The rest of the paper is organized as follows: Section II identifies related work and Section III describes the general approach for real-time service discovery through DNS. Then, Section IV explains our implementation to show the feasibility of this concept and Section V presents a small technical evaluation of the system. After, Sections VI and VII discuss practical issues and the overall potential of the approach while Section VIII concludes the paper. II. RELATED WORK The absence of standardized discovery methods for Webenabled physical devices led to the development of online, global sensor directories. The most well-known directories available today are Xively 2 (former Pachube or Cosm) and SenseWeb [9]. UrbanRadar [1], [11] is an interesting mobile application that uses Xively as a platform for discovering and interacting with sensor devices through the Web. Evrythng 3 was recently established aiming to develop online, social presence for physical entities. These infrastructures allow people 2 https://xively.com/ 3 http://www.evrythng.com/

to share, discover and monitor in real-time environmental data from sensors connected to the Internet around the world. A key feature of these online directories is that they provide open Web API supporting the development of third-party applications. The main drawback is that they are centralized, with a single point of failure. Decentralized approaches have also been proposed, such as IrisNet [12], which uses a hierarchical architecture for a worldwide sensor Web. G-Sense [13] is a peer-to-peer system for global sensing and monitoring. These approaches, although more robust and scalable, have not been largely adopted yet by the public. Sensor discovery in these cases is still a challenging issue. More recent approaches towards real-time discovery of physical entities include Snoogle [14] and Dyser [15], [16]. Snoogle is an effective information retrieval system for wireless sensor networks, but it is questionable whether it could scale for the World Wide Web. Dyser follows a different approach, focusing on entities than on sensor devices, e.g. whether a classroom is occupied or not. To achieve this, the authors exploit the periodic nature of people-centric sensors by using appropriate prediction models. However, these techniques are computationally-expensive and there are no guarantees for periodic behavior of entities. Besides, Dyser requires additional Internet infrastructure such as sensor gateways. On the other hand, microformats 4 suggest ways for making HTTP data available for indexing and searching, but their use would increase our dependency on commercial search engines. The limitations of the aforementioned related work, encouraged us to examine the possibility of exploiting the DNS system for service discovery. Applying an existing technology for discovery of physical services, especially one that has been ubiquitous for decades, offers many advantages, including well-defined support, easy configuration, experienced developers and users, and availability of open-source implementations. In general, the overall idea of using DNS for service discovery is not new. DNS-based Service Discovery (DNS-SD) [17] proposes using standard DNS programming interfaces, servers and packet formats to browse a network for services. Similarly, Multicast DNS (mdns) [18] provides the ability to perform DNS-like operations on a local network in the absence of any conventional unicast DNS server. Even though these two protocols have been originally designed for device/service discovery in local networks, DNS- SD has been extended to provide wide-area service discovery. However, this functionality for service advertising is domaincentric, meaning that users are only able to be informed about services offered in some particular domain. In contrast, our proposal is service-centric, envisioning to enable global, ad hoc, real-time location-based discovery of pervasive services, offered by Web-enabled sensor devices. We try to conform to the DNS-SD protocol, where possible. III. SERVICE DISCOVERY THROUGH DNS DNS is a hierarchical, distributed naming system for computers. Its main functionality is the translation of domain 4 http://microformats.org/ names meaningful to humans into IP addresses meaningful to machines. DNS distributes the responsibility of assigning domain names and mapping those names to IP addresses by specifying authoritative name servers for each domain. Authoritative name servers are responsible for their particular domains, and in turn can assign other authoritative name servers for their sub-domains. This mechanism allows the DNS to be distributed and fault-tolerant. Domain names consist of labels, concatenated and delimited by dots, such as www.webofthings.org. The right-most label indicates the toplevel domain, which is org in the previous example. In the following subsections, we examine how to leverage the organization of DNS to support location-based, real-time discovery of environmental services. A. Service Discovery We propose the inclusion of a new top-level domain at the DNS, for example the env domain from the word environment. Service discovery begins when a user types in his Web browser a URL ending with the.env label. We believe that this procedure shall be trivial to the user, who could be able to be informed about a particular service, offered at location, just by typing the following URL in his browser: service.location.env (1) In this way, the user can receive a list of all sensor devices offering service, deployed in location, along with some general characteristics or capabilities of them, if available. The devices will be uniquely identified by a sensorid. The user can then select a particular device, and construct the following URL: sensorid.service.location.env (2) By typing this URL in his Web browser, the DNS will translate it to the actual IPv4/IPv6 address of the corresponding sensor device, and the user will be able to interact with it, using any environmental services offered by this device. Service discovery may involve not only humans but also machines, for automated M2M communication. In this case, machines could discover useful services on demand, taking decisions automatically based on current environmental conditions. B. Device Registration As mentioned before, the.env domain is intended to support all embedded devices and environmental services which are enabled to the Internet and registered to the DNS. Specialized authoritative name servers may be responsible for this domain, allowing real-time registration of physical devices and their services through Dynamic DNS (DDNS) [19]. Hence, whenever a sensor device becomes available on the Internet, it would create a request to the.env DNS server, asking for registration. In this request, the device must specify its name, location and the services it offers. The.env DNS server could offer a Web API, allowing sensor devices to POST their discovery details in HTTP requests. In case all

Fig. 1. Environmental service discovery using DNS information is provided, the.env DNS server would acknowledge the request, assigning a fully qualified domain name to the device, registering it in its records. A sensor device may offer various environmental services. Thus, multiple hostnames will be created for this device, each for a different offered service. For example, the device tempsensor123 located in Barcelona, offering temperature and humidity services, would get the domain names tempsensor123.barcelona.temperature.env and tempsensor123.barcelona.humidity.env. Since the WoT proposes a resource-oriented architecture [7], [8], services could be described using uniform resource identifiers (URIs), avoiding ambiguities when users construct environmental URLs in their Web browsers. C. Interaction with Devices When the IPv4/IPv6 address is resolved and the request is forwarded to the appropriate sensor device, the device needs to respond with a description of its functionality. This is necessary in order to understand the semantics of the device (e.g. indoor/outdoor, degree of accuracy, measurement unit) and how to interact with it in order to get informed about environmental conditions. Thus, a description language must be defined, which declares the device semantics, but also explains the interaction possibilities with it. Example description languages that could be adopted are Extended Environments Markup Language (EEML)5 and SensorML6. These are languages that describe the capabilities of sensor devices, but not the interaction with them. Therefore, we propose to employ the Web Application Description Language (WADL)7, which is a XML-based language providing a machine-readable description of HTTPbased applications. It can be considered as the RESTful equiv5 http://www.eeml.org/ alent of Web Services Description Language (WSDL)8, which is a standard for describing SOAP-based Web services. WADL is intended for applications based on the Web architecture, and is a platform-independent way of describing services. After the user receives the WADL description, he can construct the appropriate request, query the sensor device and get informed about the environmental conditions in the selected location, in a well-known format such as XML or JSON. The whole procedure can be observed in Figure 1. D. Freshness of Information The idea of online directories for Web services (e.g. UDDI9 for WS-*) never worked, mainly because of information inconsistency and unavailability. Through DNS, these inconsistencies can be avoided. In general, the DDNS service allows the DDNS server to allocate a static hostname to a physical device, and whenever the device is allocated a new IP address, this is communicated to the DDNS provider by software running on the device. Furthermore, Dynamic DNS Update Leases [2] constitutes a method of extending DDNS to contain an update lease life, allowing a DNS server to perform DNS dynamic updates with an attached lease time, which is automatically deleted unless renewed before the lease expires. In other words, the name server forgets after some time interval the registration of the sensor devices. Devices need to state frequently their operability to the DNS server, by reregistering, e.g. every some hours. In this way, dynamic IP address assignment could be supported and device unavailability or failure could be identified in a relatively small delay. IV. I MPLEMENTATION We used BIND1, which is an open-source DNS software for Linux, to implement a.env DNS server in a local environment. 8 http://www.w3.org/tr/wsdl 6 http://www.opengeospatial.org/standards/sensorml 9 http://uddi.org/pubs/uddi 7 https://wadl.dev.java.net/ 1 http://www.isc.org/software/bind v3.htm

Response Time (msec) Response Time (msec) To achieve our task following the operation of DNS as much as possible, we exploited DNS zones, which are subsets, often single domains, of the hierarchical domain name structure of the DNS. Zones contain mappings between domain names and IP addresses. We divided the.env domain name server into various unique zones, where each zone is defined by the service it supports and its location, hosting the hostnames and IP addresses of all devices that fulfil these preferences. A sensor device can be registered using an address record (A), a service locator (SRV) and a text record (TXT). The A record maps the device to its IP address, the SRV defines the generalized service location and an optional TXT record describes the capabilities of each device and its features in a human-readable text. An example simple sensor registry could be the following: geiger182.radiation.f ukusima.env IN A 195.14.149.56 geiger182.radiation.f ukusima.env IN T XT A Geiger Counter measuring radiation geiger182. http. tcp.radiation.f ukusima.env IN SRV 5 8 radiation.f ukusima (3) Users are able to send queries for sensor devices through BIND using the dig command, which is a command-line tool for searching name servers. Dig works by reading requests from operating system. Queries are executed using the following command: dig env.service.location.env axfr (4) The axfr parameter represents the zone transfer, needed to retrieve all sensor devices stored in a particular zone, offering service placed at location. When implementing the.env domain name, it is important to reference all zones in the DNS configuration file (named.conf), indicating the zone s name and path to its content. The required record types (SOA, NS records) are declared in each zone s file (db file), along with records about sensors information (A, SRV, TXT records). In addition, the reverse mapping zone in-addr.arpa must be set, by defining PTR records. Since working with configuration may not be optimal, we experimented as well with an implementation of the.env domain using a MySQL. We took advantage of Dynamically Loadable Zones (DLZ), enabling the insertion of new zones and records dynamically. The consists mainly of two tables: dns records, which stores all records for the.env domain name (SOA, NS, A, SRV and TXT records); and xfr table, which stores all the distinct zones and the data necessary for the queries. In this case, the DNS configuration file named.conf needs to be modified, in order to connect to the and set the dig command to return the needed records using an appropriate query. V. EVALUATION Our evaluation efforts focused mostly on the performance of the approach in terms of response times and scalability. Both metrics are crucial for the feasibility of our concept. 15 1 5 Fig. 2. 7 6 5 4 3 2 1 Fig. 3. 25 125 25 25 25 625 125 1875 25 #zones Search response times: 1-1 records per zone 1 5 1 1 1 25 5 75 1 #zones Search response times: 8-1 records per zone We configured a typical laptop (2.1 GHz core duo, 2 GB RAM, Linux Ubuntu 12.4) to become a.env DNS server using BIND, and we used another laptop (1.66 GHz, 1 GB RAM, Linux Ubuntu 12.4) as a client, to send queries about environmental services to the.env DNS server (first laptop). Both laptops were located in the same local network, hence network delay was negligible. We tested the system under a variable number of zones and sensor devices per zone, both for the file and the case. The number of (virtual) sensor devices ranged from one to 1M records. To simulate data corresponding to sensor devices, we used the following convention: X.serviceY.locationZ.env where X, Y and Z could take (incremental) values from one to 1M, depending on the scenario. Queries from the client were performed randomly for sensor devices in each iteration, sampling from the uniform distribution. Two different scenarios were considered: a) each zone had a random number of 1-1 sensors, and b) each zone had 8-1 sensor devices. We believe that these scenarios may represent well the first years of this approach if applied. The results in terms of response time at each scenario are presented in Figures 2 and 3 respectively. In both scenarios, response times are very satisfactory, ranging below 15 msec in the first case and below 7 msec in the second. Apparently, the system needs less time to locate the proper zone and more time to locate the right sensor device inside the zone. Comparing the file with the case, it seems that offers better response times, especially in reduced load. However, as the load increases, the response times tend to reach the file case, increasing linearly. Perhaps

Storage (GB) Response Time (sec) 45 4 35 3 25 2 15 1 5 Fig. 4. 8 7 6 5 4 3 2 1 1 5 1 1 #domains Insert response times: 1-1 records per zone 1 1 25 5 75 1M Fig. 5. #zones Space allocation on disk this is the reason BIND preferred to work with than s, as they present similar performance in big data, while they require less storage (see Figure 5). It is remarkable that the response time is only slightly increased in the file case, as the load increases. Then, we examined the response times needed to insert new records to the.env DNS system. Figure 4 shows the results of this test. Response time represents the aggregated time needed to add all records/domains to the system simultaneously. When concurrent registration requests are 1-5, response times are around five seconds. However, as simultaneous requests increase, the system needs tens of seconds to satisfy them all. Results show that the registration operation in the file case works faster, due to the well organized file structure in BIND. Finally, an important parameter could be the space allocation needed by the file and the case. We examined the space requirements of both methods, in the scenario when each zone had a single sensor device (maximum space needed), and the findings are displayed in Figure 5. In the case, more space is required on disk than in the file case, possibly because BIND performs an optimal use of the file system to store the zones and their content. In both cases, space seems not to be a deterrent factor. Based on the fact that the tests have been performed on a typical laptop and not on a specialized server machine, we believe that there is much space for improvement. Our future tests will be performed on dedicated DNS servers and an optimized with better indexing. Overall, our findings are satisfactory, though the insert response times need some improvement. A main limitation of our performance tests constitutes the use of only 1M virtual sensor devices. Considering the prediction of 25 billion devices by 215, obviously our tests cover only.4% of the predicted number. Larger experiments with much larger loads, including if possible more realistic data, are definitely needed, and it is something we are currently working on. VI. PRACTICAL ISSUES Our approach creates various practical issues. The general operation of the DNS is expected to be affected in terms of increased traffic, management and security, raising issues of reliability, privacy and trust. Traffic could be partly handled by involving numerous.env DNS servers, assigning different locations or service types to each of them. Concerning management, since the DNS follows a hierarchical structure, the addition of the.env top-level domain is not expected to be a complicated task. However, the.env DNS servers would need to change their operations to support device registration and discovery queries, as explained in Section III. Availability of devices/services and freshness of information may be assured by DDNS update leases. Our approach requires unique sensorid assignment to sensor devices that may have same services and location. Upon a conflict, the DNS server should automatically select a new device name, typically by appending a digit at the end of its name. Since the.env DNS system would be a distributed repository, this assignment should be visible to all.env name servers, causing increased traffic between DNS servers for synchronizations. This issue can be mitigated by area- or location-based assignment of devices to the.env DNS servers. Naming of services and locations is important too. For example, locations are named differently in each language (e.g. Lisbon in English vs Lisboa in Portuguese). To avoid ambiguities and assure uniqueness, electronic directory services such as X.5 11 could be used, where a distributed would contain unique names for services and locations. Reliability and trust would be increased if some userbased feedback system is applied for sensor devices and their environmental services, similar to the way ebay works for rating its users. A feedback system could be realized if devices had social presence on the Web. It would then be easy for users to rate them, according to their quality of service. Such an approach would increase privacy too, allowing the owners of the devices to share them only with family, friends or everyone [21], [22]. Some reliability could be achieved by checking the IP addresses of the sensor devices, if they fall in the locations claimed by them during the registration process. In regard to performance, the whole system would be optimized by configuring the.env DNS server to return directly the IP addresses of relevant sensor devices and not their hostnames, in case these IP addresses are static. The DNS server could even choose automatically the most appropriate sensor device for some user query (perhaps based on some criteria specified by the user), returning its IP address to the user quickly. However, this would add more complexity to the DNS system and may be undesirable. 11 http://www.x5standard.com/

Moreover, performance could be improved by exploiting the built-in caching mechanism of DNS, for caching sensory data. For example, during their (re-)registration, sensor devices could include their latest measurements, which could then be forwarded to users who queried the.env DNS server for a relevant service, in case these measurements are still fresh 12. Finally, security is a crucial, large topic that needs to be considered. In general, all the aforementioned practical issues are matter of future research and need to be studied well in case the proposed approach is finally adopted. VII. DISCUSSION In the previous section, we discussed practical problems in adopting the proposed approach and we suggested some candidate (partial) solutions. This section focuses on the potential of the overall idea, touching upon aspects of automation, personalization and generalization. At first, the practice of discovering environmental services can be automated by selecting some particular sensor device from the list returned by the.env DNS server, parse its WADL file and construct HTTP requests without the user s intervention. This is easier to achieve when services are exposed as RESful resources. The whole procedure can be personalized, by selecting only devices that meet particular user preferences. For example, users may wish to interact solely with devices having positive online feedback or those belonging to well-known authorities such as governmental organizations. User preferences could be extracted from their online social networking pro. Even though our approach targets environmental services, it could be well generalized to support any kind of physical devices and pervasive services. To achieve this, standardized domain vocabularies need to be created, for facilitating the construction of queries by end users. For example, a user that wishes to park his car in Singapore could just need to type in his Web browser parking.cars.singapore.env. Defining extended environmental ontologies would encourage automatic information retrieval, generalized inferences and advanced Web mashup development very easily. For example, when the temperature in Seoul is obtained, then the general temperature of South Korea can be automatically inferred. Since the whole idea is participatory-based, only people who are willing to share their sensor devices with the online community would do so. A culture could be created in the future around the concept of sharing environmental services with the rest of the world. VIII. CONCLUSION Embedded computing is becoming ubiquitous in our lives, being gradually blended with the Internet and Web. Discovering in real-time embedded devices enabled to the Internet, located anywhere around the world, remains an open problem. In this paper, we investigated how the DNS system can be extended to support global discovery of environmental services. Our small-scale implementation and evaluation indicate that it could be feasible to achieve automatic, real-time 12 Defining the freshness of measurements varies between devices/services. discovery of sensor devices, by means of DNS servers. Our proposal constitutes only yet an interesting idea and it would require wide acceptance by key stakeholders, researchers and engineers, in order to be adopted. For future work, we plan to continue our measurements involving massively large numbers of sensor devices (around 1-1 billions), using realistic data if possible, to better study scalability and performance. We will consider the practical issues identified in Section VI, and try to suggest more complete and effective solutions. In parallel, we started developing a Mozilla Firefox extension that automatically discovers sensor devices just by typing relevant URLs, constructing their hostnames and interacting with them. We will use this extension as an effective demonstration of the proposed approach. REFERENCES [1] A. Dunkels, T. Voigt, and J. Alonso. Making TCP/IP Viable for Wireless Sensor Networks. In Proc. of EWSN, Berlin, Germany, January 24. [2] N. Gershenfeld, R. Krikorian, and D. Cohen. The Internet of Things. Scientific American, 291(4):76 81, October 24. [3] E. Wilde. Putting things to REST. Technical Report UCB ischool Report 27-15, UC Berkeley, November 27. [4] D. Guinard, V. Trifa, and E. Wilde. Architecting a Mashable Open World Wide Web of Things. Technical Report No. 663, ETH Zurich, February 21. [5] D. Yazar and A. Dunkels. Efficient Application Integration in IP-based Sensor Networks. In Proc. of BuildSys Workshop, California, USA, November 29. [6] A. Kamilaris, V. Trifa, and A. Pitsillides. The Smart Home meets the Web of Things. IJAHUC Journal, 7(3):145 154, 211. [7] R. T. Fielding. Architectural Styles and the Design of Network-based Software Architectures. PhD thesis, University of California, Irvine, California, 2. [8] L. Richardson and S. Ruby. RESTful Web Services. O Reilly, 27. [9] A. Santanche et al. SenseWeb: Browsing the Physical World in Real Time. Nashville, TN, April 26. [1] A. Kamilaris, N. Iannarilli, V. Trifa, and A. Pitsillides. Bridging the Mobile Web and the Web of Things in Urban Environments. In Proc. of Urban IoT Workshop, Tokyo, Japan, November 211. [11] A. Kamilaris and A. Pitsillides. The Impact of Remote Sensing on the Everyday Lives of Mobile Users in Urban Areas. In Proc. of ICMU, Singapore, January 214. [12] P.B. et al. Gibbons. IrisNet: An Architecture for a Worldwide Sensor Web. IEEE Pervasive Computing, 2(4):22 33, October 23. [13] A.J. Perez, M.A. Labrador, and S.J. Barbeau. G-Sense: A scalable architecture for global sensing and monitoring. IEEE Network, 24(4):57 64, July 21. [14] H. Wang, C.C. Tan, and Q. Li. Snoogle: A Search Engine for the Physical World. In IEEE INFOCOM, pages 1382 139, Phoenix, AZ, USA, April 28. [15] B. Ostermaier et al. A Real-Time Search Engine for the Web of Things. In Proc. of IoT, Tokyo, Japan, December 21. [16] B. M. Elahi et al. Sensor ranking: A primitive for efficient content-based sensor search. In Proc. of IPSN, pages 217 228, San Francisco, CA, USA, April 29. [17] S. Cheshire and M. Krochmal. DNS-Based Service Discovery, December 211. IETF Draft, draft-cheshire-dnsext-dns-sd.txt. [18] S. Cheshire and M. Krochmal. Multicast DNS, December 211. IETF Draft, draft-cheshire-dnsext-multicastdns.txt. [19] Y. Rekhter et al. Dynamic Updates in the Domain Name System (DNS UPDATE), April 1997. RFC 2136. [2] S. Cheshire, M. Krochmal, and K. Sekar. Dynamic DNS Update Leases, August 26. IETF Draft, draft-sekar-dns-ul-1.txt. [21] A. Kamilaris and A. Pitsillides. Social networking of the smart home. In Proc. of PIMRC, Istanbul, Turkey, September 21. [22] D. Guinard, M. Fischer, and V. Trifa. Sharing Using Social Networks in a Composable Web of Things. In Proc. of WoT Workshop, Mannheim, Germany, March 21.