Advertisement

Annals of Telecommunications

, Volume 72, Issue 1–2, pp 41–52 | Cite as

Meeting IoT platform requirements with open pub/sub solutions

  • Daniel HappEmail author
  • Niels Karowski
  • Thomas Menzel
  • Vlado Handziski
  • Adam Wolisz
Article

Abstract

The internet of things (IoT) will enable a range of applications providing enhanced awareness and control of the physical environment. Current systems typically sense and actuate physical phenomena locally and then rely on a cloud-based publish/subscribe infrastructure for distribution of sensor and control data to end-users and external services. Despite the popularity of pub/sub solutions in this context, it is still unclear which features such a middleware should have to successfully meet the specific requirements of the IoT domain. Questions like how a large number of connected devices that only sporadically send small sensor data messages affect the throughput, and how much additional delay cloud-based pub/sub systems typically introduce, that are very important for practitioners, have not been tackled in a systematic way. In this work, we address these limitations by analyzing the main requirements of IoT platforms and by evaluating which of those features are supported by prominent open pub/sub solutions. We further carry out a performance evaluation in the public cloud using four popular pub/sub implementations: rabbitMQ (AMQP), mosquitto (MQTT), ejabberd (XMPP), and ZeroMQ. We study the maximum sustainable throughput and delay under realistic load conditions using traces from real sensors. While the core features are similar, the analyzed pub/sub systems differ in their filtering capabilities, semantic guarantees, and encoding. Our evaluation indicates that those differences can have a notable impact on throughput and delay of cloud-based IoT platforms.

Keywords

IoT Pub/sub AMQP MQTT XMPP ZeroMQ Performance evaluation 

Notes

Acknowledgments

This work was supported by the European Regional Development Fund (ERDF) and the State of Berlin.

