Abstract:
More and more "Smart Devices" are coming online every year. These Smart Devices have the ability to communicate with other Smart Devices across the web, exchange information and make intelligent decisions. This influx of new devices and connections has caused the central servers that manage those Smart Devices to come under heavy load. Measures to combat this have inadvertently resulted in increased network complexity. This research considers a use-case where such complexity might arise, especially complexity derived from networks with hierarchical device arrangements. It then points out why addressing that complexity is necessary. The research thereafter considers several existing IoT products and how network complexity is handled in them. Those existing products are studied in-depth after a selection based on pre-defined criteria and their construction analyzed. Based on the lessons learnt from those findings an approach is formalized to address how the complexity can be handled in one component within a device network; the central cloud server. After considering the all the necessary requirements, an architecture is proposed which is derived from the pre-defined approach. An implementation is created using this architecture with some added functionality that is provided by it. Supplementary implementations are also developed to complement this architecture and prove its versatility. The research concludes by testing and evaluating various aspects of the architectural implementation and getting feedback on what can be improved. Finally, conclusions are drawn regarding the success of the project and future development pathways are defined.