Abstract
The evolution of Internet of Things (IoT) technology has led to an increased emphasis on edge computing for Cyber-Physical Systems (CPS), in which applications rely on processing data closer to the data sources, and sharing the results across heterogeneous clusters. This has simplified the data exchanges between IoT/CPS systems, the cloud, and the edge for managing low latency, minimal bandwidth, and fault-tolerant applications. Nonetheless, many of these applications administer data collection on the edge and offer data analytic and storage capabilities in the cloud. This raises the problem of separate software stacks between the edge and the cloud with no unified fault-tolerant management, hindering dynamic relocation of data processing. In such systems, the data must also be preserved from being corrupted or duplicated in the case of intermittent long-distance network connectivity issues, malicious harming of edge devices, or other hostile environments. Within this context, the contributions of this paper are threefold: (i) to propose a new Internet of Things Edge-Cloud Federation (IoTEF) architecture for multi-cluster IoT applications by adapting our earlier Cloud and Edge Fault-Tolerant IoT (CEFIoT) layered design. We address the fault tolerance issue by employing the Apache Kafka publish/subscribe platform as the unified data replication solution. We also deploy Kubernetes for fault-tolerant management, combined with the federated scheme, offering a single management interface and allowing automatic reconfiguration of the data processing pipeline, (ii) to formulate functional and non-functional requirements of our proposed solution by comparing several IoT architectures, and (iii) to implement a smart buildings use case of the ongoing Otaniemi3D project as proof-of-concept for assessing IoTEF capabilities. The experimental results conclude that the architecture minimizes latency, saves network bandwidth, and handles both hardware and network connectivity based failures.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Choi, M., Park, J., Jeong, Y.-S.: Mobile cloud computing framework for a pervasive and ubiquitous environment. J. Supercomput. 64, 331–356 (2013)
Atzori, L., Iera, A., Morabito, G.: The Internet of Things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)
Främling, K., Holmström, J., Ala-Risku, T., Kärkkäinen, M.: Product agents for handling information about physical objects, WorkingPaper 153/03. Helsinki University of Technology, Laboratory of Information Processing Science (2003)
Shi, W., Cao, J., Zhang, Q., Li, Y., Xu, L.: Edge computing: vision and challenges. IEEE IoT J. 3(5), 637–646 (2016)
Schmid, S., Bröring, A., Kramer, D., Käbisch, S., Zappa, A., Lorenz, M., Wang, Y., Rausch, A., Gioppo, L.: An architecture for interoperable IoT ecosystems. In: Interoperability and Open-Source Solutions for the Internet of Things - Second International Workshop, InterOSS@IoT 2016, Held in Conjunction with IoT 2016, Stuttgart, Germany, November 7, 2016, Invited Papers, pp. 39–55 (2016)
Huang, Y., Garcia-Molina, H.: Exactly-once semantics in a replicated messaging system. In: Proceedings of the 17th International Conference on Data Engineering, April 2-6, 2001, Heidelberg, Germany, pp. 3–12 (2001)
Javed, A., Heljanko, K., Buda, A., Främling, K.: CEFIoT: a fault-tolerant IoT architecture for edge and cloud. In: 4th IEEE World Forum on Internet of Things, WF-Iot 2018, Singapore, February 5-8, 2018, pp. 813–818 (2018)
Buda, A., Kinnunen, T., Dave, B., Främling, K.: Developing a campus wide building information system based on open standards. In: Lean and Computing in Construction Congress (LC3): Volume I - Proceedings of the Joint Conference on Computing in Construction (JC3), July 4-7, Heraklion, Greece, pp. 733–740 (2017)
Dave, B., Buda, A., Nurminen, A., Främling, K.: A framework for integrating BIM and IoT through open standards. Autom. Constr. 95, 35–45 (2018)
Avizienis, A.: Toward systematic design of fault-tolerant systems. IEEE Computer 30(4), 51–58 (1997)
Mei, J., Li, K., Zhou, X., Li, K.: Fault-tolerant dynamic rescheduling for heterogeneous computing systems. J. Grid Comput. 13(4), 507–525 (2015)
Dean, J., Barroso, L.A.: The tail at scale. Commun. ACM 56(2), 74–80 (2013)
Pradhan, D.K., Reddy, S.M.: A Fault-Tolerant communication architecture for distributed systems, IEEE trans, journal=Computers, 31(9), 863–870 (1982)
Laprie, J., Arlat, J., Béounes, C., Kanoun, K.: Definition and analysis of hardware- and software-fault-tolerant architectures. IEEE Computer 23(7), 39–51 (1990)
Hwang, S., Kesselman, C.: A flexible framework for fault tolerance in the grid. J. Grid Comput. 1(3), 251–272 (2003)
Jhawar, R., Piuri, V., Santambrogio, M.D.: Fault tolerance management in cloud computing: a system-level perspective. IEEE Syst. J. 7(2), 288–297 (2013)
Su, P.H., Shih, C., Hsu, J.Y., Lin, K., Wang, Y.: Decentralized fault tolerance mechanism for intelligent IoT/M2M middleware. In: IEEE World Forum on Internet of Things, WF-Iot 2014, Seoul, South Korea, March 6-8, 2014, pp. 45–50 (2014)
Soltesz, S., Pötzl, H., Fiuczynski, M.E., Bavier, A.C., Peterson, L.L.: Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors. In: Proceedings of the 2007 EuroSys Conference, Lisbon, Portugal, March 21-23, 2007, pp. 275–287 (2007)
Peinl, R., Holzschuher, F., Pfitzer, F.: Docker cluster management for the cloud - survey results and own solution. Journal of Grid Computing 14(2), 265–282 (2016)
Newman, S.: Building microservices - designing fine-grained systems, 1st edn. O’Reilly (2015)
Verma, A., Pedrosa, L., Korupolu, M., Oppenheimer, D., Tune, E., Wilkes, J.: Large-scale cluster management at Google with Borg. In: Proceedings of the Tenth European Conference on Computer Systems, EuroSys 2015, Bordeaux, France, April 21-24, 2015, pp. 18:1–18:17 (2015)
Bernstein, D.: Containers and cloud: from LXC to Docker to Kubernetes. IEEE Cloud Comput. 1 (3), 81–84 (2014)
Turnbull, J.: The Docker book: containerization is the new virtualization, James Turnbull (2014)
Kakadia, D.: Apache Mesos Essentials. Packt Publishing Ltd (2015)
Kreps, J., Narkhede, N., Rao, J., et al.: Kafka: a distributed messaging system for log processing. In: Proceedings of the NetDB, pp. 1–7 (2011)
Hunt, P., Konar, M., Junqueira, F.P., Reed, B.: Zookeeper: wait-free coordination for internet-scale systems. In: 2010 USENIX Annual Technical Conference, Boston, MA, USA, June 23-25, 2010 (2010)
Weyrich, M., Ebert, C.: Reference architectures for the internet of things. IEEE Softw. 33(1), 112–116 (2016)
Ganchev, I., Ji, Z., O’Droma, M.: A generic IoT architecture for smart cities. In: 25th IET Irish Signals Systems Conference 2014 and 2014 China-Ireland International Conference on Information and Communications Technologies (ISSC 2014/CIICT 2014), pp. 196–199 (2014)
Tracey, D., Sreenan, C.J.: A holistic architecture for the Internet of Things, sensing services and big data. In: 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, CCGrid 2013, Delft, Netherlands, May 13-16, 2013, pp. 546–553 (2013)
Premsankar, G., Francesco, M.D., Taleb, T.: Edge computing for the internet of things: a case study. IEEE IoT J. 5(2), 1275–1284 (2018)
Rodrigues, J., Marques, E.R.B., Lopes, L.M.B., Silva, F.M.A.: Towards a middleware for mobile edge-cloud applications. In: Proceedings of the 2nd Workshop on Middleware for Edge Clouds & Cloudlets, MECC@Middleware 2017, Las Vegas, NV, USA, December 11 - 15, 2017, pp. 1:1–1:6, ACM (2017)
Kertesz, A., Pflanzner, T., Gyimothy, T.: A mobile IoT device simulator for IoT-Fog-Cloud systems. J. Grid. Comput. 17, 529–551 (2018)
Krco, S., Pokric, B., Carrez, F.: Designing IoT architecture(S): a european perspective. In: IEEE World Forum on Internet of Things, WF-Iot 2014, Seoul, South Korea, March 6-8, 2014, pp. 79–84 (2014)
Kelaidonis, D., Rouskas, A., Stavroulaki, V., Demestichas, P., Vlacheas, P.: A federated edge cloud-IoT architecture. In: 2016 European Conference on Networks and Communications (EuCNC), pp. 230–234. IEEE (2016)
Alam, M., Rufino, J., Ferreira, J., Ahmed, S.H., Shah, N., Chen, Y.: Orchestration of microservices for IoT using docker and edge computing. IEEE Commun. Mag. 56(9), 118–123 (2018)
Munir, A., Kansakar, P., Khan, S.U.: IFCIOT: integrated fog cloud IoT: a novel architectural paradigm for the future Internet of Things. IEEE Consum. Electron. Mag. 6(3), 74–82 (2017)
Sarkar, C., Nambi, S.N.A.U., Prasad, R.V., Biswas, A.R., Neisse, R., Baldini, G.: DIAT: A scalable distributed architecture for IoT. IEEE IoT J. 2(3), 230–239 (2015)
Cheng, B., Papageorgiou, A., Cirillo, F., Kovacs, E.: Geelytics: Geo-distributed edge analytics for large scale IoT systems based on dynamic topology. In: 2nd IEEE World Forum on Internet of Things, WF-Iot 2015, Milan, Italy, December 14-16, 2015, pp. 565–570 (2015)
Chang, H., Hari, A., Mukherjee, S., Lakshman, T.V.: Bringing the cloud to the edge. In: 2014 Proceedings IEEE INFOCOM Workshops, Toronto, ON, Canada, April 27 - May 2, 2014, pp. 346–351 (2014)
Elias, A.R., Golubovic, N., Krintz, C., Wolski, R.: Where’s the bear?: automating wildlife image processing using IoT and edge cloud systems. In: Proceedings of the Second International Conference on Internet-of-Things Design and Implementation, IoTDI 2017, Pittsburgh, PA, USA, April 18-21, 2017, pp. 247–258 (2017)
Ramprasad, B., McArthur, J., Fokaefs, M., Barna, C., Damm, M., Litoiu, M.: Leveraging existing sensor networks as IoT devices for smart buildings. In: 4th IEEE World Forum on Internet of Things, WF-Iot 2018, Singapore, February 5-8, 2018, pp. 452–457 (2018)
Tai, S., Rouvellou, I.: Strategies for integrating messaging and distributed object transactions. In: Middleware 2000, IFIP/ACM International Conference on Distributed Systems Platforms, New York, NY, USA, April 4-7, 2000, Proceedings, vol. 1795 of Lecture Notes in Computer Science, pp. 308–330. Springer (2000)
Rimal, B.P., Jukan, A., Katsaros, D., Goeleven, Y.: Architectural requirements for cloud computing systems: an enterprise cloud approach. J. Grid Comput. 9(1), 3–26 (2011)
Kubler, S., Främling, K., Derigent, W.: P2P Data synchronization for product lifecycle management. Comput. Ind. 66, 82–98 (2015)
Lukša, M.: Kubernetes in action. Manning Publications Company (2018)
Acknowledgements
This research is supported by the EUs Horizon 2020 research and innovation program (grant 688203) and Academy of Finland (Open Messaging Interface; grant 296096, APTV; grant 277522, and SINGPRO; grant 313469). The authors would like to thank Jaakko Kotimäki and Markus Murhu from the CS IT department of Aalto University for their help in the experiments setup.
Funding
Open access funding provided by Aalto University.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
About this article
Cite this article
Javed, A., Robert, J., Heljanko, K. et al. IoTEF: A Federated Edge-Cloud Architecture for Fault-Tolerant IoT Applications. J Grid Computing 18, 57–80 (2020). https://doi.org/10.1007/s10723-019-09498-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10723-019-09498-8