Um Monitor de Metadados de QoS e QoC para Plataformas de Middleware
metadados; monitoramento; aferição; QoS; QoC; requisições síncronas; requisições assíncronas;
Aplicações cientes de contexto são tipicamente dinâmicas e caracterizam-se por utilizar serviços providos por várias fontes, com diferentes níveis de qualidade. A qualidade de uma informação de contexto é expressa através dos metadados de Qualidade de Contexto (QoC), como precisão, corretude, atualidade, resolução. Por sua vez, a qualidade de um serviço é expressa através dos metadados de Qualidade de Serviço (QoS), como tempo de resposta, taxa de erro, disponibilidade e tempo médio entre falhas. Para garantir que uma aplicação está utilizando serviços e informações de contexto com níveis de QoS e QoC que satisfaçam seus requisitos, é essencial que elas estejam continuamente cientes desses metadados. Para tanto, é necessário utilizar um mecanismo de monitoramento de QoS e QoC que atenda aos seguinte requisitos: (i) forneça suporte a aferição e monitoramento de metadados de QoS e QoC; (ii) opere de forma síncrona, realizando monitoramento em intervalos de tempos predefinidos, como também de forma assíncrona, permitindo que a aplicação especifique uma condição e o monitor informe quando ocorre algum evento que satisfaça a condição; (iii) use ontologias para representação da informação de forma a evitar interpretações ambíguas. Este trabalho propõe o QoMonitor, um módulo para monitoramento de metadados de QoS e QoC que atende a tais requisitos. De forma a ilustrar o uso do QoMonitor no contexto das aplicações ubíquas ele é integrado ao OpenCOPI, uma plataforma integradora de diferentes middleware de provisão de contexto que fornecem serviços e seus respectivos metadados. Para validar o uso do QoMonitor são utilizados dois estudos de caso que exploram as suas capacidades: uma aplicação da indústria de petróleo e gás, e uma aplicação de healthcare. Esse trabalho também apresenta uma avaliação do QoMonitor em termos de desempenho.