32
1 Searching for the IoT Resources: Fundamentals, Requirements, Comprehensive Review and Future Directions Santosh Pattar, Student Member, IEEE, Rajkumar Buyya, Fellow, IEEE, Venugopal K R, Fellow, IEEE, S S Iyengar, Fellow, IEEE, and L M Patnaik, Fellow, IEEE Abstract—Internet of Things (IoT) paradigm links physical objects in the real world to cyber world and enables the creation of smart environments and applications. A Physical object is the fundamental building block of the IoT, known as a Smart Device, that can monitor the environment. These devices can communicate with each other and have data processing abilities. When deployed, smart devices collect real-time data and publish the gathered data on the web. The functionality of smart devices can be abstracted as a service and an IoT application can be built by combining the smart devices with these services that help to address challenges of day-to-day activities. The IoT comprises billions of these intelligent communicating devices that generate enormous amount of data, and hence performing analysis on this data is a significant task. Using search techniques, the size and extent of data can be reduced and limited, so that an application can choose just the most important and valuable data items as per its necessities. It is, however, a tedious task to effectively seek and select a proper device and/or its data among a large number of available devices for a specific application. Search techniques is fundamental to IoT and poses various challenges like a large number of devices, dynamic availability, restrictions on resource utilization, real time data in various types and formats, past and historical monitoring. In the recent past, various methods and techniques have been developed by the research community to address these issues. In this paper, we present a review of the state-of-the-art search methods for the IoT, classifying them according to their design principle and search approaches as: IoT Data and IoT Object-based techniques. Under each classification, we describe the method adopted, their advantages and disadvantages. Finally, we identify and discuss key challenges and future research directions that will allow the next generation search techniques to recognize and respond to user queries and satisfy the information needs of users. Index Terms—Internet of Things, Ranking and Indexing, Resource Discovery, Search and Selection, Search Challenges, Search Requirements, Service Discovery Santosh Pattar and Venugopal K R are with the Department of Computer Science and Engineering, University Visvesvaraya College of Engineer- ing, Bangalore University, Bangalore, India 560-001. (e-mail: santoshpat- [email protected], [email protected]) Rajkumar Buyya is with Cloud Computing and Distributed Systems (CLOUDS) Lab, School of Computing and Information Systems, The University of Melbourne, Melbourne, Victoria, Australia - VIC 3053. (e- mail:[email protected]) S S Iyengar is with Department of Computer Science and Engineering, Florida International University, Miama, Florida USA 33199. (e-mail: iyen- [email protected]) L M Patnaik is with Consciousness Studies Program, National Institute of Advanced Studies, Indian Institute of Science, Bangalore, India 560-012. (e-mail: [email protected]) I. I NTRODUCTION I NTERNET of things (IoT) is a paradigm that connects real- world objects to the Internet, allowing objects to collect, process and communicate data without human intervention. The IoT’s vision is to create a better world for humans, where objects (refers to physical objects, the terms object, device, entity, and things are used interchangeably) around us can comprehend our preferences and likeness to act appropriately without explicit instructions [1], [2]. The rapid advancements in low-cost sensor manufacturing, communication protocols, embedded systems, actuators and hardware miniaturization have contributed to the exponential growth of the IoT. Physical objects in the real-world are embedded with these technologies to make them smart. The functionality of the smart devices can be abstracted as a software service and an IoT application can be built by combining the smart devices with services that helps to address challenges of day-to-day activities. Atrozi et al. [3] have classified different applications that can be built with the help of IoT into three different domains i.e.,: Society, Industry, and Environment, as illustrated in the Figure 1. As the society is moving towards IoT, the number of sensors deployed around the world is increasing at a rapid pace and these sensors continuously generate huge amount of data. However, not all of this data provide knowledge that helps in decision making process. Nonetheless, through device search functionality provided by an IoT application, the size and scope of data gathered can be reduced. Thus, search is an essential service, that enables to efficiently look for smart devices based on the real-world attributes gathered by the sen- sors. Perera et al. [1] and Barnaghi et al. [4] have emphasized the importance of search and discovery functionalities in IoT. However, due to large number of available sensors to choose from and resource limitations of an IoT application, designing such a search service is difficult. Sensing as a service layer is envisioned to be built on top of the IoT infrastructure, where middleware solutions connect sensor devices to software systems and their related services [5]. Such sensors and services are made available to potential users over the Internet either for free or by paying a fee through middleware solutions. The search facility for IoT is expected to be an integral part of this layer. Middlewares like Xively [6] and OpenIoT [7] provide Application Programming Interfaces (APIs) to connect, process and publish sensor data on the web and thus inspire development of search and

Searching for the IoT Resources: Fundamentals ... · and historical monitoring. ... The search facility for IoT is ... aggregation approaches (i.e., either pull-based or push-based)

  • Upload
    lamanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

1

Searching for the IoT Resources: Fundamentals,Requirements, Comprehensive Review

and Future DirectionsSantosh Pattar, Student Member, IEEE, Rajkumar Buyya, Fellow, IEEE, Venugopal K R, Fellow, IEEE,

S S Iyengar, Fellow, IEEE, and L M Patnaik, Fellow, IEEE

Abstract—Internet of Things (IoT) paradigm links physicalobjects in the real world to cyber world and enables the creationof smart environments and applications. A Physical object isthe fundamental building block of the IoT, known as a SmartDevice, that can monitor the environment. These devices cancommunicate with each other and have data processing abilities.When deployed, smart devices collect real-time data and publishthe gathered data on the web. The functionality of smart devicescan be abstracted as a service and an IoT application can be builtby combining the smart devices with these services that help toaddress challenges of day-to-day activities. The IoT comprisesbillions of these intelligent communicating devices that generateenormous amount of data, and hence performing analysis on thisdata is a significant task. Using search techniques, the size andextent of data can be reduced and limited, so that an applicationcan choose just the most important and valuable data items asper its necessities. It is, however, a tedious task to effectively seekand select a proper device and/or its data among a large numberof available devices for a specific application. Search techniquesis fundamental to IoT and poses various challenges like a largenumber of devices, dynamic availability, restrictions on resourceutilization, real time data in various types and formats, pastand historical monitoring. In the recent past, various methodsand techniques have been developed by the research communityto address these issues. In this paper, we present a reviewof the state-of-the-art search methods for the IoT, classifyingthem according to their design principle and search approachesas: IoT Data and IoT Object-based techniques. Under eachclassification, we describe the method adopted, their advantagesand disadvantages. Finally, we identify and discuss key challengesand future research directions that will allow the next generationsearch techniques to recognize and respond to user queries andsatisfy the information needs of users.

Index Terms—Internet of Things, Ranking and Indexing,Resource Discovery, Search and Selection, Search Challenges,Search Requirements, Service Discovery

Santosh Pattar and Venugopal K R are with the Department of ComputerScience and Engineering, University Visvesvaraya College of Engineer-ing, Bangalore University, Bangalore, India 560-001. (e-mail: [email protected], [email protected])

Rajkumar Buyya is with Cloud Computing and Distributed Systems(CLOUDS) Lab, School of Computing and Information Systems, TheUniversity of Melbourne, Melbourne, Victoria, Australia - VIC 3053. (e-mail:[email protected])

S S Iyengar is with Department of Computer Science and Engineering,Florida International University, Miama, Florida USA 33199. (e-mail: [email protected])

L M Patnaik is with Consciousness Studies Program, National Instituteof Advanced Studies, Indian Institute of Science, Bangalore, India 560-012.(e-mail: [email protected])

I. INTRODUCTION

INTERNET of things (IoT) is a paradigm that connects real-world objects to the Internet, allowing objects to collect,

process and communicate data without human intervention.The IoT’s vision is to create a better world for humans, whereobjects (refers to physical objects, the terms object, device,entity, and things are used interchangeably) around us cancomprehend our preferences and likeness to act appropriatelywithout explicit instructions [1], [2]. The rapid advancementsin low-cost sensor manufacturing, communication protocols,embedded systems, actuators and hardware miniaturizationhave contributed to the exponential growth of the IoT. Physicalobjects in the real-world are embedded with these technologiesto make them smart. The functionality of the smart devices canbe abstracted as a software service and an IoT application canbe built by combining the smart devices with services thathelps to address challenges of day-to-day activities. Atrozi etal. [3] have classified different applications that can be builtwith the help of IoT into three different domains i.e.,: Society,Industry, and Environment, as illustrated in the Figure 1.

As the society is moving towards IoT, the number of sensorsdeployed around the world is increasing at a rapid pace andthese sensors continuously generate huge amount of data.However, not all of this data provide knowledge that helps indecision making process. Nonetheless, through device searchfunctionality provided by an IoT application, the size andscope of data gathered can be reduced. Thus, search is anessential service, that enables to efficiently look for smartdevices based on the real-world attributes gathered by the sen-sors. Perera et al. [1] and Barnaghi et al. [4] have emphasizedthe importance of search and discovery functionalities in IoT.However, due to large number of available sensors to choosefrom and resource limitations of an IoT application, designingsuch a search service is difficult.

Sensing as a service layer is envisioned to be built on topof the IoT infrastructure, where middleware solutions connectsensor devices to software systems and their related services[5]. Such sensors and services are made available to potentialusers over the Internet either for free or by paying a feethrough middleware solutions. The search facility for IoT isexpected to be an integral part of this layer. Middlewares likeXively [6] and OpenIoT [7] provide Application ProgrammingInterfaces (APIs) to connect, process and publish sensor dataon the web and thus inspire development of search and

2

Industry

Society

Environm

ent

Manufacturing

Logistics

Aerospace

Media

Health Care

Smart Home

Agriculture

DisasterManagement

PollutionControl

• Supply Chain Management

• Aerospace and Aviation

• Transportation and Logistics

• Smart Metering

• Warehouse and Storage

Industry: IoT Applications

• Health Care

• Entertainment and Media

• Smart Environment Applications(home, city, hospital, etc.)

• Intelligent Transportation System

• Smart Retail

• Security and Surveillance

Society: IoT Applications

• Smart Agriculture

• Disaster Management

• Pollution Control

• Smart Power Plant

Environmental: IoT Applications

Fig. 1. IoT Applications under Different Domains.

discovery service for IoT. At present, there are several searchengines for IoT viz., Shodhan [8], Thingfull [9], Censys [10],and Reposify [11] that offer search and discovery service forthe IoT resources. However, their scope is limited to providesearch for only those IoT resources that are subscribed orconnected to their centralized servers.

In the past, several studies were conducted to reviewsearch techniques in IoT. Based on design space of differentapproaches, Romer et al. [12] presented a bird’s eye viewon search techniques in IoT. However, sensor measurementdata has not been addressed in this survey. Zhang et al.[13] compared search techniques in IoT with other domainsviz. ubiquitous computing, information retrieval and mobilecomputing. Architectural design, real-time, scalability, andlocality of the search are identified as major research di-rections. However, this review does not address the entiregamut of the investigation. Search techniques in Web ofThings (WoT) are reviewed by Zeng et al. [14] according toaggregation approaches (i.e., either pull-based or push-based).But, different facets of search techniques are not considered inthe work. Zhou et al. [15] surveyed on search approaches inWoT domain, focusing on techniques applied, types of targetedsearch results and data representations. This survey does notdetail on the challenges faced by the search systems. Table Isummarizes the survey efforts of the above mentioned authors.

Our survey is different from the above mentioned surveys,

TABLE ICOMPARISON OF PAST SURVEYS

Authors Year Approach

Romer et al. [12] 2010 Based on design space.

Zhang et al. [13] 2011 Comparison of search techniques inIoT with its predecessors domains.

Zeng et al. [14] 2011 Based on data aggregation type.Zhou et al. [15] 2016 Based on search principles.

we have selected a large number of research works (106)and classified them into the taxonomy based on their searchapproaches and design principle. The advantages, disadvan-tages, and challenging issues of each classification and theirapplicability in different domain are summarized in this paper.The contributions of this paper are as follows:

• Search and discovery fundamentals in IoT: A compre-hensive tutorial on search and discovery system for IoTalong with the integral components, design strategies andsearch principles are presented.

• Identification of search requirements and challenges: Wedelineate and categorize various requirements and chal-lenges of search techniques across different applicationdomains of the IoT.

• Review and analysis of current trends in search and

3

Event

Device

Data

Network

Cloudlet

Cloudlet

Middleware

API

Query

Result

Fig. 2. Fundamental Components of the Search System for the IoT.

discovery approaches: We have reviewed the existingliterature on search algorithms for IoT extensively andpresented an analysis of their potentials and limitationsthat are propitious for developers and researchers to getfamiliar with the current search techniques for IoT.

• Future research guidelines on search techniques: We havelisted a few promising techniques as future research direc-tions that address the research community to overcomethe challenges designing an efficient search system forIoT.

The rest of the paper is organized as follows. Section IIprovides a brief outline of search and discovery fundamentalsin IoT. A classification model has been presented in SectionIII. It also lists applicability of different search techniquesin different application domain of IoT under various usecase scenarios. In Section IV, a review of the state-of-the-artresearch that addresses the search and discovery problems inIoT has been discussed. They are categorized into two groupsas: (i) IoT Data-based, and (ii) IoT Object-based techniques.These groups are further sub-categorized based on the designprinciples and solutions employed. Section V contains a com-prehensive comparison of the reviewed publications, criticaldiscussion on each category along with their advantages,disadvantages, and challenges. Section VI highlights the futureresearch directions in search and discovery techniques for IoT.Finally, concluding remarks are presented in Section VII.

II. SEARCH AND DISCOVERY FUNDAMENTALS

A. High-level Overview of the Search Process in IoT

In this section we will attempt to present the fundamentalsand principles of the search and discovery process in the IoT.A search function is utilized by both humans and machinesalike in IoT. Figure 2 depicts the overall process of the searchoperation. Sensors are embedded into the IoT objects thatcollect real-time data about the surrounding environment. Inthe real-world, they detect events and then generate data aboutthe detected events. These objects are networked at variouslevels (e.g., local or global), and thus a middleware is usedto manage them. The objects register with the middlewarethrough a subscription process, the APIs are provided byit for application development and to perform managementoperations. Users/Machines submit their query to middlewareeither by using an interface provided by the application orthrough the API. The search algorithm is then initiated by

the middleware and results are returned back to the queryrequester.

Once a query has been received by the search system,it can be processed (through techniques like transformation,filtering, normalization, etc.,) and divided into sub-queries.The system then contacts the nodes (cloudlets) in IoT networkto retrieve a list of matching resources, that is further indexedand ranked based on some scoring method employed by thesearch system. Based on query request, the required number ofmatching resources are selected at the final stage to resolve thequery. These steps (Query Capturing, Query Analysis, QueryMatching, Query Result Analysis, and Result Generation) areoutlined in Algorithm 1.

B. Fundamental Components of the Search System

A search system in the IoT is designed to look for a specificset of IoT Resources that match with the requested query.These IoT resources are composed either of the IoT Objectsand IoT Data or a combination of both. Figure 2 illustratesthe essential components of an IoT search system, they aredescribed as follows:

1) IoT Objects: In IoT, the real-world objects are smartdevices that are embedded with enabling technologies (likesensors, actuators, storage-device, processors, communicating-devices, etc.,) to monitor the environment, gather data, processit, communicate with other IoT objects, and take some action.Search systems try to discover these IoT objects based ontheir state information and/or data generated by them. Somesearch systems may differentiate between the IoT objects andits enabling technologies embedded in them, while others may

Algorithm 1 Query Resolution Process in the IoT1: Query capturing: Collection of query from the

user/machine.2: Query Analysis: Preprocess the query by subjecting to

transformation, filtering or normalization to identify itsintent.

3: Query Matching: Retrieve matching IoT resources fromthe database, ontology or network through the middleware.

4: Query Result Analysis: Index and Rank the matching IoTresources based on a scoring method.

5: Result Generation: Select appropriate number of the IoTresources from the ranked list and return it as result.

4

not. Section IV reviews the former search systems, while thelatter search systems are described in the subsection IV-B3b.

2) IoT Data: The data generated by the IoT objects canbe classified into two types, based on its relationship to thedata source (i.e., IoT object). (i) Observation and Measurementdata, that is, data generated by sensors stimulus to an eventin real-world (e.g., temperature sensor generates temperaturereadings of the surrounding environment in some unit, sayCelsius), and (ii) Context-data, that gives description aboutthe IoT object’s state and its operating condition (for exam-ple, battery-life, availability, error-rate, latency, etc.,). SectionIV-A1 reviews the search systems that consider observationand measurement data in their search parameters, as content-based search techniques, while search systems that considercontext-data are discussed in Section IV-A2.

3) Search Space: A search space is a set of the IoTresources, their related properties and data items over whicha search algorithm locates matching resources based on somerequirements [16]. Although, search space in the IoT is char-acterized by a large number of resources and the huge size oftheir data, it can be structured based on the social relationshipsof the IoT resources with each other to reduce the size ofsearch space; such search techniques are discussed in SectionIV-B2a.

4) Query: A search query is a question asked by user ofthe search system to get some information; in IoT, a searchquery can be submitted by either an human user or an IoTobject itself. Search requirements are specified in a query asparameters and matched with items in the search space.

5) Middleware: An IoT middleware acts as an interfacebetween the user/application and the IoT network. It estab-lishes connections between heterogeneous IoT resources andthus offers a single platform on which the search systems canbe built. The APIs are provided by it that eases applicationdevelopment process. Middlewares are implemented on cloudsto support scalability, heterogeneity and interoperability [17].

6) Cloudlets: The cloudlets deliver the computing facilitiesof the cloud to the edge of network i.e., closer to the devices.The IoT objects can thus rely on the cloudlets to performcomputationally demanding tasks [18]. In a search system,these cloudlets are used to crawl and maintain an updatedindex of the search space.

C. Classification of Search Techniques

The devices and their services can be searched throughvarious techniques [19]. In this subsection, different searchprinciples are presented and classified according to theirapproach.

1) Functional Viewpoint: Based on the applicability andusage in different scenarios, search systems are classified asfollows:

(i) Event-based Searching: The IoT resources are locatedbased on certain real-world events. For example, search-ing an IoT object that senses temperature.

(ii) Location-based Searching: The IoT resources are locatedbased on geographical/relative location of the devices.For example, searching for free parking spots.

(iii) Time-related Searching: The IoT resources are locatedbased on the data generated at particular time or period.An example of such an approach is, looking for devicethat is active from last two hours.

(iv) Content-based Searching: The IoT resources are locatedbased on observation and measurement data generated.For example, finding air pollution monitoring sensorsthat has recorded carbon monoxide level higher than thegiven threshold.

(v) Spatiotemporal-based Searching: The IoT resources arelocated based on their location, events that they monitorand the time at which the event was generated. Forexample, locating a free parking spot at a particular areaat a given instance of time.

(vi) Context-based Searching: The IoT resources are locatedbased on their status and operational parameters. Forexample, locating sensors that have maximum batterylife.

(vii) Real-Time Search System: In time-critical applicationsreal-time results are provided by the search systemwithout any latency.

(viii) User Interactive Searching: A user interface is providedthat allows the user to manually select devices, fromwhich they want to collect the data. For example, a map-based graphical user interface is provided through whichthe user manually selects the devices of his choice.

2) Implementation Viewpoint: Search systems are imple-mented on various technologies and approaches, that are basedon following:

(i) Text-based Approach: The textual descriptions of IoT re-sources are maintained at centralized/distributed serversand keywords-based queries are used to perform searchoperations.

(ii) Metadata-based Approach: The IoT resources are anno-tated with metadata that describe operational and statusinformation about them. They can either be stored locallyat the IoT object itself or at middleware. The annotationprocess can either be manual or automatic.

(iii) Ontology-based Approach: The IoT resources, their prop-erties and characters are described through well formedrules (i.e. ontology). Semantics of resources are wellmodeled in this approach; range and description-basedqueries are supported.

D. Design Strategies

In this subsection, we present fundamental strategies that areto be considered when developing and implementing a searchsystem for the IoT.

1) Architecture: A search system in IoT is designed andimplemented through two different architectural styles.

(i) Distributed Approach: The Middlewares that store in-dexes, data items of the IoT resources are distributedgeographically and the search algorithm is run locallyon them. Results are then aggregated at the global levelby combining local search results. Figure 3 illustratesthis approach.

5

TABLE IILIST OF REQUIREMENTS

Category Notation Criteria Definition

User-oriented

R1 Personalization Search results are to be fine tunned to the user based on his preferences.

R2MultifacetedQuery Results

Results should be categorized into configurable groups that are based on thesearch query.

R3Search IntentIdentification

Search technique should identify the intent of query through search require-ments.

R4Search EngineExperience

User interface of the search engine should be simple and search resultsmust provide enhanced information (e.g. latest updates, device status, eventsgenerated).

Solution-oriented

R5 Real-Time It must be possible to extract required information at real time.

R6 Low Latency Waiting time between different stages of the search algorithm should be atminimum.

R7 Filtering Search technique should support filtering of candidate matching devices throughthe data, context and other properties.

R8 Energy Efficient Search technique should account for the amount of energy consumption in IoTobject.

