Publish/Subscribe is known as a scalable and efficient data dissemination mechanism. In a mobile environment, there is an added challenge for the pub/sub system to economize mobile bandwidth, which is especially precious in areas not well covered by mobile providers. While well-known compression methods such as GZip or Deflate are generally useful in such situations, we propose using Shared Dictionary Compression (SDC) to achieve a greater level of bandwidth efficiency. SDC requires a dictionary, generated upfront, to be shared between two communicating peers before it can be used. We propose a design where brokers forming the pub/sub overlay can be in charge of generating and propagating the shared dictionary. Our solution employs an adaptive algorithm, executed at the brokers, which creates and maintains the dictionaries over time. With this approach, it is possible to reduce the required bandwidth by up to 88% including the introduced dictionary overhead. Our demo shows this approach applied to a smartphone application communicating with a publish/subscribe broker using the MQTT protocol.
Readers who enjoyed the above work, may also like the following: