Post on 22-Jan-2016
description
1
Onde Foi Parar a Avenida Paulista???
Seminário SIDAM
Fabio Kon
23 de março de 2001
2
Gerenciamento de Dependências em um Sistema de Informação
Distribuído
Seminário SIDAM
Fabio Kon
23 de março de 2001
Copyleft by Fabio Kon 323 / Março / 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 423 / Março / 2001
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 523 / Março / 2001
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 623 / Março / 2001
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 723 / Março / 2001
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 823 / Março / 2001
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 923 / Março / 2001
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 1023 / Março / 2001
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 1123 / Março / 2001
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 1223 / Março / 2001
Serviço de Configuração Automática
Repositório de Componentes
Analisador dePré-requisitos
Resolvedorde
Pré-requisitos
Gerenciador deRecursos Cache
executa aplicação
retorna referência
busca pré-requisitos
busca componentes
Copyleft by Fabio Kon 1323 / Março / 2001
Desempenho do Serviço de Configuração Automática
Copyleft by Fabio Kon 1423 / Março / 2001
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 1523 / Março / 2001
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 1623 / Março / 2001
Exemplo: Adaptações Dinâmicas em um
Navegador Web
Copyleft by Fabio Kon 1723 / Março / 2001
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 1823 / Março / 2001
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 1923 / Março / 2001
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 2023 / Março / 2001
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 2123 / Março / 2001
Rede de Refletores
Copyleft by Fabio Kon 2223 / Março / 2001
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 2323 / Março / 2001
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 2423 / Março / 2001
Reconfiguração Dinâmica para Tolerância a Falhas
Copyleft by Fabio Kon 2523 / Março / 2001
Impacto da Reconfiguração na Qualidade do Serviço
Copyleft by Fabio Kon 2623 / Março / 2001
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 2723 / Março / 2001
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 2823 / Março / 2001
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 2923 / Março / 2001
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 3023 / Março / 2001
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 3123 / Março / 2001
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 3223 / Março / 2001
Trabalho Futuro:Middleware Reflexivo
Cliente Servidor
MiddlewareInterface para
reconfiguração
dinâmica
Copyleft by Fabio Kon 3323 / Março / 2001
FIM
Perguntas?
Copyleft by Fabio Kon 3423 / Março / 2001
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 3523 / Março / 2001
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)