The Importance of a Context Sharing Architecture for Enabling the Internet of Things
By embedding mobile networking and information processing capability into a wide array of everyday items enabling new forms of communication between people and things, and between things (devices) themselves, the Internet of Things has been adding new dimensions to the world of information and communication technology. An important consideration about IoT is how to capture the context in which the devices operate. Context can store relevant information about the devices and their events. However, current context systems provide context information only locally in specific domains and not shared with other entities, which is mandatory to have a horizontal approach.
IoT devices generate many data, which will only be useful if we can analyze, interpret and understand it in a proper way, turning it into context information. However, with the integration of different IoT environments (e.g., healthcare, urban traffic, public city services) to provide relevant solutions, only providing context is no longer enough. In this sense, sharing context information between different environments and systems has become mandatory .
Context sharing is largely neglected in the context-aware domain. Indeed, most of the systems or architectures for context management are designed to facilitate applications in isolated factions, and inter-systems communication is not considered to be a critical requirement. However, in the IoT, there are no central point of control, which means different systems developed by different parties can be employed in the environment to connect to things (e.g., sensors, actuators), and thus collect, model, and also reason about the environment context.
There is a need to define a system that goes beyond vertical solutions by integrating all required technologies and components into a common, open, and multi-application platform . There is also a need to develop a set of common building blocks and services that can be used to construct people-oriented applications in an open, dynamic, and more effective way into smart environments, including but not restricted to smart cities, businesses, education and e-health. Context Sharing Architecture becomes mandatory to make context sharing considering different aspects of IoT such as heterogeneity, interoperability, and real-time processing.
Context-awareness and sharing requirementsFigure 1 presents a context-awareness taxonomy for IoT environments. According to the taxonomy, we can split the context-awareness in four main steps, named the context lifecycle. The four phases of context life-cycle are essential to produce context information. Each phase of the life-cycle has its own challenges. The challenges of the acquisition step are related to the context-aware system capability to support the registration of new data sources (i.e., data providers, sensors, and devices), and its technical issues, as well as the network communication used to acquire the data sources information.
Figure 1: Context-awareness taxonomy for IoT.
The modelling and reasoning phases has the same challenges because these phases strictly depend on each other. The pre-processing is related to handle imperfect and ambiguous data in the modeling to facilitate the reasoning process. Security and privacy are essential for these phases to protect the context information in many ways (e.g., authentication, access control, and data protection). The data fusion is related to the functions of data aggregation, fusion, mathematical and statistical. These functions may occur in the reasoning phase in order to produce context information.
A standardization for the data formats is a challenge in the distribution phase. This standardization can be reached with unit conversion, data customization, or alternative data structures. Accessibility is another distribution phase challenge. A context-aware system must provide accessibility through APIs, documentation, and multiple options or alternatives of system use.
The use of context sharing enables computational entities such as agents and services in pervasive computing environments to have a common set of concepts about context while interacting with one another. By reusing well-defined context of different domains, we can compose large-scale context information without starting from scratch.
Next items present a description of the requirements that a possible Context Sharing Architecture must address to meet all the context-awareness challenges  .
- Heterogeneity: Different from the most context systems that comprise only an application-specific system (i.e., a vertical domain), components of shared systems might be highly heterogeneous along several dimensions and applications, such as: how the context is produced, consumed, and understood. Currently, there is no standard context notation format. Although there is a wide range of applicable context information, it is impossible to make a one size fits all notation format;
- Systems Management: In an IoT environment, large number of various types of devices are able to connect to the network. The Context Sharing Architecture must allow that those devices can register in the architecture to enable the interoperability with shared systems;
- Processing of Context Information: If large numbers of various types of devices become ubiquitous and can be connected by IP networks, it will not be realistic for those requesting context information to specify context from a certain device. In this sense, it requires the architecture to have the smart capacity to obtain, produce, and share the context information of a high-level request;
- Scalability and Real-time: Massive quantities of all sorts of context information need to be processed at high speed and in an efficient way;
- Security and Privacy: Authorization and access control are indispensable for management of context information, once it often includes extremely private information such as user location and preferences. Concerning privacy protection, it is necessary to specify to what extent the information may be disclosed and must be provided with a means to trace and destroy the information if necessary.
Considerations about the existing gap
A context sharing architecture that provides relevant approaches regarding heterogeneity, system management, processing of context information, scalability and real-time, and security and privacy should be defined. There are some approaches that already address these challenges separately. Therefore, adapting them to enable the context sharing in IoT environments would be beneficial for the sharing architecture definition.
The importance of having a Context Sharing Architecture is strongly related to the need of people sharing information between different places. Although the context sharing concept is used in the pervasive computing area by some systems, the sharing mostly occurs locally with a small group of similar entities, not taking into account the possibility of a heterogeneous environment, what is very common in IoT. There is a need of providing a Context Sharing Architecture able to share context information between heterogeneous entities considering the context management in a secure and interoperable way.
Regarding the use of existing technologies to develop such architecture, OWL of the Semantic Web standards may be applied to the common context description scheme of systems that made context sharing process. According to the World Wide Web Consortium (W3C), “the Semantic Web provides a common system that allows data to be shared and reused across application, enterprise, and community boundaries”. The ultimate vision of the Semantic Web is to make automated semantic agents access the Web on their own and carry out tasks only by referring to the semantics encoded into the Web page on behalf of users.
Even that ontology works for the standardization by mitigating the heterogeneity challenge, this is a complex issue and other technologies need to be employed. Web services can be used to hide the context systems patterns in order to standardize the communication channel used for the context information transport.
The security is one of the main challenges towards the definition of such architecture. There is a need to protect contextualized information exchanged between entities. In this sense, the use of DTLS protocol is a viable choice to protect communications channels, since it is not a protocol designed for resource-constrained environments. Authentication, authorization, confidentiality, and integrity must be used to protect the proposed architecture.
Although the definition of a context sharing architecture is noteworthy, it is mandatory to be careful with the way in which it is developed. There are two relevant challenges to overcome. The first challenge is to understand the way in which context will be standardized in order to be shared. The use and optimization of web services and Semantic Web can be a first step towards the mitigation of this issue. The second challenge is related to scalability and real-time sharing. There is a need to optimize mechanisms in order to minimize the data/context traffic between entities. The use of Edge Computing concept, which is related with data processing in the edges, may be a way of reducing the extra information exchanged.
- C. Perera, A. Zaslavsky, P. Christen, and D. Georgakopoulos, “Context aware computing for the internet of things: A survey,” Communications Surveys Tutorials, IEEE, vol. 16, no. 1, pp. 414–454, 2014.
- F. Boavida, A. Kliem, T. Renner, J. Riekki, C. Jouvray, M. Jacovi, S. Ivanov, F. Guadagni, P. Gil, and A. Trivino,˜ People-Centric Internet of Things—Challenges, Approach, and Enabling Technologies. Cham: Springer International Publishing, 2016, ch. 44, pp. 463–474.
- K. Nihei, “Context sharing platform,” NEC journal of advanced technology, vol. 1, no. 3, pp. 200–204, 2004.
- Kansal, S. Nath, J. Liu, and F. Zhao, “Senseweb: An infrastructure for shared sensing,” IEEE MultiMedia, vol. 14, no. 4, pp. 8–13, Oct 2007.
Everton de Matos has been working with Internet of Things technologies since 2014. He is a Ph.D. candidate in the area of context-awareness for Internet of Things, at the Computer Science School at the Pontifical Catholic University of Rio Grande do Sul (PUCRS), acting at Embedded System Group (GSE). He has experience in computer science and his research interests are IoT, Middleware for IoT, and context-awareness in IoT environments. Contact him at firstname.lastname@example.org.
Fabiano Hessel is Associate Professor of Computer Science at PUCRS (Brazil), Research Productivity Scholarship from CNPq and act as Advisor in the Office of the PUCRS Vice-President for Innovation, Research and Development. He received his Ph.D. in Computer Science from Joseph-Fourier University, France (2000). He is the head of Embedded System Group (GSE) and the Coordinator of the Smart City Research and Innovation Center at PUCRS. Professor Hessel is member of the IEEE and of the Brazilian Computer Society (SBC). His research interests are embedded real-time systems, RTOS and MPSoC systems applied to Internet of Things and Sustainable+SmartCities. Contact him at email@example.com.
Subscribe to the Newsletter
Join our free IoT Technical Community and receive our Newsletter.
Calendar of Events
2019 IEEE International Conference on Internet of Things and Intelligence System (IoTaIS)
5-7 November 2019
"IoT and the mmWave Frontier", an IEEE IoT Vertical and Topical Summit, co-located with IEEE RWW2020
26-27 January 2020
San Antonio, TX, USA
IEEE 6th World Forum on Internet of Things (WF-IoT)
5-9 April 2020
New Orleans, LA, USA
Call for Papers
Special Issue on Internet of Things for Smart Ocean
Submission Deadline: 1 November 2019
Special Issue on Software Engineering Research and Practices for the Internet of Things
Submission Deadline: 15 October 2019
Special Issue on Deep Reinforcement Learning for Emerging IoT Systems
Submission Deadline: 1 October 2019