Formulate an Internet of Things Problem Statement

profileZEKEB
AnAnalysisofReferenceArchitecturesforthe.pdf

An Analysis of Reference Architectures for the Internet of Things

Everton Cavalcante1,2, Marcelo Pitanga Alves3, Thais Batista1, Flavia C. Delicato3, Paulo F. Pires3

1DIMAp, Federal University of Rio Grande do Norte, Natal, Brazil 2IRISA-UMR CNRS/Université de Bretagne-Sud, Vannes, France

3PPGI/DCC, Federal University of Rio de Janeiro, Rio de Janeiro, Brazil {evertonranielly, mpitanga, thaisbatista, fdelicato, paulo.f.pires}@gmail.com

ABSTRACT The Internet of Things (IoT) is a paradigm in which smart objects actively collaborate with other physical and virtual resources available in the Internet. IoT environments are characterized by a high degree of heterogeneity, encompass- ing devices with different capabilities, functionalities, and network protocols. To address such a heterogeneity, some platforms have been proposed aiming at abstracting away the specificities of such devices and promoting interoperabil- ity among them. Nevertheless, the lack of standardization in IoT makes these platforms to often not properly address sev- eral important requirements in this context. In this context, reference architectures can define an initial set of building blocks for IoT environments and to provide a solid foun- dation for leveraging its wide adoption. In this paper, we introduce two recent reference architectures for IoT, namely the IoT Architectural Reference Model and the architecture proposed by WSO2. By analyzing the characteristics of these architectures, we intend to shed light on important issues for future research on reference architectures for IoT.

Categories and Subject Descriptors C.2.4 [Computer-Communication Networks]: Distrib- uted Systems—distributed applications; D.2.11 [Software Engineering]: Software Architectures—domain-specific ar- chitectures

General Terms Design, Standardization

Keywords Internet of Things, IoT, reference architecture

1. INTRODUCTION The Internet of Things (IoT) [1] has rapidly evolved in

recent years as an umbrella term for smart objects, services,

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. CobRA’15, May 6, 2015, Montréal, QC, Canada. Copyright c© 2015 ACM 978-1-4503-3445-7/15/05 ...$15.00. http://dx.doi.org/10.1145/2755567.2755569.

and applications connected through the Internet. Such smart things can also collaborate with other physical and virtual resources available in the Web, thus providing value-added information and functionalities for end-users and/or applica- tions. Furthermore, the dissemination of the IoT paradigm has a wide potential to produce a considerable impact in the daily lives of human beings with the emergence of new appli- cations and systems from several real-world domains, such as energy, health care, and environmental urban monitoring.

IoT environments are inherently characterized by a high degree of hardware and software heterogeneity, encompass- ing devices with different capabilities/functionalities and net- work protocols. In this context, IoT platforms and systems have been recently proposed to abstract away the specifici- ties of such devices from applications and/or end-users, to promote interoperability among them, and to contribute and leverage the development of IoT applications [10]. These ar- chitectures are mainly intended to: (i) efficiently support the heterogeneity and dynamics of IoT environments; (ii) provide abstractions over physical devices and services to applications and users; (iii) provide device management and discovery mechanisms; (iv) allow connecting these elements through the network; (v) manage large volumes of data; and (vi) address security and scalability issues [2].

It has been possible to notice that the IoT platforms pro- posed in the literature mainly focus on the seamless integra- tion of heterogeneous devices and the provision of high-level models for developing applications [2, 9]. However, the lack of standardization in the IoT context leads these solutions to adopt different programming models that are not com- patible with each other, thus becoming an obstacle to the full interoperability required by such a paradigm. Moreover, they do not properly cope with scalability issues and neglect important concerns in their conception, e.g., privacy and se- curity. In fact, there is still no complete consensus on which functional elements and non-functional properties must be addressed by platforms targeting IoT.

In order to mitigate the aforementioned limitations, ref- erence architectures arise as relevant means of defining an initial set of building blocks for IoT environments and pro- viding a solid foundation to leverage a wider adoption of this paradigm. Nonetheless, reference architectures for IoT are a very recent research topic and few proposals have been in- troduced so far. In this paper, we introduce and discuss two reference architectures proposed for IoT, namely the IoT Ar- chitectural Reference Model (IoT ARM) [3] and the archi- tecture developed by the WSO2 company [5]. Our main goal

13

Authorized licensed use limited to: Northcentral University. Downloaded on February 04,2021 at 14:52:53 UTC from IEEE Xplore. Restrictions apply.

is to analyze these two proposals in terms of their support for addressing the main requirements of the IoT paradigm, thus shedding light on important issues to be addressed in future research on reference architectures for IoT. It is im- portant to highlight that we do not intend to herein present the state of the art on reference architectures for IoT, but to analyze the characteristics of these architectures and discuss some relevant issues in this context.

