Apresentação
Sistemas Distribuídos
1
Caracterização de Sistemas Distribuídos

Sistema Distribuído:
–

Sistemas na qual os componentes localizados em uma rede de
computadores se comunicam e coordenam suas ações somente
pela passagem de mensagens.
Características de um sistema distribuído:
–
–
–
Concorrência de componente;
Falta de sincronização Global;
Componentes independente de falhas.
2
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Exemplos de Sistemas Distribuídos:
–
–
–
–
A Internet;
Uma Intranet, na qual é uma porção da Internet que é gerenciada por
uma organização;
Sistemas móveis;
Computação Unipresente (Ubiquitous Computing).
3
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Motivação:
–
A principal motivação para a construção de sistemas distribuídos
é compartilhamento de recursos computacionais.
–
Os recursos compartilhados podem estar na forma de sistemas:


com servidores que permitem que os clientes acessem seus
recursos;
ou na forma de recursos que são encapsulados em objetos que
podem ser acessados por outros clientes/objetos.
4
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Desafios:
–
Algumas dificuldades podem ser identificadas
devidos a heterogeneidade dos componentes:






Dificuldade em permitir que os componentes possam ser
adicionados ou substituídos;
Aspectos de seguranças;
Escalabilidade;
Tolerância a falhas;
Concorrência de componentes e,
Transparência.
5
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Consequência da definição de Sistemas Distribuídos:
–
Concorrência, em uma rede de computadores, a concorrência acontece
normalmente. Dois usuários podem estar trabalhando independentes, mas
compartilhando recursos como arquivos e impressoras. Em Sistemas
Distribuídos, recursos mais avançados podem ser compartilhados, como a
própria computação;
–
Ausência de Clock Global, existe uma noção de que é preciso pelo menos uma
forma de sincronização para coordenar as atividades entre os componentes em
um sistema distribuído, mas não há uma forma simples de fazer essa
coordenação apenas trocando mensagens;
–
Independência a falhas, Os SDs devem ser especialmente construídos para
tolerar falhas, uma vez que elas sofrem de problemas especiais, como: queda de
comunicação e a consequente isolação entre os computadores, mesmo assim, os
sistemas SDs devem providenciar que as outras máquinas continuem
funcionando.
6
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

O que é um recurso compartilhado?
7
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos
Porção típica da Internet:

intranet
ISP
%
%
%
%
backbone
satellite link
8
desktop computer:
server:
network link:
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Internet
–
Não há exemplo maior que a própria Internet como um exemplo de
sistema SD. A Internet permite que uma imensa quantidade de
computadores se comuniquem através da troca de mensagens,
compartilhando recursos, como impressoras, arquivos e serviços de
multimídias.
–
A Internet também traz algumas dificuldades para os SDs. Sistemas que
trabalham justamente com serviços multimídia enfrentam dificuldades
com a limitação de reserva de recursos na Internet.
9
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Intranets
–
A Intranet pode ser considerada uma pequena porção da Internet, gerenciada ou
administrada separadamente por uma organização ou compania que apresentam
requisitos focados em políticas de segurança normalmente rígidas.
–
Uma Intranet pode ser conectada a Internet através roteadores, para permitir que
seus usuários possam acessar alguns de seus serviços, como acesso a páginas
da web e emails. É possível também que usuários externos acessem o conteúdo
interno da Intranet conforme o interesse da compania que o gerência.
–
O controle de acesso aos serviços é normalmente realizado pelos Firewalls, cuja
a função principal é filtrar tipos de dados que entram e saem conforme o
interesse da organização.
10
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

As principais características para um projeto de componentes para o
uso de Intranets em sistemas distribuídos são:
–
–
–
Serviços de Troca de Arquivos;
Firewalls;
Custo de instalação e Suporte de Software.
11
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Computação móvel
–
Avanços na tecnologia permitiram a redução do hardware dos dispositivos e
melhoramento nas técnicas de transmissão de dados sem fios. Um dos
resultados mais evidentes é o aparecimento de poderosos dispositivos
computacionais móveis:





–
Laptops;
Handheld, PDA’s;
Telefones móveis;
Dispositivos Vestíveis (Wearable);
Dispositivos Embarcados.
Características principais:


