Neste post pretendo descrever em linhas gerais a minha proposta de Mestrado em Ciência da Computação e o seu respectivo andamento.

Antes de prosseguir gostaria de falar a respeito do cenário que motiva essa pesquisa. Imaginemos uma aplicação para dispositivos móveis que tem como uma de suas funcionalidades exibir vídeos que o usuário. Esses vídeos não estão armazenados no aparelho e são acessados via Internet no momento em que o usuário os requisita à aplicação, sem que o mesmo saiba necessariamente de onde vêm esses vídeos. Assumindo que os vídeos são transmitidos para a aplicação a partir de um web service chamado “VideoWS1″, o que aconteceria se este serviço ficasse indisponível?

É evidente que a aplicação móvel não poderia transmitir o vídeo ao usuário por não poder atender a sua requisição em tempo de execução. Um estudo anterior[1] resolve este problema selecionando arbitrariamente um outro serviço (“VideoWS2″) na ausência do “VideoWS1″ para transmitir os vídeos sem que isso seja perceptível ao usuário. No entanto, nesta abordagem proposta (em [1]) não é possível utilizar atributos de qualidade para avaliar qual seria o melhor serviço para substituir o web service indisponível. Muito menos diferenciar a qualidade do serviço prestado em níveis de serviço distintos com custos, benefícios, níveis de confiabilidade e disponibilidade distintos.

O Dymos QoS tem por objetivo oferecer ao usuário e ao desenvolvedor do aplicativo móvel a possibilidade de negociar dentre um conjunto pré-definido de web services qual melhor atende as expectativas do usuário em tempo de execução. Para tanto o Dymos QoS armazena informações contextuais referentes aos web services permitindo que a aplicação selecione para a exibição do conteúdo um serviço que esteja dentro de um nível de serviço desejado comparando-o e relacionando o seu benefício (tempo de resposta), confiabilidade e disponibilidade em uma proporção com o custo.

Assumimos, em consonância com os estudo de Yu[2], que quanto maior for o número de requisições em um instante de tempo t1 para um determinado web service maior será o tempo de resposta para um nova requisição feita a este. Sendo assim definimos como benefício a proporção inversa do valor da carga de requisições em um web service em um instante de tempo t1 para um determinado nível de serviço.

O custo de um web service em um instante de tempo t1 para um determinado nível de serviço é adquirido através da soma do custo do serviço em si e do custo de transmissão do mesmo. Os valores de confiabilidade e disponibilidade são adquiridos a partir de dados históricos onde a disponibilidade é a proporção entre a quantidade de tempo que um serviço está disponível pela quantidade de tempo no qual este serviço foi monitorado dentro de um determinado nível de serviço. A confiabilidade de um web service em um nível de serviço é a proporção entre o número de requisições respondidas com sucesso e o total de requisições.

O Dymos QoS está estruturado para trabalhar com arquiteturas orientadas à serviço e foi construído para ser utilizado em linhas de produto de software dinâmicas e orientadas à serviço. O seu processo de avaliação está em fase de treinamento e será realizado com uma linha de produto de software de guias de visitas móveis.

Referências

  1. Martins, D. A. O. – Uma Abordagem para Suporte a Variabilidades Dinâmicas em Linhas de Produto de Software Orientado a Serviços e Sensível ao Contexto, Recife, Agosto de 20013
  2. Yu, T., & Lin, K.-J. (2005). Service selection algorithms for Web services with end-to-end QoS constraints. Information Systems and e-Business Management, 3(2), 103–126. doi:10.1007/s10257-005-0052-z

Texto originalmente publicado por Jackson Raniel.