SISTEMAS DISTRIBUÍDOS



Documentos relacionados
Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido


Arquitetura de Sistemas Distribuídos

SISTEMAS DISTRIBUIDOS

Sistemas Distribuídos: Conceitos e Projeto Arquiteturas Ponto a Ponto

Resumo. Introdução História Caracteristicas Exemplos Arquitetura Distribuição Vertical vs Distribuição Horizontal Segurança Conclusão

Arquitecturas de Sistemas. Arquitecturas Descentralizadas de Sistemas

Cap. 02 Arquiteturas de Sist. Distribuídos

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

3 SCS: Sistema de Componentes de Software

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Sistemas Distribuídos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Arquitetura dos Sistemas de Informação Distribuídos

Introdução ao Modelos de Duas Camadas Cliente Servidor

Projeto de Arquitetura

Fundamentos de Banco de Dados

UFG - Instituto de Informática

Redes de Computadores

Desenvolvimento Cliente-Servidor 1

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

MODELO CLIENTE SERVIDOR

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Redes de Computadores

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Sistemas Distribuídos. Introdução

PEER DATA MANAGEMENT SYSTEM

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Engenharia de Sistemas Computacionais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

SISTEMAS DISTRIBUÍDOS

Redes de Computadores e suas classificações. Maurício Severich

Sistemas Distribuídos

Considerações no Projeto de Sistemas Cliente/Servidor

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Ciência de Computadores Sistemas Distribuídos e Móveis

Definição São sistemas distribuídos compostos de nós interconectados, aptos a se auto-organizar em topologias de rede, com o intuito de compartilhar

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

ARQUITETURA DE SOFTWARE

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas Distribuídos

SISTEMAS OPERACIONAIS

Introdução. Arquitetura de Rede de Computadores. Prof. Pedro Neto

SISTEMAS DISTRIBUÍDOS

Eduardo Bezerra. Editora Campus/Elsevier

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Profs. Deja e Andrei

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Aula 03-04: Modelos de Sistemas Distribuídos

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Capítulo 8 - Aplicações em Redes

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

AULA Redes de Computadores e a Internet

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

Aplicações P2P. André Lucio e Gabriel Argolo

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2014

Sistemas Distribuídos. Nomeação. Nazareno Andrade. Universidade Federal de Campina Grande 02/2008

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

1

Sistemas Cliente-Servidor

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

ARQUITETURA DE COMPUTADORES

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Funcionalidade Escalabilidade Adaptabilidade Gerenciabilidade

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Padrões Arquiteturais. Sistemas Distribuídos: Broker

ESTUDO DE CASO WINDOWS VISTA

Projeto de Arquitetura

Guia De Configuração do Sistema de Comunicação GPRS ID DATA

O que são DNS, SMTP e SNM

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

GT Computação Colaborativa (P2P)

Sistemas distribuídos:comunicação

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Programação Distribuída. Arquiteturas

Sistemas Distribuídos

Curso de Aprendizado Industrial Desenvolvedor WEB

Redes de Computadores. Prof. Dr. Rogério Galante Negri

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Transcrição:

Arquiteturas www.pearson.com.br capítulo 2 slide 1

2.1 Estilos Arquitetônicos Formado em termos de componentes, do modo como esses componentes estão conectados uns aos outros, dos dados trocados entre componentes e, por fim, da maneira como esses elementos são configurados em conjunto para formar um sistema. Componente é uma unidade modular com interfaces requeridas e fornecidas bem definidas que é substituível dentro de seu ambiente. Conector é um mecanismo mediador da comunicação ou da cooperação entre componentes. slide 2

2.1 Estilos Arquitetônicos 1. Arquitetura em camadas Componentes organizados em camadas, onde componentes da camada L i pode chamar métodos da camada L i-1, mas não o contrário; 2. Arquiteturas baseadas em objetos Objetos correspondem às definições de componentes, que são conectados por meio de chamadas de procedimento remotas; slide 3

2.1 Estilos Arquitetônicos (a) em camadas e (b) baseado em objetos slide 4

2.1 Estilos Arquitetônicos 3. Arquiteturas centradas em dados Processos se comunicam por meio de repositório comum (passivo ou ativo); 4. Arquiteturas baseadas em eventos Processos se comunicam por meio de propagação de eventos que podem transportar dados; Sistemas Publicar/Subscrever; São referencialmente desacoplados. slide 5

2.1 Estilos Arquitetônicos (a) baseados em eventos e (b) centradas em dados www.pearson.com.br slide 6

2.1 Estilos Arquitetônicos Estilos podem ser híbridos, como arquiteturas baseadas em eventos juntamente com centradas em dados, também conhecidas como espaços compartilhados de dados. slide 7

2.2 Arquiteturas de Sistemas 2.2.1 Arquiteturas Centralizadas Modelo Cliente-Servidor Problemas: Orientado ou não-orientado a conexão (TCP ou UDP)? slide 8

2.2.1 Arquiteturas Centralizadas Camadas de Aplicação Divididas em 3 níveis: 1. Nível de interface de usuário Contém tudo o que é necessário para fazer interface com o usuário 2. Nível de processamento Contém as aplicações 3. Nível de dados Gerencia os dados propriamente ditos slide 9

Organização em 3 Camadas de Aplicação Um mecanismo de busca da Internet slide 10