Portabilidade e
Conectividade.
12
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Ubiquitous Computing, (Weiser 1993) são recursos
computacionais que ficam disponíveis no próprio ambiente. São
dispositivos pequenos e baratos incorporados nos objetos do dia a
dia do lar ou escritório de trabalho.
– Weiser(1999), criou o conceito de computação unipresente ou
computação presente em “qualquer lugar”. Neste novo cenário, um
usuário pode, por exemplo, para conversar diretamente com a máquina
de lavar, para pedir para ligar o aparelho de som. Ao mesmo tempo,
estes mesmo dispositivos podem enviar mensagem para seus donos
através de emails ou pager’s para avisar sobre algum evento.
13
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Exemplos de aplicações:
–
–
–
–
–
Casa;
Trabalho;
Hospitais;
Bibliotecas;
etc;
Internet
Hos t i ntranet
WAP
gateway
Wireless LAN
Home intranet
Mobile
phone
Printer
Laptop
Camera
Hos t s ite
14
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Alguns desafios:
–
Computação móvel:



–
Limitação da bateria;
Limitação da largura de banda;
Interfaces limitados;
Ubiquitous Computing:



Reconfiguração de acesso;
Complexidade na implementação;
Privacidade e segurança.
15
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Princípio básico para o compartilhamento de
recursos
–
–
Redução de custos, compartilhamento de hardware como impressora,
hard-disks, etc;
Compartilhamento de Alto Nível, aplicações, dados, serviços. Ex:
páginas da Web, máquinas de buscas, sistemas de conversão de
moedas, etc.
16
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Serviços:
–
–
O termo serviço é usado para distinguir parte de um sistema de
computador que gerencia uma coleção de recursos relacionados e
apresenta suas funcionalidades para usuários e aplicações.
Exemplos:


Servidor de Arquivos, por exemplo para oferece um meio para troca de
arquivos (ex: FTP);
Servidor de Impressão, para oferecer serviços gerenciador de impressão de
documentos;
17
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Serviços:
–
Os recursos em um sistema distribuídos são fisicamente encapsulados
em um computador onde podem ser acessados de outros computadores
através da comunicação em rede.
–
Normalmente existe um esquema de interface para providenciar os
recursos de forma confiável e consistente. O nome “Servidor” é o termo
mais conhecido para um sistema de software providenciar um esquema
definido de acesso aos recursos em sistemas distribuídos.
18
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Servidor:
–
É caracterizado por ser um processo que responde a uma solicitação de
um processo cliente. Normalmente o processo cliente é um outro
computador que está se comunicando através da rede.
–
A interação entre cliente e o servidor, deste a solicitação até o envio da
mensagem por parte do servidor, é chamado de “Solicitação Remota”
19
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Características de um Servidor:
–
–
–

é um processo passivo.
podem solicitar operações de serviços de outros servidores;
funcionam continuamente;
Características de um Processo Cliente:
–
–
é um processo ativo;
funcionam apenas quando são solicitados pelos usuários ou aplicativos;
20
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

A WORLD WIDE WEB
–
A Web (Berners-Lee, 1991) é um sistema para publicação e acesso de recursos e
serviços através do uso da Internet. Através de programas comuns como o
Netscape ou Internet Explorer, o usuário pode acessar recursos compartilhados e
remotos, como documentos, texto, imagens, áudios e vídeos.
–
A Web surgiu na Europa no centro de pesquisas nucleares (CERN) na Suíça, em
1989. Desenvolveu-se a partir da necessidade de ter um meio mais eficiente e
organizada de troca e armazenagem de documentos científicos através da
Internet. Sua principal característica mais importante é o uso do conceito de
hipertextos. O Hipertexto é uma estrutura capaz de fazer referência diretas a
outros documentos dentro da rede Internet, tornando muito fácil recuperar o
documento referenciado através do Browser.
21
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Características da WEB
–
É um sistema aberto, ou seja, pode ser implementado extensões para
adicionar novas capacidades ao padrão. Novos browsers podem ser
implementados para diversas plataformas, incluindo para dispositivos
móveis como celulares e PDA’s;
–
A Web pode acomodar vários tipos de recursos. Através da
especificação do formato do conteúdo, “Content-Type”, é possível definir
qualquer formato de arquivo para ser transferido para um browser.
22
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Web server/client
www.google.com
http://www.google.comlsearch?q=kindberg
Browsers
Web servers
Internet
www.cdk3.net
http://www.cdk3.net/
www.w3c.org
File system of
www.w3c.org
23
http://www.w3c.org/Protocols/Activity.html
Protocols
Activity.html
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

