1 / 33

Sistemas Distribuídos Baseados em Componentes

Sistemas Distribuídos Baseados em Componentes. Fabio Kon Departamento de Ciência da Computação IME - USP 4 / abril / 2001. Conteúdo da Palestra. Descrição do contexto e dos problemas Resolução dos problemas Aplicações Práticas Trabalho Futuro. Contexto.

Download Presentation

Sistemas Distribuídos Baseados em Componentes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas Distribuídos Baseados em Componentes Fabio Kon Departamento de Ciência da Computação IME - USP 4 / abril / 2001

  2. 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

  3. 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 • Enterprise Java Beans • ActiveX Controls, COM • CORBA Component Model Copyleft by Fabio Kon

  4. 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

  5. Problemas de Configuração • Instalação e remoção de programas • Atualizações de sistema operacionais • Atualizações de aplicações e ferramentas • Ambientes distribuídos ligados à Internet Copyleft by Fabio Kon

  6. 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 • Causa: não há um gerenciamento apropriado das dependências dentro do sistema. Copyleft by Fabio Kon

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. Desempenho do Serviço de Configuração Automática Copyleft by Fabio Kon

  13. ComponentConfigurator • Guarda as dependências dinâmicas • Permite inspeção e reconfiguração • Pode ser modificado sob medida (customized) através de herança • Separação clara de aspectos Copyleft by Fabio Kon

  14. Representação Explícita de Dependências • Ajuda a dar suporte para: • tolerância a falhas • reconfiguração dinâmica • adaptação dinâmica • balanceamento de carga • computação móvel Copyleft by Fabio Kon

  15. Exemplo: Adaptações Dinâmicas em um Navegador Web Copyleft by Fabio Kon

  16. Gerenciamento de Sistemas de Componentes em grande escala: 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

  17. 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

  18. 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 • Computação Musical Copyleft by Fabio Kon

  19. 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

  20. Rede de Refletores Copyleft by Fabio Kon

  21. 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

  22. 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

  23. Reconfiguração Dinâmica para Tolerância a Falhas Copyleft by Fabio Kon

  24. Impacto da Reconfiguração na Qualidade do Serviço Copyleft by Fabio Kon

  25. Aplicação destas técnicas no Projeto SIDAM • PSIT: Protótipo de Sistema de Informações de Trânsito • Componentes do sistema são objetos Java distribuídos em uma rede metropolitana • Comunicação feita através de Java RMI • atualização de dados: sensores e funcionários da CET • consulta: população, CET, ambulâncias, ... Copyleft by Fabio Kon

  26. 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

  27. 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

  28. 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

  29. Trabalho Futuro:Pré-Requisitos • Investigar linguagens ou formatos mais elaborados para especificação de prerequisitos (possivelmente com XML). • Gerenciamento de versões em sistemas distribuídos baseados em componentes. Copyleft by Fabio Kon

  30. 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

  31. 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

  32. Trabalho Futuro:Middleware Reflexivo Cliente Servidor Middleware Interface para reconfiguração dinâmica Protótipos: U. Illinois: dynamicTAO, LegORB, UIC Lancaster: OpenORB USP e PUC-RJ: ??? Copyleft by Fabio Kon

  33. FIM • Perguntas? Copyleft by Fabio Kon

More Related