Buscar

Unidade I - Aulas 1 e 2 - Conceitos Básicos de Sistemas Distribuídos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Profº Ivan Maia Vital Junior 
1 
[ EXA026 ] 
 
Sistemas distribuídos 
 
 
[Unidade I] [Aulas 1 e 2] 
Conceitos básicos de sistemas distribuídos 
• Apresentar ao aluno os conceitos básicos de Sistemas 
Distribuídos, as principais características e os tipos de 
sistemas distribuídos. 
Objetivos 
2 
• Definição: O que são sistemas distribuídos? 
• Principais características de SDs 
• Tipos de Sistemas Distribuídos 
• Exemplo 
3 
Agenda 
• “Coleção de computadores independentes que se 
apresenta ao usuário como um sistema único e 
consistente.” 
 - Tanenbaum - 
 
4 
O que são sistemas distribuídos 
• Aspectos Importantes: 
– SDs são constituídos de componentes autônomos. 
– Estes componentes colaboram entre si 
– Usuários pensam que estão lidando com um único sistema. 
– Usuários podem ser pessoas ou programas 
– Não partilham memória 
– Se comunicam através de mensagens 
 
5 
O que são sistemas distribuídos 
• Vantagens: 
– Tornam fácil integrar em um único sistema diferentes 
aplicações executadas em diferentes computadores. 
– Quando bem projetados podem ser dimensionados 
adequadamente em relação à rede subjacente. 
• Desvantagens 
– Software mais complexo e caro 
– Degradação da performance 
– Redução da segurança 
6 
O que são sistemas distribuídos 
• Definição: 
 É uma camada de software que se estende por várias 
máquinas e oculta das aplicações as diferenças de 
hardware e sistemas operacionais. 
7 
Middleware 
• As diferenças entre os vários componentes de um SD e as 
diversas formas pelas quais eles se comunicam ficam 
escondidas dos usuários. 
• A organização interna do sistema distribuído também fica 
escondida do usuário. 
• Usuários e aplicações interagem com o SD de forma 
consistente e uniforme, independente de onde e quando a 
interação foi realizada. 
• Um SD deve possuir a capacidade de ser expandido ou 
escalado facilmente. 
• Um SD deve estar constantemente disponível. 
• Para garantir essa disponibilidade, a substituição de 
componentes defeituosos ou adição de novos componentes 
deve ser imperceptível aos Usuários do SD. 
8 
Principais características de SDs 
• Sistemas de Computação Distribuída 
• Sistemas de Informação Distribuída 
• Sistemas Embutidos Distribuídos 
9 
Tipos de sistemas distribuídos 
• Sistemas de Computação Distribuídos 
 São utilizados para tarefas de alto desempenho e 
podem ser subdivididos em duas classes: 
– Sistemas de computação em cluster 
– Sistemas de computação em grid 
 
• Clusters são homogêneos enquanto os sistemas em 
grade são heterogêneos 
10 
Tipos de sistemas distribuídos 
Sistemas de Computação Distribuídos 
• Sistemas de computação em cluster 
– Conjunto de estações de trabalho ou PCs semelhantes, 
conectados por meio de uma rede de alta velocidade 
– Cada nó roda o mesmo Sistema Operacional 
– Hardware subjacente homogêneo 
– Usado para processamento paralelo – partes de um único 
programa executado ao mesmo tempo em várias máquinas 
– Se desenvolveu a partir do barateamento dos computadores 
pessoais. 
– Conexão é feita através de uma rede local, e em quase todos 
os casos, a computação de cluster é usada para programação 
paralela. 
Tipos de sistemas distribuídos 
11 
Sistemas de Computação Distribuídos 
• Sistemas de computação em cluster 
– Exemplo: Sistema Beowulf baseado em Linux 
Cada cluster consiste em um conjunto de nós de computação 
controlados e acessados por meio de um único só mestre, 
cujas tarefas são manipular e alocar determinados programas 
paralelos. 
Tipos de sistemas distribuídos 
12 
Sistemas de Computação Distribuídos 
• Sistemas de computação em cluster 
– Exemplo: Sistema Beowulf baseado em Linux 
O mestre efetivamente executa o middleware necessário para a 
execução de programas e gestão do cluster. 
Uma parte importante desse middleware é formada pelas 
bibliotecas de execução paralela dos programas. 
Os nós de computação muitas vezes não precisam de nada além 
de um sistema operacional padrão. 
 