The remainder of this position paper is organized as fol- lows. Sect. 2 highlights the relevance of reference architec- tures for IoT and introduces the previously mentioned solu- tions in this context. Sect. 3 presents a brief discussion built upon an analysis of these reference architectures. Finally, Sect. 4 provides some concluding remarks.

2. REFERENCE ARCHITECTURES FOR IOT

Despite the several definitions found in the literature, ref- erence architectures can be understood as abstract architec- tures encompassing knowledge and experiences in a given application domain, thus being able to facilitate and guide development, standardization, interoperability, and evolu- tion of software systems in such a domain [8]. Establishing reference architectures is an important issue in IoT as they can describe both essential building blocks as well as design choices for dealing with functional and non-functional re- quirements in IoT environments. Therefore, directions pro- vided by a reference architecture are important elements to guide and facilitate the development of IoT systems coping with their increasing scale and complexity. Furthermore, ref- erence architectures allow constructing systems able to prop- erly fulfill the existing requirements of IoT by taking into account the set of building blocks provided by such archi- tectures. Finally, considering that developing interoperable solutions is an important concern in the IoT scenario, such an interoperability can be achieved by constructing system architectures founded upon a reference architecture.

In the following, we introduce two recent reference archi- tectures for IoT, namely (i) the IoT Architectural Refer- ence Model (IoT ARM) [3], developed within the Internet of Things Architecture European project1, and (ii) the ar- chitecture proposed by the WSO2 company [5]. The former was established upon a reference model aiming to be a base- line for IoT system architectures, in a top-down manner. In turn, the latter was conceived by following a bottom-up ap- proach based on the expertise of WSO2 in the development of IoT solutions.

2.1 IoT ARM The IoT ARM proposal is based on the establishment of

an architectural reference model encompassing (i) a refer- ence architecture and (ii) a set of key features to construct IoT concrete architectures. As shown in Fig. 1, this reference architecture provides high-level architectural views and rel- evant perspectives for constructing IoT systems. Such archi- tectural views offer descriptions that allow viewing an archi- tecture under different angles and can be used when design- ing and implementing a concrete architecture. In turn, the perspectives represent set of tasks, tactics, directives, and architectural decisions for ensuring that a given concrete sys- tem accomplishes one or more quality attributes shared by

1 Internet of Things Architecture (IoT-A): http://www.iot-a.eu/

Figure 1: Views and perspectives of the IoT ARM [3].

one or more architectural views. These architectural views and perspectives are briefly described in the following. More details can be found in [3].

Functional View. As depicted in Fig. 2, the Functional View describes nine functionality groups, each one with one or more functional components. Despite this view specifies the basic functional components, it does not specifies the interactions among such components as they typically de- pend on design decisions that are not made at this level of abstraction, but when developing the concrete architecture.

Information View. One of the main purposes of con- nected smart objects in IoT is the exchange of information among each other and also with external systems. There- fore, this view is concerned about how representing relevant information in an IoT system in terms of static information structures. Moreover, it describes the components that han- dle information, the dynamic information flows through the system, and the life cycle of information within the system. The main element of this view is the virtual entity, which models a physical element of interest in the system.

Deployment and Operation View. Connected and smart objects in IoT can be realized in many different ways and can communicate by using many different technologies. In addition, different systems need to communicate with each other in a compliant way. To tackle such issues, this view aims to address how an IoT system can be realized by se- lecting the proper technologies and making them to com- municate and operate, as well as to offer a set of guidelines to drive developers/architects through the different design decisions that they have to face in the system development. Three main elements are encompassed by this view, namely (i) devices, (ii) resources, and (iii) services. Nonetheless, a complete analysis of all technological possibilities and their combinations goes beyond the scope of this view.

Besides the aforementioned views, the IoT ARM offers four perspectives regarded as the most important ones for IoT systems, namely: (i) Evolution and Interoperability ; (ii) Availability and Resilience; (iii) Reliability, Security, and Privacy ; and (iv) Performance and Scalability. Each of these perspectives has more or less impact over each view and con- tains: (i) the desired quality addressed by the perspective; (ii) requirements relevant for IoT and related to the per- spective; (iii) applicability of the perspective to (types of) IoT systems; (iv) activities suggested to achieve the desired qualities; and (v) architectural tactics related to the per- spective and that can be used by an architect when design- ing the system. This set of perspectives seems to be relevant for system developers as several quality parameters have to be taken into account, even more for the IoT domain. More- over, these perspectives are intended to provide a framework for reusing knowledge and fostering the application of a sys- tematic approach to ensure that a given system fulfills the required quality attributes.