A Web é baseada em três padrões tecnológicos a saber:
–
–
–
HTML - (HyperText Markup Language);
URL - (Uniform Resource Locators);
HTTP - (HyperText Transfer Protocol).
24
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

HTML
–
É a linguagem usada para especificar o conteúdo e formato das páginas
e como deverão ser apresentados nos browsers. Basicamente definem
uma linguagem de marcação informando como um parágrafo, títulos,
cabeçalhos, tabelas e imagens devem ser apresentados ao usuário.
–
Exemplo de um código html:



–
<P> Para acessar a página do professor
<A href=“http://www.netium.com.br/noji/index.htm”>Clique aqui</A>
</P>
Resultado visto em um browser:

Para acessar a página do professor Clique aqui
25
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

URLs
–
–
Têm o propósito de especificar a o tipo e a localização do recurso nos
servidores de páginas Web.
A URL especifica sempre dois componentes básico para uma
identificação de recursos:


esquema:esquema-específico-localização
Ex:
–
–
–
–
26
mail:[email protected];
ftp://ftp.download.com/software/free/prog.exe;
http://www.download.com/software/free/prog.exe;
Este modelo permite que novos esquemas possam ser criados e
adicionados na Web para prestar outros recursos não previstos
inicialmente.
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

HTTP URLs
–
Basicamente faz parte da especificação do protocolo HTTP e é usado
para localização de recursos em servidores HTTP.
–
Sua principal tarefa é especificar qual servidor e qual o recurso
específico dentro daquele servidor. As páginas Web normalmente são
guardadas em subdiretórios dentro dos servidores.
–
A estrutura geral de um HTTP URL é:

HTTP://servername [:port] [/pathnameOnServer] [?arguments]
27
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos
www.google.com
http://www.google.comlsearch?q=kindberg
Browsers
Web servers
www.cdk3.net
Internet
http://www.cdk3.net/
www.w3c.org
File system of
www.w3c.org
http://www.w3c.org/Protocols/Activity.html
Protocols

Exemplos:
–
Activity.html
–
–
28
Professor: Arlindo Tadayuki Noji
http://www.cdk3.net/
http://www.w3.org/Protocols/Activity.html
http://www.google.com/search?q=kindberg.
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Protocolo HTTP
–
–
Define a forma como os browsers e outros tipos de clientes devem interagir com os
servidores Web.
Características:




Interação Solicitação-Resposta, o protocolo HTTP é baseado em solicitação e resposta. O
cliente envia a URL para identificar o servidor usando a primeira parte da URL que contém
DNS. Se o servidor existir, o path e arquivo é pesquisado. Caso o DNS ou o arquivo não seja
encontrado, uma página de erro é retornado;
Content-Type, faz parte do protocolo especificar o tipo de conteúdo de dados que está sendo
transferido para o cliente, desta forma, o browser tem condições de tratar de forma correta e
apresentá-lo para o usuário;
Requisição individual de recurso, se um documento HTML têm 9 figuras, então o browser irá
fazer 10 solicitações ao servidor;
Simple Access Control, através do protocolo HTTP, é extremamente fácil ter acesso a
qualquer dado publicado na Internet. Uma forma de restringir os acessos aos dados é solicitar
a digitação de senhas antes de mostrar os dados.
29
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Mais características da WEB:
–
–
–
–
–
Formulários, permite a entrada de dados que serão enviados ao servidor;
Argumentos, após a URL, pode se enviar informações extras através da adição
do caracter “?”. Ex: http://www.google.com/search?q=kindberg
CGIs, são programas que podem ser executados no servidor Web para executar
tarefas específicas como uma consulta a banco de dados. Normalmente, o
retorno desses programas é emitindo uma página HTML;
Javascript, é uma linguagem de script voltado para ser executado normalmente
no lado cliente, ou seja nos browsers. Permite a facilidade de testar, por exemplo,
os dados antes mesmos de enviar os dados para o servidor;
Applets, São códigos baseados em Java que são baixados do servidor para
serem executados nos browsers. Têm a vantagem de executar códigos mais
avançados que possibilitam a execução de aplicações como chats.
30
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Nem tudo é perfeito na Web:
–
–
–
–
–
Problemas de Links fantasmas;
Falta de padronização do HTML;
Falta de confiabilidade nos dados encontrados na Internet;
Problemas de escala;
Overhead de recursos nas páginas, muitos applets, gif animados, etc.
31
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Desafios:
–
–
Os SD são facilmente encontrados em qualquer lugar nos dias de
hoje, mas projetos ambiciosos podem pedir requisitos que trazem
muitos desafios para o seu desenvolvimento.
Os principais desafios podem ser:





