350 likes | 435 Views
Onde Foi Parar a Avenida Paulista???. Seminário SIDAM Fabio Kon 23 de março de 2001. Gerenciamento de Dependências em um Sistema de Informação Distribuído. Seminário SIDAM Fabio Kon 23 de março de 2001. Conteúdo da Palestra. Descrição do contexto e dos problemas Resolução dos problemas
E N D
Onde Foi Parar a Avenida Paulista??? Seminário SIDAM Fabio Kon 23 de março de 2001
Gerenciamento de Dependências em um Sistema de Informação Distribuído Seminário SIDAM Fabio Kon 23 de março de 2001
Conteúdo da Palestra • Descrição do contexto e dos problemas • Resolução dos problemas • Aplicações Práticas: SIDAM, PSIT • Trabalho Futuro Copyleft by Fabio Kon
Contexto • A sociedade moderna exige dos desenvolvedores de software • a produção de muitos programas em pouco tempo • a produção de programas grandes e complexos • funcionamento em diferentes sistemas operacionais • funcionamento em diferentes arquiteturas de hardware • Solução parcial: Tecnologia de Componentes • Java Beans, Enterprise Java Beans • ActiveX Controls, COM • CORBA Component Model Copyleft by Fabio Kon
Programação Baseada em Componentes • É uma extensão da idéia de programação orientada a objetos • Torna a reutilização de código mais fácil • Possibilita a criação de aplicações complexas • usando interfaces gráficas • usando interfaces de programação Copyleft by Fabio Kon
Problemas de Configuração • Instalação e remoção de programas • Atualizações de sistemas operacionais • Atualizações de aplicações e ferramentas • Ambientes distribuídos ligados à Internet Copyleft by Fabio Kon
Problemas de Adaptação • Componentes têm requisitos específicos • Falha em uma componente pode se alastrar por todo o sistema • Reconfiguração dinâmica é muito difícil • Adaptação dinâmica é mais ainda • Causa: não há um gerenciamento apropriado das dependências dentro do sistema. Copyleft by Fabio Kon
Conteúdo da Palestra • Descrição do contexto e dos problemas • Resolução dos problemas • Aplicações Práticas • Trabalho Futuro Copyleft by Fabio Kon
Método para Gerenciamento de Dependências • Lidamos com dois tipos de dependências: 1. Pré-requisitos 2. Dependências Dinâmicas Copyleft by Fabio Kon
Pré-requisitos • Especifica o que cada componente necessita: • natureza dos recursos de hardware • capacidade dos recursos de hardware • serviços de software (outras componentes) • Exemplo de um Cliente de Vídeo: • SPARC com alto-falante • 50% de uma UCP de 400MHz • componente de software decodificadora de MPEG • Serviço de vídeo no padrão CORBA Copyleft by Fabio Kon
Simple Prerequisite Description Format (SPDF) # Cliente de vídeo :hardware requirements machine_type SPARC os_name Solaris os_version 2.7 min_ram 5MB optimal_ram 40MB cpu_speed >400MHz cpu_share 50% :software requirements Decoder CR:/video/decoders/MPEG VideoServer NS:/local/MPEGVideoServer Copyleft by Fabio Kon
Serviço de Configuração Automática Resolvedor de Pré-requisitos busca pré-requisitos Repositório de Componentes executa aplicação busca componentes retorna referência Analisador de Pré-requisitos Gerenciador de Recursos Cache Copyleft by Fabio Kon
Desempenho do Serviço de Configuração Automática Copyleft by Fabio Kon
ComponentConfigurator • Guarda as dependências dinâmicas • Permite inspeção e reconfiguração • Pode ser moldado (customized) através de herança • Separação clara de aspectos Copyleft by Fabio Kon
Representação Explícita de Dependências Dinâmicas • Ajuda a dar suporte para: • computação móvel • tolerância a falhas • reconfiguração dinâmica • adaptação dinâmica • balanceamento de carga Copyleft by Fabio Kon
Exemplo: Adaptações Dinâmicas em um Navegador Web Copyleft by Fabio Kon
Sistema de Agentes Móveis • Apropriado para sistemas de grande escala • Útil para • distribuição de componentes • reconfiguração dinâmica • inspeção Copyleft by Fabio Kon
Conteúdo da Palestra • Descrição do contexto e dos problemas • Resolução dos problemas • Aplicações Práticas • Trabalho Futuro Copyleft by Fabio Kon
Aplicações • Sistema de Distribuição de Multimídia • dynamicTAO, ORB CORBA Reflexivo • Gaia, sistema para computação ubíqua • SIDAM, sistema para controle de tráfego Copyleft by Fabio Kon
Sistema de Distribuição de Multimídia em Grande Escala • Objetivo: enviar fluxos multimídia para milhões de usuários simultâneos através da Internet. • Pode ser utilizado para • Envio ao-vivo de áudio, vídeo, texto, HTML • Envio de vídeos pré-gravados • Áudio/Videoconferência • Método: rede de grande-área de Refletores Copyleft by Fabio Kon
Rede de Refletores Copyleft by Fabio Kon
Experiência com o Sistema • Missão Mars Pathfinder NASA JPL (1998) • 30 refletores em 4 continentes • Applet decodifica vídeo e áudio p/ cliente • 1.2M de sessões de vídeo / áudio • 24h/dia durante 3 meses • Encontramos erros enquanto o sistema rodava Copyleft by Fabio Kon
Aplicando a Arquitetura • Pré-requisitos e Sistema de Configuração Automática : • Usados para carregar e configurar as componentes de cada Refletor • Reserva de memória, UCP, e rede (não implementados) • ComponentConfigurators: • representam dependências intra- e inter-Refletores • dão suporte a tolerância a falhas Copyleft by Fabio Kon
Reconfiguração Dinâmica para Tolerância a Falhas Copyleft by Fabio Kon
Impacto da Reconfiguração na Qualidade do Serviço Copyleft by Fabio Kon
Aplicação destas técnicas no PSIT do SIDAM • PSIT: Protótipo de Sistema de Informações de Trânsito • Desenvolvido por XX e Prof. Dilma M. Silva. • Componentes do sistema são objetos Java • Comunicação feita através de Java RMI Copyleft by Fabio Kon
Gerenciamento de Dependências no PSIT • Servidores de Informação (sobre trânsito) • Servidores de Localização (dizem qual SI deve ser utilizado) • ComponentConfigurators guardam relações de dependências entre SLs e Sis • Guardam também alternativas • Sistema desencadeia reconfiguração automaticamente quando detecta queda de SIs Copyleft by Fabio Kon
PSIT:Trabalho em Andamento • Reconfiguração automática quando da falha de qualquer componente do sistema. • Criação e destruição de réplicas de SIs e SLs automaticamente de acordo com a carga. • Migração de Componentes de acordo com carga e localização física. • Objetivo: oferecer Serviço de Informações sobre trânsito sempre disponível e com resposta rápida. Copyleft by Fabio Kon
Conteúdo da Palestra • Descrição do contexto e dos problemas • Resolução dos problemas • Aplicações Práticas • Trabalho Futuro Copyleft by Fabio Kon
Trabalho Futuro:Pré-Requisitos • Investigar linguagens ou formatos mais elaborados para especificação de prerequisitos • possivelmente usando XML • aprender com experiência do Debian Linux • Gerenciamento de versões em sistemas distribuídos baseados em componentes. • Como gerar pré-requisitos automaticamente? Copyleft by Fabio Kon
Trabalho Futuro:ComponentConfigurator • Criar bibliotecas reutilizáveis de configuradores de componentes para • reconfiguração dinâmica e • tolerância a falhas. Copyleft by Fabio Kon
Trabalho Futuro:Middleware Reflexivo Cliente Servidor Middleware Interface para reconfiguração dinâmica Copyleft by Fabio Kon
FIM • Perguntas? Copyleft by Fabio Kon
Resumo dasContribuições Originais 1. Arquitetura para gerenciamento de dependências [USENIX COOTS’99, IEEE Concurrency´00] 2. Serviço de Configuração Automática[IEEE HPDC’00] 3. Agentes Móveis de Reconfiguração [IEEE ASAMA’00] 4. dynamicTAO[IFIP/ACM Middleware’00] 5. Sistema de Distribuição de Multimídia [CC’01] Copyleft by Fabio Kon
Trabalho Futuro:Computação Musical • Aplicação centralizada: • Seqüênciador baseado em componentes (ferramenta para composição musical) • Aplicações distribuídas: • Analisador e Gerenciador de Acústica de Salas • Sistema de Agentes Móveis Musicais (ambiente para composição e execução musical) Copyleft by Fabio Kon