  In the last few years, the Message Queueing Telemetry Transport (MQTT)
publish/subscribe protocol emerged as the de facto standard communication
protocol for IoT, M2M and wireless sensor networks applications. Such
popularity is mainly due to the extreme simplicity of the protocol at the
client side, appropriate for low-cost and resource-constrained edge devices.
Other nice features include a very low protocol overhead, ideal for limited
bandwidth scenarios, the support of different Quality of Services (QoS) and
many others. However, when an edge device is interested in performing
processing operations over the data published by multiple clients, the use of
MQTT may result in high network bandwidth usage and high energy consumption for
the end devices, which is unacceptable in resource constrained scenarios. To
overcome these issues, we propose in this paper MQTT+, which provides an
enhanced protocol syntax and enrich the pub/sub broker with data filtering,
processing and aggregation functionalities. MQTT+ is implemented starting from
an open source MQTT broker and evaluated in different application scenarios.
