SISTEMAS DISTRIBUIDOS

Documentos relacionados
Arquitetura dos Sistemas de Informação Distribuídos

Modelos de Arquiteturas. Prof. Andrêza Leite

Aula 03-04: Modelos de Sistemas Distribuídos

Sistemas Distribuídos

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite


Sistemas Distribuídos

Capítulo 8 - Aplicações em Redes

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Sistemas Distribuídos. Introdução

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Camadas de Software - o Middleware. Sistemas Distribuídos Capítulo 2: Modelos e Arquitecturas. Aplicações. Middleware.

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

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

PROJETO E IMPLANTAÇÃO DE INTRANETS

Modelos de Camadas. Professor Leonardo Larback

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Redes. Pablo Rodriguez de Almeida Gross

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Sistemas Distribuídos. Coulouris Capítulo 4

UNIVERSIDADE. Sistemas Distribuídos

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

MÓDULO 8 Modelo de Referência TCP/IP

SISTEMAS DISTRIBUÍDOS

Revisão. Karine Peralta

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

REDES DE COMPUTADORES

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

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

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

Redes de Computadores. Protocolos de comunicação: TCP, UDP

MODELO CLIENTE SERVIDOR

UNIVERSIDADE. Sistemas Distribuídos

Sistemas Distribuídos

Informática I. Aula Aula 22-03/07/06 1

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

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

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Rede de Computadores II

Desenvolvimento Cliente-Servidor 1

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

Sistemas Distribuídos

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

Comunicando através da rede

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

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

Comunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

AULA Redes de Computadores e a Internet

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos

Sistema centralizado O Paradigma Cliente/Servidor

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

Redes de Computadores

Cap 03 - Camada de Aplicação Internet (Kurose)

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

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

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

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

Redes de Computadores

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

REDES DE COMPUTADORES

Prof. Marcelo Cunha Parte 5

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

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

Considerações no Projeto de Sistemas Cliente/Servidor

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

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

Capítulo 7 CAMADA DE TRANSPORTE

Redes de Computadores

Sistemas Distribuídos

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

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Sistemas Cliente-Servidor

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Sistemas Distribuídos

Redes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza

Arquitetura de um sistema é a especificação de sua estrutura e de seus componentes

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Redes de Computadores. Prof. André Y. Kusumoto

Paradigma Cliente/Servidor

CAMADA DE TRANSPORTE

Distributed Systems Concepts and Design

Redes de Computadores

Protocolos Hierárquicos

Transcrição:

1

2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização gerencia uma intranet, a qual fornece serviços locais e serviços Internet para usuários locais e remotos. Sistemas distribuídos de pequena escala podem ser construídos a partir de computadores móveis e outros dispositivos computacionais portáteis interligados através de redes sem fio. O compartilhamento de recursos é o principal fator de motivação para a construção de sistemas distribuídos. Recursos como impressoras, arquivos, páginas web ou registros de banco de dados são gerenciados por servidores de tipo apropriado, por exemplo, servidores web gerenciam páginas web. Os recursos são acessados por clientes específicos, por exemplo; os clientes dos servidores web geralmente são chamados de navegadores.

3 Caracterização de Sistemas Distribuídos: A construção de sistemas distribuídos gera muitos desafios: Heterogeneidade: eles devem ser construídos a partir de uma variedade de redes, sistemas operacionais, hardware e linguagens de programação diferentes. Os protocolos de comunicação da Internet mascaram a diferença existente nas redes e o middleware pode cuidar das outras diferenças. Sistemas abertos: os sistemas distribuídos devem ser extensíveis - o primeiro passo é publicar as interfaces dos componentes, mas a integração de componentes escritos por diferentes programadores é um desafio real. Segurança: a criptografia pode ser usada para proporcionar proteção adequada para os recursos compartilhados e para manter informações sigilosas em segredo, quando são transmitidas em mensagens por uma rede. Os ataques de negação de serviço ainda são um problema.

4 Caracterização de Sistemas Distribuídos: Escalabilidade: um sistema distribuído é considerado escalável se o custo da adição de um usuário for um valor constante, em termos dos recursos que devem ser adicionados. Os algoritmos usados para acessar dados compartilhados devem evitar gargalos de desempenho e os dados devem ser estruturados hierarquicamente para se obter os melhores tempos de acesso. Os dados acessados freqüentemente podem ser replicados. Tratamento de falhas: qualquer processo, computador ou rede pode falhar, independentemente dos outros. Portanto, cada componente precisa conhecer as maneiras possíveis pelas quais os componentes de que depende podem falhar e ser projetado de forma a tratar de cada uma dessas falhas apropriadamente.

5 Caracterização de Sistemas Distribuídos: Concorrência: a presença de múltiplos usuários em um sistema distribuído é uma fonte de pedidos concorrentes para seus recursos. Em um ambiente concorrente, cada recurso deve ser projeta do para manter a consistência nos estados de seus dados. Transparência: o objetivo é tornar certos aspectos da distribuição invisíveis para o programador de aplicativos, para que este se preocupe apenas com o projeto de seu aplicativo em particular. Por exemplo, ele não precisa estar preocupado com sua localização ou com os detalhes sobre como suas operações serão acessadas por outros componentes, nem se será replicado ou migrado. As falhas de rede e de processos podem ser apresentadas aos programadores de aplicativos na forma de exceções mas elas devem ser tratadas.