Heterogeneidade;
Acessibilidade;
segurança;
Escalabilidade;
Tratamento a falhas.
32
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Heterogeneidade:
–
A Internet é o maior exemplo de rede que oferece serviço de acesso
através de várias redes físicas heterogêneas. A Internet permite que
diferentes recursos sejam utilizados com o objetivo de providenciar uma
comunicação transparente. Os diferentes recursos podem ser:





as rede;
os hardwares;
os sistemas operacionais;
as linguagens de programação;
as diferentes implementações.
33
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Heterogeneidade:
–
Hoje, a Internet consegue mascarar as diferentes redes que
existentem no mundo. Esta possibilidade é devido a
implementações de protocolos de Internet sobre as outras redes,
como ocorre com as redes físicas de Ethernet.
34
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Heterogeneidade:
–
–
Dependendo do hardware utilizado, um número inteiro pode ter
diferentes formatos e tamanhos. Isto, por exemplo, pode dificultar
a interpretação correta de um número em um hardware diferente.
Ex: Z80, 8080, 80386, pentium, motorola, etc.
35
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Heterogeneidade:
–
O Sistema Operacional oferece em seus códigos serviços de
Internet que podem deixar disponíveis para os seus aplicativos,
porém dependendo do sistema operacional utilizado, as
chamadas para as APIs, podem ser diferentes de S.O. para
outro. Ex: Unix e NT.
36
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Heterogeneidade:
–
Dependendo da ferramenta de programação, diferentes formatos de
dados podem ser utilizados para representar caracteres e estruturas de
dados. Isto pode dificultar a interação de uma aplicação com uma outra
desenvolvida em linguagem de programação diferentes.
–
Ex: C, Pascal, Basic, Java, Assembler, etc.
37
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Middleware
–
O termo Middleware é aplicado para uma camada de software
que tem o objetivo de providenciar uma abstração na
programação através do ocultação das diferenças
(heterogeneidade) existentes nos ambientes de rede, hardware,
Sistemas Operacionais e linguagens de programação.
–
Ex: CORBA e Java RMI.
38
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Middleware
–
–
Os Middlewares resolvem o problema da heterogeneidade
oferecendo um modelo computacional uniforme para ser
utilizados pelos programadores. Estes modelos simplificam
bastante o desenvolvimento de servidores e aplicações
distribuídas.
Ex: Remote Object Invocation, Remote Event Notification,
Remote SQL Access e Distributed Transaction Processing.
39
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Middleware
–
–
–
Códigos Móveis, o termo é usado para fazer referência para códigos
que podem ser enviados de um computador para outro, para ser
executado no destino.
Ex: Applets (desen. Java).
Java pode ser executado virtualmente em qualquer máquina através da
implementação de uma máquina virtual no hardware hospedeiro.
40
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Acessibilidade:
–
A acessibilidade de um sistema de computador é a característica
que determina se um sistema pode ser estendido e
reimplementado de outras formas.
–
Determina o grau para o qual um novo recurso compartilhado
pode ser adicionado e disponibilizado para uso em uma
variedade de programas clientes.
41
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Acessibilidade:
–
A acessibilidade só é possível se a especificação e a
documentação relativa as interfaces de software do componente
de sistema ficarem disponíveis para os desenvolvedores. Em
outras palavras, as interfaces chaves devem se tornar públicas;
–
A publicação é somente um primeiro passo necessário para
permitir a adição e extensão dos serviços em Sistemas
Distribuídos.
42
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Acessibilidade:
–
Exemplo de publicação: A Internet, para poder oferecer um
padrão uniforme de serviço de rede para os desenvolvedores,
oferece uma série de documentos específicos que são chamados
de RFCs – Requests For Comments, os quais são identificados
por números. Este conjunto de documentos especificam entre
outras coisas, como os aplicativos deverão utilizar o protocolo de
Internet para utilizar os seus serviços [www.ietf.org].
43
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Exercícios

O que é um sistema distribuído? Dê exemplos de Sistemas tipicamente em SD.

Como funciona uma Intranet?

Que tipo de serviços oferecem os dispositivos usados na Computação móvel?