14

Authorized licensed use limited to: Northcentral University. Downloaded on February 04,2021 at 14:52:53 UTC from IEEE Xplore. Restrictions apply.

Figure 2: Functional groups and components of the Functional View of the IoT ARM [3].

2.2 WSO2’s Reference Architecture The WSO2 company has proposed a reference architec-

ture based on its expertise in the development of IoT solu- tions [5]. Such a reference architecture encompasses devices and both server-side and cloud architectures required to in- teract with and manage these devices. The main goal is to provide architects and developers with an effective starting point that is able to cover most of the requirements of IoT systems and development projects. However, it does not fo- cus on detailing how a particular client-server, hardware or cloud architecture should work as the reference architecture is independent on specific providers and it is not bound to a specific set of technologies.

Fig. 3 illustrates the reference architecture proposed by WSO2. This architecture consists of a set of five layers, each one performing a well-defined functionality:

(i) Device Layer, in which each device should have a unique identifier and direct or indirect communication with the Internet;

(ii) Communications Layer, which supports device connec- tivity, with multiple potential protocols;

(iii) Aggregation/Bus Layer, which supports, aggregates, and combines communications from several devices, as well as bridges and transforms data among different proto- cols;

(iv) Event Processing and Analytics Layer, which processes and reacts upon events coming from the Aggregation/Bus Layer, as well as can perform data storage; and

(v) External Communications Layer, through which users can interact with devices and access data available at the system.

The WSO2’s reference architecture also provides two ad- ditional transversal layers, namely: (i) Device Management Layer, which communicates with devices through different protocols and allows remotely managing them; and (ii) Iden- tity and Access Management, which is responsible for access control and security directives.

It is important to highlight that each of the layers pro- posed in the WSO2’s reference architecture can be instanti- ated by using specific technologies that better suit the IoT system under construction. For instance, multiple protocols such as the well-known HTTP (HyperText Transfer Proto- col ) and the recent, lightweight CoAP (Constrained Applica- tion Protocol ) can be used to support communication among devices within the Communications Layer.

Figure 3: WSO2’s reference architecture [5].

3. DISCUSSION In the IoT context, there is a set of requirements to be ful-

filled by platforms and systems aiming at meeting needs of users and applications, as well as addressing the challenges that arise from this scenario. The literature often mentions some requirements regarded as essential for IoT platforms [2, 4, 7]: (i) interoperability among the several existing devices, services, and applications; (ii) device management and dy- namic discovery ; (iii) gathering, management, and process- ing of contextual information, i.e., context-awareness; (iv) support to scalability to manage the increasing amount of devices; (v) management of large volumes of data gener- ated by smart objects and transmitted through the network; (vi) data security, integrity, and privacy ; and (vii) dynamic adaptation to ensure availability and quality of applications at execution time. Table 1 summarizes how the elements of both IoT ARM and the WSO2’s reference architecture encompass these requirements. In this table, the

√ symbol

indicates that the requirement is fulfilled, the ◦ symbol in- dicates that the requirement is partially fulfilled, and the × symbol indicates that the requirement is not fulfilled.

As shown in Table 1, most of the aforementioned require- ments are not addressed by the functional components spec- ified by the Functional View of the IoT ARM, even though some important components could be considered for a refer- ence architecture for IoT. On the contrary, the WSO2’s ref- erence architecture encompasses most of the mentioned re- quirements. As the layers provided by such a reference archi- tecture do not specifically determines the functional compo-

15

Authorized licensed use limited to: Northcentral University. Downloaded on February 04,2021 at 14:52:53 UTC from IEEE Xplore. Restrictions apply.

Table 1: IoT requirements vs. reference architectures

Requirement IoT ARM WSO2

Interoperability √ √

Device discovery and management × ◦ Context-awareness × ◦ Scalability

√ √

Management of large volumes of data × ◦ Security, privacy, and integrity

√ √

Dynamic adaptation × ×

nents that realize them, the Event Processing and Analytics Layer could contain a component responsible for process- ing contextual information, as well as another component able to manage large volumes of data. Nevertheless, both IoT ARM and the WSO2’s reference architecture lack of el- ements for dynamic adaptation in IoT. This is an essential requirement that must be taken into account by reference architectures in this scenario due to the high dynamicity of IoT environments, in which devices may become unavailable as a consequence of failure, energy, network unavailability, user mobility, etc.