R9Resistant toNoisy Data

Noisy data hinders fast query execution and thus search algorithm should beable to filter out them.

Quality of Service

based

R10 Accurate Results Query results must match to exact solutions.

R11SecurityGuarantee

Search technique must account for the security level as desired by the user andIoT device.

R12PrivacyProtection

Only trusted results should be listed and sensitive information of the IoT devicemust be hidden.

Search Query

Result

Global Search Engine

Middleware

Local SearchEngine

WSN

Local SearchEngine

WSN

Fig. 3. Architecture of Distributed Search Engine for the IoT.

(ii) Centralized Approach: A central middleware/server is re-sponsible for the search system as opposed to distributedapproach.

2) Data Acquisition Methods: The data from IoT resourcescan be gathered by middleware in the following different ways:

(i) Publish/Subscribe: In the IoT network, resources areloosely coupled with each other and the middleware.An explicit relationship between an IoT resource andmiddleware is established in this method, where the IoTresource acts as data publisher and middleware as datasubscriber.

(ii) Request/Response: In this method, IoT resources and

middleware are tightly coupled with each other. A re-source request for some kind of service to the middle-ware. and the middleware responds to the request byproviding the service.

3) Search Space Structuring: Characteristics of the searchspace in an IoT network determines the type of search al-gorithm employed. It can be structured to effectively retrievethe query matching resources. Following design strategies areused to construct the search space:

(i) Indexing: The data collected from the search space inthe IoT network is stored and indexed at middleware forfast and efficient look-up. Indexers in the IoT domaincan utilize features like context and content data.

(ii) Crawling: The updated information about search space atmiddleware is maintained by the crawler. It visits everyobject in the IoT network and fetches its data and givesit to the indexer.

(iii) Scoring and Ranking: The relevance of an resourcesmatching a given query is determined by the scoringand ranking algorithm employed. Quantitative scores aregiven to matching IoT resources based on their fitness tocontext of query and then sorted to retrieve the top mostresults.

4) Prediction and Recommendation Models: Due to dy-namic and large size of the IoT network, where the IoTresources are computationally constrained, frequent commu-nication between them and the search system can be reducedby constructing appropriate prediction and recommendationmodels.

6

TABLE IIILIST OF CHALLENGES

Category Notation Criteria Definition

IoT object

oriented

C1 Dynamicity Constant change in network topology, sensing data and properties of IoT objects.

C2 Scalability Large magnitude of sensors and devices connected to the IoT.

C3 Mobility Frequent change in location of the IoT objects.

C4OpportunisticPresence Dynamic connection status of the IoT object with the network.

Solution-oriented

C5 Generality Not to bind to a specific approach, technique or protocol.

C6 Specificity Definitive operation based on application domain.

C7DataAcquisition Retrieval of data from IoT objects, users and applications.

C8 Management Configure, control and manage IoT devices, middlewares, clouds and applica-tions.

C9 Heterogeneity Diversity in data format, standards, communication protocols and applications.

C10 Interoperability Operate among heterogeneous data formats, standards and platforms.

Quality of Service

based

C11 Security Establish secure communication channel and be resistant to attacks.

C12 Privacy Gather data from trusted data sources only and not to expose sensitiveinformation of the device.

C13 Standardization Well defined and accepted protocols.

E. Requirements and Challenges

The search and discovery techniques for the IoT are facedwith numerous challenges that reduce their performance qual-ity. They need to support certain requirements to enhancetheir applicability and usability across different IoT applicationdomains. We shall discuss some of the requirements andchallenges for the search and discovery techniques here.

1) Search Requirements: An IoT application developed fora specific domain performs tasks related to that domain andthus has a definite purpose which is modeled based on therequirements arising through the objectives of the domain.Search techniques for the IoT applications should addressthese objectives by incorporating the requirements and provideenhanced solutions. We categorizes the search requirementsinto three groups as: (i) User-oriented, (ii) Solution-oriented,and (iii) Quality of Service (QoS) based, according to theirsignificance across various components of the search system.The User-oriented requirements define the functionalities tobe provided by the search system to enhance their usability.We identify four such requirements as: Personalization (R1),Multifaceted Query Results (R2), Search Intent Identification(R3), and Search Engine Experience (R4). The definitions ofthese requirements are as follows:

R1) Personalization: Search systems must automatically tunethe search results according to the user’s preferences.

R2) Multifaceted Query Results: Search systems must cate-gorize the search results into configurable groups basedon the search query.

R3) Search Intent Identification: Search systems must identifythe intent of the search query through the search require-ments.

R4) Search Engine Experience: User interface of the searchengine should be simple and search results must provideenhanced information (e.g., latest updates, device status,

events generated.)Solution-oriented requirements capture the essential fea-

tures of the search technique to be employed by the searchsystem. We list five such requirements as: Real-Time (R5),Low Latency (R6), Filtering (R7), Energy Efficient (R8),and Resistant to Noisy Data (R9). The definitions of theserequirements are as follows:R5) Real-Time: Search system should extract the IoT object’s

data in real time.R6) Low Latency: Waiting time between different stages of

the search algorithm should be at minimum.R7) Filtering: Search techniques should support filtering of

candidate matching devices through the data, context andother properties.

R8) Energy Efficient: Search technique should account for theamount of energy consumption in the IoT resources.

R9) Resistant to Noisy Data: Noisy data hinders fast queryexecution and thus search algorithm should be able tofilter them out.

Meeting the QoS-based requirements elevates the perfor-mance and applicability of the search system, we considerthree most important requirements as: Accurate Results (R10),Security Guarantee (R11), and Privacy Protection (R12). Thedefinitions of these requirements are as follows:R10) Accurate Results: Search results must match to the exact

requirements as specified in the search query.R11) Security Guarantee: Search technique must account for

the security level as desired by the user and the IoTdevice.

R12) Privacy Protection: Only trusted results should be listedand sensitive information of the IoT resources must behidden.

Table II lists these requirements along with their notationsand definitions.

7

2) Search Challenges: The IoT network is inherently dy-namic and its huge size not only generates data at high velocitybut also consist of heterogeneous types. These and otherchallenges impede the search system from better performancewhich urge the search and discovery solutions to incorporatemethods and approaches to overcome them. We list fewchallenges faced by a search system in IoT domain in TableIII along with their notations and definitions. These challengesare grouped into three classes according to the components ofthe search system that they effect the most as: (i) IoT objectoriented, (ii) Search and Discovery Solution-oriented, and (iii)QoS-based challenges. Devices and sensors in the IoT networkpresents diverse challenges due to their dynamic characteristicfeatures like frequent change in their data properties, positionand connectivity. We associate the following four challengeswith the IoT resources: Dynamicity (C1), Scalability (C2),Mobility (C3), and Opportunistic Presence (C4). The defini-tions of these challenges are as follows:C1) Dynamicity: Search system should consider constant

change in the network topology, sensing data and prop-erties of the IoT resources.

C2) Scalability: Search system should manage large magni-tude of the sensors and devices connected to the IoT.

C3) Mobility: Search system must handle frequent change inthe location of the IoT resources.

C4) Opportunistic Presence: Search system should take intoaccount the dynamic connection status of the IoT objectwith the network.

Similarly the search techniques themselves face the chal-lenges with respect to the IoT application domain (i.e., gener-ality (C5) and specificity (C6)), and design strategy (i.e., dataacquisition (C7), management (C8), heterogeneity (C9), andinteroperability (C10)). The definitions of these challenges areas follows:C5) Generality: Search system should not bind to a specific

approach, technique or protocol.C6) Specificity: Search system should perform definitive op-

eration based on the application domain.C7) Data Acquisition: Search system should retrieve data

from the IoT objects, users and applications with min-imum communication and in real-time.

C8) Management: Search system must be able to configure,control and manage the IoT devices, middlewares, cloudsand applications.

C9) Heterogeneity: Search system should handle diversity inthe data format, standards, communication protocols andapplications.

C10) Interoperability: Search system should operate among theheterogeneous data formats, standards and platforms.

The QoS-based challenges are subservient to the end userof the search system, we identify three such challenges as:Security (C11), Privacy (C12), and Standardization (C13). Thedefinitions of these challenges are as follows:C11) Security: Search system should establish secure com-

munication channel and be resistant to the attacks.C12) Privacy: Search system must gather data from the

trusted data sources only and not expose sensitive in-formation of the IoT devices.

C13) Standardization: Search system should be implementedon well defined and accepted protocols.

Role played by these requirements and challenges areexamined in the next section with a use cases scenario acrossdifferent IoT application domains.

III. SEARCH AND DISCOVERY IN IOT: CLASSIFICATIONAND USE CASE SCENARIO

In this section, we present our outlook on different searchand discovery techniques for IoT and classify them into twomain categories: (i) IoT Data-based, and (ii) IoT Object-basedsearch techniques, according to the type of IoT resources thatthe search techniques address. Further, they are categorizedbased on their approaches, algorithmic design and searchprinciples into various subcategories. Figure 4 represents ourclassification system. Classification viewpoint is discussedsubsection III-A and the applicability of each search techniquewith a use case scenario are presented in subsection III-B.

A. Classification Viewpoint

1) IoT Data-based Search Techniques: The data originatingfrom devices connected to the IoT network can be classifiedinto one of the following three types as depicted in Figure

Search and Discovery Techniques for the IoT

IoT Data-basedTechniques

IoT Object-basedTechniques

Location-based User-Oriented HeterogeneousContent-based

Context-basedSocial Structure-based Semantic and Ontology-based

Resource and Service Discovery

Fig. 4. Classification of Different Search and Discovery Techniques for the IoT.

8

5: (i) Inherent (static) data, that do not change (e.g., typeof sensor, manufacture details, RFID tag), (ii) Dynamic data,that changes continuously over time (e.g., data captured bysensors), and (iii) Pseudo-dynamic data, that changes slowlyover time (e.g., state of the objects, deployment properties).

IoT Data

Inherent Data Changeable Data

Dynamic Data Pseudo-Dynamic Data

Fig. 5. Data classification of the IoT objects.

This data has various characteristic features such as dy-namicity, heterogeneity, huge size, dynamic data generationrate, volatility, etc. Due to these features its a challengingtask to gather, store, and manage the IoT data. Several pro-tocols and standards are being designed and developed byvarious organizations to meet these challenges. Some of themare Message Queueing Telemetry Transport (MQTT), DataDistribution Service (DDS) [20], Extensible Messaging andPresence Protocol (XMPP) [21], Advanced Message QueuingProtocol (AMQP) [22], and Constrained Application Protocol(CoAP) [23]. Depending on the application requirementsdifferent combination of these protocols can be used for dataaddressing. We classify the IoT Data-based search techniquesinto the following types:

• Content-based searching: It focuses on readings taken bythe sensors, i.e., observation and measurement data.

• Context-based searching: It deals with situational andstatus description data of the IoT objects.

2) IoT Object-based Search Techniques: These search tech-niques focus on locating the IoT objects. Various approacheshave been employed in this category that make use of object’sfeatures like semantic description, location and social relation-ship. We categorize them further into following subcategories:

a) Location-based searching: It emphasizes on geo-graphical/relative location of the IoT objects in the network.

b) User-oriented Search Techniques: These techniquescorrelate user preferences with the IoT object’s properties.

• Social Structure-based searching It considers social rela-tionships between the IoT objects and users.c) Heterogeneous Search Techniques: Heterogeneous

search techniques make use of several different types of datarepresentation, status description and other attributes of IoTobjects to efficiently resolve a search query. We considerthe following two search techniques under Heterogeneouscategory:

• Semantic and Ontology-based searching: It focuses onknowledge representation of the IoT objects and theirrelationships in terms of well defined rules.

• Resource and Service Discovery: It looks for the IoTobjects (object is an ensemble of sensors, actuator and

other IoT enabling technologies) and their embeddedsoftware services.

B. Applicability and Use Case Scenarios

In this subsection, we discuss the applicability of differentsearch and discovery techniques across various disciplines inIoT applications. The use case scenarios and their relevantsearch techniques as well as requirements and challenges forthem in are listed in Table IV.

1) IoT Data-based Search Techniques: Based on the roleplayed by the IoT data in the search system, three use casescenarios from three different domains to highlight the ap-proach, requirements and challenges of the search techniquesare discussed.

• Content-based Search Technique: In Aerospace and Avi-ation application domain of IoT, a search use case canbe to locate the present altitude of an air borne vehicle.The altitude data of this vehicle is collected through analtimeter sensor attached to the vehicle, for example,Laser Vegetation Imaging Sensor (LVIS) is an air bornealtimeter sensor used to perform topography, hydrology,and vegetation studies [24]. However, this data is dy-namic and changes frequently, as such during take-offand landing. Requirements for such an search couldbe to obtain accurate data in real time (R10 and R5),search results may further be subjected to filtering basedon different altitudes (R7) where a range of altitudescan be displayed in different facets (R2), however theseresults can be viewed only by authorized personnels(R11). Challenges faced in this search scenario is toacquire frequently changing data (C1 and C7) that isspecific to Aerospace and Aviation domain (C6); thesearch algorithm here has to operate among different datacommunication protocols (C12).

• Context-based Search Technique: One of the most im-portant task to be performed in the agriculture field isdetection of pests. Early detection and control of pestscan prevent harmful disease from infecting the crops.This scenario requires deployment of sensors that monitorenvironmental phenomenons to identify the presence ofpests, the number of such sensors utilized is enormousdue the size of agricultural field and thus posses scal-ability challenge (C2). As such it requires the searchalgorithm to be energy efficient (R8) and impervious tothe noise (R9) gathered from the data source. Searchsystem should also be able to identify the intent of thepest detection test (R3) i.e., to control and activate thesprinkler (C8).

2) IoT Object-based Search Techniques:i) Location-based Search Technique: The search and dis-

covery techniques in smart home domain should haveeffective user interface design (R4) that provides updatedstatus information about home appliances. An example ofa search query that can come forth in such an applicationdomain is to find a misplaced book that was used at someparticular instance of the day [25]. The search systemon this occasion must be capable of filtering matching

9

TABLE IVAPPLICABILITY OF DIFFERENT SEARCH TECHNIQUES ACROSS DIFFERENT IOT APPLICATIONS

CategorySearch

TechniqueApplicability

IoT

Applications

Use Case

Scenario

Search

Requirements

Search

Challenges

IoT Data

based

Contentbased

For applications that requires tofind real-time and historical IoTdata.

Aerospace& Aviation

Search for high-velocity andfrequently changing altitudedata of an air borne vehicle.

R2, R5,R7, R10, &R11

C1, C6, C7,& C12

Contextbased

For applications that requires toselect, control and activate anIoT object based on certain situ-ational, environmental and othercontext requirements.

SmartAgriculture

Test whether an agriculturalfield has been invaded by a pestor not, if so initiate the sprin-kling of pesticides.

R3, R8, &R9

C2, & C8

IoT Object

based

Locationbased

For applications that need tolocate an IoT object at a par-ticular location either geograph-ically or relative to some otherobject.

Smart Home Search for a misplaced book inthe study room.

R4, R7, &R8

C4, C5, &C7

SocialStructurebased

For applications that providesrecommendations to user basedon their preferences, profile andsocial links with other users andIoT objects.

IntelligentTransportationSystem

Find an optimal route in highlycongested traffic.

R5, R6, &R10

C4, C5, &C11

SemanticandOntologybased

For applications that handle do-main specific search requestsand where diverse type of IoTdata exists, ontologies can beused to unify them on a singleplatform.

Smart Retail Find a perfect pair of Jeans. R1, R2,R7 & R12

C3, C6, C9,& C13

ResourceandServiceDiscovery

For applications that addressentity search, where IoT objectsare embedded with sensors, ac-tuators, and their functionalityare abstracted as services.

Entertainment& Media

Locate for a candy vending ma-chine in an amusement park.

R1, R4,R5, & R12

C3, & C6

Requirements - R1: Personalization, R2: Multifaceted Query Results, R3: Search Intent Identification, R4: Search Engine Experience,R5: Real-Time, R6: Low Latency, R8: Energy Efficient, R9: Resistant to Noisy Data, R10: Accurate Results, R11: Security, and R12:Privacy Protection.Challenges - C1: Dynamicity, C2: Scalability, C3: Mobility, C4: Opportunistic Presence, C5: Generality, C6: Specificity, C7: DataAcquisition, C8: Management, C9: Heterogeneity, C10: Interoperability, C11: Security, C12: Privacy, and C13: Standardization.

candidate items based on context (i.e., time) and locationof last usage (R7). Solution to this search problem mustnot bind to a particular method (C5) of data retrieval(C7) as the device will be in dormant state to effectivelyutilize its energy level (R8) and thus presents the detectionchallenge (C4).

ii) User-oriented Search Techniques: To emphasis the prop-erties of user (like social links, preferences, etc.) thatare to be considered to meet the search requirements,we describe a use case scenario related to IntelligentTransportation Systems (ITS).

• Social Structure-based Search Technique: The ITS isone of the most thriving application domain of IoT.In such an application, the user in heavily congestedtraffic is assisted by his cars navigation system tofind an optimal route, by contacting near by cameras,traffic management system and his peers in the samelocation to reach the destination in stipulated time[26]. In this circumstance, the search system should

retrieve information on volume of traffic on road

network of the commuting area in real time (R5)and the latency between subsequent queries aboutthe route information should be kept at minimum(R6). However, the most critical requirement is thatof the accuracy of query result (R10). To design sucha search system, the connectivity of vehicle withthe ITS infrastructure is of major concern (C4) andalso the myriad of communication standards used bythe ITS system (C5 and C11) pose a challenge foreffective design of a search solution.

iii) Heterogeneous Search Techniques: To demonstrate thesuitability of ontology based solutions, we have describeda retail store use case and similarly an amusement parkbased scenario is construed for service discovery problem.

• Semantic and Ontology-based Search Technique: Ina smart retail based application of an IoT, the userwould like to locate a specific pair of Jeans based onhis preferences (R1 and R2) and the search systemshould respond accordingly by filtering the results(R7). A major challenge is to keep track of the

10

mobility of the user (C3) along with his specificrequirements (C6) and maintain his privacy (C13)[27].

• Resource and Service Discovery: An amusement parkhas several outlets that offer different kinds of recre-ational activities. During a stay in an amusementpark, an user would like to locate a nearby candyvending machine that suits his preferences (R1). Thesearch system for such a scenario should operate onthe specific domain (C6) and must consider dynamiclocation of the user in park (C3). The search resultsshould also intimate the most recent updates aboutthe vending machine like, availability of a particularcandy, price and offers (R4 and R5). To enhance thequery results, the search system can display the mostpopular and highly rated vending machines (R12).

IV. A REVIEW OF RESEARCH EFFORTS

In this section, we review the state-of-the art search and dis-covery techniques based on the classification system proposedin the previous section. For each one of the research publi-cations, we describe the concept and highlight its significantcontributions and shortcomings.

A. IoT Data-based Search Techniques

1) Content-based Search Techniques: In this subsection, wereview search techniques that take into account measurementdata of the IoT objects. The content-based search techniquesmake use of sensor output to search for a particular set ofsensors that match the user queries. They look for a specificdata item produced by sensors based on the predefined userrequirements. These approaches can be applied to obtainreal-time and historical data. Applications that address userqueries like room occupancy at any given instance, or findingan available parking spot, can be modeled by content-basedapproaches. Hamann [28] highlighted the use of statistical andprediction models in analyzing sensor data, and some of theresearch works that make use of such analytic techniques arediscussed below.

Elahi et al. [29] have constructed a predictive model thatranks sensors based on their current output state with respectto the user queries. The probability scores are calculated basedon the output of sensor at any given particular time. Theadvantage is that, if queries are executed more often, then thereis a substantial improvement in prediction rates. However, themodel is susceptible to faulty sensors, and prediction modelsuffers from latency, to incorporate the changes introduced byit. Ostermaier et al. [30] proposed a search engine called Dyserwhere statistical methods are used to recognize the sensorsthat match the requested query. Using prediction model, thematching sensors are ranked according to their similarity scorein descending order, to retrieve the top-k matches. Dyserreduces the overhead communication by predicting periodicpatterns, but this finding is based on simulated data and thuscannot be generalized.

Mietz et al. [31] used Bayesian Networks to exploit corre-lation among sensors that produce similar outputs. It performs

optimally when the query seeks only a small number of sensorresults. However, as the data collection and processing iscentralized; the model is not scalable for a large numberof sensors. Truong et al. [32] [33] have employed search-by-example technique, where a sensor similarity search isemployed through a fuzzy logic approach. A fuzzy basedsimilarity score selects a matching sensor that outputs thesame value as that of a given sensor. The similarity scorehere is computed incrementally that increases accuracy ofthe prediction model with reduced computation overhead.Although, the search results are presented quickly to theuser because of approximate and incremental computation, theusers who need highly accurate query results need to wait forlonger durations.

