Onde Foi Parar a
Avenida Paulista???
Seminário SIDAM
Fabio Kon
23 de março de 2001
1
Gerenciamento de
Dependências em um Sistema
de Informação Distribuído
Seminário SIDAM
Fabio Kon
23 de março de 2001
2
Conteúdo da Palestra

Descrição do contexto e dos problemas

Resolução dos problemas

Aplicações Práticas: SIDAM, PSIT

Trabalho Futuro
23 / Março / 2001
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



Java Beans, Enterprise Java Beans
ActiveX Controls, COM
CORBA Component Model
23 / Março / 2001
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

23 / Março / 2001
Copyleft by Fabio Kon
5
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
23 / Março / 2001
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
 Adaptação dinâmica é mais ainda


Causa: não há um gerenciamento
apropriado das dependências dentro do
sistema.
23 / Março / 2001
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
23 / Março / 2001
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
23 / Março / 2001
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
23 / Março / 2001
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
23 / Março / 2001
Copyleft by Fabio Kon
11
Serviço de Configuração
Automática
Resolvedor
de
Pré-requisitos
executa aplicação
retorna referência
busca pré-requisitos
busca componentes
Repositório de
Componentes
Analisador de
Pré-requisitos
Gerenciador de
Recursos
23 / Março / 2001
Cache
Copyleft by Fabio Kon
12
Desempenho do Serviço de
Configuração Automática
23 / Março / 2001
Copyleft by Fabio Kon
13
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
23 / Março / 2001
Copyleft by Fabio Kon
14
Representação Explícita de
Dependências Dinâmicas

Ajuda a dar suporte para:
 computação
 tolerância
móvel
a falhas
 reconfiguração
 adaptação
dinâmica
 balanceamento
23 / Março / 2001
dinâmica
de carga
Copyleft by Fabio Kon
15
Exemplo:
Adaptações Dinâmicas em um
Navegador Web
23 / Março / 2001
Copyleft by Fabio Kon
16
Sistema de Agentes Móveis

Apropriado para
sistemas de grande
escala

Útil para



distribuição de
componentes
reconfiguração
dinâmica
inspeção
23 / Março / 2001
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
23 / Março / 2001
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
23 / Março / 2001
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
23 / Março / 2001
Copyleft by Fabio Kon
20
Rede de Refletores
23 / Março / 2001
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
23 / Março / 2001
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
23 / Março / 2001
Copyleft by Fabio Kon
23
Reconfiguração Dinâmica
para Tolerância a Falhas
23 / Março / 2001
Copyleft by Fabio Kon
24
Impacto da Reconfiguração
na Qualidade do Serviço
23 / Março / 2001
Copyleft by Fabio Kon
25
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
23 / Março / 2001
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

23 / Março / 2001
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.
23 / Março / 2001
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
23 / Março / 2001
Copyleft by Fabio Kon
29
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?
23 / Março / 2001
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.
23 / Março / 2001
Copyleft by Fabio Kon
31
Trabalho Futuro:
Middleware Reflexivo
Cliente
Servidor
Middleware
Interface para
reconfiguração
dinâmica
23 / Março / 2001
Copyleft by Fabio Kon
32
FIM

Perguntas?
23 / Março / 2001
Copyleft by Fabio Kon
33
Resumo das
Contribuiçõ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
4. dynamicTAO
[IEEE ASAMA’00]
[IFIP/ACM Middleware’00]
5. Sistema de Distribuição de Multimídia [CC’01]
23 / Março / 2001
Copyleft by Fabio Kon
34
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)

23 / Março / 2001
Copyleft by Fabio Kon
35
Download

PPT slides in Portuguese - IME-USP