Que tipo de serviços oferecem os dispositivos Wearable?

Que tipo de serviços oferecem os dispositivos embarcados?

Como seria possível sincronizar dois relógio de computadores interligados por uma
rede, sem uma ajuda externa? Como você faria para sincronizar muitos computadores
interligados pela Internet?
44
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Resumo:
–
–
–
Os sistemas abertos são caracterizados pelo fato de terem suas
interfaces chaves públicas;
Os sistemas distribuídos abertos são baseados na provisão de um
mecanismo uniforme de comunicação e de uma publicação de interface
para acesso aos recursos compartilhados;
Sistemas distribuídos abertos podem ser construídos a partir de
hardware e software heterogêneos. Mas os componentes e as técnicas
necessárias para permitir a conformidade entre os diversos hardwares e
softwares devem ser cuidadosamente testados.
45
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Segurança:
–
Muitos SDs providenciam como recursos o armazenamento de
informações para seus usuários, o que implica que essas
informações são importantes de alguma forma para elas.
–
Há três aspectos importantes quanto a segurança:



Confidencialidade;
Integridade;
Disponibilidade.
46
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Segurança:
–
Para desenvolver um SD, existem desafios que devem ser tratados para
garantir a segurança e a confiabilidade na execução de serviços
oferecidos.
–
Exemplo:


Usuários que podem querer fazer consultas a sites de homebanking para
verificarem suas contas bancárias;
Compras on-lines que podem ser realizadas através de números dos cartões
de Créditos.
47
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Segurança:
–
Os desafios mais conhecidos são:


–
Enviar dados sensíveis sobre uma rede não segura.
Garantir a identificação do usuário remoto e dos agentes na rede.
Atualmente várias técnicas envolvendo criptografias são utilizadas para
encontrar soluções adequadas para garantir a segurança em SDs na
Internet.
48
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Segurança:
–
Há dois desafios que ainda apresentam como problemas não muito bem
resolvidos em SDs:


Ataque através do serviço negado, é a técnica utilizado para desativar ou
enviabilizar o acesso de dados por parte dos usuários sérios. Ex: Ataques
para congestionar um servidor de páginas Web;
Código Móvel Seguro, neste caso é necessário ter muito cuidado em
oferecer SD com a possibilidade de executar códigos que possam ser
recebidos pela rede. Ex: E-mails com programas atachados.
49
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Escalabilidade:
–
–
Todo SD deve operar efetivamente e eficientemente em várias e
diferentes ESCALAS.
Um sistema é dito escalável se ele permanecer efetivamente enquanto
há um aumento significativo de recursos e de usuários.
Date
1979, Dec.
1989, July
1999, July
Web servers
Computers
188
0
130,000
56,218,000
0
5,560,866
50
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Escalabilidade:

Os desafios encontrado para providenciar um SD escalável, são:
–
Controle de Custo de Recursos Físicos, em outras palavras, um SD
deve ter a possibilidade de crescer sem aumentar os custos
significativamente. Em geral, um SD deve ter um crescimento na ordem
de O(n). Ex: Servidores Web;
–
Controle de Perda de Desempenho. Um sistema que mantém dados
que pode crescer proporcionalmente a “n” usuários, não deve ter perda
de desempenho pior que O(log(n)). Ex: Estrutura de dados hierárquico é
melhor que a linear;
51
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Escalabilidade:
–
Perda de Escalabilidade por Software. Um projeto mau feito
pode limitar a escalabilidade de um SD. Ex: IPv4.
–
Evitando Gargalos de Desempenho. Em um projeto de SD, os
algoritmos devem descentralizar o acesso aos recursos para
evitar gargalos. Ex: Páginas de Internet que são muito acessadas
podem ter seus dados duplicados em mais servidores para evitar
os gargalos.
52
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Escalabilidade:
Date
1993, July
1995, July
1997, July
1999, July
Computers
Web servers
Percentage
1,776,000
130
0.008
6,642,000
19,540,000
56,218,000
23,500
1,203,096
6,598,697
0.4
6
12
53
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Tolerância à Falhas:
–
–
Em SD, quando uma falha acontece, somente aquele componente deve
parar, enquanto que os outros componentes do sistema devem
continuar funcionando.
Algumas das técnicas importantes usados em sistemas tolerantes à
falha:


