IoT-CANE: A unified knowledge management system for data-centric Internet of Things application systems

https://doi.org/10.1016/j.jpdc.2019.04.016Get rights and content

Highlights

  • A unified conceptual model captures the resource configurations in IoT environments.

  • A support recommender system for the recommendation of resource configuration in IoT.

  • An incremental method to facilitate the knowledge acquisition.

  • An interface converts context information to optimal IoT resource configurations.

Abstract

Identifying a suitable configuration of devices, software and infrastructures in the context of user requirements is fundamental to the success of delivering IoT applications. As possible configurations could be large in number and not all configurations are valid, a configuration knowledge representation model can provide ready-made configurations based on IoT requirements. Combining such a model within the context of a given user-oriented scenario, it is possible to automate the recommendation of solutions for deployment and long-time evolution of IoT applications. However, in the context of Cloud/Edge technologies, that may themselves exhibit significant configuration possibilities that are also dynamic in nature, a more unified approach is required. We present IoT-CANE (Context Aware recommendatioN systEm) as such a unified approach. IoT-CANE embodies a unified conceptual model capturing configuration, constraint and infrastructure features of Cloud/Edge together with IoT devices. The success of IoT-CANE is evaluated through an end-user case study.

Introduction

The Internet of Things (IoT) is the idea of things (devices) that are locatable, readable and recognizable and controllable through using the Internet [16], [22], [24]. In IoT a number of things and resources (Edge and/or Cloud) combine to provide services that form the basis for many different types of applications that are commonly referred to as smart (e.g., smart healthcare, smart homes, smart buildings, smart manufacturing, smart agriculture, smart traffic). “Smart” is a way of categorizing those applications where users can discover, query and employ different IoT entities on demand in real-time without such entities requiring further human intervention in their development to achieve the desired outcomes. Numerous entities are developed by manufacturers for use within IoT infrastructures. These entities are not only physical, such as sensors and actuators, but also virtual, like social media (e.g., Facebook, Twitter, MySpace). The heterogeneous large-scale data from such physical and virtual entities (e.g., [9], [10], [19], [28]) raises a challenge of unified resource configuration knowledge representation and high performance data processing [14]. Therefore, we need to incorporate the digital world and physical worlds in IoT ecosystems. In order to allow this level of interoperability, it is important to define the services supplied by these physical and virtual entities in a homogeneous way [23]. More specifically, the requirement of developing a novel and unified conceptual model to represent the knowledge and configuration information of each entity in the IoT field is necessary. However, given the propriety nature of manufacturer platforms coupled with the variety of propriety Cloud/Edge standards this is a challenging problem.

In order to sketch the problem domain from a user’s viewpoint, consider a scenario of a manager creating a smart building application at minimal financial cost. The manager purchases low priced IoT devices from different manufacturers (e.g., temperature sensors, motion sensors, humidity sensors, Raspberry Pi, enabling gateways). We may assume the manager does not have knowledge of Cloud and Edge resource configuration management and deployment. Therefore, the manager needs to find some IoT application solution provider to offer IoT resource configuration management and deployment solutions given the IoT purchases and existing IT infrastructures. However, the majority of IoT application providers offer expensive solutions that predominantly favor existing services within their own service lists which include only IoT devices supported by their software. The ability to combine any IoT device produced by different manufacturers would be difficult as there may well exist propriety Application Programming Interfaces (APIs). This increases the difficulty of service deployment from a single IoT application solution provider as additional development may be required to provide API wrappers for devices outside a provider’s standard IoT solution list. This is a significant problem as there are more than 325 available APIs for IoT programming listed in the ProgrammableWeb website [3]. Programming requirements from such a diverse range of APIs and associated IoT devices brings new challenges in configuration management and deployment of IoT applications resulting in increasing financial cost to the IoT user.

In another scenario, a householder purchases a new smart camera to enhance their smart home application with an intrusion detection service. They would like to connect a camera to their smart home environment by establishing a connection between the camera and a gateway to collect graphical data. Another IoT entity in the smart home application can capture the graphic data and may detect any intrusion via real-time image analysis. The householder may have already implemented the smart home with the help of a professional IoT solution provider firm. Unfortunately, it may not be affordable or practical to seek such help when enhancing the current smart home system with additional new IoT devices to further enhance functionality. Discovering and adding a new device or a new service into an existing IoT application becomes a challenge for the end user, who would probably have little or no knowledge of IoT infrastructures beyond the commercial instructions on the devices themselves. For example, the new data format for the images originating from the newly purchased smart camera may be new for this smart home application and require additional integration technologies and updates to the existing IoT infrastructure. As Smart technology expands we expect many IoT application users will meet diverse problems in IoT resource configuration management and deployment. Furthermore, due to evolving IoT development diversity, the challenge of meeting this problem needs to be managed in a structured way.

