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.





Similar content being viewed by others
Notes
References
Amazon: Elastic Compute Cloud (EC2). http://aws.amazon.com/ec2
AMQP Working Group: Advanced message queuing protocol (2010). version 0-9-1
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)
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
Apache Software Foundation: ActiveMQ. http://activemq.apache.org/
Apache Software Foundation: Apollo. http://activemq.apache.org/apollo/
Car2go: Berlin. https://www.car2go.com/de/berlin/
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
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
Chui M, Löffler M., Roberts R (2010) The internet of things. McKinsey Q 2:1–9
Curry E (2005) Message-oriented middleware. In: Mahmoud QH (ed) Middleware for communications, chap 1. Wiley, pp 1–28
DriveNow: Berlin. https://www.de.drive-now.com/en/#!/carsharing/berlin
Eclipse Foundation: Paho. https://eclipse.org/paho/
Eugster PT, Felber PA, Guerraoui R, Kermarrec AM (2003) The many faces of publish/subscribe. ACM Comput Surv (CSUR) 35(2):114–131
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
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
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
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
Hintjens P (2013) ZeroMQ: messaging for many applications, O’Reilly
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
Ignite Realtime: Openfire Server. http://www.igniterealtime.org/projects/openfire/
Locke D (2010) MQ telemetry transport (MQTT) V3.1 protocol specification. IBM developerWorks Technical Library
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
Millard P, Saint-Andre P, Meijer R (2010) XEP-0060: publish-subscribe. http://www.xmpp.org/extensions/xep-0060.html. Version: 1.13
Mosquitto: An open source mqtt v3.1/v3.1.1 broker. http://mosquitto.org/
Moteiv Co.: Tmote sky datasheet. http://www.crew-project.eu/sites/default/files/tmote-sky-datasheet.pdf
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
Pivotal Software: RabbitMQ. https://www.rabbitmq.com/
ProcessOne: ejabberd XMPP Server. https://www.process-one.net/en/ejabberd/
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
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
Sachs K (2010) Performance modeling and benchmarking of event-based systems. Ph.D. thesis, TU Darmstadt. SPEC Distinguished Dissertation Award 2011
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
Saint-Andre P (2011) Extensible Messaging and Presence Protocol (XMPP): Core RFC 6120 (Proposed Standard). http://www.ietf.org/rfc/rfc6120.txt
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
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
Varda K (2008) Protocol buffers: Google’s data interchange format
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
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
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
Acknowledgments
This work was supported by the European Regional Development Fund (ERDF) and the State of Berlin.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12243-016-0537-4