• Tidak ada hasil yang ditemukan

Prototypes Dimensions Assessment Focus

Romer, et al. 2010 7 9 Ability of IoTSE to handle real-time sensor data and perform local search Zhang, et al. 2011 6 14 Ability of IoTSE to handle real-time sensor data and perform local search Evdokimov, et al.

2010

5 9 Maturity of Discovery Service architectures and prototypes

Zhou, et al. 2016 49 9 Technologies and techniques transferable to IoTSE

Our Survey 214 24 Forms, Implementation of IoTSE and

the current state of the field

2.9 Summary

The World is becoming a library of resources for software applications, thanks to the Internet of Things. The Internet of Things Search Engines enable the optimal utilization of this emerging library. The diversity of the solution space and the scale of the IoT are the main challenges facing IoTSE.

Our survey on over 200 academic and industrial works related to IoTSE confirms the continuous expansion of the field. It also reveals skewness in the attention that these works receive from their contemporaries. Searching for real-world objects, based on their real-world state is by far the most popular form of IoTSE.

Bridging the gap from the state-of-the-art to an ideal IoTSE that can “find anything, at anywhere and any time” requires addressing various open issues. Supporting the scale of the IoT is the first notable issue. The IoT is larger yet at the same time smaller than the World Wide Web. The total amount of the IoT content might be 50 to 100 times larger than the Web. However, a majority of interactions in the IoT would be among small sets of co-located objects and resources. A potential solution to this problem is engineering IoTSE as an extensive collection of instances, which are deployed near the edge of the IoT. Each

instance monitors a small set of co-located objects and works with other instances to scale up and cover the anticipated 50 billion devices in 2020.

Supporting the diversity of the IoT is the second notable issue. An ideal IoTSE must be able to discover and query most types and combinations of IoT content. Such vision might be achieved by finding a “magical algorithm” that allows assessing any IoT content and developing an IoTSE instance around it. The other solution, which is arguably more realistic, is engineering a large number of IoTSE instances that specialize in different types and combinations of IoT content.

The potential solution to both the scale and the diversity problem point toward engineering a vast number of IoTSE instances. The analyses in this survey suggested the existence of significant overlaps in functionality and internal operation of IoTSE instances, which can be leveraged to enable reuse-centric engineering of IoTSE. These points motivate the research presented in this thesis.

Chapter 3

An IoTSE Reference Architecture

In the previous chapter, we have conducted an extensive survey of IoTSE literature and identified the diversity of IoTSE solution space one of the primary open issues in IoTSE research. We have also found notable overlaps regarding internal operations of IoTSE instances, demonstrated by the mapping of different IoTSE classes into the same modules.

In this chapter, we leverage those insights to propose an IoTSE reference architecture, comprising 18 component types, 13 composition patterns, and 6 deployment patterns. We also introduce a framework for instantiating IoTSE instances based on the proposed reference architecture. For the evaluation, we map two representative IoTSE prototypes, which utilize complex composition and deployment patterns, to the constructs of the reference architecture to demonstrate their utility. By presenting a blueprint for engineering IoTSE instances, this chapter addresses the second research objective of this thesis: to propose a reference architecture that captures the commonalities of IoTSE.

3.1 Introduction

The aim of the research reported in this chapter is compiling the commonalities of IoTSE into aReference Architecture for the Internet of Things Search Engine. This reference architecture captures functional elements and architectural patterns necessary for engineering IoTSE instances.

In developing the reference architecture, we limited our scope to only building blocks and patterns that are necessary for the core functionality of an IoTSE instance – to dis- cover and resolve queries on IoT content. We also avoided the dependency on particular architectural styles and implementation technologies to ensure the broad applicability of the reference architecture. Due to this independence, the proposed architecture, for instance, can instantiate a Service-oriented Architecture (SOA) solution for IoTSE by combining with a Service-oriented Architecture Reference Architecture (e.g., ISO/IEC 18384 [72], S3 [73]) to incorporate building blocks necessary for enabling, monitoring, and securing a service-oriented IoTSE solution. The proposed architecture can also be mapped to a modular system such as OSGi (Open Services Gateway initiative) or even to a set of shared libraries.

The reference architecture serves four purposes. First, it offers a vocabulary comprising building blocks and patterns to enable the communication about IoTSE between involving parties [74]. Second, it helps to align the research and engineering effort on IoTSE across multiple parties by specifying the common architectural building blocks of these systems.

Third, the reference architecture offers a framework for consolidating existing knowledge on designing IoTSE architectures to guide the engineering of new IoTSE instances. Finally, building blocks and patterns specified by the reference architecture lay a foundation for enabling the reuse-centric engineering of IoTSE.

The research for an IoTSE Reference Architecture presented in this chapter addresses the following three objectives:

3.2 Methods for Developing the IoTSE Reference Architecture 65