Vídeo 
Tipos de sistemas distribuídos 
13 
Sistemas de Computação Distribuídos 
• Sistemas de computação em cluster 
– Exemplo: Sistema MOSIX baseado em Linux 
Trabalha com o conceito de migração de processos (Threads). 
Para um dado programa que trabalha com muitos processos 
rodando simultaneamente, o sistema pode migrar cada 
processo para um elemento de computação diferente, que 
não esteja sobrecarregado, tornando assim, a execução do 
programa mais rápida. 
 
Tipos de sistemas distribuídos 
14 
Sistemas de Computação Distribuídos 
• Sistemas de computação em cluster 
– Exemplos: Serviço de cluster do windows server 2003 
 Serviço Failover cluster do windows server 2008 
Um grupo de computadores independentes que trabalham em 
conjunto para aumentar a disponibilidade de aplicações e 
serviços. 
Os servidores agrupados (Nós) ficam conectados através de da 
rede de alta velocidade e de software específico. 
Se um nó apresenta problemas, outro nó assume o 
fornecimento do serviço de forma transparente para o 
usuário. 
 
Tipos de sistemas distribuídos 
15 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Virtualização: 
 Integração de sistemas geograficamente distribuídos e 
heterogêneos 
– Organização Virtual: 
 Coleção dinâmica de organizações proporcionando o 
compartilhamento coordenado de recursos. Ex. Universidades, Data 
centers, centros de pesquisa... 
 Uma organização virtual pode ser uma entidade 
 multi-institucional. As organizações que fazem parte de 
uma OV podem ter recursos diferentes em termos de hardware, 
sistema operacional e largura de banda de rede. 
 Assim, podemos inferir que um OV é uma coleção de recursos 
heterogêneos. 
Tipos de sistemas distribuídos 
16 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Diferentemente da computação em cluster, apresentam alto 
grau de heterogeneidade. 
– Não são feitas suposições sobre hardware, sistemas 
operacionais, redes, domínios administrativos, políticas de 
segurança, etc 
– Software usado para permitir acesso a recursos 
computacionais de diferentes organizações, muitas vezes 
distribuídos geograficamente, reunidos para permitir a 
colaboração de um grupo 
– Geralmente estes recursos podem ser 
supercomputadores(possivelmente implementado como 
clusters), Servidores de armazenamento e Banco de dados. 
Tipos de sistemas distribuídos 
17 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grid 
 Permite aos usuários fazer uso dos serviços prestados pela 
organização virtual de forma transparente. 
Os utilizadores não precisam ter conhecimento sobre a 
localização de recursos computacionais. Há apenas um 
ponto de entrada para o sistema de grade. 
 Os utilizadores só precisam de enviar sua requisição de 
serviço ao seu nó local. 
Cabe ao sistema de grade localizar os recursos 
computacionais disponíveis, que poderão atender à 
requisição do usuário. 
Tipos de sistemas distribuídos 
18 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade Vídeo 
Tipos de sistemas distribuídos 
19 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Arquitetura dividida em camadas 
Tipos de sistemas distribuídos 
20 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Camada Base 
 A camada mais baixa, provê interfaces para recursos locais em 
um site específico. 
 Essas interfaces são projetadas para permitir 
compartilhamento de recursos dentrode uma organização 
virtual. 
 Provê funções para consultar o estado e as capacidades de um 