Zhou et al. [34] utilized spatial properties of sensors thatare embedded into sensor measurement data and are stored intime-series database on a cloud. The system supports searchfor historical and real-time data. The challenge however, is tocollect data from mobile and static entities that are large innumber. The Matching State Estimation (MSE) technique isproposed in [35] for device discovery in WoT domain. Twotypes of search modes, reliable MSE search (R-MSE) andproactive MSE search (P-MSE), are implemented to satisfy thesearch needs, that present strong randomness and uncertaintywith respect to query time and number of returned searchresults. The advantage of these systems is that communicationoverhead decreases with increase in the query range. However,only prototype design was presented and practical applicabilityof MSE in the device search service is low.

Bijarbooneh et al. [36] formulated a sensor selection prob-lem and solved it using greedy strategy and constraint pro-gramming approach. Belief propagation protocol with multi-phase adaptive sensing is used to infer sensor output. Thescheme is able to reduce energy consumption by 80% throughbelief strategy that turns on only a small number of requiredsensors, as compared to a situation when all sensors are used.The system does not support distributed environment. Zhanget al. [37] have proposed a system to accurately estimatethe present sensor state based on a multi-step predictionmodel. A sensor ranking model is developed that reducescommunication overhead of the entire process by taking intoaccount the matching probabilities of sensors. It estimates thereference value of sensor output at the query time and achieveshigh-precision in matching the probability prediction, so as toreduce the storage and energy cost. However, while reducingthe communication overhead, the system leads to increasinglyhigh computational complexity.

Ihm et al. [38] have used top-k queries to address datadiscovery in IoT applications. Data gathered by IoT objects arepartitioned through grid and hyperplane approach to reducethe search space. Indexes are then built for the partitioneddata space and matched with the query to obtain top-k results.Support Vector Machine (SVM) [39] was employed by Jianget al. [40] to predict the dynamic measurement error of thesensor device. Cuckoo Search (CS) algorithm is developedto optimize the key parameters and avoid local minimumvalues, that occurs when using traditional method of parameteroptimization. However, the performance of SVM depends on

11

setting appropriate parameters that are situation dependent.A time-dependent periodical prediction method is presented

by Zhang et al. [41] to estimate the sensor output. The periodicfeedback prediction fully exploits verification information forenhancing the precision of sensor readings that efficientlyserve the needs of sensor search service. Although, efficiencyand applicability of sensor search systems are improved byaccurate matching estimation mechanism, the search perfor-mance depends on resource consumptions; and moreover thesystem is not fault-tolerant. Anas et al. [42] have developed aheuristic framework to capture the IoT object data. Once datacollected is from sensors, it undergoes thorough transformationand filtering procedure and is finally fed to a genetic algorithmfor searching. However, the system does not consider heteroge-neous data collection and management, that is a characteristicfeature of data in IoT. Shemshadi et al. [43], [44] developeda crawler to collect IoT data automatically from different datasources. The system provides interface for both human usersand machines. However, only those data sources were chosenwhere the sensor data is represented through a map.

Vasilev et al. [45] proposed a scalable model based onhyper-graph representation for the evaluation of the cooper-ation between the sensor nodes for a reliable node discovery.The advantage of the model is that it allows the metric tobe computed in parallel between sub-networks. The metriccan be computed independently by each sub hyper-tree andefficiently combined at the tree intersections. In addition, ifthe connected component can be built by keeping its structureto be a hyper-tree, the metric can be computed in a lineartime. The model does not perform well in the presence ofhigher-order dependencies between the metric and the packetacceptance probability.

Table V compares the top-five most recent content basedsearch approaches, along with their advantages and disadvan-tages. As measurement data is quantitative and dynamic overtime, the searching devices in IoT domain based on the contentof device measurement is challenging in nature. With a largescale deployment of the low-cost sensors, it is not feasible tomonitor the output of each sensor. Thus, most of the currentsearch systems fail to support such an approach and it is theleast employed technique by the research community. Webdocument management and retrieval techniques can be inte-grated with content-based approach to increase the efficiencyof these systems [46].

2) Context-based Search Techniques: Context-based searchapproaches allow user to express search parameters in termsof sensor properties that describe the situation and quality ofservice of the sensor, like location, type, accuracy, battery life,etc. Some existing tools provide IoT middleware solutions forsensor search, and through these middlewares, the user submitsa query, and search system returns appropriate sensor data tothe user without any further interactions [47].

Linked Sensor Middleware (LSM) [48] is one such mid-dleware that provides sensor search and selection servicebased on sensor location and its type. However, the usershave to specify search queries in SPARQL Protocol and RDFQuery Language (SPARQL) [49] that is unfriendly to noviceusers. The Global Sensor Networks (GSN) [50] is a flexible

middleware that facilitates distributive query processing andsensor data integration. The user, however, has to manuallyselect appropriate sensors to query its data. Similarly, theMicrosoft SensorMap [51] allows the user to select sensorsbased on their location, type, and keywords. Xively [6] is yetanother middleware that is scalable, secure and used for datastorage. It acts as an interface between users and devices toprovide real-time device control. SenseWeb [52] like Xively,interfaces the sensors and allows to execute the search querieson their data. Considering the dynamic nature of the IoT, thesetools and middlewares fail, as they allow sensor selectionthrough only static meta-information. A detailed descriptionand challenges faced by existing IoT middlewares can befound in [53]. Zhang [54] et al. proposed a fuzzy logicbased middleware for the IoT called, FuzWare. It convertsthe context data of the IoT objects into fuzzy representationthrough uncertain reasoning and learning rules. Apart fromthese tools, several research efforts have been made to usecontext-properties of devices for search and discovery.

Pfisterer et al. [55] have proposed semantic WoT frame-work, SPITFIRE. It provides search service for entities basedon their current state that are inferred by semantic descriptionsof sensors embedded into entities. The notable characteristicof SPITFIRE is that it makes use of prediction model tobuild semantic descriptions of sensors by calculating similaritypatterns among them. As IoT is inherently dynamic in nature,the states of entities change within a short interval, thatSPITFIRE fails to address. For web-enabled things, Mayeret al. [56] developed a generic semantic discovery engine.Meta-data of these devices describes semantic informationlike device-related and contextual information are recordedmanually by human operators through a web-based interface.The drawback is that prototype of the system lacks extensiveevaluation.

Perera et al. [57], [58] have designed Context Aware SensorSelection and Ranking Model (CASSARAM) that modelsusers requirements to context information of the sensors.The SSN ontology [59] is used to represent sensor contextproperties, and then search space is indexed and ranked basedon comparative priority weights. The efficiency of the searchis improvised by using distributed search technique throughparallel processing of different server nodes to index and rankthe sensors. The disadvantage is that registry and subscriptionof sensors to server nodes is not addressed in this work.The technique proposed by Buchina et al. [60] allows toexpress context properties of devices as a set of atomic andindependent tags. The context information is used as a searchfactor by utilizing naming conventions to express the contextinside the Domain Name System Service Discovery (DNS-SD). The process of assigning the context information toservices has not been addressed in this work.

Ebrahimi et al. [61], [62] have addressed the search problemthrough meta-heuristic algorithm [63], [64], an Ant-Clusteringalgorithm (AntClust) is developed to create a Sensor SemanticOverlay Networks (SSONs) that group semantically relatedsensors. The search queries from the user are forwardedin this method to particular SSON only. Disadvantage ofthe system is a time-consuming off-line computing phase,

12

TABLE VCOMPARISON OF DIFFERENT CONTENT-BASED SEARCH TECHNIQUES

Authors Year Concepts Advantages Disadvantages

Truong et al. [32] [33] 2013Light-weight prediction model to se-lect a matching sensor that outputssame value as that of a given sensor.

Noisy data obtained from low costsensors are addressed.

User who needs highly accuratequery results need to wait for longerdurations.

Zhang et al. [35] 2015 Matching state estimation scheme fordevice search in WoT domain (MSE).

Ordered verification approach effi-ciently checks sensors after rankingsought sensors on the top.

Applicability of MSE is rare in prac-tical sensor search service.

Zhang et al. [37] 2016Low-Overhead and High-PrecisionPrediction Model (LHPM) to assessmatching probabilities of sensors.

LHPM saves more storage and com-puting resources and effectively re-duce the communication overhead ofthe search process.

Computing time of LHPM increasessharply with the degree of polyno-mial of the approximation method.

Jiang et al. [40] 2016

Cuckoo Search-Support Vector Ma-chine (CS-SVM) algorithm to opti-mize parameters and avoid local min-imum value.

System accurately predicts sensorstate and is more effective in predict-ing dynamic measurement errors ofsensor output.

Probability parameter in CS-SVM isfixed, which can affect convergenceof the algorithm.

Zhang et al. [41] 2016

Periodical estimation of sensor outputthrough Content-based Sensor Searchwith a Matching Estimation Mecha-nism (CSME).

High accuracy and reduced commu-nication overhead of sensor searchsystem.

Search performance depends on re-source consumptions and proposedsystem is not fault-tolerant.

and it is also vulnerable to dynamicity issues. Michel et al.[65] implemented a search engine and middleware, Gander,for a pervasive computing environment. Real-time searchfunctionality is provided by Gander, through incorporatingcontext of data items. The relationships of data items amongthemselves and their surrounding environment are taken ascontext, and the sampling techniques through peer-to-peermethods are applied on these spatio-temporal data. Due toprivacy concerns, Gander does not store user’s private datacentrally which increases the need for local data storage atthe user device.

Sensor search and selection service architecture proposedby Hsu et al. [66] have used context properties of sensorslike, battery life, reliability, accuracy, etc., along with userrequirements to determine the optimal score for ranking thesensors. However, the network lifetime of the gateways in theproposed architecture vary to a large extent between differentscores of context properties and it is very difficult to determinean optimal score. Lunardi et al. [67] presented Context-BasedSearch Engine, COBASEN. It is made up of two modules:context module and a search engine, where former moduleprovides semantic descriptions of the entities and later moduleuses these descriptions to interact with the desired entity.The advantage of COBASEN is that it employs an effectivemiddleware that manages a large number of entities withoverlapping and redundant functions. The disadvantage is thatas context information of entities increases, the indexing timeof COBASEN also increases resulting in search delays.

A framework for semantic WoT, Context-aware SensorSearch Framework (CASSF) was developed by Gong et al.[68]. This framework facilitates the search of sensors bybuilding Resource Description Framework (RDF) graphs tomodel context properties of sensors. The search efficiency isimproved by reducing the targeted search space size through aquery approximation technique called Threshold Algorithm forSensor Information (TASI). Although, the search is scalableconsidering the dynamic nature of the IoT, CASSF involves

a huge computational time overhead as every sensor is con-tacted to find its relevance in the search result which ensuessluggish response time. Wang et al. [69] have proposed theuse of context information in the event management at theIoT middleware. The fuzzy ontology is used to model theunexpected events, based on which query execution plans aregenerated. A Notable feature of the system is that context-related queries are remodeled as context independent andtargeted data window is segmented based on event patternsand their context information. However, due to a large scaleof IoT networks, ontology size increases and thus increasesthe query execution time.

Arnaboldi et al. [70] have developed a context-awaremiddleware for mobile applications. It considers the socio-economic attributes of the users to form communities withsimilar interests. A detailed API is provided for mobile ap-plication developments to address the opportunistic issue ofthe IoT objects through context and social attributes. Thecommunity formation phase of the system is time consumingand increases with the number of users/devices connectingto the community. Context-aware search system for IoT waspresented by Chen et al. [71]. It addresses the search issuerelated to objects in the IoT, in addition to their related infor-mation. Hidden Markov model [72] is used to recognize theuser requirements with that of context-properties of objects.With this system, the user is able to search for a varietyof content information of the sensors, but the system failsto search the predefined context information in the database.Paparrizos et al. [73] developed a method to embed the contextmetadata of sensors along with their semantic meaning to aidsensor search and visualization. The sensor data is taggeddynamically with context metadata by calculating occurrencefrequency of a keyword. The implemented system provides anextensive visualization of results based on types of query. Thesearch engine suffers from real-time delivery of results due todependency on the ranking method to calculate the scores ofnewly created metadata.

13

Zhou et al. [34] have addressed the problem of searchingin frequently updated time-stamped data generated by theIoT devices. The data sources are virtualized and integratedto support heterogeneous devices. It supports different typesof queries like range, distance, and time-window. The Geo-hashing and Uniform Resource Locator (URL) patterns areused to index data that requires a dedicated database andthus suffers from performance degradation due to frequentupdates. Dragon, a data discovery engine was conceptualizedby Kolcun et al. [74]. The static information of sensors arestored in a distributed fashion across different data tablesin the IoT network. A routing algorithm is implemented topropagate and match the query with the help of routing tablethat holds destination node address, next hop node addressand distance to it. However, a time-consuming setup phase isrequired to initialize data table for routing. Hu et al. [75]proposed a cloud platform for vehicular networks to easemobile application development. It identifies and classifiesthe sensors based on their context-information. Optimizeddeployment of the sensors aids in better management andenhances the retrieved data quality. However, mobility impactof the vehicles has not been addressed in this work.

Table VI lists most recent context based approaches alongwith their advantages and disadvantages. The widespreaddevelopment of semantic technologies has attracted a largenumber of researchers and this area is one of the popular andhighly adopted technique in search and discovery of the IoTresources.

B. IoT Object-based Search Techniques1) Location-based Search Techniques: The location of ob-

jects in the IoT networks plays an important role in searchtechniques. The user requirements usually center around lo-cation parameter that can refer either to geographical locationcoordinates, i.e., in terms of longitude and latitude, or logicallocation, in terms of relative references ( an e.g., book is placedon the second shelf). In this subsection, we discuss searchsystems that consider location as a search parameter.

Mayer et al. [76] considered the logical location of sensorsas an attribute in search space construction that is modeled as atree. A tree-based search technique was used to locate a sensor,either at the local node or at the distant node based on routingmechanism of the query [77]. The system adapts to the largesize of the IoT network, by limiting communication betweenthe adjacent nodes. However, it experiences identificationproblem, as sensor nodes are named statically and are proneto errors. The search service for sensors is developed throughP2P architecture by Liang et al [78]. It is a location-awaresystem where the search is performed by applying space fillingcurve to the location tagged data. The data measurementsfrom the sensors are collected and annotated with locationinformation through space filling curve technique. Thoughthe system supports simple spatiotemporal queries, it fails toanswer queries that are constructed by combining two or morerequirements.

Frank et al. [79] used heuristics of location attribute todevelop a search system for sensor networks. A certain prob-ability is assigned to each device based on their location, and

queries are resolved through heuristic approach by consideringlocation probability of devices. The implemented work estab-lishes energy reduction by routing the query to only a smallnumber of sensor objects. Although, the scheme is scalable forlarge sensor networks, it can only be used to locate the objectstagged to users. Yap et al. [80] proposed a search system calledMAX, that takes the logical location of an object with respect toeach other and surrounding environment as a search parameter.Pull-based technique is used to retrieve object tags that consistsof descriptions of objects in a text form. MAX does notmaintain indexes of tags, and thus it handles mobility anddynamicity issue appropriately. The implementation of MAXas a distributive system does not address the scalability issueas all the substations are contacted for the query resolution.

Wang et al. [81] have proposed the use of geographicallocations coordinates for sensor services. A distributed archi-tecture is employed by the system consisting of sensor nodes,services, and gateways. The measurement area of sensorsand gateways (sensors interconnect with each other throughgateways, forming a local network) are bounded by a rectangleand then indexed using R-trees through geographical indexingmethod. It is computationally expensive and thus is of limiteduse in IoT networks. Li et al. [82] developed a distributedindexing technique for data with multiple dimensions. Basedon the geographical location of sensors, the deployment areais divided into a number of zones and event-data are hashedto these zones. The system supports a range queries byconstructing the search tree with multiple data dimensions.The drawback of the system is that routing algorithms areused to resolve range queries that are resource intensive andfails to perform in a large scale network.

Du et al. [83], [84] have used location attributes of sensorsto index and organize sensor networks. A method namedDistributed Index for Features in Sensor Networks (DIFS) isdeveloped to assist the range query resolution. Indexes areconstructed in a hash table and visualized as a tree. The rangevalues of specific geographical locations are stored in nodesof the hash tables, and a non-root node is allowed to havemultiple parents. However, if the parent nodes are locatedfar away from the child node then the system’s performancedeteriorates due to the distance sensitivity problem. Fathytextitet al. [85] used the unsupervised machine learning al-gorithm to gather and circulate indexes in a decentralizedIoT network. The IoT objects are clustered based on theirlocation and a network gateway is assigned to each clusterfor organizational and management related operations. Theindex are built at gateways and communicated to upper-leveldiscovery servers, where they are aggregated and stored. Thedrawback is that the number of gateways deployed in thesystem depend on the number of the clusters formed duringsearch space construction step, and thus is a hindrance in real-time deployment.

Fredj et al. [86] have employed geographical location basedclustering and aggregation search method to look for IoTdevices and their services. The physical objects are clusteredand managed by semantic gateways based on their location,and at the global level, there exists a hierarchy of semanticgateways. A routing table is maintained at each gateway that

14

TABLE VICOMPARISON OF DIFFERENT CONTEXT-BASED SEARCH TECHNIQUES

Authors Year Concepts Advantages Disadvantages

Perera et al. [58] 2014

CASSARAM, captures context prop-erties of sensors and then indexesand ranks the search space based oncomparative priority weights.

Employed distributed search by im-plementing parallel processing overdifferent server nodes to gather localhigh ranking sensors.

Collection and management ofcontext-properties is inherentlydifficult for large number of sensors.

Michel et al. [65] 2014

Gander, RDF graph-based model,to represent context of data itemwith environment and its neighboringitems.

Gander’s implementation in REST-ful simplifies application develop-ment process.

Due to privacy concerns Gander doesnot stores user’s private data cen-trally, which increases the need forlocal data storage at user device.

Ebrahimi et al. [61] 2015

A meta-heuristic Ant-Clustering al-gorithm (AntClust) creates a SensorSemantic Overlay Networks (SSONs)that group semantically related sen-sors.

Search queries from user are for-warded in this method only to par-ticular SSON.

Time-consuming off-line computingphase, and system is also vulnerableto dynamicity.

Lunardi et al. [67] 2015

COBASEN framework, consists ofContext Module which stores se-mantic characteristics of devices anda Search Engine to query semanticproperties.

Iot application development is sim-plified as middleware complexity ishidden.

Restrict number of devices per searchsession.

Chen et al. [71] 2016 Hierarchical context-model based onontology.

Context recognition model is superiorthan rudimentary statistical approach.

Context reasoning phase of the sys-tem is time consuming, and thus asthe search session prolongs queryrunning time increases.

is constructed according to the semantic descriptions of theIoT objects. Queries are forwarded and matched using theserouting tables at gateways. The system assumes the staticlocation of objects and thus fails to address mobility parameterand it also does not consider maintenance cost of routing tablesduring update operation of the semantic descriptions [87].

Abdelwahab et al. [88] proposed a sensor discovery andselection technique on a cloud computing platform. A virtuallayer is implemented on top of the sensor networks that aregrouped according to their geographical locations. These vir-tual layers form edge nodes that can be scaled up horizontallybased on the requirements and thus solves scalability issues.Shemshadi et al. [89], [90] employed spatial properties of thesensors to cluster them according to their correlations scores.A graph-based approach is used to measure the similarity of asensor according to its parental and location relationship withother sensors. However, the system does not address the socialrelationship attribute.

Relative locations of sensors along with six other parametersconcerning sensor state and communication properties wereused by Shah et al. [25] to search for the sensors in the IoT.A pull based approach is used by query generator node togather information about all other nodes, this information isthen ranked based on Euclidean distance. However, the schemegets affected from scalability issues as all nodes are contactedto gather current state information. Michel et al. [91] deviseda method to distribute cloud-based solutions for the IoT searchand discovery, called cloudlets, across physical locations. Thelocation-based services are offered by cloudlets that leverageIoT objects proximity with each other. Although local queriesthat require information about the immediate neighborhoodare resolved quickly, queries that require information aboutthe IoT objects in a remote location takes longer resolutiontime.

The location-based search techniques for IoT are listed inTable VII along with their potential benefits and drawbacks. Aconsiderable number of applications are being developed todaythat try to solve everyday challenges. These applications tendto work on preferences and likeliness of users, among whichlocation plays a vital role. Though, some of these applicationshave constructed location-aware search systems for the IoT,they do not address the user requirements significantly.

2) User-oriented Search Techniques:

a) Social Structure-based Search Techniques: To facili-tate easy task completion, the IoT devices communicate witheach other to get a better perspective of their deploymentenvironment. Usually, the devices communicate with knownset of other devices thus forming a group of frequentlycontacted nodes. This concept is leveraged to form Social-IoT that mimics social networks of humans. Several worksare carried out in search and discovery process of the IoTobjects that utilize the concept of social networks.