References

  1. 1.
    Amazon: Elastic Compute Cloud (EC2). http://aws.amazon.com/ec2
  2. 2.
    AMQP Working Group: Advanced message queuing protocol (2010). version 0-9-1Google Scholar
  3. 3.
    Antollini J, Antollini M, Guerrero P, Cilia M (2004) Extending rebeca to support concept-based addressing. In: Proceedings of the Argentinean symposium on information systems (ASIS’04)Google Scholar
  4. 4.
    Antonic A, Roankovic K, Marjanovic M, Pripuic K, Zarko IP (2014) A mobile crowdsensing ecosystem enabled by a cloud-based publish/subscribe middleware. In: International conference on future internet of things and cloud (FiCloud), 2014. IEEE, pp 107–114Google Scholar
  5. 5.
    Apache Software Foundation: ActiveMQ. http://activemq.apache.org/
  6. 6.
    Apache Software Foundation: Apollo. http://activemq.apache.org/apollo/
  7. 7.
  8. 8.
    Carzaniga A, Rosenblum DS, Wolf AL (2000) Achieving scalability and expressiveness in an internet-scale event notification service. In: Proceedings of the 19th annual ACM symposium on principles of distributed computing (PODC ’00). doi: 10.1145/343477.343622. ACM, New York, pp 219–227
  9. 9.
    Cha M, Rodriguez P, Moon S, Crowcroft J (2008) On next-generation telco-managed p2p tv architectures. In: Proceedings of the 7th international conference on peer-to-peer systems (IPTPS’08). USENIX Association, pp 5–5Google Scholar
  10. 10.
    Chui M, Löffler M., Roberts R (2010) The internet of things. McKinsey Q 2:1–9Google Scholar
  11. 11.
    Curry E (2005) Message-oriented middleware. In: Mahmoud QH (ed) Middleware for communications, chap 1. Wiley, pp 1–28Google Scholar
  12. 12.
  13. 13.
    Eclipse Foundation: Paho. https://eclipse.org/paho/
  14. 14.
    Eugster PT, Felber PA, Guerraoui R, Kermarrec AM (2003) The many faces of publish/subscribe. ACM Comput Surv (CSUR) 35(2):114–131CrossRefGoogle Scholar
  15. 15.
    Fidler E, Jacobsen HA, Li G, Mankovskii S (2005) The PADRES distributed publish/subscribe system. In: International conference on feature interactions in telecommunications and software systems (ICFI’05), pp 12–30Google Scholar
  16. 16.
    Gubbi J, Buyya R, Marusic S, Palaniswami M (2013) Internet of things (IoT): a vision, architectural elements, and future directions. Futur Gener Comput Syst 29(7):1645–1660CrossRefGoogle Scholar
  17. 17.
    Handziski V, Köpke A., Willig A, Wolisz A (2006) Twist: a scalable and reconfigurable testbed for wireless indoor experiments with sensor networks. In: Proceedings of the 2nd international workshop on multi-hop ad hoc networks: from theory to reality (REALMAN ’06), Florence, pp 63–70Google Scholar
  18. 18.
    Happ D, Karowski N, Menzel T, Handziski V, Wolisz A (2015) Meeting IoT platform requirements with open pub/sub solutions. In: 1st international conference on cloudification of the internet of things (CIoT’15), ParisGoogle Scholar
  19. 19.
    Hintjens P (2013) ZeroMQ: messaging for many applications, O’ReillyGoogle Scholar
  20. 20.
    Hunkeler U, Truong HL, Stanford-Clark A (2008) MQTT-S – A publish/subscribe protocol for wireless sensor networks. In: 3rd international conference on communication systems software and middleware and workshops (COMSWARE’08). Bangalore, pp 791–798Google Scholar
  21. 21.
    Ignite Realtime: Openfire Server. http://www.igniterealtime.org/projects/openfire/
  22. 22.
    Locke D (2010) MQ telemetry transport (MQTT) V3.1 protocol specification. IBM developerWorks Technical LibraryGoogle Scholar
  23. 23.
    Menzel T, Karowski N, Happ D, Handziski V, Wolisz A (2014) Social sensor cloud: an architecture meeting cloud-centric iot platform requirements. In: 9th KuVS NGSDP expert talk on next generation service delivery platformsGoogle Scholar
  24. 24.
    Millard P, Saint-Andre P, Meijer R (2010) XEP-0060: publish-subscribe. http://www.xmpp.org/extensions/xep-0060.html. Version: 1.13Google Scholar
  25. 25.
    Mosquitto: An open source mqtt v3.1/v3.1.1 broker. http://mosquitto.org/
  26. 26.
  27. 27.
    Pietzuch PR, Bacon J (2002) Hermes: a distributed event-based middleware architecture. In: Proceedings of 22nd International Conference on Distributed Computing Systems Workshops, 2002. doi: 10.1109/ICDCSW.2002.1030837, pp 611–618
  28. 28.
    Pivotal Software: RabbitMQ. https://www.rabbitmq.com/
  29. 29.
    ProcessOne: ejabberd XMPP Server. https://www.process-one.net/en/ejabberd/
  30. 30.
    Rege MR, Handziski V, Wolisz A (2013) CrowdMeter: an emulation platform for performance evaluation of crowd-sensing applications. In: Proceedings of the 2013 ACM conference on pervasive and ubiquitous computing adjunct publication. Zürich, pp 1111–1122Google Scholar
  31. 31.
    Rowe A, Berges ME, Bhatia G, Goldman E, Rajkumar R, Garrett JH, Moura JM, Soibelman L. (2011) Sensor Andrew: Large-scale campus-wide sensing and actuation. IBM J Res Dev 55(1.2):6:1–6:14CrossRefGoogle Scholar
  32. 32.
    Sachs K (2010) Performance modeling and benchmarking of event-based systems. Ph.D. thesis, TU Darmstadt. SPEC Distinguished Dissertation Award 2011Google Scholar
  33. 33.
    Sachs K, Kounev S, Bacon J, Buchmann A (2009) Performance evaluation of message-oriented middleware using the SPECjms2007 benchmark. Perform. Eval. 66(8):410–434CrossRefGoogle Scholar
  34. 34.
    Saint-Andre P (2011) Extensible Messaging and Presence Protocol (XMPP): Core RFC 6120 (Proposed Standard). http://www.ietf.org/rfc/rfc6120.txt
  35. 35.
    Soldatos J, Kefalakis N, Hauswirth M, Serrano M, Calbimonte JP, Riahi M, Aberer K, Jayaraman PP, Zaslavsky A, žarko IP et al (2015) Openiot: open source internet-of-things in the cloud. In: Interoperability and open-source solutions for the internet of things. Springer, pp 13–25Google Scholar
  36. 36.
    Tran P, Greenfield P, Gorton I (2002) Behavior and performance of message-oriented middleware systems. In: Proceedings of the 22nd international conference on distributed computing systems workshops, pp 645–650Google Scholar
  37. 37.
    Varda K (2008) Protocol buffers: Google’s data interchange formatGoogle Scholar
  38. 38.
    Wang G, Ng TSE (2010) The impact of virtualization on network performance of amazon EC2 data center. In: Proceedings of the 29th conference on information communications (INFOCOM’10), pp 1–9Google Scholar
  39. 39.
    Xu Y, Musgrave Z, Noble B, Bailey M (2013) Bobtail: avoiding long tails in the cloud. In: Proceedings of the 10th USENIX symposium on networked systems design and implementation (NSDI ’13). Lombard, pp 329–341Google Scholar
  40. 40.
    Zhang B, Mor N, Kolb J, Chan DS, Lutz K, Allman E, Wawrzynek J, Lee E, Kubiatowicz J (2015) The cloud is not enough: Saving iot from the cloud. In: 7th USENIX workshop on hot topics in cloud computing (HotCloud 15). USENIX Association, Santa ClaraGoogle Scholar

Copyright information

© Institut Mines-Télécom and Springer-Verlag France 2016

Authors and Affiliations

  • Daniel Happ
    • 1
    Email author
  • Niels Karowski
    • 1
  • Thomas Menzel
    • 1
  • Vlado Handziski
    • 1
  • Adam Wolisz
    • 1
  1. 1.Technische Universität Berlin, Telecommunication Networks Group (TKN)BerlinGermany

Personalised recommendations