  Internet of Things (IoT) grows quickly, and 50 billion of IoT devices will be
interconnected by 2020. For the huge number of IoT devices, a high scalable
discovery architecture is required to provide autonomous registration and
look-up of IoT resources and services. The architecture should enable dynamic
updates when new IoT devices are incorporated into Internet, and changes are
made to the existing ones. Nowadays in Internet, the most used discovery
architecture is the Domain Name System (DNS). DNS offers a scalable solution
through two distributed mechanisms: multicast DNS (mDNS) and DNS Service
Directory (DNS-SD). Both mechanisms have been applied to discover resources and
services in local IoT domains. However, a full architecture has not still been
designed to support global discovery, local directories and a search engine for
ubiquitous IoT domains. Moreover, the architecture should provide other
transversal functionalities such as a common semantic for describing services
and resources, and a service layer for interconnecting with M2M platforms and
mobile clients. This paper presents an oriented-service architecture based on
DNS to support a global discovery, local directories and a distributed search
engine to enable a scalable looking-up of IoT resources and services. The
architecture provides two lightweight discovery mechanisms based on mDNS and
DNS-SD that have been optimized for the constraints of IoT devices to allow
autonomous registration. Moreover, we analyse and provide other relevant
elements such semantic description and communications interfaces to support the
heterogeneity of IoT devices and clients. All these elements contribute to
build a scalable architecture for the discovery and access of heterogeneous and
ubiquitous IoT domains.
