[pt] PROXIES INTELIGENTES: MONITORAÇÃO E ADAPTAÇÃO AUTOMÁTICAS
[en] SMART PROXIES: AUTOMATIC MONITORING AND ADAPTATION
Description
[pt] No contexto de aplicações distribuídas, a necessidade de se adaptar a mudanças no ambiente de execução tem se tornado cada vez mais comum. Diversos trabalhos abordam a reconfiguração dinâmica de clientes e servidores em resposta a tais mudanças, inclusive na área da provisão de qualidade de serviço (QoS). Esta dissertação explora o uso da reflexividade em uma arquitetura popular de middleware (CORBA) e emprega ferramentas adicionais para o desenvolvimento de um proxy inteligente. Um dos pontos principais desse proxy é sua simplicidade de uso, pois requer poucos parâmetros para ser instanciado e reage a eventos externos automaticamente. Esse comportamento é obtido pela combinação da flexibilidade do binding LuaOrb com a conveniência das bibliotecas LuaTrading e LuaMonitor; a especificação das propriedades relevantes para a adaptação dinâmica é feita através de descritores simples e de fácil reutilização. Finalmente, este trabalho oferece mecanismos para upload e download de stubs especializados, com o objetivo de executar procedimentos de adaptação mais específicos. Com o objetivo de demonstrar uma possível aplicação para o proxy inteligente, apresentamos seu uso em um jogo simplificado para adaptá-lo automaticamente a eventos de escassez de recursos simulados.[en] In the context of distributed applications, the need for adapting to changes in the execution environment is growing steadily. Several works deal with dynamic reconfiguration of clients and servers in response to such changes, including situations where provision of Quality of Service (QoS) is concerned. This thesis proposes the use of reflexivity in a popular middleware architecture (CORBA) and other tools to develop a smart proxy. One of its main points is usage simplicity, for the proxy requires few parameters to be instantiated and reacts to external events automatically. That behavior is achieved by combining the flexibility of the LuaOrb binding and the convenience of the LuaTrading and LuaMonitor libraries; the statement of properties relevant to the dynamic adaptation is accomplished by simple and easy-to-reuse descriptors. Finally, this work offers mechanisms to upload and download specialized stubs as to carry out more specific adaptation procedures. In order to demonstrate a possible application of the smart proxy, we present a simple game that employs it to automatically adapt to simulated resource shortage events.