Detecção de falhas, algumas falhas podem ser detectadas. Esta possibilita
o sistema isolar o problema e tratá-lo. Ex: Checksum. Outras situações não
permitem uma detecção simples, como por exemplo, saber quando um
servidor está fora do ar na Internet.
Ocultação de falhas, está técnica permite que o sistema corrija a falha
escondendo a sua ocorrência, por exemplo, do usuário. Ex: retransmissão de
mensagens, escrita redundante a disco, etc.
54
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Tolerância à Falhas:

Tolerar Falhas. Na Web, por exemplo, os browsers são projetados para
tolerar falhas. Quando um servidor não pode ser conectado, o browser não
fica eternamente tentando estabelecer uma conexão, ao invés disso, ele
encerra a tentativa de conexão e em seguida avisa o usuário sobre a
desistência;

Recuperação de Falhas. Dependendo do software, um projeto adequado
permite que um sistema possa recuperar um estado consistente de dados
até o momento antes da falha. Ex: Rolled back usado em BDs;

Sistemas com Redundâncias. Os sistemas podem também oferecer
componentes redundantes para evitar falhas. Ex: BDs com replicação de
dados, Servidores de DNS e Roteadores.
55
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Concorrência:
–
Os serviços e as aplicações providenciam recursos que podem
ser que podem ser compartilhados pelos clientes nos SDs. Isto
pode ser um problema se um determinado recurso for requisitado
ao mesmo tempo por vários usuários.
–
Muitos desses desafios estão relacionados quando um
determinado recurso deve ser compartilhado concorrentemente
para oferecer melhor desempenho no sistema. Ex: acesso a BD,
paginas de Internet, etc.
56
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Concorrência:
–
O principal problema é a ocorrência de conflitos que podem gerar
inconsistências em ambientes concorrentes. Um exemplo é a ação de
armazenamento de dados. Uma primeira ação pode pedir ao BD para
armazenar “Smith R$ 1200,00”, e logo em seguida, um outro processo
pode solicitar para o mesmo banco de dados gravar “Jones R$ 5000,00”.
Neste exemplo, o processo de concorrência do SGBD poderá intercalar
o acesso ao BD, misturando as informações.
57
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos

Transparência:
–
Transparência em SD é definido como a capacidade de ocultar do
usuário e do programador a separação existente entre os componentes
dentro do sistema, fazendo ser percebido como um sistema como um
todo e não como um conjunto de componentes independentes.
58
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos
–
A ANSA Reference Manual [ANSA 1989] e a ISO [ ISO 1992]
identificaram oito formas de transparência:





Transparência de Acesso. É a capacidade de permitir acesso remoto ou
local sempre da mesma maneira. Ex: Interface gráfica de pastas e FTP;
Transparência de Localização. É a capacidade de permitir acesso aos
recursos sem o conhecimento da localização da mesma. Ex: a técnica usada
no URL;
Transparência de Concorrência. É capacidade de permitir acesso aos
recursos compartilhados de forma concorrente para vários usuários, sem que
haja interferência entre eles. Ex: Web Server, ftp e BD;
Transparência de Replicação. É capacidade de permitir instâncias múltiplas
de um componente para aumentar a confiabilidade e desempenho sem o
conhecimento do usuário ou da aplicação. Ex: DNS;
Transparência à Falhas. É a capacidade de encobrir as falhas ocorridas,
mas permitindo que usuários e/ou aplicações completem suas tarefas a
despeito das falhas ocorridas de hardware ou de software. Ex: E-mail;
59
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Caracterização de Sistemas Distribuídos



Transparência de Mobilidade. É a capacidade de permitir que os recursos e
usuários possam ser móveis dentro de um sistema, sem que isto afete as
operações do usuário ou programa aplicativo. Ex: Telefones Celulares;
Transparência de Desempenho. É a capacidade de permitir que os SDs
possam ser reconfigurados para providenciar desempenho mesmo com
cargas variáveis. Ex: a Web;
Transparência de Escala. É a capacidade de permitir que o sistema cresça
sem alterar a estrutura ou os algorítmos do sistema. Ex: Internet, Intranet.
60
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Exercícios

O que são Middlewares?

Descreva cada um dos principais desafios existente para se construir
um SD?

Um sistema que permite acesso remoto via WAP através de um celular,
apresenta que desafios característicos?

Explique o que é Transparência de Mobilidade?
61
Professor: Arlindo Tadayuki Noji
Instituto de Ensino Superior Fucapi - CESF
Download

Caracterização de Sistemas Distribuídos