Shen et al. [92] implemented a search engine for Cyber-Physical System (CPS), by constructing a prediction modelbased on Bayesian networks. The system is oriented towardshumans and utilize their traveling habits. The system leveragessocial links between objects and the user to build a DistributedHash Table (DHT) that is used for indexing. Although, themodel can predict unusual movements, it fails to address thebehavior of the user towards a particular response. Liang [93]et al. have presented an overview of different social-awarecontext middleware platforms. Role played by the differentsocial properties in modeling a middleware is discussed indetail. However, integration of the middleware architecturewith the IoT application system is missing. Nitti et al. [94]described a method for finding the IoT objects using naviga-bility parameters in social networks. A decentralized searchsystem is constructed by computing degree of centrality of

15

TABLE VIICOMPARISON OF DIFFERENT LOCATION-BASED SEARCH TECHNIQUES

Authors Year Concepts Advantages Disadvantages

Mayer et al. [76] 2012 Logical location based sensor searchsystem, by organizing search space.

System adapts to large size of IoTnetwork, by limiting communicationbetween adjacent nodes only.

Suffers from identification problem,as sensor nodes are named staticallyand is prone to errors.

Liang et al. [78] 2013Location-aware search system, spacefilling curve is applied to locationtagged data.

Reduced data-processing cost and in-time notification of a typical event.

Issues like privacy, security policy forsensor web are not studied.

Wang et al. [81] 2015 Geographical location based servicediscovery.

Division of measurement area of sen-sors, decreases search space size.

Computationally intensive and thuscannot be applied in IoT networks.

Du et al. [84] 2015 Multi-fold index model taking intoaccount geographical location. Supports range value queries. Susceptible to distance sensitivity

problem.

a node in the network. Due to the use of traditional graphstructures for the search operation, the system fails to addressdynamic nature of the IoT.

Jung et al. [95] developed a hypergraph-based overlaynetwork model as a discovery mechanism for Social-IoT. Theymodeled Social-IoT by scrutinizing distinct characteristicsand structural facets of human-centric social networks, tofully understand how and to what extent these objects mimicbehaviors of the humans. Bhaumik et al. [96] devised a methodto group sensors based on their social structure. Ownershipinformation of sensor is used to cluster them into socialgroups that have a common purpose. Deshpande et al. [97]conceptualized a Machine-4-Machine (M4M) abstract modelthat enables sharing of the IoT devices among friends in aSocial-IoT network. A notable feature in this work is thatsharing can be controlled by the degree of associations ofthe IoT devices with their peers. The limitation is that systemdoes not consider security threats, like man-in-middle attack,posed during the formation of associations.

A desktop-based search engine for CPS system was de-signed in [98] by Deng et al. The correlation graph of useractivity is constructed based on two kinds of memory patterns,explicit and implicit. The former pattern recognizes the eventsat particular context while the latter memory pattern is usedwhen the context is unknown. The use of virtual window tospeed-up correlation graph construction of the user activitiesis the advantage of the system, yet monitoring the activities ofthe user leads to privacy and security concerns. Paraimpu, aplatform for resource and service sharing on the Social-WoTwas developed by Pintus et al [99]. It connects HypertextTransfer Protocol (HTTP) compatible WoT objects, throughabstraction of their services, to the web and social to supportdevice and service lookup. Though the platform is scalable,its uses a centralized server to store and manage devicedescriptions that leads to single point of failure.

Luis-Ferreira et al. [100] described an approach to integratehuman emotions and sensations to objects in the IoT, thatis modeled on the Human brain to incorporate sensationsassociated with objects in IoT. The tags are used to buildemotions and sensations databanks from which queries areresolved. The tagging mechanism is not addressed and it isa difficult task to gather emotions of users related with theIoT objects. Wu et al. [101] presented a security assessmentmodel for social P2P sensor networks to select a particular

service. The chance based discovery theory was implementedwith a KeyGraph structure to select an appropriate service[102]. Through the service forwarding scheme, the system isable to reduce communication overhead by forwarding onlya few service request packets. Due to use of cache at everynode to maintain the service request packets, the real-worlddeployment of the system is difficult to attain in a resourceconstrained IoT devices.

The recent works that utilize the social structure of IoTnetwork for device and service look-up are compared in TableVIII. Use of efficient graph-based structure to capture relation-ship among IoT devices leads a better discovery technique.However, management of such a structure for large scale IoTnetwork is not an easy task.

3) Heterogeneous Search Techniques:a) Semantic and Ontology-based Search Techniques:

Ontology-based models have also been proposed to addresssearch and discovery problem in IoT. Ontologies are knowl-edge representations of a specific domain in terms of concepts,types and relationships among them. They imbibe the seman-tics of the IoT data into their concepts and relations and helpto build domain, task and approach specific search systems.This subsection reviews the use of ontologies in the searchprocess for the IoT objects.

Calbimonte et al. [103] have used an ontology-based querytechnique to address search problem in large scale networks.In this approach, sensor generated data and its associatedsemantic metadata are recorded in ontology that has querycapabilities. Garcia-Castro et al. [104] have developed a coreontological model, that represents sensor networks as well asservices. De et al. [105] presented a conceptual architectureon the IoT platform and several semantic ontological basedmodels that capture the sensor’s state. The World Wide WebConsortium (W3C)’s Incubator Group proposed a SemanticSensor Network (SSN) ontology that allows the descriptionof sensors and their characteristics, to address the issue ofinteroperability of metadata annotations [59].

Mietz et al. [106] demonstrated the use of semantic webtechnologies, Resource Description Framework (RDF) andSPARQL, in search of data from heterogeneous sources. Theprediction models are engaged to determine the similarityscore of the search space with the query that is representedin RDF format and specified in SPARQL. Only fundamentalattributes of the sensors like spatial and temporal characters

16

TABLE VIIICOMPARISON OF DIFFERENT SOCIAL STRUCTURE-BASED SEARCH TECHNIQUES

Authors Year Concepts Advantages Disadvantages

Wu et al. [101] 2015Security assessment model for ser-vices selection in social P2P basedsensor networks.

Supports integration of sensor net-work and social networks in a systemsecurely

Use of cache to maintain service re-quest packets, prevents system fromreal-world deployment in resourceconstrained IoT devices.

Shen et al. [92] 2015

Search engine for Cyber PhysicalSystem (CPS), by constructing pre-diction model based on Bayesian net-works.

Oriented towards humans and utilizetheir traveling habits.

Fails to address behavior of user to-wards a particular response.

Nitti et al. [94] 2016Decentralized search system to findIoT objects using navigability param-eters in social networks.

Reduced computations cost to calcu-late degree of centrality of a node innetwork.

Due to use of traditional graph struc-tures for search operation, systemfails to address dynamic nature ofIoT.

Deshpande et al. [97] 2016

Machine-4-Machine (M4M) abstractmodel, to enable sharing of IoT de-vices among friends in a Social-IoTnetwork.

Sharing is controlled by degree ofassociations of IoT devices with theirpeers.

System does not consider securitythreats, like man-in-middle attack,posed during formation of associa-tions.

Jung et al. [95] 2016Hypergraph-based overlay networkmodel as discovery mechanism forSocial-IoT.

Model adapts itself flexibly to thedynamic behavior of IoT objects.

Does not consider distributed man-agement of IoT interactions.

are used in the development of prediction model. Nayak etal. [107] proposed a semantic based sensor discovery andselection engine. Universal Description, Discovery, and Inte-gration (UDDI) framework is extended to include the semanticdescriptions of services; these descriptions are added at theregistration time of the service. Matchmaking algorithm isintroduced to find services based on the keyword search. Itdoes not describe the semantic annotation process of servicesduring registry and the cost incurred.

Searching in WoT domain was addressed by Christopheet al. [108] by incorporating the WoT objects with semanticprofiles. The machine learning algorithms are used to com-pare the profiles of different objects. Upon arrival of therequest, its context is used to select an algorithm for queryexecution. However, the system is not validated. Anothersemantic based service discovery approach is presented in[109]. Based on semantic technologies, a middleware wasdeveloped to perform search on the sensor data through theircontext properties. Simnon et al. [110] addressed the use ofsemantic techniques to discover the WoT objects based onmultiple mapping scheme. It makes use of compressed datarepresentation models to identify the IoT resources. Although,interoperability is preserved across the heterogeneous devicesin IoT, the search system suffers from dynamic issues ofidentification, as the addresses of devices are to be knownin advance.

A Semantic framework for looking up smart objects wasdeveloped by Alam et al. [111]. The resources advertisetheir services along with other information like location,identification, name, and semantic descriptions to middlewaresthat capture them and register it in their service directory.The mechanism eases registration process and thus impro-vises the search phase. Hu et al. [112] proposed metadatamodel to account for observations and context of the datagenerated by sensors. They also developed a user interfaceto aid discovery of sensors based on geographical positions.However, the model described is implemented particularly for

earth observation sensor deployments and requires extensivemodification for generic applications.

Yang et al. [113] proposed hierarchical ontological modelto improvise search system reasoning. The abstract termi-nologies are expanded vertically in this system, and a queryis decomposed into lower level terminologies and matchedwith directories containing sensor descriptions. The advantageof the system is that search space drastically decreases insize as queries are decomposed. The disadvantage is thatinfluence of configurational differences in ontologies and theircomplexity is not considered. Perera et al. [114] implementeda knowledge driven sensor configuration tool, CASSCOM. Itis an IoT middleware that facilitates data search operationwithout the use of any query representation language. Thesemantic and context properties are used to drive the searchprocess. However, privacy and security measures of the sensordata in middleware are not addressed.

Chaochaisit et al. [115] have developed a location-awaresensor search system by utilizing Human Location SensorOntology. Domain knowledge of human positions is modeledas classes in Ontology Web Language (OWL) for automatedsensor classification. Using different constructs, the sensorand location parameters can be described in accordance withthe user’s location context. The advantage of the system isthat the IoT features have been considered and knowledgestructure of ontology can be extended to different domains.But the ontology is not validated to handle demands from theIoT applications that come at a different scale and varyingtime requirement over a specific platform. Zhou et al. [116]presented an ontology focused web service matching algorithmaimed at the IoT systems. As a proof-of-concept, the vehicularsensors are portrayed into the ontology. The semantic similar-ity and relativity scores of the sensors are calculated by searchalgorithm, and then merged together to get the maximum valueof web services. These values along with matching degree areused to look for appropriate web services.

Dey et al. [117] in their work extended SSN ontology to

17

capture salient features of an energy meter sensor in resolvingmetadata query, and further enhanced its role in semantic smartenergy services. However the semantic smart energy serviceis specifically designed to cater to the needs of energy meteruse case and is not generic to all applications. ForwarDS-IoT,a distributed semantic repository was proposed by Gomes etal. [118]. Semantic descriptions of an IoT object are handledat three levels: SSN and Semantic Actuator Network (SAN)[119] for IoT object description, Geo Vocabulary [120] for lo-cation data and OWL-S [121] for modeling services. SPARQLend-points are provided as the query interface. However, thework is not evaluated and thus its performance is unknown.

Sezer et al. [122] have simulated smart home use caseto propose an ontology on Smart Home. SSN ontology wasextended in this work to handle heterogeneous data itemsand different types of sensors. The performance of the on-tology application was gauged for different scenarios. Theresults are however dependent on the hardware used andvary significantly on different hardware configurations [123].Cabral et al. [124] also extended the SSN ontology to developsensor cloud ontology that includes time series data andlocation coordinates in semantic representations. A fitnessfunction was modeled to rank and index the sensors. Thismodel outperforms prediction models described in [29] and[33]. However, in this search system query resolution time isincreased and thus the system is not applicable to time-criticalsearch applications.

Table IX examines different ontology-based approaches forIoT. As the size of the IoT networks continues to grow, thesensor generated data is also expected to grow in exponentialsize as compared to metadata descriptions of objects andsensors. Efficient management of such a situation by anontological model still remains a challenge.

b) Resource and Service Discovery: The resources inthe IoT networks are embedded with sensors and actuatorsto monitor a specific event in real-world and act upon it whenoccurred. Resources offer some kind of services which areabstracted as software components and are presented as APIsthrough middleware for the application development. For anapplication to address day-to-day activities, it is a difficulttask to discover resource and its associated services due tothe opportunistic presence, dynamicity, and largeness of theIoT network. This subsection presents a review of researchefforts that address these challenges.

Ruta et al. [125] have presented a solution to resourcediscovery, allotment and sharing in swarm intelligence scenar-ios. A framework is designed that allows novel and advancedretrieval of resources in highly dense contexts based on se-mantics of the annotation. However, the system is not flexibleas compared with standard approaches. It also suffers fromlimited computational resources and service volatility due tounpredictable device mobility and network link unreliability.Datta et al. [126] developed a resource discovery frameworkfor the IoT that supports different communication protocols.A notable component of this framework is a proxy layer thatcontains drivers to facilitate integration of various communi-cation techniques. Although, the framework is generic withrespect to the connectivity issue, it lacks a common syntax to

describe heterogeneous IoT resources.Maekawa et al. [127] used the sensors embedded in objects

to detect activities of users and then retrieve and display therelevant web pages to show additional information about them.Objects are clustered according to their use in performing anactivity, and queries are generated by the system automaticallywithout any intervention from the user. A lightweight webbrowser is implemented and deployed across various dailyusage objects to retrieve and display the information fetchedfrom the queries. Though, context of the IoT objects are wellmodeled, inter-object relationships are not considered in thedesign of the system and leads to ambiguous description of theSmart Home application domain. Giang et al [128] proposedBrowsing as a Service for IoT. SeedHTML, an HTML protocolis developed that allows direct access to IoT objects withouthaving to pass through a middleware. Each IoT device hostsa unique SeedHTML URL that points to service offered by it.A cloud server, known as BuddyThing, is included in back-end to manage SeedHTML URLs. The clusters of devicesoffering the same services are formed in the cloud to reducethe IoT search space. This approach requires a dedicatednaming system to manage tags in the cloud and thus requiresconversions between traditional DNS that increases complexityof the system.

Nunes et al. [129] implemented ViSIoT, a visual searchengine for the IoT object discovery. It is a pull based approachwhere the sensor data is gathered by a central repository, storedin a generic data format through a conversion operation calledmarshal, and thus supports heterogeneous devices. However,as with other centralized techniques, it suffers from scalabilityissue and the marshal operation is time-consuming. IoT SearchEngine (ISE) is another search engine developed by Jin et al.[130], consisting of three components to index, update and

query the IoT search space. ISE supports only RFID-basedsearch and fails to offer service for other IoT objects. Fortinoet al. [131] have developed a resource discovery frameworkusing two standard web protocols (Representational StateTransfer (REST) and JavaScript Object Notation (JSON)).Indexes of the IoT objects are built using the category ofthe domain to which the objects belong. The advantage ofthe framework is it eases the query resolution process througha centralized repository. The disadvantage is indexing of theIoT objects based on their application domain which fails toaccount for the objects that find their usage across multipledomains.

Leu et al. [132] have presented Distributed Resource Dis-covery (DRD) architecture for the IoT. P2P communicationmodel is implemented to ease the discovery operation, wherethe IoT objects register with each other through Machine-to-Machine (M2M) technique. The IoT objects are identifieduniquely by hashing the Media Access Control (MAC) ad-dress. However, these MAC addresses can be spoofed whichleads to identification issue. IoT-SVK [133] supports thesearch for the IoT objects based on their content, locationand keyword descriptions. The data values are retrieved fromsensors, sampled, and stored in repositories as keywords.Further, they are indexed through B+ and R-tree structures.The real-time service offered by IoT-SVK engine increases

18

TABLE IXCOMPARISON OF DIFFERENT ONTOLOGY-BASED SEARCH TECHNIQUES

Authors Year Concepts Advantages Disadvantages

Garcia-Castro et al.[104] 2012 Ontology to model sensor networks

and services.Facilitates reuse of ontologies anddata models.

Domain specific ontology evaluationtechniques are not used.

Zhou et al. [116] 2012Ontology focused web servicematching algorithm aimed at IoTsystems.

Highly scalable and generic algo-rithm.

Score calculation and merging stagesare computationally intensive.

Sezer et al. [122] 2015 Specialized Smart Home sensor on-tology.

Heterogeneous data items and differ-ent types of sensors are extensivelyhandled by the ontology.

Results are not hardware and plat-form independent.

Chaochaisit et al. [115] 2016Human Localization Sensor (HLS)ontology to enable search for sen-sors.

HLS ontology is compatible withother major ontologies like QUDT,GeoNames, SSN, and DOLCE UltraLite.

HLS ontology is not validated tohandle demands from IoT applica-tions, which come at large scale andvarying time requirement, over a spe-cific platform.

Dey et al. [117] 2016Extended SSN ontology to capturesalient features of an energy metersensor.

Efficiently resolves metadata query. Semantic smart energy service isspecific to energy meter use case.

transmission delays and is prone to communication failures.Wang et al. [134] have constructed, Snoogle, a search engine

to lookup physical objects. Textual descriptions of objects arerepresented as keywords, and a query can be constructed touse them. A three-layer architecture is constructed made upof the physical objects, an IP (Index Points) and a KeyIP(Key Index Point). The descriptions of objects/sensors arecollected and indexed by the IP, while KeyIP acts as a manager,controlling and coordinating the IPs. Snoogle fails to addressscalability and dynamicity demand of the IoT networks, due tothe use of KeyIP as a centralized server. It provides searchesthrough pseudo-static metadata and thus generated results areapproximate. Microsearch is yet another search system thatenables discovery of the sensor embedded physical objects[135]. It stores textual descriptions of sensors in a centralizedrepository. It assumes that sensors are available to access viaa reliable network connectivity and thus falls short in the IoTscenario where the device availability is dynamic.

Paganelli et al. [136] have developed a system for dis-tributed service discovery using the Distributed Hash Table(DHT) in the Peer-to-Peer (P2P) networks for look-up service.The system supports multi-attribute and range queries. TheRadio-frequency identification (RFID)-based scenarios are ex-perimented in this work. Only exact matches are supported inthis system as no scoring method is employed. Li et al. [137]conceptualized resource discovery in Social Internet of Things(SIoT) by implementing a 3-dimensional Cartesian coordinatesystem. The user preferences and motion are observed toextract recurring patterns and clustered based on a similarityscore. The sub-communities are constructed based on the com-puted score in a 3-dimensional Cartesian coordinate system.Later, similar sub-communities are clustered into a virtualglobal community. The communication overhead is reduced inthis approach by adjusting search radius. The system suffersfrom computational complexity, as the similarity is calculatedat the various level of community formation. Human behaviorwas also not considered as a parameter in the subcommunityconstruction [138].

Noguchi et al. [139] adopted ubiquitous computing tech-

nique to address the issue of device discovery in a Smart Envi-ronment. Two ontologies are defined to incorporate intensionaland extensional knowledge of the domain. The advantage ofthe system is on-demand matching of semantic annotationsin ontologies that reduces computational overhead. The sys-tem is complex due to inclusion of two domain dependentontologies. Yachir et al. [140] implemented a user-centric,event aware, service-oriented framework to monitor eventsin ambient environments. Dynamic service discovery andselection algorithms are developed that guarantees continuousservice through self-adaption to unexpected changes in theenvironment. It uses service replacement and replanning inthe case of failure. The impact of different parameters likenumber of ambient services class, number of detected events,and events monitoring strategy is not addressed in this work.

Li et al. [141] formulated a scheduling problem to crawlnewly captured events from periodically sleeping sensors.Constrained optimization strategy was used to crawl andindex the generated events in time. A sleep-aware schedulemethod, named EasiCrawl, is implemented for achieving anear-optimal expected latency in receiving events. EasiCrawlfails to address the situation when sensor’s sleep plans areunknown. Jara et al. [142] presented a mechanism for resourcediscovery across several communication technologies. Digcov-ery a search system made up of a centralized registry server(called Digrectory) was developed. A device has to registeritself with this registry so as to publish its data. DifferentDigrectory servers are deployed to handle specific types ofcommunication protocol. The advantage of the system is thatit supports the legacy objects search.

Kamilaris et al. [143] extended DNS system capabilitiesto include discovery mechanism for services. It includes atop-level domain for services offered by devices in the URL.Device and their service registration are maintained in a centralrepository, may leads to single point of failure. Georgakopou-los et al. [144] proposed a service-based IoT architecturewhere every IoT component (including the IoT devices, cloudresources, and application components) is exposed a service,allowing dynamic discovery, composition, and integration with

19

other services. The challenge, however is unification of all thecomponents into the architecture that requires protocols thatare yet to be designed.

Rykowski [145] proposed a method for management ofREST-based services acting as proxies for IoT devices. It mon-itors REST resources by a hierarchical set of directories, withthe possibility of smart searching for the best device accordingto at-the-place device’s availability and functionality, overallcontext (including geo-location) and personal preferences. Thesystem is resistant to changes in network addresses of thedevices and their services, as well as core system points suchas directories. But subscription and management of devicesare unanswered in this work. Namatame et al. [146] discussedWoT resource management. Layered architecture is proposedto enable abstraction of physical objects and their networkconnections. Management labor is divided into two levels, atthe local level a stand-alone server called uBox is deployedand at the global level, a middleware interconnects theseuBoxes. Privacy of local applications deployed in local uBox ismaintained through this approach. However, overlay networksare not addressed in this work.