To address the challenges of increased diversity and heterogeneity within IoT solution provision we present a unified configuration management and recommendation system that spans IoT device infrastructures and Cloud/Edge resources (IoT-CANE). The core idea in IoT-CANE is to capture the IoT resource configuration knowledge and then to implement a system that can be updated as and when IoT solutions evolve to facilitate increased acquisition of knowledge. IoT-CANE uses transaction procedures and applies SQL-based approaches to enable different IoT resource configuration operation recommendations.

The key contributions of this paper are as follows:

  • A unified conceptual model capturing resource configurations in IoT environments including those spanning Edge and Cloud.

  • A system utilizing our unified conceptual knowledge configuration resource model to recommend valid and appropriate deployment configurations to users.

  • An incremental method to facilitate the knowledge acquisition in an IoT resource configuration knowledge base to ensure relevance of IoT-CANE is maintained to reflect IoT and Cloud/Edge innovations.

  • A service pipeline for converting context information captured from user requirements into optimal IoT resource configurations solutions.

The rest of this paper is organized as follows. Related work is presented in Section 2. A detailed description of the conceptual model and system architecture embodied within IoT-CANE is presented in Section 3. Our rule based approach to recommendation techniques employed within IoT-CANE are presented in Section 4 with detailed descriptions of design and implementation presented in Section 5. Evaluation of a use case study is provided in Section 6 with conclusions and future work described in Section 7.

Section snippets

Related work

In this section we consider configuration management, conceptual models, and configuration recommendation systems suitable for IoT application deployment across IoT and Cloud/Edge computing. We highlight how research challenges have generated significant work in the different areas of IoT and Cloud/Edge computing, but gaps in requirements still suggest a strong case for our work on IoT-CANE.

Conceptual model and system architecture

In this section we present our approach to Cloud/Edge unified with IoT infrastructure configuration determination and recommendation; the IoT-CANE system architecture.

Recommendation system technique

IoT-CANE adopts a rule-based method to generate context-aware configuration recommendations. Ripple Down Rules are employed to facilitate knowledge acquisition. Detailed techniques are discussed in the section given below.

Design and implementation

In this section, we present the overall system design including the system workflow and the recommendation rule tree of IoT-CANE.

User evaluation

In this section, we present the experimental setup and user evaluation for IoT-CANE.

Conclusion and future work

In this paper we present a unified solution to the pressing problem of delivering appropriate IoT solutions in the increasingly complex world of cloud/edge/IoT environments. Today’s IoT developers are required to provide gateway technologies across a variety of device manufacturers spanning numerous data analysis techniques supported on distinct Cloud/Edge providers. This is a complex and significant task and provides a large number of ways IoT applications may be configured, deployed and

Acknowledgments

This research is supported by the following projects: LANDSLIP, UK: NE/P000681/1, FloodPrep, UK: NE/P017134/1 and PACE: Privacy-Aware Cloud Ecosystems, UK : EP/R033293/1.

Declaration of competing interest

No author associated with this paper has disclosed any potential or pertinent conflicts which may be perceived to have impending conflict with this work. For full disclosure statements refer to https://doi.org/10.1016/j.jpdc.2019.04.016.

Yinhao Li is a Ph.D. student in the School of Computing at Newcastle University, UK. His research interests include Cloud Computing, Edge Computing and Internet of Things. He previously received his M.Sc. in Computer Science from the China University of Geoscience. Contact him at [email protected]

