Uma Arquitetura de Microsserviços centrada na Observabilidade Multinível para Espaços Inteligentes baseados em Visão Computacional - Carmo, Alexandre Pereira do (2021)
Intelligent spaces are physical spaces equipped with a network of sensors and actuators, in addition to computing services. They must be able to observe the environment and make decisions in order to meet the needs of their users. Different domains can be served by Intelligent Spaces, among those domains stand out those based on computer vision. The latter have cameras as the main sensor, which collect and process a variety of information. Due to the large volume of data and the complexity for its processing, computer vision applications have a set of specific and strictly correlated requirements that need to be met. Commonly the requirements of many applications are defined by elements of the infrastructure. However, there are specific requirements that are known and measured only by the application. Although the information about these requirements is in the application domain, they can be directly impacted by the resources offered by the infrastructure. Therefore, infrastructure requirements such as data transfer rate, processing capacity or response time are closely correlated with each other and with many specific application requirements. Now, knowing that simultaneously meeting all these requirements is already a non-trivial problem to be solved, it gets even worse when considering intelligent spaces based on computer vision. Such spaces must be scalable, and capable of hosting multiple applications with requirements that may or may not be dynamic. Therefore, the infrastructure must be able to adapt dynamically, in order to continuously meet the requirements, while trying to keep a rational use of available resources, avoiding their sub or over-allocation. It is in this context that the work presented in this thesis aims to contribute. The main challenge is to find a way to meet both the specific requirements of the applications and the strict and correlated requirements of the infrastructure, keeping the rational use of the available resources. Thus, the main contribution of this work is to propose an architecture for Intelligent Spaces based on computer vision with two essential functionalities: i) multilevel orchestration centered on the combined observability of applications and infrastructure layers; and ii) granular programmability of the infrastructure. The proposed architecture was implemented in different environments, with multiple applications and case studies were performed as proof of concept for its validation.