Bastani et al. [147] addressed the sensor selection andclassification problem by using a sparse estimation techniqueto develop a classification algorithm that select the appropriatesensors in human material handling tasks. Use of approxima-tion method speeds up the classification stage and thus makesthe system suitable for online decision-making process. Theuse of weighing scheme to represent sensors on a differentscale is computationally intensive. Qian et al. [148] devel-oped a security enabled search framework. An identity-basedcryptosystem is used to preserve the privacy of the IoT objectswhile security and authentication are managed by encryptionand decryption of valuable data in the IoT object throughElliptic Curve Cryptography (ECC) algorithm. Although ECChas been designed for computationally hindered IoT objects, itincreases processing time and thus real-time search responseof the system is affected.

Faqeeh et al. [149] developed a specialized search engine toretrieve information related to the IoT domain. It complementsaddition of URLs related to the IoT field by the user, but itsranking process depends on tradition frequency count of thekeywords and thus is returns results that are almost similar togeneric search engines. Service composition method on Webwas proposed by Tang et al. [150]. It is based on logicalinference of Petri nets and Horn clauses. A forward-chainingalgorithm is used to transform service composition probleminto a Horn clause inference problem, then Petri nets are usedto retrieve composite services. As there are a large number ofservices present in the repository that generates an even largernumber of operating rules, candidate clauses are selected onlyat the arrival of new queries. Though this approach addressedscalability issue the major set back is that services cannot becomposed on-the-fly and needs to wait for the query arrival.

Haddad et al. [151] proposed web service selection andcomposition. Transactions are extracted from the user definedtasks and combined with QoS parameters to compose servicesthat fulfill the given complex task. In an IoT application,although QoS parameters are given high priorities, transaction

management does not play a pivotal role, as the IoT resourcesallow retrieval/stimulation operations and do not support undo,commit and other transactional operations. Wu et al. [152]have addressed the issue of service composition where a tree-based search algorithm is implemented on a cloud computingplatform [153]. The user requirements are considered to builda tree, whose branches contains all possible solutions; then apruning algorithm is applied to remove all illegal branches.In the final stage, a heuristic search algorithm is applied toobtain the optimal solution. The performance of the system isimprovised by reducing response time through pruning [154].However, scalability remains a challenge, with the increase intree size.

Scalable and self-configurable service discovery architecturefor P2P networks is proposed by Cirani et al. [155]. Utilizationof P2P technologies enables deployment of distributed andlarge-scale infrastructure for service discovery. The backboneof service discovery architecture is a IoT gateway, that keepstrack of any things joining or leaving its network and updatesthe list maintained at its CoAP server. This server is usedin service discovery phase where the required information ofthe connected resources is collected through a GET request.Leitner et al. [156] proposed a service composition methodin the WoT domain. Agreements between the end-user andservice provider like QoS, delivery time, costs, etc., are usedto form rules based on the rules the services offered by variousproviders are composed to meet the requirements of the users.The drawback, however, is that prior knowledge of businessconstraints are required to build rules.

Trendy was implemented by Butt et al. [157] to provide con-text aware, registry-based service discovery. An interoperableinterface is provided by this system making use of CoAP-based RESTful web services. An adaptive timer is introducedto control energy consumption. A grouping mechanism is usedto localize query traffic based on location tag of a querygenerator.

Analysis of different Service Discovery approaches, alongwith their advantages and disadvantages is listed in Table X.The penetration of Internet into the physical objects and theirsurrounding environment has resulted in the creation of variousapplications that support our day-to-day activities. A complexrequirement from the user has to be addressed by integratingdifferent services, and an IoT application relies on selection,composition, and management of services provided by theIoT objects. However, these needs cannot be fulfilled easilywith ever growing size and dynamic nature of the IoT. Novelapproaches are needed for service discovery and selection tosupport easy application development for the IoT.

V. EVALUATION AND INSIGHTS GAINED

In previous section we reviewed different techniques that areapplied to develop and implement a search system for the IoT.In this section we perform a comparative study of the reviewedresearch publications and outline our views on them.

A. Comparative StudyAs seen in the previous section, each paper focused on

a particular aspect of the search process. To gain a through

20

TABLE XCOMPARISON OF DIFFERENT SERVICE DISCOVERY APPROACHES

Authors Year Concepts Advantages Disadvantages

Rykowski [145] 2014

Smart searching for devices accord-ing to at-the-place device’s availabil-ity and functionality, over all contextand personal preferences.

Resistant to changes in network ad-dresses of devices and their services,as well as core system points such asdirectories.

No support for frequent disconnec-tions of devices and their states.

Yachir et al. [140] 2015 Context aware event monitoring forambient environments.

Supports self-adaptation to unpre-dicted changes using services re-placement and replanning in case offailure.

Impact of parameters like number ofambient services class, number of de-tected events, etc., on performance ofthe proposed system are not studied.

Li et al. [137] 2016Search mechanism based on prefer-ence and movement pattern similarityfor SIoT.

Improvement in average delay.Day-to-day human social behavior isnot considered in similarity measure-ment.

Datta et al. [126] 2016 Resource discovery framework

Central registry is designed to storeconfigurations of resources and in-dexes them based on configurationparameters.

Framework suffers from interoper-ability as a common format or syntaxto describe the resources, units anddomains are not yet to be standard-ized.

Ruta et al. [125] 2016Swarm intelligence solution to re-source discovery, allotment and shar-ing.

Advanced retrieval of resources inhighly dense contexts, based on se-mantics of annotation.

Suffers from limited computationalresources and service volatility dueto unpredictable device mobility andnetwork link unreliability.

understanding and deeper perspectives of the different kinds ofsearch techniques, we perform a comparative study of existingworks. These works are evaluated according to the followingmetrics:

i) Search Approach: It refers to the class of search tech-nique. These classifications are explained in detail in theSection II-C.

ii) Design Principle: It indicates the fundamental designstrategy adopted by the work to handle search operation inthe IoT (like, Indexing, Crawling, Ranking, Search SpaceStructuring, Query Processing, Recommendation, etc.,).

iii) Data Model: It points out the data format and mechanismused by the search technique to process and store the IoTData.

iv) Architecture: It specifies the architectural design imple-mented by the search technique. It can be either central-ized, distributed, or P2P.

v) Data Type: It mentions the type of data handled bythe search system. We have compared different searchtechniques with different data type parameters as:a) IoT Data Type: In Content-based Search Technique,

IoT Data Type refers to the nature of data generatedby the IoT object (like Single-valued, Multi-valued,Time-series, etc.,).

b) Context Data Type: In Context-based Search Tech-nique, it indicates type of the context data used bythe search system.

c) Location Data: In Location-based Search Technique, itmentions the nature of location data (e.g., geographicalcoordinates, logical coordinate, etc.,) considered bythe search technique.

vi) Dataset Used: It indicates the dataset used by the searchtechnique along with the reference.

vii) Prototype/Simulation: It specifies whether the search sys-tem was implemented as a simulation model or as a pro-totype (e.g., web-based, java-based, mobile application,etc.,).

Apart form these metrics, Social Structure-based SearchTechniques are evaluated on an additional parameter, SocialRelationship, that describes the nature of social links betweenthe IoT objects and the user. Also, to compare Semantic andOntology-based Search Techniques, we consider the followingthree additional metrics:

i) Ontology Language: It refers to the type of languageon which the ontology was developed (e.g., ResourceDescription Framework (RDF) [158], Web OntologyLanguage (OWL) [159], etc.,).

ii) Support for Queries: It specifies whether the search sys-tem supports for semantic queries or not, if it support thenthe query language is included (e.g., SPARQL Protocoland RDF Query Language (SPARQL) [49]).

iii) IoT Domain: It indicates the IoT application domain onwhich the ontological model was developed (like, SmartHome, Smart City, etc.,).

However, we do not consider architecture metric for Se-mantic and Ontology-based Search Techniques, as most of thetechniques are implemented on centralized repositories (exceptMietz et al. [106] which is implemented on a Peer-to-Peermodel).

The Tables XI to XV provide a summary of evaluationsbased on the above metrics for different kinds of the searchand discovery techniques reviewed in Section IV.

B. Discussions and Insights Gained

In this section, we outline the insights gained from thereview, and comparative study. The comparison of all theclasses of the search techniques is summarized with theiradvantages, disadvantages, and challenges in the Table XVI.

1) Content-based Search Techniques: Content-based searchapproaches are used to identify patterns in data generated bythe IoT devices and thus help in the decision-making process.They allow access to historical and real-time data and variousmathematical and statistical models find their applications hereto detect the missing values, outliers, future readings, etc.,

21

TABLE XIEVALUATION OF REVIEWED RESEARCH PUBLICATIONS: CONTENT-BASED SEARCH TECHNIQUES

Research

Publication

Search

Approach

Design

Principle

Data

ModelArchitecture

IoT Data

Type

Dataset

Used

Prototype/

Simulation

Elahi et al. [29] Time-relatedSearch Ranking

Single and Multi-period PredictionModel

CentralizedTime-seriesoccupancydata

ETH [160] &MERL [161] Simulation

Ostermaier et al. [30] Real-timeSearch Indexing Aggregated

Prediction Model CentralizedTime-seriesavailabilitydata

Bicing [162] Web-basedprototype

Mietz et al. [31] Event-basedSearch

- Bayesian Network CentralizedTime-seriesavailabilitydata

Bicing [162] Simulation

Truong et al. [32] [33] Event-basedSearch Crawling Fuzzy Logic Centralized

Time-seriesmultivalueddata

NOAA [163]IntelLab [164]MavHome[165]

Web-basedprototype

Zhou et al. [34] Spatiotemporal-based Search Middleware - Distributed

Frequentlyupdated spa-tiotemporaldata

SmartSantander[166]

Web-basedprototype

Zhang et al. [35] Event-basedSearch Ranking Grey Recurrence

Dynamical Model DistributedTime-seriesmultivalueddata

NOAA [163]IntelLab [164] Simulation

Bijarbooneh et al. [36] Event-basedSearch Middleware Belief Propagation

Estimation Model CentralizedTime-seriesmultivalueddata

IntelLab [164] Simulation

Zhang et al. [37], [41] Event-basedSearch Ranking Multi-step Predic-

tion Model DistributedTime-seriesmultivalueddata

IntelLab [164] Simulation

Ihm et al. [38] - Indexing Grid-basedPartitioning Centralized - - Simulation

Jiang et al. [40] - - Cuckoo Search-SVM Model Centralized Single-valued

dataGoniometerSensor Data Simulation

Anas et al. [42] Event-basedSearch

- Genetic Algorithm -

TimeStampedTrajectorydata

Taxi Dataset Simulation

Shemshadi et al. [43], [44] Spatiotemporal-based Search Crawler

Restructuring,Merging andEnriching

CentralizedTime-seriesmultivalueddata

Google Mapsand Xively [6]

Web-basedprototype

and aid in detection of the event generated in physical world.These search techniques give reasonable accuracy of the searchresults and can be employed easily in crawling and indexingphase of the search operation in the IoT. Most of the searchtechniques reviewed in this approach implement a centralizedrepository to catalog the IoT data which might lead to a singlepoint of failure and cannot accommodate to the exponentialgrowth of number of the IoT objects connected to the IoT.Also, these techniques have to deal with the raw data generatedby the IoT objects due to which additional inference moduleshave to be developed to obtain high level and meaningfulresults. They suffer from high bandwidth utilization due tofrequently changing IoT data. The cache techniques can bedeveloped to reduce frequent communications between thesearch system and the IoT network. It is noted that most

of the reviewed works in this category of search techniquesemploy simulation models and use datasets to measure theperformance of the developed search systems. There is a needfor prototype implementation here that deal with real-worldIoT applications. The challenges faced by content-based searchtechniques are mainly due the dynamic nature of the IoT data,where data is generated in high volume, velocity and varieties.

2) Context-based Search Techniques: Context-based searchmethods provide an efficient management to control the IoTobjects, as they make use of status and operational propertiesof the IoT objects. High-level meaningful results are generated,that can be represented in natural-language. Use of semanticsto describe the IoT objects aid in easy query resolution andthus provide an effective method to rank the query results inthe search operation. Search systems reviewed in this category

22

TABLE XIIEVALUATION OF REVIEWED RESEARCH PUBLICATIONS: CONTEXT-BASED SEARCH TECHNIQUES

Research

Publication

Search

Approach

Design

Principle

Data

ModelArchitecture

Context Data

Used

Dataset

Used

Prototype/

Simulation

Pfisterer et al.[55]

Event-basedSearch

CrawlingRDF Triple Store, andPeriodic & CorrelationPrediction Model

CentralizedHigh-levelObject StatusInformation

- -

Mayer et al.[56]

Metadata-basedSearch

SemanticRepresentationand Resolution

Microdata [167] &Microformats [168]Markup Language,and JavaScript ObjectNotation (JSON)

Centralized - - Simulation

Perera et al.[57], [58]

Context-basedSearch

RankingSSN Ontology [59], andApache Jena SDB &TDB [169]

Distributed QoS-basedContext Data

PhenonetProject [170],LSM Project[171], andBureau ofMeteorology[172]

Java-basedPrototype

Ebrahimi et al.[61], [62]

Context-basedSearch

Search SpaceRestructuring SSN Ontology [59] Centralized QoS-based

Context Data

LSM Project[171], Bureauof Meteorology[172], and AirQuality SensorDataset [173]

Simulation

Michel et al.[65]

Event-basedSearch

Middleware andQuery Processing

LIGHTS TupleSpace Framework [174] Distributed

User Behaviorand ActivityData

Time-stampedUser ActivityData

AndroidApplication

Hsu et al. [66]Event-basedSearch

Middleware SSN Ontology [59] Centralized QoS-basedContext Data

- Web-basedPrototype

Lunardi et al.[67]

- Middleware andIndexing PostgreSQL database Centralized QoS-based

Context Data- Java-based

Prototype

Gong et al. [68]Context-basedSearch

Query Processing RDF Triple Store Centralized QoS-basedContext Data

- Simulation

Wang et al. [69]Event-basedSearch

Query Processing Fuzzy Ontology Centralized -TrafficSimulationData

Simulation

Chen et al. [71]Context-basedSearch

Hidden MarkovModel for UserActivity Prediction

RDF Triple Store Centralized UserActivity Data

CaseStudy Data

-

Paparrizos et al.[73]

Context-basedSearch

Ranking SensorMetadata Repository Centralized

Real-time Envi-ronmental Ob-servation Data

SwissExperimentPlatform [175]

Web-basedPrototype

Zhou et al. [34]Context-basedSearch

Middleware RDF Triple Store Centralized

FrequentlyUpdatedSpatiotemporalData

SmartSantander[166]

Web-basedPrototype

Kolcun et al.[74]

Context-basedSearch

Query Routing Distributed Data Table Peer-to-Peer Logical PlaceIdentifiers

- Simulation

23

TABLE XIIIEVALUATION OF REVIEWED RESEARCH PUBLICATIONS: LOCATION-BASED SEARCH TECHNIQUES

ResearchPublication

SearchApproach

DesignPrinciple

DataModel

ArchitectureLocation

DataDataset

UsedPrototype/Simulation

Mayer et al. [56] Location-basedSearch Indexing

Microdata [167]& Microformats[168] MarkupLanguage andHierarchal TreeStructure

Centralized Logical PlaceIdentifiers

600Simulated Sensors Simulation

Liang et al [78] Location-basedSearch

DataAcquisitionand Tagging

Semantic Model Peer-to-Peer GeographicalLocation Data

- Web-basedPrototype

Frank et al. [79] Event-basedSearch

QueryResolution

- Centralized

PhysicalLocationand ObservedNetwork Cells

Real-world Data(within officesetup) andMomentum ProjectSimulation Data[176]

MobileApplication

Yap et al. [80] Location-basedSearch

QueryResolution

- DistributedTextualDescriptionsand Tags

- Web-basedPrototype

Wang et al. [81] Ontology-basedSearch

SpatialIndexing

Semantic ServiceDescription Model[177]

Distributed Latitude andLongitude Data

ExperimentalDataset with10,000 Sensorsacross 22Locations

Simulation

Li et al. [82] Event-basedSearch

QueryResolution

- DistributedBinaryEncoded ZoneData

Event Informationand theirGeographic ZoneData

Simulation

Du et al. [83], [84] Location-basedSearch Indexing Spatial Index Tree Centralized Spatiotemporal

Data- Simulation

Fathy et al. [85] Spatiotemporal-based Search Indexing Information

Repositories Distributed GeographicalCo-ordinates

Automated SurfaceObserving System[178]

Simulation

Fredj et al. [86] Location-basedSearch Indexing

HierarchalOntology-basedData Model

Distributed GeographicalLocation

OWL-S ServiceRetrieval TestCollection [179]

Java-basedPrototype

Shemshadi et al.[89], [90]

Event-basedSearch

DataCorrelation

ObjectRelationshipModel

Centralized Latitude andLongitude Xively [6] Simulation

Shah et al. [25] Location-basedSearch Ranking - Centralized Virtual

Coordinates- Simulation

Michel et al. [91] Location-basedSearch Indexing - Distributed Geographical

Region Data

Real-worldand SimulatedMobility TraceData Sets

Simulation

have mostly used a distributed repository to index the context-data and thus scale efficiently to a large number of the IoTobjects. They have also developed a prototype implementa-tions to validate their search approaches and thus establish theuse of these techniques in real-world deployments. But mostof the reviewed works in this category use QoS-based context-data of the IoT objects and concentrate less on the user andenvironmental context information. These techniques require adedicated context-aware middleware/server for managing thecontext related information that incurs additional burden on theoperational costs and increases the complexity of the searchsystem implementation. Further data acquisition from the IoTobjects also remain a challenge. Machine learning algorithmscan be used to cluster related IoT objects based on their

context-information and thus reduce the search space size andaddress the interoperability issue.

3) Location-based Search Techniques: Location of the IoTobject is strongly associated with the user preferences and thusplays a pivotal role in query resolution phase of the searchtechniques. Research publications reviewed in this categoryof search techniques effectively utilize indexing structures tospeed up query execution time and produce real-time results.They also develop distributed data models to store the locationrelated information of the IoT object which enhances solvingof the local queries that enquire about the IoT objects inthe immediate vicinity. Use of different kinds of the locationdata (e.g., geographical coordinates, virtual coordinates, placeidentifiers, tags, etc.,) to describe the property of the IoT

24

TABLE XIVEVALUATION OF REVIEWED RESEARCH PUBLICATIONS: SOCIAL STRUCTURE-BASED SEARCH TECHNIQUES

Research

Publication

Search

Approach

Design

Principle

Data

ModelArchitecture

Social

Relationship

Dataset

Used

Prototype/

Simulation

Shen et al. [92] Event-basedSearch Indexing Distributed

Hash Table DistributedUser Behaviorand MovementPatterns

MIT RealityDataset [180] Simulation

Nitti et al. [94] Spatiotemporal-based Search Crawling

SocialRelationshipGraph

Distributed FriendshipStanford LargeNetworkDataset [181]

Simulation

Jung et al. [95] Event-basedSearch

SearchSpaceStructuring

- CentralizedInter-objectSocialRelationships

CASASDataset [182]

Smart HomePrototype

Bhaumik et al. [96] Real-TimeSearch

SearchSpaceStructuring

SocialRelationshipGraph

CentralizedIoT objectand UserRelationship

- -

Deshpande et al. [97] Event-basedSearch

FriendshipRecommen-dations

SocialRelationshipGraph

Centralized Friendship - MobileApplication

Deng et al. [98] Event-basedSearch Indexing Correlation

Graph Centralized Event Relation-ships

UserStudy Dataset

DesktopApplication

Pintus et. al. [99] Event-basedSearch

FriendshipRecommen-dations

- CentralizedIoT objectand UserRelationship

- Web-basedPrototype

Luis-Ferreira et al.[100]

Context-basedSearch Indexing

Emotions &SensationsDatabank

CentralizedIoT objectand UserRelationship

- -

Wu et al. [101] Context-basedSearch Crawling Intuition

Graph [183] Peer-to-PeerIoT objectand UserRelationship

Open SourcedVulnerabilityDatabase [184]

Simulation

objects is well established across different works and variousprototypes have also been developed to carter the real-worldtask in the IoT applications. But, most of the works in thiscategory do not address the spatiotemporal-data and thussuffers from mobility issue; recent advancements in the fieldof edge computing can be used here to address it. In addition,most of the works fail to identify the co-location problem (i.e.,IoT objects that offer same or different services are located atsame physical location) and they implicate security treats andhence efficient encryption and decryption techniques are to bedeveloped for the resource constrained IoT objects.

4) Social Structure-based Search Techniques: The IoT de-vices communicate with a known set of other devices and theuser thus forming a group of frequently contacted nodes; thisconcept is leveraged to associate social links among the IoTobjects and the user. Social Structure-based search techniquesutilize graph-based methods to model relationships and pro-vide recommendations to search system users. The researchpublications reviewed in this category of search techniqueshave modeled the user behavior and likeliness to associatehim/her with the IoT objects that offer the required services.Most of the works provide a prototype implementations ofthe proof-of-concept developed and thus ascertain their usagein the real-world deployment. Future Social Structure-basedsearch techniques should orient the application development

