A highly resilient and scalable broker architecture for IoT applications

Souranil Sen, Aruna Balasubramanian · 2018

A key bottleneck in using IoT devices for applications such as smart cities and smart homes is in scaling the architecture to hundreds of IoT devices. The applications typically use a publish/subscribe architecture. A broker collects data from the IoT devices (or publishers) and relays the data to the relevant subscribers such as monitoring and alerting systems. Unfortunately, the broker does not scale as the number of IoT devices increases, and is a single point of failure. In this work, we present Nucleus, a container architecture that (a) supports scaling to a large number of IoT devices, (b) provides high resiliency to failures, and (c) incurs low overhead in terms of data transfer between the IoT devices and the broker. The key intuition in Nucleus is to design a stateless broker that decouples the networking functionality of the broker from the state information it needs to maintain. The stateless broker relays information from the publishers to the subscribers, and a separate cache manager maintains the state information required. This architecture allows the brokers to be created rapidly upon failure since they are simple. The cache manager is more complex but can be developed independently of the broker. Finally, we implement the networking substrate between the IoT devices and the broker using MQTT, a protocol that is specifically designed for low bandwidth, lightweight communication. We implement Nucleus and evaluate it in terms of scalability, resiliency, and networking overhead.

Read the paper · More papers on PaperTik