Heterogeneidade em Sistemas de Descoberta: Survey e Uma Solução Descentralizada para Descoberta Integrada
Descoberta de Serviços; Heterogeneidade; Sistemas Descentralizados
Em sistemas distribuídos, o primeiro passo para estabelecer uma comunicação com um outro dispositivo é saber o seu endereço, isto é, localizá-lo. Para localizar serviços ou recursos de forma automatizada, sistemas de descoberta tem sido aplicados a ambientes e contextos de uso diversos, desde redes de sensores sem fio e sistemas peer-to-peer, até clusters de alto processamento e sistemas em nuvem. A grande diversidade entre os contextos de uso e necessidades das aplicações, tem levado ao desenvolvimento de protocolos de descoberta especializados, frequentemente incompatíveis entre si. Essa incompatibilidade impede a descoberta através de ambientes ou protocolos heterogêneos, restringindo os serviços acessíveis a determinado dispositivo. Para lidar com essas limitações, é preciso, portanto, prover soluções de descoberta que integrem ambientes e protocolos de descoberta heterogêneos. Isso requer, por sua vez, entender: em quais aspectos variam esses ambientes e protocolos e também quais os aspectos existem em comum entre eles. Para solucionar essa questão, este trabalho apresenta uma revisão de estudos secundários da literatura que tratam da descoberta de serviços e descoberta de recursos através de diferentes ambientes, i.e. um estudo terciário sobre o tema. Com base nesta revisão, foi desenvolvida uma solução para descoberta integrada de serviços através de ambientes e protocolos de descoberta heterogêneos. Uma prova de conceito dessa solução foi implementada, junto com dois mecanismos de descoberta: um voltado para a descoberta em redes locais e outro para descoberta descentralizada através da Internet. Para avaliar a viabilidade da solução e analisar como esses mecanismos interagem entre si, foi realizado um experimento controlado, em um ambiente de redes virtuais. Embora limitações e desafios ainda permaneçam, este trabalho pode contribuir para o entendimento dos sistemas de descoberta, no que tem de comum e nos seus pontos de variação, e avançar na direção de um “descoberta universal” de serviços, que permita a construção de novos gêneros de aplicações.