Skip to main content

Reliable Event Routing in the Cloud and on the Edge

An Internet-of-Things Solution in the AgeTech Domain

  • Conference paper
  • First Online:
Software Architecture (ECSA 2021)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12857))

Included in the following conference series:

  • 1502 Accesses

Abstract

The AgeTech domain poses both opportunities and challenges for the architects of Internet of Things (IoT) solutions. Key requirements concern data privacy and cost-efficiency, as well as guaranteed, interoperable delivery of event messages from resource-constrained edge devices to the cloud and consumer applications; public cloud deployments and asynchronous, queue-based messaging are common building blocks of such solutions. This experience report features the conceptual, pattern-oriented design and open source implementation of a custom-built embeddable event router that natively supports the CloudEvents specification from the Cloud Native Computing Foundation. Our CloudEvents Router introduces standardized event routing targeting the software landscape of the AgeTech startup CARU; this landscape reaches from an embedded microcontroller to cloud-scale services running on Amazon Web Services. The report further analyses the message delivery guarantees given in messaging protocol specifications and their implementations (for instance, MQTT libraries) and presents an alternative delivery management approach, implemented and validated in the open sourced Rust microkernel of the CloudEvents router. The report concludes with lessons learned about messaging edge cases and protocol particularities, in MQTT in particular.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/ce-rust/cerk.

  2. 2.

    The ten analyzed messaging products are: CloudEvent Router and Gateway, Knative Eventing v0.9, Pacifica Dispatcher v0.2.3, Serverless Event Gateway v0.9.1, Amazon Simple Notification Service, Apache Camel v2.24.2, Crossbar.io v19.10.1, D-Bus v1.12, Node-RED v1.0.1, RabbitMQ v3.8 [2].

  3. 3.

    https://github.com/cloudevents/sdk-rust.

  4. 4.

    https://github.com/linki/chaoskube.

  5. 5.

    https://github.com/eclipse/mosquitto/pull/1932.

References

  1. Banks, A., Briggs, E., Borgendale, K., Gupta, R.: MQTT version 5.0 (2019). https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html

  2. Basig, L., Lazzaretti, F.: CloudEvents Router. HSR (2020). https://eprints.ost.ch/id/eprint/832/

  3. Basig, L., Lazzaretti, F.: Reliable messaging using the CloudEvents Router (2021). https://eprints.ost.ch/id/eprint/904/

  4. Bernstein, P.A., Newcomer, E.: Queued transaction processing. In: Principles of Transaction Processing, pp. 99–119. Elsevier (2009)

    Google Scholar 

  5. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. Wiley, Hoboken (1996)

    Google Scholar 

  6. CloudEvents specification v1.0. GitHub (2019). https://github.com/cloudevents/spec/tree/v1.0

  7. Davis, D., Karmarkar, A., Pilz, G., Winkler, S., Yalçinalp, Ü.: Web services reliable messaging (WS-ReliableMessaging) (2009)

    Google Scholar 

  8. Exactly once delivery and transactional messaging in Kafka (2017). https://docs.google.com/document/d/11Jqy_GjUGtdXJK94XGsEIK7CP1SnQGdp2eF0wSw9ra8

  9. Fehling, C., Leymann, F., Retter, R., Schupeck, W., Arbitter, P.: Cloud Computing Patterns. Springer, Vienna (2014). https://doi.org/10.1007/978-3-7091-1568-8

    Book  Google Scholar 

  10. Gruener, S., Koziolek, H., Rückert, J.: Towards resilient IoT messaging: an experience report analyzing MQTT brokers. In: IEEE International Conference on Software Architecture (ICSA) (2021)

    Google Scholar 

  11. Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison Wesley, Boston (2004)

    Google Scholar 

  12. Hwang, S.Y., Wang, H., Tang, J., Srivastava, J.: A probabilistic approach to modeling and estimating the QoS of web-services-based workflows. Inf. Sci. 177(23), 5484–5503 (2007). https://doi.org/10.1016/j.ins.2007.07.011

    Article  MATH  Google Scholar 

  13. ISO/IEC 13236:1998(E): Information technology - quality of service: Framework

    Google Scholar 

  14. ISO/IEC 25010:2011, systems and software engineering – systems and software quality requirements and evaluation (SQuaRE) – system and software quality models (2011). https://www.iso.org/standard/35733.html

  15. Iwasa, K., Durand, J., Rutt, T., Peel, M., Kunisetty, S., Bunting, D.: Web Services Reliable Messaging TC WS-Reliability 1.1 (2004)

    Google Scholar 

  16. Lampson, B.W., Lynch, N.A., Søgaard-Andersen, J.F.: Correctness of at-most-once message delivery protocols. In: Proceedings of FORTE 1993, Boston, MA, USA (1993)

    Google Scholar 

  17. Ming, Z., Yan, M.: A modeling and computational method for QoS in IOT. In: 2012 IEEE International Conference on Computer Science and Automation Engineering. IEEE (2012). https://doi.org/10.1109/icsess.2012.6269459

  18. Narkhede, N.: Exactly-once semantics are possible: Here’s how Kafka does it (2017). https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/

  19. Petrova-Antonova, D., Ilieva, S.: Towards a unifying view of QoS-enhanced web service description and discovery approaches. EPTCS (2009). https://doi.org/10.4204/EPTCS.2.8

  20. van Steen, M., Tanenbaum, A.: Distributed Systems (2017)

    Google Scholar 

  21. Tai, S., Mikalsen, T., Rouvellou, I., Sutton, S.: Conditional messaging: extending reliable messaging with application conditions. In: Proceedings 22nd International Conference on Distributed Computing Systems. EEE Computer Society (2002). https://doi.org/10.1109/icdcs.2002.1022249

  22. Treat, T.: You cannot have exactly-once delivery (2015). https://bravenewgeek.com/you-cannot-have-exactly-once-delivery/

  23. Distributed transaction processing: The XA specification (1991). http://www.opengroup.org/onlinepubs/009680699/toc.pdf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Linus Basig .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Basig, L., Lazzaretti, F., Aebersold, R., Zimmermann, O. (2021). Reliable Event Routing in the Cloud and on the Edge. In: Biffl, S., Navarro, E., Löwe, W., Sirjani, M., Mirandola, R., Weyns, D. (eds) Software Architecture. ECSA 2021. Lecture Notes in Computer Science(), vol 12857. Springer, Cham. https://doi.org/10.1007/978-3-030-86044-8_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-86044-8_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-86043-1

  • Online ISBN: 978-3-030-86044-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics