View
109
Download
2
Category
Preview:
Citation preview
1
Sistemas Distribuídos Baseados em Componentes
Fabio Kon
Departamento de Ciência da ComputaçãoIME - USP
4 / abril / 2001
Copyleft by Fabio Kon 24 / abril / 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 34 / abril / 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
Enterprise Java Beans ActiveX Controls, COM CORBA Component Model
Copyleft by Fabio Kon 44 / abril / 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 54 / abril / 2001
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 64 / abril / 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
Causa: não há um gerenciamento apropriado das dependências dentro do sistema.
Copyleft by Fabio Kon 74 / abril / 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 84 / abril / 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 94 / abril / 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 104 / abril / 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 114 / abril / 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 124 / abril / 2001
Desempenho do Serviço de Configuração Automática
Copyleft by Fabio Kon 134 / abril / 2001
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 144 / abril / 2001
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 154 / abril / 2001
Exemplo: Adaptações Dinâmicas em um
Navegador Web
Copyleft by Fabio Kon 164 / abril / 2001
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 174 / abril / 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 184 / abril / 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
Computação Musical
Copyleft by Fabio Kon 194 / abril / 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 204 / abril / 2001
Rede de Refletores
Copyleft by Fabio Kon 214 / abril / 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 224 / abril / 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 234 / abril / 2001
Reconfiguração Dinâmica para Tolerância a Falhas
Copyleft by Fabio Kon 244 / abril / 2001
Impacto da Reconfiguração na Qualidade do Serviço
Copyleft by Fabio Kon 254 / abril / 2001
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 264 / abril / 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 274 / abril / 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 284 / abril / 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 294 / abril / 2001
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 304 / abril / 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 314 / abril / 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)
Copyleft by Fabio Kon 324 / abril / 2001
Trabalho Futuro:Middleware Reflexivo
Cliente Servidor
MiddlewareInterface para
reconfiguração
dinâmica
Protótipos: U. Illinois: dynamicTAO, LegORB, UIC
Lancaster: OpenORB
USP e PUC-RJ: ???
Copyleft by Fabio Kon 334 / abril / 2001
FIM
Perguntas?
Recommended