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

Sistemas Distribuídos Baseados em Componentes

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Sistemas Distribuídos Baseados em Componentes

1

Sistemas Distribuídos Baseados em Componentes

Fabio Kon

Departamento de Ciência da ComputaçãoIME - USP

4 / abril / 2001

Page 2: Sistemas Distribuídos Baseados em Componentes

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

Page 3: Sistemas Distribuídos Baseados em Componentes

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

Page 4: Sistemas Distribuídos Baseados em Componentes

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

Page 5: Sistemas Distribuídos Baseados em Componentes

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

Page 6: Sistemas Distribuídos Baseados em Componentes

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.

Page 7: Sistemas Distribuídos Baseados em Componentes

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

Page 8: Sistemas Distribuídos Baseados em Componentes

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

Page 9: Sistemas Distribuídos Baseados em Componentes

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

Page 10: Sistemas Distribuídos Baseados em Componentes

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

Page 11: Sistemas Distribuídos Baseados em Componentes

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

Page 12: Sistemas Distribuídos Baseados em Componentes

Copyleft by Fabio Kon 124 / abril / 2001

Desempenho do Serviço de Configuração Automática

Page 13: Sistemas Distribuídos Baseados em Componentes

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

Page 14: Sistemas Distribuídos Baseados em Componentes

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

Page 15: Sistemas Distribuídos Baseados em Componentes

Copyleft by Fabio Kon 154 / abril / 2001

Exemplo: Adaptações Dinâmicas em um

Navegador Web

Page 16: Sistemas Distribuídos Baseados em Componentes

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

Page 17: Sistemas Distribuídos Baseados em Componentes

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

Page 18: Sistemas Distribuídos Baseados em Componentes

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

Page 19: Sistemas Distribuídos Baseados em Componentes

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

Page 20: Sistemas Distribuídos Baseados em Componentes

Copyleft by Fabio Kon 204 / abril / 2001

Rede de Refletores

Page 21: Sistemas Distribuídos Baseados em Componentes

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

Page 22: Sistemas Distribuídos Baseados em Componentes

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

Page 23: Sistemas Distribuídos Baseados em Componentes

Copyleft by Fabio Kon 234 / abril / 2001

Reconfiguração Dinâmica para Tolerância a Falhas

Page 24: Sistemas Distribuídos Baseados em Componentes

Copyleft by Fabio Kon 244 / abril / 2001

Impacto da Reconfiguração na Qualidade do Serviço

Page 25: Sistemas Distribuídos Baseados em Componentes

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

Page 26: Sistemas Distribuídos Baseados em Componentes

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

Page 27: Sistemas Distribuídos Baseados em Componentes

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.

Page 28: Sistemas Distribuídos Baseados em Componentes

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

Page 29: Sistemas Distribuídos Baseados em Componentes

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.

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

Page 31: Sistemas Distribuídos Baseados em Componentes

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)

Page 32: Sistemas Distribuídos Baseados em Componentes

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: ???

Page 33: Sistemas Distribuídos Baseados em Componentes

Copyleft by Fabio Kon 334 / abril / 2001

FIM

Perguntas?