Another important issue related to reference architectures for IoT is the need of a comprehensive reference model for this context. A reference model can be defined as an ab- stract artifact that presents a set of common concepts and relationships between with respect to a specific domain [8]. In addition, reference models can be used when establishing reference architectures as they provide the common ground in terms of the domain elements required to be encompassed by such architectures. Unlike the WSO2’s reference archi- tecture, the IoT ARM includes the IoT Reference Model, a reference model composed of relevant concepts and defini- tions on which IoT architectures can be built. Such a refer- ence model is also important to offer a common understand- ing of the IoT domain and foster development, comparison, and evaluation of architectural solutions. Moreover, refer- ence models are important for IoT as this paradigm already suffers from an inconsistent usage and misunderstanding of the central elements [6].

4. CONCLUSION The wide variety of requirements to be addressed and de-

vices to be supported in the IoT paradigm results in archi- tectures that are not easy to conceive and handle. In this scenario, it is undeniable the role played by reference archi- tectures as means of guiding the construction of IoT systems and minimizing the existing lack of standardization when developing these solutions.

In this paper, we presented two recent proposals of ref- erence architectures for IoT, namely the IoT ARM and the reference architecture proposed by the WSO2 company. We analyzed both proposals in the light of some well-known re- quirements for IoT platforms and we concluded that both proposals need to go a step further towards fulfilling the es- sential requirements for the IoT realm. Despite both initia- tives neglect dynamic adaptation (a mandatory requirement in this scenario), we observed that the WSO2’s reference ar- chitecture offers a more promising approach for IoT develop- ment as it supports all requirements in a complete or partial way. Nevertheless, the low maturity of these reference archi- tectures clearly points out the need of more research efforts on reference architectures targeting IoT.

Finally, it is important to highlight the role played by reference models in the IoT context, such as the IoT Refer- ence Model included in the IoT ARM. These reference mod- els should be taken into account to allow a comprehensive understanding of the IoT paradigm and related application domains, as well as to support the establishment of refer- ence architectures. In this perspective, we consider that both high-level and domain-specific reference models are required to provide a better baseline for generic and domain-specific reference architectures for IoT and its wide range of appli- cation domains.

5. ACKNOWLEDGMENTS This work is partially supported by CNPq and the Brazil-

ian National Institute of Science and Technology for Soft- ware Engineering (INES). Thais Batista is partially sup- ported by CNPq under grants 573964/2008-4 (INES) and 308725/2013-1. Flavia C. Delicato is partially supported by CNPq and FAPERJ. Paulo F. Pires is partially supported by CNPq under grants 457783/2014-1 and 310661/2012-9.

6. REFERENCES [1] L. Atzori, A. Iera, and G. Morabito. The Internet of

Things: A survey. Computer Networks, 54(15):2787–2805, Oct. 2010.

[2] S. Bandyopadhyay, M. Sengupta, S. Maiti, and S. Dutta. Role of middleware for Internet of Things: A study. International Journal of Computer Science & Engineering Survey, 2(3):94–105, Aug. 2011.

[3] A. Bassi et al., editors. Enabling things to talk: Designing IoT solutions with the IoT Architectural Reference Model. Springer Berlin Heidelberg, Germany, 2013.

[4] M. A. Chaqfeh and N. Mohamed. Challenges in middleware solutions for the Internet of Things. In Proc. of the 2012 Int. Conf. on Collaboration Technologies and Systems, pages 21–26, USA, 2012. IEEE.

[5] P. Fremantle. A reference architecture for the Internet of Things – version 0.8.2. Whitepaper, WSO2, 2014.

[6] S. Haller. The things in the Internet of Things. In Proc. of the 2010 Internet of Things Conference, 2010.

[7] M. Nagy et al. Challenges of middleware for the Internet of Things. In A. D. Rodić, editor, Automation & control – Theory and practice. InTech, Croatia, 2009.

[8] E. Y. Nakagawa, F. Oquendo, and J. C. Maldonado. Reference architectures. In M. C. Oussalah, editor, Software Architecture 1, pages 55–82. ISTE Ltd / John Wiley & Sons, Inc., United Kingdom, 2014.

[9] P. F. Pires, E. Cavalcante, T. Barros, F. C. Delicato, T. Batista, and B. Costa. A platform for integrating physical devices in the Internet of Things. In Proc. of the 12th IEEE Int. Conf. on Embedded and Ubiquitous Computing, pages 234–241, USA, 2014. IEEE.

[10] T. Teixeira, S. Hachem, V. Issarny, and N. Georgantas. Service-oriented middleware for the Internet of Things: A perspective. In W. Abramowicz et al., editors, Proc. of the 4th European Conf. on Towards a Service-Based Internet, volume 6994 of Lecture Notes in Computer Science, pages 220–229. Springer-Verlag Berlin Heidelberg, Germany, 2011.

16

Authorized licensed use limited to: Northcentral University. Downloaded on February 04,2021 at 14:52:53 UTC from IEEE Xplore. Restrictions apply.