Skip to main content
Log in

Meeting IoT platform requirements with open pub/sub solutions

  • Published:
Annals of Telecommunications Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. http://www.tinyos.net/

References

  1. Amazon: Elastic Compute Cloud (EC2). http://aws.amazon.com/ec2

  2. AMQP Working Group: Advanced message queuing protocol (2010). version 0-9-1

  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)

  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–114

  5. Apache Software Foundation: ActiveMQ. http://activemq.apache.org/

  6. Apache Software Foundation: Apollo. http://activemq.apache.org/apollo/

  7. Car2go: Berlin. https://www.car2go.com/de/berlin/

  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. 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–5

  10. Chui M, Löffler M., Roberts R (2010) The internet of things. McKinsey Q 2:1–9

    Google Scholar 

  11. Curry E (2005) Message-oriented middleware. In: Mahmoud QH (ed) Middleware for communications, chap 1. Wiley, pp 1–28

  12. DriveNow: Berlin. https://www.de.drive-now.com/en/#!/carsharing/berlin

  13. Eclipse Foundation: Paho. https://eclipse.org/paho/

  14. Eugster PT, Felber PA, Guerraoui R, Kermarrec AM (2003) The many faces of publish/subscribe. ACM Comput Surv (CSUR) 35(2):114–131

    Article  Google Scholar 

  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–30

  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–1660

    Article  Google Scholar 

  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–70

  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), Paris

  19. Hintjens P (2013) ZeroMQ: messaging for many applications, O’Reilly

  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–798

  21. Ignite Realtime: Openfire Server. http://www.igniterealtime.org/projects/openfire/

  22. Locke D (2010) MQ telemetry transport (MQTT) V3.1 protocol specification. IBM developerWorks Technical Library

  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 platforms

  24. Millard P, Saint-Andre P, Meijer R (2010) XEP-0060: publish-subscribe. http://www.xmpp.org/extensions/xep-0060.html. Version: 1.13

    Google Scholar 

  25. Mosquitto: An open source mqtt v3.1/v3.1.1 broker. http://mosquitto.org/

  26. Moteiv Co.: Tmote sky datasheet. http://www.crew-project.eu/sites/default/files/tmote-sky-datasheet.pdf

  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. Pivotal Software: RabbitMQ. https://www.rabbitmq.com/

  29. ProcessOne: ejabberd XMPP Server. https://www.process-one.net/en/ejabberd/

  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–1122

  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:14

    Article  Google Scholar 

  32. Sachs K (2010) Performance modeling and benchmarking of event-based systems. Ph.D. thesis, TU Darmstadt. SPEC Distinguished Dissertation Award 2011

  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–434

    Article  Google Scholar 

  34. Saint-Andre P (2011) Extensible Messaging and Presence Protocol (XMPP): Core RFC 6120 (Proposed Standard). http://www.ietf.org/rfc/rfc6120.txt

  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–25

  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–650

  37. Varda K (2008) Protocol buffers: Google’s data interchange format

  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–9

  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–341

  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 Clara

Download references

Acknowledgments

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Happ.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Happ, D., Karowski, N., Menzel, T. et al. Meeting IoT platform requirements with open pub/sub solutions. Ann. Telecommun. 72, 41–52 (2017). https://doi.org/10.1007/s12243-016-0537-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12243-016-0537-4

Keywords

Navigation