with the mobile applications and provide mashups and pluginsto integrate with the already thriving social applications toenhance user experience. However, due to the existence ofmultiple data sources from a large number of IoT objects, dataownership is a concern and needs to be addressed through wellestablished standards and regulations. These search techniquesare also prone to identity thefts and suffers from the trafficcongestion and scalability issues due to the large scale of sociallinks present in the IoT network.

5) Semantic and Ontology-based Search Techniques: Thesesearch techniques effectively manage data of the IoT objectsthrough the use of a well defined rule set that describesrelationships among the IoT objects, users, applications andservices. They support the use of crawlers to build indexesof the IoT objects and thus are compatible with web-searchtechniques. Research publications reviewed in this categoryof the search techniques allows representation of the complexreal-world events in the machine readable format by develop-ing the semantic and ontological models across different IoTapplication domains (like, Smart Home, Smart Space, SmartViticulture, etc.,). These works support efficient query man-agement by employing techniques such as similarity compu-tations, search intent identifications, correlations computations,etc., to produce accurate search results. However, the raw IoTdata has to be transformed into semantic descriptions so as

25

TABLE XVEVALUATION OF REVIEWED RESEARCH PUBLICATIONS: SEMANTIC AND ONTOLOGY-BASED SEARCH TECHNIQUES

Research

Publication

Search

Approach

Design

PrincipleModel

Ontology

Language

Support

for Queries

IoT

Domain

Mietz et al. [106] Time-relatedSearch Indexing Aggregated Prediction

Model RDF Yes(SPARQL)

Smart City (Smart-Santander Dataset[166])

Nayak et al. [107] Context-basedSearch Matching & Ranking Semantics Repository - No -

Christophe et al. [108] Context-basedSearch Search Intent Joint Probability Distri-

bution OWL No Smart Space

Chang et al. [109] Context-basedSearch Middleware Semantics Repository - No -

Alam et al. [111] Ontology-basedApproach Matching Microformat based Ser-

vice Description OWL Yes(SPARQL)

IntelligentTransportationSystem

Hu et al., [112] Ontology-basedApproach Semantic Modeling

SpatiotemporalDescription of Geo-events

SensorML[185]

Yes(Web-interface) Earth Observation

Yang et al. [113] Ontology-basedApproach Query Processing Sensor Descriptions

Model- No Smart Home

Perera et al., [114] Context-basedSearch Ranking Task Description Model OWL Yes

(SPARQL)

Smart Agricultureand Smart Envi-ronment

Chaochaisit et al. [115] Location-basedSearch Semantic Modeling Location Descriptions OWL No Smart City

Zhou et al. [116] Context-basedSearch

SimilarityComputation

Semantic Similarity andRelativity Model OWL No Smart Vehicles

Dey et al. [117] Ontology-basedApproach Semantic Modeling

SpatiotemporalDescription of EnergyMeters

RDF Yes(SPARQL) Smart Meter

Gomes et al. [118] Ontology-basedApproach Middleware Semantic Repository OWL Yes

(SPARQL)-

Sezer et al. [122] Ontology-basedApproach Semantic Modeling Publish/subscribe

Model RDF No Smart Home

Cabral et al. [124] Ontology-basedApproach Ranking Sensor Fitness Model RDF Yes

(SPARQL) Smart Viticulture

to be consumed by the semantic search systems that incursadditional costs and suffers from performance issues if thesemantic rules are ill formed and thus requires expertise inthe IoT application domain for which the IoT search systemsare implemented. Designing a particular ontology that fulfillsthe huge range of applications that are expected to appear withthe future IoT remains a challenge.

6) Resource and Service Discovery Techniques: Thesesearch and discovery techniques differentiate between the IoTenabling entities (like sensors, actuators, etc.,) and objects,where an object is embedded with sensors and actuators.Most of the research publication reviewed in this category ofsearch techniques solve complex relationships among the IoTobjects and support for QoS-based parameters by employingdistributed architecture. They also support the service look-up facility provided by different IoT objects through serviceidentification, selection, and composition capabilities. How-

ever, these methods require additional middlewares to managethe index registry and thus incur additional operational costs.They also suffer from opportunistic presence and dynamicityproblems of the IoT, where availability of the IoT devices andtheir services are frequently changing and leads to increasedlatency for real-time service composition and discovery. Thesesearch techniques are specific to a application domain, as aparticular IoT entity is designed for a specific purpose and adedicated task (e.g., pollution monitoring device in Smart Citydomain, smoke detector in Smart Home domain) and suffersfrom generality issue due to lack of a upper semantic modelthat represent all kind of the IoT objects.

VI. FUTURE RESEARCH DIRECTIONS

With the proliferation of IoT resources in the physicalworld, search needs for humans will gradually shift from thecyber world to physical world. An ideal search system’s vision

26

TABLE XVICOMPARISON OF DIFFERENT IOT SEARCH TECHNIQUES

Category Approach Advantages Disadvantages Challenges

IoT Databased

Contentbased

• Allows access to historical andreal-time data.

• Statistical and prediction mod-els can be employed.

• Reasonable accuracy of searchresults.

• Missing values, future out-comes, and error detection isrelatively easy.

• Have to deal with low-levelsensor data.

• Frequent communication be-tween sensors and search sys-tem leads to wastage of IoTdevice’s energy.

• Do not provide information ofoperational costs to manageIoT objects.

• Meaningful and high-level re-sults cannot be achieved.

• Dynamicity: prone to errorsbetween two successive read-ings in short interval of time.

• Scalability: has to send datarequest to all the nodes.

• Heterogeneity: have to dealwith data in various formats.

Contextbased

• Information about the deploy-ment environment and IoT ob-ject’s state are available.

• Do not need to deal with low-level sensor data.

• Provides efficient control tomanage IoT objects throughcontext-information.

• Generates high-level andmeaningful results.

• Hard to acquire context-information.

• IoT objects have to be intel-ligent, to gather informationabout their state.

• Predicting missing values isdifficult.

• Complex due to many levelsof interlinked properties.

• Management: requires dedi-cated context-aware server formanagement.

• Data Acquisition: hard toretrieve context-informationfrom IoT objects.

• Generality: strongly integratedwith specific application re-quirements.

IoT Objectbased

Locationbased

• Supports indexing and rank-ing methods to reduce searchspace.

• Strongly coupled with queryrouting techniques.

• Utilizes large storage space,when index of mobile IoT ob-jects are built.

• Queries that require informa-tion about remote locationstake more time to resolve.

• Identification & Naming: diffi-culty to uniquely identify IoTobjects when they are co-located.

• IoT object safety and Security:prone to physical damage andoperational condition when lo-cation is revealed.

• Mobility & Dynamicity: has todeal with mobile IoT objects,that frequently change theiravailability status.

SocialStructurebased

• Leverage social networksformed by humans.

• User behavior and likelinessare well modeled.

• Data ownership in Social-IoTis not regulated.

• Suffers from traffic congestionand scalability issues due tolarge scale of social network.

• Privacy: prone to identitythefts as personal and privateinformations are collected.

SemanticandOntologybased

• Allows representation of com-plex real-world events.

• Results can be modeled in nat-ural language.

• Crawlers and Indexer can beutilized effectively.

• Preprocessing and query sub-division are supported.

• Domain knowledge is re-quired.

• IoT data is to be transformedto compatible format.

• Suffers from performance is-sues, due to ill formed rulesand huge size of data.

• Requires integration of mid-dleware for management.

• Interoperability: various on-tologies across different do-mains have to be integrated.

• Standardization: no well de-fined and accepted ontologyfor all applications.

ResourceandServiceDiscovery

• Support for QoS parameters iswell established.

• Complex relationship are man-aged.

• Requires additionalpublish/subscriptionmanagement.

• Real-time service compositionand discovery suffers from la-tency.

• Opportunistic presence: de-vices and their services are notavailable all the time.

• Specificity: limited to applica-tion domain, due to lack ofgeneral semantic model to rep-resent all kind of IoT objects.

in IoT will be to discover any kind of IoT object or its data atanytime with minimal inputs from the user by learning throughhis historical searches and present needs. The previous sectionlaid out critical shortcomings of the search techniques in IoT,and in this section we present some important directions forfuture research that allows to develop an efficient and effective

search system that satisfy the information needs of the user.

1) Indexing Techniques: Due to heterogeneous and multi-modal nature of the IoT data that is generated at high-velocity and high-volume it encounters the scalabilitychallenge to the solutions for search and discovery oper-ations. Efficient indexing mechanism that sort and rank

27

the IoT data are needed. The indexed data is to be storedand processed in distributed fashion to accomplish thereal-time query matching. The Geohash encoding of thespatiotemporal data is a promising direction to this end[186], [187]. Abbas et al. [188] have elaborated on the

directions for future research work to be undertaken forindexing the IoT Data.

2) Prediction Models: Large scale of IoT network posean immediate challenge to the crawlers of the searchsystem, as they cannot contact every node in the networkto retrieve the data. Further, due to the volatile natureof the IoT data and opportunistic presence of devices,it becomes a tedious task to crawl the IoT network.To overcome this challenge, prediction models can beused to sketch the future readings of the sensors, andanalyze data streams to infer patterns and correlations.Regression technique can be considered to predict thefuture data streams in real-time [189]. Deep Learningtechniques (Convolutional Neural Networks, RecurrentNeural Networks, Long Short Term Memory, Autoen-coders, Variational Autoencoders, Generative AdversarialNetworks, Restricted Boltzmann Machine, Deep BeliefNetwork, and Ladder Networks) are detailed in [190]that can be used for predictive analytics on streamingdata in IoT.

3) Progressive Search: Search space in the IoT is largelyunstructured due to heterogeneous devices and thus oner-ous efforts have to be put by search system to find aquery matching device owing to which there is increase inlatency between successive search steps. The progressivesearch algorithms decrease the time taken during eachsubsequent steps by performing incremental search. Maand Liu [191] have delineated three strategies, listedbelow, to reduce the size of search space:

i) Coarse-to-fine: Properties of the IoT objects arecategorized based on their discriminative power andthen used to filter elements from the search space.Initially, rough features are utilized to drasticallyreduce the size of search space and latter subjectedto fine filtering to increase search accuracy.

ii) Near-to-distant: The spatiotemporal data of IoT ob-jects is used to structure the search space. Thisstrategy is used to re-rank the matching results.

iii) Low-to-High: The search space is further subjectedto filtering based on device access permission, rele-vance to user, rating, etc.

Other such search strategies are to be designed to achievereal-time, highly-accurate, multi-faceted results.

4) Domain Specific Knowledge: The IoT supports multi-tudinous applications where the tasks performed varysignificantly across different domains. To generalize andoperate under many different scenarios and applications, asearch system should be developed in a modular fashionwhere the modules works independently of each other.To perform domain specific search operations, an on-tology module is to be designed that embodies domainknowledge in the form of concepts and relationships. In

the recent past, several domain specific ontologies havebeen designed viz. Smart Home [192], Smart Agriculture[193], Smart Water Management [194], etc. that provide

promising direction here. Some of the existing domainspecific and generic ontologies for the IoT are listed in[195].

5) Tackle Mobility Issue through Edge Computing: Edgecomputing paradigm brings the computing facilities ofcloud to the edge of network i.e. IoT objects. As devicesin IoT network are mobile and change their locationfrequently, data acquisition, device management, accesscontrol and other issues are challenging to handle. Edgecomputing eases these tasks as the computation is closerto the device, and it provides a promising directionwith following benefits: fault tolerance, scalability, loaddistribution, low latency, local processing, better securityand privacy. Frameworks proposed in [196]–[198] arequite useful in this context.

VII. CONCLUSIONS

Advancements in disciplines like sensor networks, cloudcomputing, middlewares, communication protocols, etc., hasled to the proliferation of a large number of Internet-connectedobjects around us. This means we have huge range of choicesto select devices/services that offer similar functions, that leadto lookup and discovery operation. In this paper, we havepresented fundamentals of search and discovery procedure forthe IoT. The State-of-the-art research works which have ad-dressed these challenges, are reviewed based on their solutionsand design principles. A comparative study of the researchworks along with critical discussions, lessons learned, futureresearch directions, and challenges are presented. Addressingthese challenges will allow next generation search techniquesto recognize and respond to user queries and, as a result, to agreat extent satisfy the information needs of the users.

ACKNOWLEDGMENTS

We thank anonymous reviewers for their insightful com-ments on improving the paper.

REFERENCES

[1] C. Perera, A. Zaslavsky, P. Christen, and D. Georgakopoulos, “Con-text Aware Computing for the Internet of Things: A Survey,” IEEECommunications Surveys and Tutorials, vol. 16, no. 1, pp. 414–454,2014.

[2] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, “Internet ofThings (IoT): A Vision, Architectural Elements, and Future Directions,”Future Generation Computer Systems, vol. 29, no. 7, pp. 1645–1660,2013.

[3] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A survey,”Computer networks, vol. 54, no. 15, pp. 2787–2805, 2010.

[4] P. Barnaghi and A. Sheth, “On Searching the Internet of Things :Requirements and Challenges,” IEEE Intelligent Systems, vol. 31, no. 6,pp. 71–75, 2016.

[5] A. Zaslavsky, C. Perera, and D. Georgakopoulos, “Sensing as a Serviceand Big Data,” in Proceedings of the International Conference onAdvances in Cloud Computing (ACC-2012), pp. 21–29, 2012.

[6] Xively. [Online]. Available: https://www.xively.com/[7] OpenIoT. [Online]. Available: https://www.openiot.eu/[8] Shodhan. [Online]. Available: https://www.shodan.io/[9] Thingfull. [Online]. Available: https://www.thingful.net/

[10] Censys. [Online]. Available: https://censys.io/

28

[11] Reposify. [Online]. Available: https://www.reposify.com/[12] K. Romer, B. Ostermaier, F. Mattern, M. Fahrmair, and W. Kellerer,

“Real-Time Search for Real-World Entities: A Survey,” in Proceedingsof the IEEE, vol. 98, no. 11, pp. 1887–1902, 2010.

[13] D. Zhang, L. T. Yang, and H. Huang, “Searching in Internet of Things:Vision and Challenges,” in Proceedings of the 9th IEEE InternationalSymposium on Parallel and Distributed Processing With Applications,ISPA 2011, pp. 201–206, 2011.

[14] D. Zeng, S. Guo, and Z. Cheng, “The Web of Things: A Survey,”Journal of Communications, vol. 6, no. 6, pp. 424–438, 2011.

[15] Y. Zhou, S. De, W. Wang, and K. Moessner, “Search Techniques forthe Web of Things: A Taxonomy and Survey,” Sensors, vol. 16, no. 5,pp. 1–29, 2016.

[16] C. D. Truong, “Routing and Sensor Searach in the Internet of Things,”Ph.D. Thesis, University of Lubeck, 2014.

[17] M. Garcıa-Valls, P. Bellavista, and A. Gokhale, “Reliable SoftwareTechnologies and Communication Middleware: A Perspective andEvolution Directions for Cyber-Physical System, Mobility, and CloudComputing,” Future Generation Computer Systems, vol. 7, pp. 171–176, 2017.

[18] C. Mouradian, D. Naboulsi, S. Yangui, R. H. Glitho, M. J. Morrow, andP. A. Polakos, “A Comprehensive Survey on Fog Computing: State-of-the-art and Research Challenges,” IEEE Communications Surveys &Tutorials, pp. 1–51, 2017.

[19] C. Perera, C. H. Liu, and P. Christen, “Device Search and Selectionfor CPS,” Cyber Physical Systems, pp. 67–99, 2015.

[20] P. Saint-Andre, “Extensible Messaging and Presence Protocol (XMPP):Core,” 2011.

[21] U. Hunkeler, H. L. Truong, and A. Stanford-Clark, “MQTT-S?APublish/Subscribe Pprotocol for Wireless Sensor Networks,” pp. 791–798, 2008.

[22] S. Vinoski, “Advanced Message Queuing Protocol,” IEEE InternetComputing, vol. 10, no. 6, 2006.

[23] Z. Shelby, K. Hartke, and C. Bormann, “The Constrained ApplicationProtocol (CoAP),” 2014.

[24] J. B. Blair, D. L. Rabine, and M. A. Hofton, “The Laser VegetationImaging Sensor: A Medium-altitude, Digitisation-only, Airborne LaserAltimeter for Mapping Vegetation and Topography,” ISPRS Journalof Photogrammetry and Remote Sensing, vol. 54, no. 2, pp. 115–122,1999.

[25] M. Shah and A. Sardana, “Searching in Internet of Things Using VCS,”in Proceedings of the First International Conference on Security ofInternet of Things, pp. 63–67, 2012.

[26] I.-Y. Ko, H.-G. Ko, A. J. Molina, and J.-H. Kwon, “SoIoT: TowardA User-centric IoT-based Service Framework,” ACM Transactions onInternet Technology (TOIT), vol. 16, no. 2, pp. 1–35, 2016.

[27] The IoT and the Blue Jeans: A Retail Story.[Online]. Available: https://www.intel.com/content/www/us/en/internet-of-things/smart-retail-solutions.html

[28] H. F. Hamann, “From Sensors to Smarter Solutions With PhysicalAnalytics,” in Proceedings of the 13th ACM Conference on EmbeddedNetworked Sensor Systems - SenSys’15, pp. 1–3, 2015.

[29] B. M. Elahi, K. Romer, B. Ostermaier, M. Fahrmair, and W. Kellerer,“Sensor Ranking: A Primitive for Efficient Content-Based SensorSearch,” in Proceedings of the International Conference on InformationProcessing in Sensor Networks, 2009. IPSN 2009, pp. 217–228, 2009.

[30] B. Ostermaier, K. Romer, F. Mattern, M. Fahrmair, and W. Kellerer, “AReal-Time Search Engine for the Web of Things,” Internet of Things(IOT), 2010, no. 10, pp. 1–8, 2010.

[31] R. Mietz and K. Romer, “Exploiting Correlations for Efficient Content-Based Sensor Search,” in Proceedings of IEEE Sensors, pp. 187–190,2011.

[32] C. Truong, K. Romer, and K. Chen, “Fuzzy-Based Sensor Search inthe Web of Things,” in Proceedings of 2012 International Conferenceon the Internet of Things, IOT 2012, pp. 127–134, 2012.

[33] C. Truong and K. Romer, “Content-Based Sensor Search for theWeb of Things,” in Proceedings of the GLOBECOM - IEEE Globalcommunications Conference, pp. 2654–2660, 2013.

[34] Y. Zhou, S. De, W. Wang, and K. Moessner, “Enabling Query of Fre-quently Updated Data from Mobile Sensing Sources,” in Proceedingsof the IEEE 13th International Conference on Ubiquitous Computingand Communications (IUCC 2014), 2014, pp. 946–952, 2014.

[35] P. Zhang, Y.-a. Liu, F. Wu, and B. Tang, “Matching State EstimationScheme for Content-Based Sensor Search in the Web of Things,”International Journal of Distributed Sensor Networks, vol. 11, no. 11,pp. 1–12, 2015.

[36] F. Bijarbooneh, W. Du, E. Ngai, X. Fu, and J. Liu, “Cloud-AssistedData Fusion and Sensor Selection for Internet-of-Things,” IEEE Inter-net of Things Journal, vol. 3, no. 3, pp. 257–268, 2015.

[37] P. Zhang, Y. Liu, F. Wu, S. Liu, and B. Tang, “Low-Overhead andHigh-Precision Prediction Model for Content-Based Sensor Search inthe Internet of Things,” IEEE Communications Letters, vol. 20, no. 4,pp. 720–723, 2016.

[38] S. Y. Ihm, A. Nasridinov, and Y. H. Park, “Grid-PPPS: A SkylineMethod for Efficiently handling Top-k Queries in Internet of Things,”Journal of Applied Mathematics, pp. 1–10, 2014.

[39] K. G. Srinivasa, K. R. Venugopal, and L. M. Patnaik, “SelectiveDissemination of XML Documents based on Genetically LearnedUser Model and Support Vector Machines,” Intelligent Data Analysis,vol. 11, no. 5, pp. 481–496, 2007.

[40] M. Jiang, J. Luo, D. Jiang, J. Xiong, and H. Song, “A Cuckoo Search-Support Vector Machine Model for Predicting Dynamic MeasurementErrors of Sensors,” IEEE Access, vol. 4, pp. 5030–5037, 2016.

[41] P. Zhang, Y.-a. Liu, F. Wu, W. Fan, and B. Tang, “Content-Based SensorSearch With a Matching Estimation Mechanism,” Special Section onIntegration Technologies of Ambient Intelligence and Sensor Networks,vol. 99, no. 9, pp. 1949–1957, 2016.

[42] M. Anas, S. Khatab, and A. Badr, “HeuristicIoT: A framework forAugmenting Heuristic Search Algorithms by Internet-of-Things Data,”International Journal of Computing & Information Sciences, vol. 12,no. 1, pp. 133–141, 2016.

