Developing large-scale IoT applications using cloud and fog computing resources is challenging because it requires a service abstraction and orchestration model that matches highly dynamic and heterogeneous resources at different levels of the network hierarchy to support dynamicity and scalability requirements of applications. In particular, there exist two fundamental research challenges for service design in such systems:
1.how to reify, distribute and exhibit huge numbers of IoT services at cloud and fog levels in an scalable and efficient manner?
The Cloud offers a multi-tenant platform where IoT resources are accessed and used to support multiple IoT applications simultaneously. SaaS is typically delivered on-demand through orchestrated services in a cloud environment. With massive and divers IoT services in next-generation IoT cloud computing platforms, providing such on-demand and personalized services becomes challenging because of the lack of scalable and adaptable design solutions for creation, composition and management of such services. Moreover, adding fog nodes to the computing platforms architecture will significantly increase the complexity of the problem.
2.how to design and adapt IoT services with respect to the high dynamicity of applications and dynamicity of networks?
Beyond network-level considerations, the dynamicity of IoT network elements and dynamic IoT application environments should be addressed at service provisioning level to ensure the compatibility between network elements with different high-level software capabilities.