Towards a Data-driven IoT Software Architecture for Smart City Utilities
The Internet of Things (IoT) is emerging as the next big wave of digital presence for billions of devices on the Internet. Smart Cities are practical manifestation of IoT, with the goal of efficient, reliable and safe delivery of city utilities like water, power and transport to residents, through their intelligent management. A data-driven IoT Software Platform is essential for realizing manageable and sustainable Smart Utilities, and for novel applications to be developed upon them. Here, we propose such a service-oriented software architecture to address two key operational activities in a Smart Utility -- the IoT fabric for resource management, and the data and application platform for decision making. Our design uses open web standards and evolving network protocols, Cloud and edge resources, and streaming Big Data platforms. We motivate our design requirements using the smart water management domain; some of these requirements are unique to developing nations. We also validate the architecture within a campus-scale IoT testbed at the Indian Institute of Science (IISc), Bangalore, and present our experiences. Our architecture is scalable to a township or city, while also generalizable to other Smart Utility domains. Our experiences serves as a template for other similar efforts, particularly in emerging markets, and highlights the gaps and opportunities for a data-driven IoT Software architecture for smart cities.
READ FULL TEXT