[43] A. Shemshadi, Q. Z. Sheng, and Y. Qin, “Thingseek: A Crawler andSearch Engine for the Internet of Things,” in Proceedings of the 39thInternational ACM SIGIR Conference on Research and Developmentin Information Retrieval, pp. 1149–1152, 2016.

[44] A. Shemshadi, Q. Z. Sheng, W. E. Zhang, A. Sun, Y. Qin, and L. Yao,“Searching for the Internet of Things on the Web: Where It Is andWhat It Looks Like,” arXiv preprint arXiv:1607.06884, 2016.

[45] V. Vasilev, G. Iliev, V. Poulkov, and A. Mihovska, “Optimization ofWireless Node Discovery in an IoT Network ,” 2015 IEEE GlobecomWorkshops (GC Workshops), pp. 1–5, 2015.

[46] W.-S. Li and K. S. Candan, “Integrating Content Search with StructureAnalysis for Hypermedia Retrieval and Management,” ACM ComputingSurveys, vol. 31, no. 4, pp. 13–38, 1999.

[47] G. D. Abowd and A. K. Dey, “Towards a Better Understanding ofContext and Context-Awareness,” International Symposium on Hand-held and Ubiquitous Computing, vol. 40, no. 3, pp. 304–307, 1999.

[48] D. Le-Phuoc, H. Quoc, J. X. Parreira, and M. Hauswirth, “The LinkedSensor Middleware Connecting the Real World and the Semantic Web,”Semantic Web Challenge 2011, pp. 1–8, 2011.

[49] SPARQL 1.1 federated query. [Online]. Available: https://www.w3.org/TR/rdf-sparql-query/

[50] K. Aberer, M. Hauswirth, and A. Salehi, “Infrastructure for DataProcessing in Large-Scale Interconnected Sensor Networks,” in Pro-ceedings of the IEEE International Conference on Mobile Data Man-agement, no. 1, pp. 198–205, 2007.

[51] S. Nath, J. Liu, and F. Zhao, “SensorMap for Wide-Area Sensor Webs,”Computer, vol. 40, no. 7, pp. 90–93, 2007.

[52] A. Kansal, S. Nath, J. Liu, and F. Zhao, “SenseWeb: An Infrastructurefor Shared Sensing,” IEEE Multimedia, vol. 14, no. 4, 2007.

[53] G. Fersi, “Middleware for Internet of Things: A Study,” in Proceedingsof IEEE International Conference on Distributed Computing in SensorSystems, DCOSS 2015, pp. 230–235, 2015.

[54] C. Zhang, “FuzWare: A Fuzzy-based Middleware for Context-awareService,” IEEE 2nd Advanced Information Technology, Electronic andAutomation Control Conference (IAEAC), pp. 1181–1185, 2017.

[55] D. Pfisterer, K. Romer, D. Bimschas, O. Kleine, R. Mietz, C. Truong,H. Hasemann, A. Kroller, M. Pagel, and M. Hauswirth, “SPITFIRE:Toward a Semantic Web of Things,” IEEE Communications Magazine,vol. 49, no. 11, pp. 40–48, 2011.

[56] S. Mayer and D. Guinard, “An Extensible Discovery Service for SmartThings,” in Proceedings of the Second International Workshop on Webof Things, WoT ’11, no. 2, pp. 1–7, 2011.

[57] C. Perera, A. Zaslavsky, P. Christen, M. Compton, and D. Geor-gakopoulos, “Context-Aware Sensor Search, Selection and RankingModel for Internet of Things Middleware,” in Proceedings of the 2013IEEE 14th International Conference on Mobile Data Management(MDM), vol. 14, pp. 314–322, 2013.

[58] C. Perera, A. Zaslavsky, C. H. Liu, M. Compton, P. Christen, andD. Georgakopoulos, “Sensor Search Techniques for Sensing as aService Architecture for the Internet of Things,” IEEE Sensors Journal,vol. 14, no. 2, pp. 406–420, 2014.

29

[59] L. Lefort, C. Henson, K. Taylor, P. Barnaghi, M. Compton, O. Corcho,R. Garcia Castro, J. Graybeal, A. Herzog, K. Janowicz, H. Neuhaus,A. Nikolov, and K. Page, “Semantic Sensor Network XG FinalReport: W3C Incubator Group Report,” World Wide Web Consortium(W3C), 2011. [Online]. Available: http://www.w3.org/2005/Incubator/ssn/XGRssn-20110628/

[60] N. Buchina, “Extending Service Discovery Protocols with Support forContext Information,” M.S. Thesis, Eindhoven University of Technol-ogy, pp. 1–125, 2014.

[61] M. Ebrahimi, E. Shafieibavani, R. K. Wong, and C. H. Chi, “A newMeta-Heuristic approach for Efficient Search in the Internet of Things,”in Proceedings of the 2015 IEEE International Conference on ServicesComputing, SCC 2015, pp. 264–270, 2015.

[62] M. Ebrahimi, E. ShafieiBavani, R. K. Wong, S. Fong, and J. Fiaidhi,“An Adaptive Meta-Heuristic Search for the Internet of Things,” FutureGeneration Computer Systems, pp. 1–9, 2015.

[63] P. D. Shenoy, K. G. Srinivasa, K. R. Venugopal, and L. M. Patnaik,“Dynamic Association Rule Mining using Genetic Algorithms,” Intel-ligent Data Analysis, vol. 9, no. 5, pp. 439–453, 2005.

[64] K. R. Venugopal, K. G. Srinivasa, and L. M. Patnaik, “Soft Computingfor Data Mining Applications,” Springer, vol. 190, pp. 63–80, 2009.

[65] J. Michel, C. Julien, and J. Payton, “Gander: Mobile, Pervasive Searchof the Here and Now in the Here and Now,” IEEE Internet of ThingsJournal, vol. 1, no. 5, pp. 483–496, 2014.

[66] Y. C. Hsu, C. H. Lin, and W. T. Chen, “Design of a Sensing ServiceArchitecture for Internet of Things With Semantic Sensor Selection,” inProceedings of the 2014 IEEE International Conference on UbiquitousIntelligence and Computing, pp. 290–298, 2015.

[67] W. T. Lunardi, E. De Matos, R. Tiburski, L. A. Amaral, S. Marczak, andF. Hessel, “Context-Based Search Engine for Industrial IoT: Discovery,Search, Selection, and Usage of Devices,” in Proceedings of theIEEE International Conference on Emerging Technologies and FactoryAutomation, ETFA-2015, pp. 1–8, 2015.

[68] H. Gong, Y. Shi, and G. Li, “Context-aware Sensor Search Frameworkin Semantic Web of Things,” in Proceedings of 2016 8th InternationalConference on Intelligent Human-Machine Systems and CyberneticsContext-aware, no. 16, pp. 94–98, 2016.

[69] Y. Wang and K. Cao, “Context-Aware Complex Event Processingfor Event Cloud in Internet of Things,” in Proceedings of the 2012International Conference on Wireless Communications and SignalProcessing, WCSP 2012, pp. 1–6, 2012.

[70] V. Arnaboldi, M. Conti, and F. Delmastro, “CAMEO: A Novel Context-aware Middleware for Opportunistic Mobile Social Networks,” Perva-sive and Mobile Computing, vol. 11, pp. 148–167, 2014.

[71] Y. Chen, J. Zhou, and M. Guo, “A Context-Aware Search System forInternet of Things based on Hierarchical Context Model,” Telecommu-nication Systems, vol. 62, no. 1, pp. 77–91, 2016.

[72] B. H. Kumar, L. Vibha, and K. R. Venugopal, “Web Page Access Pre-diction using Hierarchical Clustering based on Modified LevenshteinDistance and Higher Order Markov Model,” in Proceedings of 2016IEEE Region 10 Symposium (TENSYMP), pp. 1–6, 2016.

[73] I. Paparrizos, H. Jeung, and K. Aberer, “Advanced Search, Visualizationand Tagging of Sensor Metadata,” in Proceedings of the InternationalConference on Data Engineering, pp. 1356–1359, 2011.

[74] R. Kolcun and J. A. McCann, “Dragon: Data Discovery and CollectionArchitecture for Distributed IoT,” in Proceedings of the 2014 Interna-tional Conference on the Internet of Things, IOT 2014, pp. 91–96,2014.

[75] X. Hu, L. Wang, Z. Sheng, P. TalebiFard, L. Zhou, J. Liu, and V. Leung,“Towards a Service Centric Contextualized Vehicular Cloud,” Proceed-ings of the fourth ACM international symposium on Development andanalysis of intelligent vehicular networks and applications, pp. 73–80,2014.

[76] S. Mayer, D. Guinard, and V. Trifa, “Searching in a Web-BasedInfrastructure for Smart Things,” in Proceedings of 2012 InternationalConference on the Internet of Things, IOT 2012, pp. 119–126, 2012.

[77] A. Kanavalli, D. Sserubiri, P. D. Shenoy, K. R. Venugopal, andL. M. Patnaik, “A Flat Routing Protocol for Sensor Networks,” inProceedings of International Conference on Methods and Models inComputer Science, ICM2CS 2009, pp. 1–5, 2009.

[78] S. H. Liang and C.-Y. Huang, “GeoCENS: A Geospatial Cyber Infras-tructure for the World-Wide Sensor Web,” Sensors, vol. 13, no. 10, pp.13 402–13 424, 2013.

[79] C. Frank, P. Bolliger, F. Mattern, and W. Kellerer, “The Sensor Internetat Work: Locating Everyday Items Using Mobile Phones,” Pervasiveand Mobile Computing, vol. 4, no. 3, pp. 421–447, 2008.

[80] K.-K. Yap, V. Srinivasan, and M. Motani, “Max: Wide Area Human-Centric Search of the Physical World,” ACM Transactions on SensorNetworks (TOSN), vol. 4, no. 4, pp. 1–26, 2008.

[81] W. Wang, S. De, G. Cassar, and K. Moessner, “An Experimental Studyon Geospatial Indexing for Sensor Service Discovery,” Expert SystemsWith Applications, vol. 42, no. 7, pp. 3528–3538, 2015.

[82] X. Li, Y. J. Kim, R. Govindan, and W. Hong, “Multi-dimensional RangeQueries in Sensor Networks,” in Proceedings of the 1st InternationalConference on Embedded Networked Sensor Systems, pp. 63–75, 2003.

[83] C. Du, Z. Zhou, L. Shu, X. Jia, and Q. Wang, “An Effective IoTServices Indexing and Query Technique,” in Proceedings of the 2013IEEE International Conference on Green Computing and Communica-tions and IEEE Internet of Things and IEEE Cyber, Physical and SocialComputing, GreenCom-iThings-CPSCom 2013, pp. 777–782, 2013.

[84] C. Du, Z. Zhou, S. Ying, J. Niu, and Q. Wang, “An Efficient Indexingand Query Mechanism for Ubiquitous IoT Services,” InternationalJournal of Ad-Hoc Ubiquitous Computing, vol. 18, no. 4, pp. 245–255, 2015.

[85] Y. Fathy, P. Barnaghi, S. Enshaeifar, and R. Tafazolli, “A Distributedin-Network Indexing Mechanism for the Internet of Things,” in Pro-ceedings of the International Conference on Parallel and DistributedSystems - ICPADS, pp. 2–7, 2016.

[86] S. B. Fredj, M. Boussard, D. Kofman, and L. Noirie, “A Scalable IoTService Search based on Clustering and Aggregation,” in Proceedingsof the Green Computing and Communications (GreenCom), 2013IEEE and Internet of Things (iThings/CPSCom), IEEE InternationalConference on and IEEE Cyber, Physical and Social Computing,no. 13, pp. 403–410, 2013.

[87] S. Tarannum, B. Aravinda, L. Nalini, K. R. Venugopla, and L. M. Pat-naik, “Routing Protocol for Lifetime Mazimization of Wireless SensorNetworks,” in IEEE Proceedings of 14th International Conference onAdvanced Computing and Communications, pp. 401–406, 2006.

[88] S. Abdelwahab, B. Hamdaoui, M. Guizani, and T. Znati, “Cloud ofThings for Sensing as a Service: Sensing Resource Discovery and Vir-tualization,” in Proceedings of the 2015 IEEE Global CommunicationsConference (GLOBECOM), pp. 1–7, 2015.

[89] A. Shemshadi, L. Yao, Y. Qin, Q. Z. Sheng, and Y. Zhang, “ECS:A Framework for Diversified and Relevant Search in the Internet ofThings,” Web Information Systems Engineering WISE 2015, vol. 9418,pp. 448–462, 2015.

[90] A. Shemshadi, Q. Z. Sheng, Y. Qin, and A. Alzubaidi, “CEIoT: AFramework for Interlinking Smart Things in the Internet of Things,” inProceedings of the 12th Anniversary of the International Conferenceon Advanced Data Mining and Applications (ADMA 2016), vol. 27,no. 6, pp. 1–15, 2016.

[91] J. Michel and C. Julien, “A Cloudlet-based Proximal Discovery Servicefor Machine-to-Machine Applications,” Mobile Computing, Applica-tions, and Services, vol. 18, no. 9, pp. 334–347, 2014.

[92] H. Shen, J. Liu, K. Chen, J. Liu, and S. Moyer, “SCPS: A Social-Aware Distributed Cyber-Physical Human-Centric Search Engine,”IEEE Transactions on Computers, vol. 64, no. 2, pp. 518–532, 2015.

[93] G. Liang and J. Cao, “Social Context-aware Middleware: A Survey,”Pervasive and Mobile Computing, vol. 17, pp. 207–219, 2015.

[94] M. Nitti, L. Atzori, and I. P. Cvijikj, “Network Navigability in theSocial Internet of Things,” Proceeding of the World Forum on Internetof Things, no. 14, pp. 405–410, 2015.

[95] J. Jung, S. Chun, X. Jin, and K.-H. Lee, “Enabling Smart ObjectsDiscovery via Constructing Hypergraphs of Heterogeneous IoT Inter-actions,” Journal of Information Science, vol. 27, no. 6, pp. 1–15, 2016.

[96] C. Bhaumik, A. K. Agrawal, and P. Sinha, “Using Social NetworkGraphs for Search Space Reduction in Internet of Things,” in Pro-ceedings of the 2012 ACM Conference on Ubiquitous Computing -UbiComp ’12, pp. 602–603, 2012.

[97] P. Deshpande, P. A. Kodeswaran, and N. Banerjee, “M4M: A Modelfor Enabling Social Network based Sharing in the Internet of Things,”in Proceedings of the International Conference on CommunicationSystems and Networks, no. 15, pp. 1–8, 2015.

[98] Y. Deng, Z. Zhang, J. Liao, and L. T. Yang, “SIM: A Search Engineby Correlating Scattered Data Sets for Cyber, Physical, and SocialSystems,” IEEE Systems Journal, vol. 8, no. 9, pp. 1–11, 2015.

[99] A. Pintus, D. Carboni, and A. Piras, “Paraimpu: A Platform for a SocialWeb of Things,” in Proceedings of the 21st International ConferenceCompanion on World Wide Web (WWW’12 Companion), pp. 401–404,2012.

[100] F. Luis-Ferreira and R. Jardim-Goncalves, “Modelling of Things onthe Internet for the Search by the Human Brain,” in Proceedings of

30

the 4th IFIP WG 5.5/SOCOLNET Doctoral Conference on Computing,Electrical and Industrial Systems, DoCEIS 2013, pp. 646–657, 2013.

[101] J. Wu, M. Dong, K. Ota, J. Li, L. Guo, and G. Li, “Chance Dis-covery based Security Service Selection for Social P2P based SensorNetworks,” in Proceedings of the 2015 IEEE Global CommunicationsConference (GLOBECOM), pp. 1–6, 2015.

[102] Y. Ohsawa and P. McBurney, “Chance Discovery,” Advanced Informa-tion Processing, Springer-Verlag, 2003.

[103] J. Calbimonte, H. Jeung, O. Corcho, and K. Aberer, “Semantic SensorData Search in a Large-Scale Federated Sensor Network,” SemanticSensor Networks, vol. 839, pp. 23–38, 2011.

[104] R. Garcia-Castro, O. Corcho, and C. Hill, “A Core Ontological Modelfor Semantic Sensor Web Infrastructures,” International Journal onSemantic Web and Information Systems, vol. 8, no. 1, pp. 22–42, 2012.

[105] S. De, T. Elsaleh, P. Barnaghi, Meissner, and S. Meissner, “An Internetof Things Platform for Real-World and Digital Objects,” ScalableComputing, vol. 13, no. 1, pp. 45–57, 2012.

[106] R. Mietz, S. Groppe, K. Rmer, and D. Pfisterer, “Semantic Modelsfor Scalable Search in the Internet of Things,” Journal of Sensor andActuator Networks, vol. 2, no. 2, pp. 172–195, 2013.

[107] C. Nayak and M. Parhi, “A Semantic Search Engine to Discover andSelect Sensor,” in Proceedings of ICAdC, AISC, pp. 585–591, 2013.

[108] B. Christophe, V. Verdot, and V. Toubiana, “Searching the ’Web ofThings’,” in Proceedings of the 5th IEEE International Conference onSemantic Computing, ICSC 2011, pp. 308–315, 2011.

[109] C. Ho Yun, L. Yong Woo, and H. S. Jung, “An Evaluation of SemanticService Discovery of a U-City Middleware,” in Proceedings of the2010 The 12th International Conference on Advanced CommunicationTechnology (ICACT), , vol. 1, pp. 600–603, 2010.

[110] S. Mayer and D. Guinard, “An Extensible Discovery Service for SmartThings,” in Proceedings of the Second International Workshop on Webof Things (WoT ’11), no. 11, pp. 1–6, 2011.

[111] S. Alam and J. Noll, “A Semantic Enhanced Service Proxy Frame-work for Internet of Things,” in Proceedings of the 2010 IEEE/ACMInternational Conference on Green Computing and Communications(GreenCom) and International Conference on Cyber, Physical andSocial Computing (CPSCom), no. 10, pp. 488–495, 2010.

[112] C. Hu, Q. Guan, N. Chen, J. Li, X. Zhong, and Y. Han, “An ObservationCapability Metadata Model for EO Sensor Discovery in Sensor WebEnablement Environments,” Remote Sensing, vol. 6, no. 11, pp. 10 546–10 570, 2014.

[113] S. Yang, Y. Xu, and Q. He, “Ontology Based Service Discovery Methodfor Internet of Things,” in Proceedings of the 2011 4th InternationalConference on Internet of Things and Cyber, Physical and SocialComputing, pp. 43–47, 2011.

[114] C. Perera and A. V. Vasilakos, “A Knowledge-Based Resource Discov-ery for Internet of Things,” Knowledge-Based Systems, vol. 109, pp.122–136, 2016.

[115] W. Chaochaisit, M. Bessho, N. Koshizuka, and K. Sakamura, “HumanLocalization Sensor Ontology: Enabling OWL 2 DL-Based Search forUser’s Location-Aware Sensors in the IoT,” in Proceedings of the 2016IEEE Tenth International Conference on Semantic Computing (ICSC),pp. 107–111, 2016.

[116] M. Zhou and Y. Ma, “A Web Service Discovery ComputationalMethod for IoT System,” in Proceedings of the IEEE 2nd InternationalConference on Cloud Computing and Intelligent Systems (CCIS), vol. 2,pp. 1009–1012, 2012.

[117] S. Dey, D. Jaiswal, R. Dasgupta, and A. Mukherjee, “Organization andManagement of Semantic Sensor Information Using SSN Ontology: AnEnergy Meter Use Case,” in Proceedings of the 2015 9th InternationalConference on Sensing Technology, ICST, no. 9, pp. 468–473, 2016.

[118] P. Gomes, E. Cavalcante, T. Rodrigues, T. Batista, F. C. Delicato, andP. F. Pires, “A Federated Discovery Service for the Internet of Things,”in Proceedings of the 2nd Workshop on Middleware for Context-AwareApplications in the IoT, pp. 25–30, 2015.

[119] L. Spalazzi, G. Taccari, and A. Bernardini, “An Internet of ThingsOntology for Earthquake Emergency Evaluation and Response,” inProceedings of the 2014 International Conference on CollaborationTechnologies and Systems, pp. 528–534, 2014.

[120] W3C Geospatial Vocabulary. [Online]. Available: http://www.w3.org/2005/Incubator/geo/XGR-geo/

[121] D. e. a. Martin, “Bringing Semantics to Web Services: The OWL-S Approach,” in Proceedings of the First International Workshop onSemantic Web Services and Web Process Composition, vol. 3387, pp.26–42, 2005.

[122] O. Berat Sezer, S. Z. Can, and E. Dogdu, “Development of a SmartHome Ontology and the Implementation of a Semantic Sensor Network

Simulator: An Internet of Things Approach,” in Proceedings of the2015 International Conference on Collaboration Technologies andSystems, CTS 2015, pp. 12–18, 2015.

[123] K. R. Venugopal and R. Buyya, “Mastering C++,” 2nd Edition,McGraw Hill Education, 2013.

