Você está na página 1de 18

Captulo 1 - Caracterizao de Sistemas Distribudos

From Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design


Edition 4, Pearson Education 2005

Roteiro

Introduo Exemplos de Sistemas Distribudos Compartilhamento de Recursos e a Web Principais Desafios para a Implementao Arquiteturas

Introduo
Definies de Sistemas Distribudos Colouris: Um sistema no qual os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordenam suas aes apenas enviando mensagens entre si Tanenbaum: Um sistema distribudo uma coleo de computadores independentes que parecem ao usurio ser um computador nico

Introduo Principal Motivao

necessidade pelo compartilhamento de recursos. Recurso pode ser um servio, arquivo, banco de dados, streaming de vdeo, etc. busca por maior eficincia quando as tcnicas de distribuio contribuem busca por modularidade escalabilidade, flexibilidade,

Natureza do Problema

Introduo Caractersticas de um Sistema Distribudo:

baixo acoplamento e atrasos na comunicao; processos em sistemas computacionais distintos com probabilidade de falhas; comunicao geralmente no confivel, onde existem atrasos, variao de atrasos, perdas e em alguns casos baixas larguras de banda;

Introduo Caractersticas de um Sistema Distribudo:

dificuldade em definir a ordem dos eventos e estado global do sistema, uma vez que a comunicao acontece pela troca de mensagens; ambiente geralmente heterogeinadade. marcado pela

Introduo Consequncias de um Sistema Distribudo Concorrncia

A execuo concorrente uma caracterstica intrnseca de um SD, em que os processos disputam pelos recursos compartilhados A coordenao dos processos dependem de uma noo compartilhada do tempo em que as aes dos programas ocorrem.

Inexistncia de Relgio Global

Introduo Consequncias de um Sistema Distribudo Falhas independentes

Falhas na rede, nos sistemas ou nos processos demoram para serem percebidas no SD.

Exemplo de Sistemas Distribudos: Internet

intranet ISP

backbone

satellite link desktop computer: server: network link:

Nesta rede quais seriam os recursos compartilhados ?

Exemplo de Sistemas Distribudos: Intranet


email server print and other servers Local area network

Desktop computers

Web server

email server File server print other servers the rest of the Internet router/firewall

Nesta rede quais seriam os recursos compartilhados ?

Exemplo de Sistemas Distribudos: Rede Wireless

Internet

Host intranet

Wireless LAN

WAP gateway

Home intranet

Mobile phone Printer Camera Laptop Host site

Nesta rede quais seriam os recursos compartilhados ?

Compartilhamento de Recursos e a Web

www.google.com Web servers www.cdk3.net www.w3c.org File system of www.w3c.org Protocols

http://www.google.comlsearch?q=kindberg Browsers Internet http://www.cdk3.net/

http://www.w3c.org/Protocols/Activity.html

Activity.html

Principais Desafios para a Implantao

Heterogeneidade

Redes, hardwares, sistemas operacionais, Linguagens, Implementaes Solues atuais: middleware e cdigo mvel

Sistemas abertos

Sistemas que podem ser implementados de diversas maneiras, APIs pblicas. Ex. TCP/IP

Segurana

Negao de servio, cdigo mvel

Escalabilidade

Controle de recursos fsicos, perda de desempenho, controle do desempenho de processos servidores, evitar gargalos

Principais Desafios para a Implantao

Tratamento de Falhas

Falhas em sistemas distribudos so parciais: alguns falhas outros no. Tcnicas atuais:

deteco mascaramento tolerncia recuperao redundncia

Principais Desafios para a Implantao

Concorrncia

Garantir que processos operem corretamente em ambientes concorrentes

Principais Desafios para a Implantao

Transparncia

Acesso Localizao Concorrncia Replicao Falhas Mobilidade Desempenho Escalabilidade

Arquiteturas

Acesso Remoto

Acesso distribudo a recursos centralizados (ex. mainframe via terminal, FTP)

Distribuio de Arquivos e Memria

Mais comum em redes locais (Disco, memria, etc)

Acesso Remoto Avanado

Terminal server, X11

Arquiteturas

Arquiteturas Cliente/Servidor

Acesso a mtodos de outros processos para execuo de tarefas especficas Duas e trs camadas

Cdigo Mvel

Applets Java