ABSTRACT
Configuration activities constitute a large part of the work in operating an IoT system. Such activities include the onboarding of devices and rollout of firmware updates. Configuration activities must be carefully vetted to prevent faulty states, putting a lot of pressure on IoT system operators to get it right. The problem is further exacerbated due to the heterogeneity, scalability, and distributed computation challenges typical of large-scale IoT systems. Therefore ensuring safe and reliable operations requires careful design. In this paper, we argue that a declarative approach to configuration, complemented with a discovery-driven API design is ideally suited to solve these challenges. We present suitable abstractions needed to realize such a declarative configuration API. Our experiences show that the proposed abstractions and API model are well suited for the purpose of large-scale IoT systems, and allow for high degree of safety and reliability.
- Amazon Web Services. AWS IoT Core. https://aws.amazon.com/iot-core/. Accessed: 2021-10-21.Google Scholar
- ASHRAE Standing Standards Project Committee (SSPC) 135. BACnet - A Data Communication Protocol for Building Automation and Control Networks. http://www.bacnet.org/. Accessed: 2021-09-24.Google Scholar
- Barnagui, P., Wang, W., Henson, C., and Taylor, K. Semantics for the internet of things: Early progress and back to the future. Int. J. Semant. Web Inf. Syst. 8, 1 (Jan. 2012), 1--21. Google ScholarDigital Library
- Bierman, A., Björklund, M., and Watsen, K. RESTCONF Protocol. RFC 8040, Jan. 2017.Google ScholarCross Ref
- Björklund, M. The YANG 1.1 Data Modeling Language. RFC 7950, Aug. 2016.Google ScholarCross Ref
- Bloch, J. Effective java. Pearson Education India, 2016.Google Scholar
- Cheruvu, S., Kumar, A., Smith, N., and Wheeler, D. M. IoT Frameworks and Complexity. Apress, Berkeley, CA, 2020, pp. 23--148.Google ScholarCross Ref
- Enns, R., Björklund, M., Bierman, A., and Schönwälder, J. Network Configuration Protocol (NETCONF). RFC 6241, June 2011.Google Scholar
- Fedor, M., Schoffstall, M. L., Davin, J. R., and Case, D. J. D. Simple Network Management Protocol (SNMP). RFC 1157, May 1990.Google Scholar
- Gartner. DevOps - Gartner Glossary. https://www.gartner.com/en/information-technology/glossary/devops. Accessed: 2021-09-24.Google Scholar
- Google. Kubernetes. https://kubernetes.io/. Accessed: 2021-09-24.Google Scholar
- Google. Kubernetes controllers. https://kubernetes.io/docs/concepts/architecture/controller/. Accessed: 2021-10-20.Google Scholar
- Google. Kubernetes custom resources. https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/. Accessed: 2021-10-20.Google Scholar
- Hartke, K. The Constrained RESTful Application Language (CoRAL). Internet-Draft draft-ietf-core-coral-03, Internet Engineering Task Force, Mar. 2020. Work in Progress.Google Scholar
- Hashicorp. Terraform. https://www.terraform.io/. Accessed: 2021-09-24.Google Scholar
- Keränen, A., Kovatsch, F. M., and Hartke, K. Guidance on RESTful Design for Internet of Things Systems. Internet-Draft draft-irtf-t2trg-rest-iot-08, Internet Engineering Task Force, Aug. 2021. Work in Progress.Google Scholar
- Koster, M., and Bormann, C. Semantic Definition Format (SDF) for Data and Interactions of Things. Internet-Draft draft-ietf-asdf-sdf-07, Internet Engineering Task Force, July 2021. Work in Progress.Google Scholar
- Kovatsch, M., Hassan, Y. N., and Hartke, K. Semantic interoperability requires self-describing interaction models. In IAB-IoT Semantic Interoperability Workshop 2016 (2016).Google Scholar
- Microsoft. Azure IoT Hub. https://azure.microsoft.com/en-us/services/iot-hub/#overview. Accessed: 2021-10-21.Google Scholar
- Moran, B., Tschofenig, H., Brown, D., and Meriac, M. A Firmware Update Architecture for Internet of Things. RFC 9019, Apr. 2021.Google ScholarCross Ref
- Nordmark, E. Different aspects of onboarding for IoT/Edge Devices. Internet-Draft draft-nordmark-iotops-onboarding-00, Internet Engineering Task Force, July 2021. Work in Progress.Google Scholar
- Open Mobile Alliance. LwM2M Overview. https://technical.openmobilealliance.org/Overviews/lightweightm2m_overview.html. Accessed: 2021-09-24.Google Scholar
- Poulton, N. The Kubernetes Book. Amazon, 2021.Google Scholar
- Samuel, J., and Rey, C. A declarative approach to information extraction using web service api. In Web Engineering (Cham, 2016), A. Bozzon, P. Cudre-Maroux, and C. Pautasso, Eds., Springer International Publishing, pp. 613--615.Google ScholarCross Ref
- Stankovic, J. Research directions for the internet of things. Internet of Things Journal, IEEE 1 (02 2014), 3--9.Google ScholarCross Ref
- Vogels, W. Eventually consistent. Commun. ACM 52, 1 (Jan. 2009), 40--44. Google ScholarDigital Library
Index Terms
- Operating large-scale IoT systems through declarative configuration APIs
Recommendations
ECFuzz: Effective Configuration Fuzzing for Large-Scale Systems
ICSE '24: Proceedings of the IEEE/ACM 46th International Conference on Software EngineeringA large-scale system contains a huge configuration space because of its large number of configuration parameters. This leads to a combination explosion among configuration parameters when exploring the configuration space. Existing configuration testing ...
Large scale Linux configuration with LCFG
ALS'00: Proceedings of the 4th annual Linux Showcase & Conference - Volume 4This paper describes the automatic installation and configuration system currently being used to manage several hundred Linux machines in the Division of Informatics at Edinburgh University. This is a development of the LCFG system which has been used ...
Comments