[124] L. Cabral, M. Compton, and H. Muller, “A Use Case in SemanticModelling and Ranking for the Sensor Web,” The Semantic Web ISWC2014. Lecture Notes in Computer Science, vol. 8797, pp. 276–291,2014.

[125] M. Ruta, F. Scioscia, E. Bove, A. Cinquepalmi, and E. Di, “AKnowledge-Based Approach for Resource Discovery and Allotment inSwarm Middleware,” Information Sciences, vol. 290, no. 5, pp. 1–11,2016.

[126] S. K. Datta, R. P. F. Da Costa, and C. Bonnet, “Resource Discoveryin Internet of Things: Current Trends and Future StandardizationAspects,” in Proceedings of IEEE World Forum on Internet of Things,WF-IoT 2015, pp. 542–547, 2016.

[127] T. Maekawa, Y. Yanagisawa, Y. Sakurai, Y. Kishino, K. Kamei,and T. Okadome, “Context-Aware Web Search in Ubiquitous SensorEnvironments,” ACM Transactions on Internet Technology, vol. 11,no. 3, pp. 1–23, 2012.

[128] N. K. Giang, M. Ha, and D. Kim, “Buddy Thing: Browsing as a Servicefor the Internet of Things,” in Proceedings of 2015 IEEE InternationalConference on Services Computing, SCC 2015, pp. 122–129, 2015.

[129] L. H. Nunes, J. C. Estrella, L. H. V. Nakamura, R. M. D. O. Libardi1,C. H. G. Ferreira, L. L. R. Jorge, C. Perera, and S. Reiff-Marganiec,“A Distributed Sensor Data Search Platform for Internet of ThingsEnvironment,” International Journal of Services Computing, vol. 4,no. 1, pp. 1–12, 2016.

[130] X. Jin, D. Zhang, Q. Zou, G. Ji, and X. Qian, “Where Searching WillGo in Internet of Things?” IFIP Wireless Days, vol. 1, no. 1, pp. 1–3,2011.

[131] G. Fortino, L. Marco, W. Russo, and P. Trunfio, “A Discovery Servicefor Smart Objects over an Agent-Based Middleware,” Internet andDistributed Computing Systems, vol. 8223, pp. 281–293, 2013.

[132] M. Leu, T. Leppanen, E. Harjula, Z. Ou, M. Ylianttila, and T. Ojala,“Distributed Resource Discovery in the Machine-to-Machine Applica-tions,” in Proceedings of the 10th International Conference on MobileAd-Hoc and Sensor Systems , no. 13, pp. 411–412, 2013.

[133] Z. Ding, J. Dai, X. Gao, and Q. Yang, “A Hybrid Search EngineFramework for the Internet of Things,” in Proceedings of the 9th WebInformation Systems and Applications Conference, WISA 2012, pp. 57–60, 2012.

[134] H. Wang, C. C. Tan, and Q. Li, “Snoogle: A Search Engine for Per-vasive Environments,” IEEE Transactions on Parallel and DistributedSystems, vol. 21, no. 8, pp. 1188–1202, 2010.

[135] C. C. Tan, B. Sheng, H. Wang, and Q. Li, “Microsearch: A SearchEngine for Embedded Devices used in Pervasive Computing,” ACMTransactions on Embedded Computing Systems (TECS), vol. 9, no. 4,p. 43, 2010.

[136] P. Federica and P. David, “A DHT-based Discovery Service for the In-ternet of Things,” Journal of Computer Networks and Communications,vol. 2012, pp. 281–293, 2012.

[137] Z. Li, R. Chen, L. Liu, and G. Min, “Dynamic Resource Discoverybased on Preference and Movement Pattern Similarity for Large-ScaleSocial Internet of Things,” IEEE Internet of Things Journal, vol. 3,no. 4, pp. 581–589, 2016.

[138] V. H. Bhat, R. Malkani, Vandana, P. D. Shenoy, K. R. Venugopal, andL. M. Patnaik, “Classification of Email using BeaKS: Behavior andKeyword Stemming,” in Proceedings of TENCON 2011-2011 IEEERegion 10 Conference, pp. 1139–1143, 2011.

[139] H. Noguchi, T. Mori, and T. Sato, “Framework for Search Applicationbased on Time Segment of Sensor Data in Home Environment,” inProceedings of the INSS 2010 - 7th International Conference onNetworked Sensing Systems, pp. 261–264, 2010.

[140] A. Yachir, Y. Amirat, A. Chibani, and N. Badache, “Event-AwareFramework for Dynamic Services Discovery and Selection in theContext of Ambient Intelligence and Internet of Things,” IEEE Trans-actions on Automation Science and Engineering, vol. 13, no. 1, pp.85–102, 2016.

[141] M. Li, H. Chen, X. Huang, and L. Cui, “EasiCrawl: A Sleep-AwareSchedule Method for Crawling IoT Sensors,” in Proceedings of the In-ternational Conference on Parallel and Distributed Systems - ICPADS,vol. 3, pp. 148–155, 2016.

[142] A. J. Jara, P. Lopez, D. Fernandez, J. F. Castillo, M. A. Zamora,and A. F. Skarmeta, “Mobile Digcovery: A Global Service Discoveryfor the Internet of Things,” in Proceedings of 27th International

31

Conference on Advanced Information Networking and ApplicationsWorkshops, WAINA 2013, pp. 1325–1330, 2013.

[143] A. Kamilaris, K. Papakonstantinou, and A. Pitsillides, “Exploring theuse of DNS as a Search Engine for the Web of Things,” 2014 IEEEWorld Forum on Internet of Things, WF-IoT 2014, pp. 100–105, 2014.

[144] D. Georgakopoulos, P. P. Jayaraman, M. Zhang, and R. Ranjan,“Discovery-Driven Service Oriented IoT Architecture,” in Proceedingsof the 2015 IEEE Conference on Collaboration and Internet Computing(CIC), pp. 142–149, 2015.

[145] J. Rykowski, “Managing, Searching, and Accessing IoT Devices viaRest Resources,” International Journal of Computer Networks & Com-munications (IJCNC), vol. 7, no. 3, pp. 171–191, 2015.

[146] N. Namatame, Y. Ding, T. Riedel, H. Tokuda, T. Miyaki, and M. Beigl,“A Distributed Resource Management Architecture for InterconnectingWeb-of-Things Using uBox,” in Proceedings of the Second Interna-tional Workshop on Web of Things - WoT ’11, pp. 1–6, 2011.

[147] K. Bastani, W. Kim, Z. Kong, M. Nussbaum, and W. Huang, “OnlineClassification and Sensor Selection Optimization with Applications toHuman Material Handling Tasks using Wearable Sensing Technolo-gies,” IEEE Transaction on Human-Machine Systems, vol. 46, no. 4,pp. 485 – 497, 2016.

[148] X. Qian and X. Che, “Security-Enhanced Search Engine Design inInternet of Things,” Journal of Universal Computer Science, vol. 18,no. 9, pp. 1218–1235, 2012.

[149] M. Faqeeh, M. Al-Ayyoub, M. Wardat, I. Hmeidi, and Y. Jararweh,“Topical Search Engine for Internet of Things,” in Proceedings ofIEEE/ACS International Conference on Computer Systems and Appli-cations, AICCSA, vol. 2014, no. 978, pp. 829–835, 2014.

[150] X. Tang, C. Jiang, and M. Zhou, “Automatic Web Service Compo-sition based on Horn Clauses and Petri Nets,” Expert Systems withApplications, vol. 38, no. 10, pp. 13 024–13 031, 2011.

[151] J. El Hadad, M. Manouvrier, and M. Rukoz, “TQoS: Transactional andQoS-Aware Selection Algorithm for Automatic Web Service Compo-sition,” IEEE Transactions on Services Computing, vol. 3, no. 1, pp.73–85, 2010.

[152] C.-s. Wu and I. Khoury, “Tree-based Search Algorithm for Web ServiceComposition in SaaS,” in Proceedings of the Ninth InternationalConference on Information Technology: New Generations (ITNG),no. 12, pp. 132–138, 2012.

[153] S. Raghavendra, C. S. Reddy, C. M. Geeta, R. Buyya, K. R. Venugopal,S. S. Iyengar, and L. M. Patnaik, “Survey on Data Storage and RetrievalTechniques over Encrypted Cloud Data,” International Journal ofComputer Science and Information Security (IJCSIS), vol. 14, no. 9,2016.

[154] R. H. Vishwanath, T. V. Samartha, K. C. Srikantaiah, K. R. Venugopal,and L. M. Patnaik, “DRSP: Dimension Reduction for Similarity Match-ing and Pruning of Time Series Data Streams,” International Journalof Data Mining & Knowledge Management Process (IJDKP), vol. 6,no. 3, pp. 107–126, 2013.

[155] S. Cirani, L. Davoli, G. Ferrari, R. Leone, P. Medagliani, M. Picone,and L. Veltri, “A Scalable and Self-Configuring Architecture forService Discovery in the Internet of Things,” IEEE Internet of ThingsJournal, vol. 1, no. 5, pp. 508–521, 2014.

[156] P. Leitner, W. Hummer, and S. Dustdar, “Cost-Based Optimizationof Service Compositions,” IEEE Transactions on Services Computing,vol. 6, no. 2, pp. 239–251, 2013.

[157] T. A. Butt, I. Phillips, L. Guan, and G. Oikonomou, “TRENDY: AnAdaptive and Context-Aware Service Discovery Protocol for 6LoW-PANs,” in Proceedings of the Third International Workshop on theWeb of Things, pp. 1–6, 2012.

[158] Resource Description Framework. [Online]. Available: https://www.w3.org/TR/2014/REC-rdf11-concepts-20140225/

[159] Web Ontology Language . [Online]. Available: https://www.w3.org/standards/techs/owl#w3c all

[160] ETH CS Dpt. Online Room Reservation System. [Online]. Available:http://www.bookings.inf.ethz.ch

[161] C. Wren, Y. Ivanov, D. Leigh, and J. Westhues, “The MERL MotionDetector Dataset,” in MD 07: Proceedings of the 2007 workshop onMassive Datasets, vol. 54, no. 15, pp. 10–14, 2007.

[162] Bicing. [Online]. Available: https://www.bicing.com/[163] NOAA Dataset. [Online]. Available: http://tidesandcurrents.noaa.gov/

gmap3[164] IntelLab Dataset. [Online]. Available: http://db.csail.mit.edu/labdata/

labdata.html[165] MavHome SmartHome Sensor Data Set. [Online]. Available: http:

//ailab.wsu.edu/mavhome/index.html[166] Smart Santander. [Online]. Available: http://www.smartsantander.eu/

[167] Microdata. [Online]. Available: https://www.w3.org/TR/microdata/[168] Microformat. [Online]. Available: https://www.microformats.org/[169] Apache Jena TDB. [Online]. Available: http://jena.apache.org/

documentation/tdb/[170] Commonwealth Scientific and Industrial Research Organisation

(CSIRO), (2011). Phenonet: Distributed Sensor Network for PhenomicsSupported by High Resolution Plant Phenomics Centre, CSIRO ICTCentre, and Csiro Sensor and Sensor Networks TCP, Australia.[Online]. Available: http://www.phenonet.com

[171] Digital Enterprise Research Institute, (2011). Linked SensorMiddleware (LSM) Galway, Ireland. [Online]. Available:http://lsm.deri.ie/

[172] Australian Government, Bureau of Meteorology, (2012). ExperimentalEnvironmental Linked-Data Published by the Bureau of Meteorology,Melbourne, Australia. [Online]. Available: http://lab.environment.data.gov.au/

[173] Air Quality Sensor Dataset. [Online]. Available: https://github.com/BathHacked/documentation/wiki/Bath-Air-Quality-Sensor-Data

[174] D. Balzarotti, P. Costa, and G. P. Picco, “The lights tuple spaceframework and its customization for context-aware applications,” WebIntelligence and Agent Systems: An International Journal, vol. 5, no. 2,pp. 215–231, 2007.

[175] N. Dawes, K. A. Kumar, S. Michel, K. Aberer, and M. Lehning,“Sensor Metadata Management and its Application in CollaborativeEnvironmental Research,” IEEE Fourth International Conference oneScience, eScience’08, pp. 143–150, 2008.

[176] L. Ferreira, L. Correia, D. Xavier, I. Vasconcelos, and E. Fledderus,“Final Report on Traffic Estimation and Services Characterisation,” ISTSEACORN CEC Deliverable, vol. 34900, 2003.

[177] Semantic Service Description Model. [Online]. Avail-able: http://artemis.ccsrfi.net:8686/KnowledgeManagement/ontology/IoT.est-Servicev1.9.owl

[178] Automated Surface Observing System. [Online]. Available: http://mesonet.agron.iastate.edu/ASOS/

[179] OWL-S Service Retrieval Test Collection. [Online]. Available:http://projects.semwebcentral.org/projects/owls-tc/

[180] N. Eagle, A. Pentland, and D. Lazer, “Infering Social Network Struc-ture using Mobile Phone Data,” in Proceedings of National Academyof Sciences, 2006.

[181] Stanford Large Network Dataset Collection.? [Online]. Available:http://snap.stanford.edu/data/

[182] CASAS Dataset. [Online]. Available: http://ailab.wsu.edu/casas/datasets/

[183] Y. Ohsawa, N. E. Benson, and M. Yachida, “KeyGraph: AutomaticIndexing by Co-occurrence Graph based on building ConstructionMetaphor,” pp. 12–18, 1998.

[184] Open Sourced Vulnerability Database Dataset. [Online]. Available:http://osvdb.org/

[185] M. Botts and A. Robin, “OpenGIS Sensor Model Language (Sen-sorML) Implementation Specification,” OpenGIS Implementation Spec-ification OGC, vol. 7, 2007.

[186] Y. Zhou, S. De, W. Wang, K. Moessner, and M. S. Palaniswami,“Spatial Indexing for Data Searching in Mobile Sensing Environments,”Sensors, vol. 17, no. 6, pp. 1427–1446, 2017.

[187] Y. Fathy, P. Barnaghi, and R. Tafazolli, “Distributed Spatial Indexingfor the Internet of Things Data Management,” IFIP/IEEE Symposiumon Integrated Network and Service Management (IM), pp. 1–6, 2017.

[188] Y. Abbas Fathy Abbas, P. Barnaghi, and R. Tafazolli, “Large-ScaleIndexing, Discovery and Ranking for the Internet of Things (IoT),”ACM Computing Surveys, pp. 1–67, 2017.

[189] A. Akbar, A. Khan, F. Carrez, and K. Moessner, “Predictive Analyticsfor Complex IoT Data Streams,” IEEE Internet of Things, vol. 4, no. 5,pp. 1571–1582, 2017.

[190] M. Mohammadi, A. Al-Fuqaha, S. Sorour, and M. Guizani, “DeepLearning for IoT Big Data and Streaming Analytics: A Survey,” arXivpreprint arXiv:1712.04301, 2017.

[191] H. Ma and W. Liu, “Progressive Search Paradigm for Internet ofThings,” IEEE MultiMedia, 2017.

[192] M. Alirezaie, J. Renoux, U. Kockemann, A. Kristoffersson, L. Karls-son, E. Blomqvist, N. Tsiftes, T. Voigt, and A. Loutfi, “An Ontology-based Context-aware System for Smart Homes: E-care@ Home,”Sensors, vol. 17, no. 7, p. 1586, 2017.

[193] S. Hu, H. Wang, C. She, and J. Wang, “AgOnt: Ontology for Agricul-ture Internet of Things,” International Conference on Computer andComputing Technologies in Agriculture, pp. 131–137, 2010.

32

[194] D. Goel, S. Chaudhury, and H. Ghosh, “Smart Water Management:An Ontology-Driven Context-Aware IoT Application,” InternationalConference on Pattern Recognition and Machine Intelligence, pp. 639–646, 2017.

[195] G. Bajaj, R. Agarwal, P. Singh, N. Georgantas, and V. Issarny, “AStudy of Existing Ontologies in the IoT-domain,” arXiv preprintarXiv:1707.00112, 2017.

[196] Y. Sahni, J. Cao, S. Zhang, and L. Yang, “Edge Mesh: A New Paradigmto Enable Distributed Intelligence in Internet of Things,” IEEE Access,vol. 5, pp. 16 441–16 458, 2017.

[197] X. Su, P. Li, H. Flores, J. Riekki, X. Liu, Y. Li, and C. Prehofer,“Transferring Remote Ontologies to the Edge of Internet of ThingsSystems,” International Conference on Green, Pervasive, and CloudComputing, pp. 538–552, 2017.

[198] H. Rahman, R. Rahmani, and T. Kanter, “Multi-Modal Context-AwarereasoNer (CAN) at the Edge of IoT,” Procedia Computer Science, vol.109, pp. 335–342, 2017.

Santosh Pattar received the Bachelor of Engi-neering degree in computer science from RNS In-stitute of Technology, Visvesvaraya TechnologicalUniversity, Bangalore, in 2012 and the Masters ofEngineering degree in Bioinformatics from the Uni-versity Visvesvaraya College of Engineering, Banga-lore University, Bangalore, in 2015. He is currentlypursuing the Ph.D. degree in computer science withUniversity Visvesvaraya College of Engineering,Bangalore University, Bangalore, India. His currentresearch interests include the Internet of Things, with

a focus on device search and discovery techniques, Cloud Computing, DataMining, and Bioinformatics. He is a student member of IEEE.

Rajkumar Buyya is a Redmond Barry Distin-guished Professor and Director of the Cloud Com-puting and Distributed Systems (CLOUDS) Labo-ratory at the University of Melbourne, Australia.He has authored over 625 publications and seventext books including ”Mastering Cloud Computing”published by McGraw Hill, China Machine Press,and Morgan Kaufmann for Indian, Chinese andinternational markets respectively. He is one of thehighly cited authors in computer science and soft-ware engineering worldwide (h-index=115, 69,100+

citations). Software technologies for Cloud computing developed under hisleadership have gained rapid acceptance and are in use at several academicinstitutions and commercial enterprises in 40 countries around the world.Dr. Buyya is recognized as a ”Web of Science Highly Cited Researcher”in both 2016 and 2017 by Thomson Reuters, a Fellow of IEEE, and ScopusResearcher of the Year 2017 with Excellence in Innovative Research Awardby Elsevier for his outstanding contributions to Cloud computing.

Venugopal K R is currently the Principal, Univer-sity Visvesvaraya College of Engineering, BangaloreUniversity, Bangalore. He obtained his Bachelor ofEngineering from University Visvesvaraya Collegeof Engineering. He received his Masters degree inComputer Science and Automation from Indian In-stitute of Science Bangalore. He was awarded Ph.Din Economics from Bangalore University and Ph.Din Computer Science from Indian Institute of Tech-nology, Madras. He has a distinguished academic ca-reer and has degrees in Electronics, Economics, Law,

Business Finance, Public Relations, Communications, Industrial Relations,Computer Science and Journalism. He has authored and edited 64 books onComputer Science and Economics, which include Petrodollar and the WorldEconomy, C Aptitude, Mastering C, Microprocessor Programming, MasteringC++ and Digital Circuits and Systems etc., He has filed 101 patents. Duringhis three decades of service at UVCE he has over 700 research papers to hiscredit. His research interests include Computer Networks, Wireless SensorNetworks, Parallel and Distributed Systems, Digital Signal Processing andData Mining. He is a Fellow of IEEE and ACM Distinguished Educator.

S S Iyengar is currently Ryder Professor, FloridaInternational University, USA. He was Roy PaulDaniels Professor and chairman of the ComputerScience Department of Louisiana state University.He heads the Wireless Sensor Networks Laboratoryand the Robotics Research Laboratory at USA. Hehas been involved with research in High Perfor-mance Algorithms, Data Structures, Sensor Fusionand Intelligent Systems, since receiving hid Ph.D de-gree in 1974 from MSU, USA. He has directed over40 Ph.D students and 100 post graduate students,

many of whom are faculty of Major Universities worldwide or Scientists orEngineers at National Labs/Industries around the world. He has publishedmore than 800 research papers and has authored/co-authored 6 books andedited 7 books. His books are published by John Wiley and Sons, CRC Press,Prentice Hall, Springer Verlang, IEEE Computer Society Press etc. One of hisbooks titled Introduction to Parallel Algorithms has been translated to Chinese.He is a Fellow of IEEE and a Fellow of ACM.

L M Patnaik is currently Senior Scientist, Con-sciousness Studies Program, National Institute ofAdvanced Studies, Indian Institute of Science, India.He was a Vice Chancellor, Defense Institute of Ad-vanced Technology, Pune, India and was a Professorsince 1986 with the Department of CSA, IndianInstitute of Science, Bangalore. During the past 35years of his service at the Institute he has over 1150research publications in refereed International Jour-nals and Conference Proceedings. He has receivedtwenty national and international awards; notable

among them is the IEEE Technical Achievement Award for his significantcontributions to High Performance Computing and Soft Computing. His areasof research interest have been Parallel and Distributed Computing, MobileComputing, CAD, Soft Computing and Computational Neuroscience. He is aFellow of all the four leading Science and Engineering Academies in India;Fellow the Academy of Science for the Developing World and a Fellow ofIEEE.