IoTEF: A Federated Edge-Cloud Architecture for Fault-Tolerant IoT Applications

  • Asad JavedEmail author
  • Jérémy Robert
  • Keijo Heljanko
  • Kary Främling
Open Access


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.


Internet of Things Distributed systems Edge Cloud Microservice Containers Smart buildings Kubernetes Kafka 



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 Information

Open access funding provided by Aalto University.


  1. 1.
    Choi, M., Park, J., Jeong, Y.-S.: Mobile cloud computing framework for a pervasive and ubiquitous environment. J. Supercomput. 64, 331–356 (2013)CrossRefGoogle Scholar
  2. 2.
    Atzori, L., Iera, A., Morabito, G.: The Internet of Things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)CrossRefGoogle Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Shi, W., Cao, J., Zhang, Q., Li, Y., Xu, L.: Edge computing: vision and challenges. IEEE IoT J. 3(5), 637–646 (2016)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    Avizienis, A.: Toward systematic design of fault-tolerant systems. IEEE Computer 30(4), 51–58 (1997)CrossRefGoogle Scholar
  11. 11.
    Mei, J., Li, K., Zhou, X., Li, K.: Fault-tolerant dynamic rescheduling for heterogeneous computing systems. J. Grid Comput. 13(4), 507–525 (2015)CrossRefGoogle Scholar
  12. 12.
    Dean, J., Barroso, L.A.: The tail at scale. Commun. ACM 56(2), 74–80 (2013)CrossRefGoogle Scholar
  13. 13.
    Pradhan, D.K., Reddy, S.M.: A Fault-Tolerant communication architecture for distributed systems, IEEE trans, journal=Computers, 31(9), 863–870 (1982)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Hwang, S., Kesselman, C.: A flexible framework for fault tolerance in the grid. J. Grid Comput. 1(3), 251–272 (2003)CrossRefGoogle Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    Newman, S.: Building microservices - designing fine-grained systems, 1st edn. O’Reilly (2015)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    Bernstein, D.: Containers and cloud: from LXC to Docker to Kubernetes. IEEE Cloud Comput. 1 (3), 81–84 (2014)CrossRefGoogle Scholar
  23. 23.
    Turnbull, J.: The Docker book: containerization is the new virtualization, James Turnbull (2014)Google Scholar
  24. 24.
    Kakadia, D.: Apache Mesos Essentials. Packt Publishing Ltd (2015)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    Weyrich, M., Ebert, C.: Reference architectures for the internet of things. IEEE Softw. 33(1), 112–116 (2016)CrossRefGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    Kertesz, A., Pflanzner, T., Gyimothy, T.: A mobile IoT device simulator for IoT-Fog-Cloud systems. J. Grid. Comput. 17, 529–551 (2018)CrossRefGoogle Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)CrossRefGoogle Scholar
  36. 36.
    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)CrossRefGoogle Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    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)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    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)CrossRefGoogle Scholar
  44. 44.
    Kubler, S., Främling, K., Derigent, W.: P2P Data synchronization for product lifecycle management. Comput. Ind. 66, 82–98 (2015)CrossRefGoogle Scholar
  45. 45.
    Lukša, M.: Kubernetes in action. Manning Publications Company (2018)Google Scholar

Copyright information

© The Author(s) 2020

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, 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.

Authors and Affiliations

  1. 1.Department of Computer ScienceAalto UniversityEspooFinland
  2. 2.University of Luxembourg - Interdisciplinary Centre For Security, Reliability and TrustLuxembourg CityLuxembourg
  3. 3.Department of Computer ScienceUniversity of HelsinkiHelsinkiFinland
  4. 4.Department of Computing ScienceUmeå UniversityUmeåSweden

Personalised recommendations