References (32)

  • Docker, https://www.docker.com/,...
  • AlqahtaniA. et al.

    End-to-end service level agreement specification for iot applications

  • AriasT.S.A. et al.

    Human behavior ontologies: Surveillance task

  • BauerM. et al.

    Iot reference model

  • ChenD. et al.

    H-PARAFAC: Hierarchical parallel factor analysis of multidimensional big data

    IEEE Trans. Parallel Distrib. Syst.

    (2017)
  • ChenD. et al.

    Fast and scalable multi-way analysis of massive neural data

    IEEE Trans. Comput.

    (2015)
  • Cited by (0)

    Yinhao Li is a Ph.D. student in the School of Computing at Newcastle University, UK. His research interests include Cloud Computing, Edge Computing and Internet of Things. He previously received his M.Sc. in Computer Science from the China University of Geoscience. Contact him at [email protected]

    Awatif Alqahtani has a B.S. and M.S. in Computer Science from King Saud University, Saudi Arabia. She is currently working toward a Ph.D. in the School of Computing Science at Newcastle University, UK. Her research interests include the Internet of Things, Big Data and service level agreement. Contact her at [email protected]

    Ellis Solaiman is a Lecturer at the School of Computing, Newcastle University. He previously received his Ph.D. in Computing Science also from Newcastle University, where he subsequently worked as a Research Associate and Teaching Fellow. His research interests are mainly in the areas of Dependability and Trust in Distributed Systems such as the Cloud and the Internet of Things. He is also interested in the automated monitoring of these systems using technologies such as Smart Contracts. He is a Fellow of the UK Higher Education Academy (FHEA) since 2016. Contact him at [email protected]

    Charith Perera is a Lecturer (Assistant Professor) in Computing Science at Cardiff University, United Kingdom. Dr. Perera received the B.Sc. (Hons) degree in computer science from Staffordshire University, Stoke-on-Trent, UK. in 2009 and the Master of Business Administration (MBA) from the University of Wales, Cardiff, UK. in 2012. He received the Ph.D. degree in computer science from The Australian National University, Canberra, Australia. He completed his post-doctoral at Newcastle University, UK and Open University, UK. Previously, he was with the Information Engineering Laboratory, ICT Centre, CSIRO, Australia. His research interests include Internet of Things, Sensing as a Service, infrastructure and architectures, privacy and security. Dr. Perera is a member of the ACM and IEEE. For more details: charithperera.net

    Prem Prakash Jayaraman is currently a Research Fellow at Swinburne University of Technology, Melbourne. His research areas of interest include, Internet of Things, cloud computing, mobile computing, sensor network middleware and semantic Internet of Things. He has authored/co-authored more than 50 research papers in international Journals and conferences such as IEEE Trans. on Cloud Computing, IEEE Selected areas in Communication, Journal of Computational Science, IEEE Transactions on Emerging Topics in Computing, Future Generation Computing Systems, Springer Computing, ACM Ubiquity Magazine, IEEE Magazine. He is one of the key contributors of the Open Source Internet of Things project Open IoT that has won the prestigious Black Duck Rookie of the Year Award in 2013. He has been the recipient of several awards including hackathon challenges at the 4th International Conference on IoT (2014) at MIT media lab, Cambridge, MA and IoT Week 2014 in London and best paper award at HICSS 2016/2017 and IEA/AIE-2010. Previously he was a Postdoctoral Research Fellow at CSIRO Digital Productivity Flagship, Australia from2012to2015.

    Rajkumar Buyya is a Fellow of IEEE, Professor of Computer Science and Software Engineering and Director of the Cloud Computing and Distributed Systems (CLOUDS) Laboratory at the University of Melbourne, Australia. He is also serving as the founding CEO of Manjrasoft, a spin-off company of the University, commercializing its innovations in Cloud Computing. He served as a Future Fellow of the Australian Research Council during 2012–2016. He has authored over 525 publications and seven text books including “Mastering Cloud Computing” published by McGraw Hill, China Machine Press, and Morgan Kaufmann for Indian, Chinese and international markets respectively. He also edited several books including “Cloud Computing: Principles and Paradigms” (Wiley Press, USA, Feb 2011). He is one of the highly cited authors in computer science and software engineering worldwide (h-index=118, g-index=225, 72,200+ citations). Recently, Dr. Buyya is recognized as “2016 Web of Science Highly Cited Researcher” by Thomson Reuters. Software technologies for Grid and Cloud computing developed under Dr. Buyya’s leader-ship have gained rapid acceptance and are in use at several academic institutions and commercial enterprises in 40 countries around the world. Manjrasoft’s Aneka Cloud technology developed under his leadership has received “2010 Frost & Sullivan New Product Innovation Award”. Recently, Dr. Buyya received “Bharath Nirman Award” and “Mahatma Gandhi Award” along with Gold Medals for his outstanding and extraordinary achievements in Information Technology field and services rendered to promote greater friendship and India–International cooperation. He served as the founding Editor-in-Chief of the IEEE Transactions on Cloud Computing. He is currently serving as Co-Editor-in-Chief of Journal of Software: Practice and Experience, which was established over 45 years ago. For further information on Dr. Buyya, please visit his cyberhome: www.buyya.com

    Graham Morgan works in the field of distributed systems and created Game Lab at Newcastle University. Game Lab is a research and teaching laboratory that works with the video games industry on optimized resource management, streamed/networked gaming and real-time graphical simulations. Members of the lab regularly work on many of the top selling global video games. In addition to commercial activity, he has led research in a wide area of distributed systems topics, including the development of large scale real-time gaming technologies for cloud infrastructures and applied such work in the area of digital health for stroke rehabilitation and cognitive therapies. His work has won best paper awards in leading IEEE and ACM conferences and he has published in leading IEEE and ACM journals.

    Rajiv Ranjan is a Chair and Professor in Computing Science at Newcastle University, United Kingdom, as well as at China University of Geosciences, China. Before moving to Newcastle University, he was Julius Fellow (2013–2015), Senior Research Scientist and Project Leader in the Digital Productivity and Services Flagship of Common wealth Scientific and Industrial Research Organization (CSIRO C Australian Governments Premier Research Agency). Prior to that he was a Senior Research Associate (Lecturer level B) in the School of Computer Science and Engineering, University of New South Wales (UNSW). He has a Ph.D. (2009) from the Department of Computer Science and Software Engineering, the University of Melbourne.

    View full text