recurso, em conjunto com funções para o gerenciamento 
propriamente dito. 
 Exemplo: Travar um recurso. 
Tipos de sistemas distribuídos 
21 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Camada de conectividade 
 Consiste em protocolos de comunicação para suportar 
transações da grade que abrange a utilização de múltiplos 
recursos. 
 Exemplo: Protocolos de transferência de dados entre recursos 
ou para acessar um recurso que se encontra uma localização 
remota. 
 Também contém protocolos de segurança para autenticação 
de usuários e recursos. 
 
Tipos de sistemas distribuídos 
22 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Camada de recursos 
 Responsável pelo gerenciamento de um único recurso 
 Utiliza funções fornecidas pela camada de conectividade e 
chama diretamente as interfaces disponibilizadas pela camada 
base. 
 Exemplos: 
 Funções que permitem obter informações de configuração a 
respeito de um determinado recurso. 
 Funções para a criação de processos ou leitura de dados. 
Tipos de sistemas distribuídos 
23 
Sistemas de Computação Distribuídos 
• Sistema de Computação em Grade 
– Camada coletiva 
 Controla o acesso a múltiplos recursos e normalmente 
consiste em serviços para descoberta de recursos, alocação e 
escalonamento de tarefas para múltiplos recursos e replicação 
de dados. 
– Camada de aplicação 
 Consiste nas aplicações que operam dentro de uma 
organização virtual e que fazem uso do ambiente de 
computação em grade 
 
 
Tipos de sistemas distribuídos 
24 
• Sistemas de Informação Distribuída 
– Empacota as requisições de clientes, cuja informação está 
distribuída por vários programas / aplicações em uma 
transação que é tratada de forma distribuída. 
– Muito aplicado para viabilizar a integração de sistemas de 
informação através do conceito de Integração de Aplicações 
Corporativas (Enterprise Application Integration – EAI) 
– Pode ser aplicada de duas formas distintas 
• Sistemas de processamento de transações 
• Sistemas de integração de aplicações 
 
25 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Sistemas de processamento de transações 
Para simplificar, vamos nos ater a aplicações baseadas em banco 
de dados. 
26 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Sistemas de processamento de transações 
 Exemplo de transação aninhada: 
27 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Sistemas de processamento de transações 
Propriedades das transações - ACID 
 Atomicidade: Uma transação é indivisível. As operações, ou 
sucedem todas, ou falham todas. A falha de uma transação 
não afeta o estado do objeto. 
 Consistência: Estabelece transição de estado sempre válida, 
ou seja, não pode quebrar as regras do banco de dados. Ao 
término da transação os dados sempre estão em um estado 
consistente. 
 Isolamento: transações concorrentes não interferem umas 
nas outras. 
 Durabilidade: uma vez concluída uma transação, o seu efeito 
é permanente 
 
28 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Sistemas de processamento de transações 
 Exemplo de um monitor de processamento de transação (TP - 
Transaction Processing). 
29 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Integração de aplicações empresariais 
• Aplicações cada vez mais desacopladas do banco de dados 
• Necessidade da integração entre aplicações de maneira 
independente dos seus banco de dados 
• Componentes de aplicação deveriam ter a capacidade de 
se comunicar diretamente uns com os outros 
• A ideia principal : Que as aplicações possam trocar 
informações diretamente . 
• Essa troca de mensagens é feita através de RPC – Remote 
Procedure Calls ou RMI – Remote Method Invocation. 
 
30 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Integração de aplicações empresariais 
• RPC – Remote procedure calls 
– Chamadas a procedimentos remotos 
– Um componente de aplicação pode enviar uma requisição a 
outro componente de aplicação executando uma chamada 
de procedimento local. 
• RMI – Remote Method Invocation 
– Invocação de método remoto 
– Um objeto de uma aplicação pode se comunicar, através de 
mensagens, com outro objeto. 
 