Modelos de Sistema SISTEMAS DISTRIBUIDOS 6 Um modelo de arquitetura de um sistema distribuído envolve o posicionamento de suas partes e os relacionamentos entre elas. Exemplos incluem o modelo cliente-servidor e o modelo peer-topeer. Não existe a noção de relógio global em um sistema distribuido, portanto os relógios de diferentes computadores não fornecem necessariamente a mesma hora. Toda comunicação entre processos é obtida por meio de troca de mensagens. A comunicação por troca de mensagens em uma rede de computadores pode ser afetada por atrasos, pode sofrer uma variedade de falhas e é vulnerável a ataques contra a segurança.

Modelos de Sistema Camadas de Software SISTEMAS DISTRIBUIDOS 7 Applications, services Middleware Operating system Computer and network hardware Platform

Modelos de Sistema SISTEMAS DISTRIBUIDOS 8 Plataforma: As camadas de hardware e software de mais baixo nível são frequentemente denominadas de plataforma para sistemas e aplicativos distribuidos. Essas camadas de mais baixo nível fornecem serviços para as camadas que estão acima delas de forma a levar a interface de programação do sistema a um nível de facilita a comunicação e a coordenação entre processos. Intel x86/windows, Intel x86/solaris, Power PC/Mac, são exemplos importantes de plataformas.

Modelos de Sistema SISTEMAS DISTRIBUIDOS 9 Middleware: O termo middleware se aplica a uma camada de software que fornece abstração de programação, assim como o mascaramento de heterogeneidade das redes, do hardware, de sistemas operacionais e linguagens de programação subjacentes. Exemplos de middleware: CORBA ( Common Object Request Broker ) JAVA RMI ( Remote Method Invocation ). Todo middleware trata das diferenças em nível de sistemas operacionais e do hardware.

10 Modelos de Sistema - Arquitetura de sistema Cliente Servidor: Essa é a arquitetura mais citada quando os sistemas distribuídos são discutidos. Historicamente ela é a mais importante e continua sendo amplamente empregada. Client invocation invocation Server result Server result Client Key: Process: Computer:

11 Modelos de Sistema - Arquitetura de sistema Peer to Peer Nessa arquitetura todos os processos envolvidos em uma tarefa ou atividade desempenham funções semelhantes, interagindo cooperativamente como pares ( peers ) sem distinção entre processos clientes e servidores nem entre os computadores em que são executados. Embora o modelo cliente servidor ofereça uma estratégia direta e ralativamente simples para o compartilhamento de dados e outros recursos ele não flexível em termos de escalabilidade. O objetivo da arquitetura peer to peer é explorar os recursos, tanto de dados quanto de hardware, de um grande número de computadores para o cumprimento de uma tarefa ou atividade.

12 Modelos de Sistema - Arquitetura de sistema Peer 2 Peer 1 Application Application Sharable objects Peer 3 Application Peer 4 Application Peers 5... N

Comunicação entre processos SISTEMAS DISTRIBUIDOS 13 Serão estudadas caracteristicas da camada middleware. Applications, services RMI and RPC This chapter request-reply protocol marshalling and external data representation Middleware layers UDP and TCP

Comunicação entre processos SISTEMAS DISTRIBUIDOS 14 No modelo OSI a camada de transporte trata basicamente dos protocolos UDP e TCP. Estudaremos como o middleware e como os aplicativos podem utilizar esses protocolos.

Comunicação entre processos Características: SISTEMAS DISTRIBUIDOS 15 A passagem de mensagens entre um par de processos pode ser suportada por duas operações de comunicação de mensagem: send e receive, definidas em termos de destinos e mensagens. Para que um processo se comunique com outro, um deles, envia ( send ) uma mensagem para um destino e o outro processo, no destino, recebe (receive) a mensagem.

Comunicação entre processos SISTEMAS DISTRIBUIDOS 16 Comunicação Síncrona Comunicação Assíncrona Emprego do protocolo UDP: Para algumas aplicações é aceitável usar um serviço que esteja exposto a falhas por omissões ocasionais. Por exemplo o Domain Name Service, que pesquisa nomes DNS na Internet é implementado sobre UDP. O voice over IP ( VOIP ) também é executado sobre UDP. Às vezes os datagramas UDP são uma escolha atraente, pois eles não sofrem as sobrecargas necessárias a entrega de mensagens garantidas.

17 Comunicação por fluxo TCP: Emprego do TCP: Muitos serviços frequentemente usados são executados em conexões TCP com números de portas reservados. Eles incluem os seguintes: HTTP: o protocolo de trasnferência de hipertexto é usado para comunicação entre navegadores e servidores web. FTP: o protocolo de transferência de arquivos permite a navegação em diretórios em um computador remoto e que arquivos sejam transferidos de um computador para outro por meio de uma conexão. TELNET: este serviço dá acesso a um computador remoto por meio de uma sessão de terminal. SMTP: o protocolo de transferência de correio eletrônico usado para enviar correspondência entre computadores.