TY - GEN
T1 - A highly resilient and scalable broker architecture for IoT applications
AU - Sen, Souranil
AU - Balasubramanian, Aruna
N1 - Publisher Copyright:
© 2018 IEEE.
PY - 2018/3/29
Y1 - 2018/3/29
N2 - 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.
AB - 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.
KW - broker architecture
KW - Internet-of-Things
KW - mqtt
KW - resiliency
KW - scalability
UR - https://www.scopus.com/pages/publications/85050935783
U2 - 10.1109/COMSNETS.2018.8328216
DO - 10.1109/COMSNETS.2018.8328216
M3 - Conference contribution
AN - SCOPUS:85050935783
T3 - 2018 10th International Conference on Communication Systems and Networks, COMSNETS 2018
SP - 336
EP - 341
BT - 2018 10th International Conference on Communication Systems and Networks, COMSNETS 2018
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 10th International Conference on Communication Systems and Networks, COMSNETS 2018
Y2 - 3 January 2018 through 7 January 2018
ER -