2.2.1 Arquiteturas Centralizadas Arquiteturas multidivididas Com base na organização de três níveis lógicos discutida anteriormente, é necessária a distribuição física. A maneira mais simples, denominada arquitetura de duas divisões (físicas) é distribuída da seguinte forma: 1. Uma máquina cliente que contém apenas os programas que implementam o nível (ou parte do nível) de interface de usuário 2. Uma máquina do servidor que contém todo o resto, ou seja, os níveis de processamento e de dados. slide 11

2.2.1 Arquiteturas Centralizadas Arquiteturas multidivididas Alternativas de distribuição slide 12

2.2.1 Arquiteturas Centralizadas Arquiteturas multidivididas Arquitetura de três divisões (físicas) slide 13

2.2.2 Arquiteturas descentralizadas Distribuição vertical divide componentes logicamente diferentes em máquinas diferentes; Distribuição horizontal Um cliente ou servidor pode ser subdividido em partes logicamente equivalentes, mas cada parte está operando em sua própria porção do conjunto de dados, equilibrando a carga. Ex.: Peer to Peer (servidor e cliente ao mesmo tempo, também chamada servente ) slide 14

2.2.2 Arquiteturas descentralizadas Peer to Peer Arquiteturas se dividem pela forma de organizar os processos em uma rede de sobreposição. Redes de sobreposição estruturadas Redes de sobreposição não-estruturadas slide 15

2.2.2 Arquiteturas descentralizadas Arquiteturas Peer to Peer estruturadas O mais usado é organizar os processos por meio de uma DHT. Sistema Chord Nós ligados logicamente em anel, onde um item de dado com chave k seja mapeado para o nó que tenha o menor Id k. CAN Usa espaço de coordenadas cartesianas de d dimensões particionado entre todos os nós participantes do sistema. slide 16

2.2.2 Arquiteturas descentralizadas Sistema Chord slide 17

2.2.2 Arquiteturas descentralizadas Rede de Conteúdo Endereçável (CAN) slide 18

2.2.2 Arquiteturas descentralizadas Arquiteturas P2P não-estruturadas Cada nó mantém uma lista aleatória de vizinhos. Itens de dados são colocados aleatoriamente nos nós. Consulta através de inundação da rede A meta é construir uma rede de sobreposição parecida com um grafo aleatório. slide 19

slide 20

Gerenciamento de topologia de redes de sobreposição Abordagem de 2 camadas slide 21

Evolução da rede de sobreposição nãoestruturada A tendência do uso contínuo das duas camadas tende a distribuir melhor os peers. slide 22

Super-pares (superpeers) Usam nós especiais que mantêm um índice de itens de dados, a fim de facilitar a localização de dados relevantes em sistemas P2P não estruturados. Definem, em muitos casos, uma relação cliente-superpar fixa, onde sempre que um par se junta à rede, se liga a um dos superpares e continua ligado até sair da rede Nem sempre é uma boa solução! slide 23

Super-pares (superpeers) slide 24

2.2.3 Arquiteturas híbridas Sistemas de servidor de borda (Internet) Sistemas colaborativos (Torrent) slide 25

2.2.3 Arquiteturas híbridas BitTorrent Um usuário acessa um diretório global que contém um arquivo.torrent, o qual contém as informações necessárias para transferir um ou mais arquivos específicos (rastreador). Após a identificação dos nós e suas porções de arquivos, o nó que está transferindo se torna efetivamente ativo, sendo forçado a auxiliar os outros. O gargalo dos servidores são os rastreadores! slide 26

Funcionamento do BitTorrent slide 27

2.3 Arquiteturas versus Middleware Onde o Middleware se encaixa? Entre aplicações e plataformas distribuídas, com finalidade de proporcionar um grau de transparência à distribuição de dados, processamento e controle. Middlewares normalmente seguem estilos arquitetônicos específicos: CORBA (baseado em objetos); TIB/Rendezvouz (baseado em eventos); slide 28

2.3.1 Interceptadores É um software que interromperá o fluxo de controle usual e permitirá que seja executado um outro código (específico da aplicação). Funcionamento em O.O. 1. Oferecida a A uma interface local igual à oferecida pelo objeto B. 2. A chamada por A é transformada em uma invocação a objeto genérico, possibilitada por meio de uma interface geral de invocação de objeto oferecida pelo middleware na máquina em que A reside. 3. Por fim, a invocação a objeto genérico é transformada em uma mensagem que é enviada por meio de uma interface de rede de nível de transporte como oferecida pelo sistema operacional de A. slide 29

Funcionamento de um Interceptador slide 30

2.3.2 Abordagens gerais para software adaptativo É necessário adaptar sistemas distribuídos por vários motivos, como hardware defeituoso ou esgotamento de bateria. Isso levou aos softwares adaptativos, que são responsáveis por reagir a essas mudanças. 1. Separação de Interesses Separa as partes que implementam funcionalidades das que cuidam de funcionalidades extras. Além disso, entrelaça os interesses cruzados em um sistema distribuído (software orientado a aspecto). 2. Reflexão computacional Programa inspeciona a si mesmo e, se necessário, adapta-se ao ambiente. 3. Projeto baseado em componente adaptação por meio de composição. slide 31

Autogerenciamento em SDs Modelo de realimentação e controle slide 32

Exemplo: Monitoração de sistemas com Astrolabe slide 33

Exemplo: diferenciação de estratégias de replicação em Globule slide 34

Exemplo: gerenciamento automático de conserto de componente em Jade slide 35