31 
Tipos de sistemas distribuídos 
• Sistemas de Informação Distribuída 
– Integração de aplicações empresariais 
• Um componente de aplicação pode efetivamente enviar 
uma requisição a um outro componente executando uma 
chamada de procedimento local 
• Exemplos de middleware: RPC – Remote procedure calls, 
RMI.Remote method invocation 
32 
Tipos de sistemas distribuídos 
• Sistemas Distribuídos Ubíquos 
– Também chamados pervasivos 
– Sistemas decorrentes do uso de computação móvel e 
embutida, nas quais o comportamento esperado é a 
instabilidade 
– Os dispositivos geralmente, mas, nem sempre apresentam: 
• Mobilidade; 
• Tamanho reduzido; 
• Alimentação por bateria; 
• Comunicação sem fio; 
 
33 
Tipos de sistemas distribuídos 
• Sistemas Distribuídos Ubíquos 
– Dispositivos componentes do sistema não possuem controle 
administrativo humano, no máximo permitem que seus usuários os 
configurem. 
– Precisam reconhecer automaticamente o ambiente em que se 
encontram e procurar se “aninhar” neste ambiente. 
– Para tanto os dispositivos devem ser capazes de: 
• Identificar e se adaptar a mudanças contextuais 
• Suportar a composição ad hoc. Deveria ser muito fácil configurar toda a 
suíte de aplicações que rodam no dispositivo, seja pelo usuário ou por 
meio de interposição automatizada. 
– Admitir o compartilhamento como padrão 
– Os dispositivos devem se juntar a sistema, ao invés de acessá-lo, 
adaptando-se ao ambiente local, descobrindo serviços e reagindo 
de forma correta. 
 
34 
Tipos de sistemas distribuídos 
• Sistemas Distribuídos Ubíquos 
– Exemplo: 
• Monitoramento de uma pessoa em um sistema de tratamento de 
saúde. 
• A) Usando um equipamento (PDA) local 
• B) Conexão contínua sem fio 
 
 
35 
Tipos de sistemas distribuídos 
• Sistemas Distribuídos Ubíquos 
– Exemplo: Rede de sensores sem fio 
• A) Usando um equipamento (PDA) local 
• B) Conexão contínua sem fio 
 
 
36 
Tipos de sistemas distribuídos 
• Sistemas Distribuídos Ubíquos 
– Exemplo: Rede de sensores sem fio 
• A) Usando um equipamento (PDA) local 
• B) Conexão contínua sem fio 
 
 
37 
Tipos de sistemas distribuídos 
• O cliente deseja sacar dinheiro, vai até o caixa eletrônico, 
insere seu cartão do banco, digita sua senha e digita a 
quantidade de dinheiro desejada. 
• A máquina verifica se há saldo disponível para saque na 
conta corrente, se há dinheiro suficiente disponível naquele 
equipamento, se está dentro do limite permitido segundo o 
calendário. 
• Os componentes deste sistema distribuído poderiam ser: 
– Os caixas eletrônicos. 
– Os servidores de aplicação da rede ATM, que atendem as 
requisições do caixa eletrônico. 
– Servidores dos bancos, que recebem e processam as requisições da 
rede ATM. 
– Os servidores de banco de dados nos bancos. 
– As aplicações em back office para configuração e gerenciamento do 
sistema tanto nos bancos quanto nas redes ATM. 
 
38 
Exemplo - ATM 
Exemplo - ATM 
39 
ATM 1 
ATM 1 
ATM 1 
ATM 1 
Servidor 
Rede ATM 
Banco A 
Banco de 
Dados ServidorAplicação 
App 
Back Office 
Banco B 
Banco de 
Dados Servidor 
Aplicação 
App 
Back Office 
App 
Back Office 
Geografica
mente 
dispersos 
Podem existir vários 
servidores na rede da 
Prestadora de Serviços 
- Requisitos de projetos de sistemas distribuídos. 
 
Próxima aula 
40

Continue navegando