Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes



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

Computação Distribuída

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Programação com sockets (em Java)

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Departamento de Engenharia Informática. Sistemas Distribuídos Capítulo 2: Programação da Comunicação

Capítulo II Modelos de Programação Distribuída

Comunicação entre processos

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

Aula 03-04: Modelos de Sistemas Distribuídos

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

Sockets. Bruno Guimarães Lucas Rossini

SISTEMAS DISTRIBUIDOS

Cliente-servidor com Sockets TCP

Capítulo IV Comunicação entre processos

Programação de Sockets

Programação de Sockets em C/C++

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída

Sockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos


Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Programação de sockets com TCP

Redes de Computadores II

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Sistemas Operacionais:

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

Comunicação entre Processos

Redes de Computadores. Arquitetura de Protocolos Profa. Priscila Solís Barreto

Rede de Computadores (REC)

Mecanismos de Comunicação. Sockets em java (

Redes de Computadores e a Internet

Departamento de Informática

Redes de Computadores

Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO

REDES DE COMPUTADORES

Java 2 Standard Edition Fundamentos de

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Um pouco do Java. Prof. Eduardo

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

Sockets com Java Parte I

Redes de computadores. Redes para Internet

Camada de Transporte, protocolos TCP e UDP

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Sistemas de Telecomunicações I

Passagem de Mensagens

Capítulo II Modelos de Programação Distribuída (parte 2)

ICORLI INSTALAÇÃO, CONFIGURAÇÃO E OPERAÇÃO EM REDES LOCAIS E INTERNET

UNIVERSIDADE. Sistemas Distribuídos

Camada de Transporte. Bruno Silvério Costa

REDES DE COMPUTADORES II. Ricardo José Cabeça de Souza

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Tecnologias Java Sockets e RMI

Introdução. Sistemas Distribuídos. Mas, o que é um sistema distribuído? Seriamente. Professor: Paulo Jorge Marques. Professora Práticas: Pinki Meggi

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA

UNIVERSIDADE. Sistemas Distribuídos

Guia de Estudo. Redes e Internet

Relatório 1º Laboratório: O Java e os Sockets. Licenciatura: ETI Turma : ETC1 Grupo : rd3_t3_02 Data: 22/02/2010

Implementando comunicação em JAVA via Sockets. Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft.

Programação: Sockets em Java

Programação de Sockets

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Sistemas Distribuídos Java Sockets

REDE DE COMPUTADORES

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

Sistemas Distribuídos

Capítulo 1: Redes de computadores e a Internet. Capítulo1. Redes de. computadores. computador. e a Internet. es e a Internet

INF01018 Aula Prática 1 Cliente-Servidor e Multicast

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Estrutura de um Rede de Comunicações. Redes de comunicação. de Dados. Network) Area. PAN (Personal( Redes de. de dados

Transporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.

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

INFORMÁTICA PARA GESTÃO I Curso Superior de Gestão de Marketing

Fernando Albuquerque - fernando@cic.unb.br ADMINISTRAÇÃO TCP/IP. Fernando Albuquerque fernando@cic.unb.br

Capítulo IV Comunicação entre processos

Sistemas Distribuídos

Modelos de Sistemas Distribuídos. . Requerimentos de Projeto para Arquiteturas Distribuídas

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

PLANIFICAÇÕES ATIVIDADES E ESTRATÉGIAS

Sockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet.

Existem muitos assuntos relacionados com o Skype. Logo, esta apresentação focar-seá essencialmente nos aspectos mais importantes sobre a arquitectura

Sistemas Distribuídos

Cliente-servidor com Sockets TCP

Aula 2 Arquitetura de Redes. Prof. Dr. S. Motoyama

Diagrama lógico da rede da empresa Fácil Credito

INF1013 MODELAGEM DE SOFTWARE

Camada de Aplicação. Prof. Eduardo

Considerações no Projeto de Sistemas Cliente/Servidor

Introdução à Camada de Aplicação. Prof. Eduardo

Transcrição:

Sistemas Distribuídos Capítulos 2 e 3: Modelos, Arquitecturas e Revisão de Redes Modelos de Arquitecturas para sistemas distribuidos Interfaces e Objectos Sistemas Distribuidos 2012-2013 1º semestre Camadas de Software - o Middleware Aplicações Middleware Sistema Operativo Hardware Bibliotecas (DLL) Protocolos Servidores Plataformas Plataforma s de Middleware Os Sistemas Distribuídos são suportados por diversas componentes frequentemente designadas por plataformas de Middleware Sistemas Distribuidos 2011-2012 2

Principais arquitecturas de sistemas distribuídos Cliente-Servidor Entre-Pares (peer-to-peer) Variantes do Cliente-Servidor: Serviços oferecidos por múltiplos servidores Servidores proxy e caches Código Móvel Agentes Móveis Network Computer Thin Clients Dispositivos móveis e interação espontânea Sistemas Distribuidos 2012-2013 1º semestre 3 Cliente-Servidor Servidores mantêm recursos e servem pedidos de operações sobre esses recursos Servidores podem ser clientes de outros servidores Simples e permite distribuir sistemas centralizados muito directamente Mas pouco escalável: limitado pela capacidade do servidor e pela rede que o liga aos clientes Client invocation invocation Serv er result Serv er result Client Key: Process: Computer: Sistemas Distribuidos 2012-2013 1º semestre 4

Serviço Oferecido por Múltiplos Servidores Distribui carga do servidor por múltiplos servidores Duas opções: Particionamento: cada servidor mantém uma partição do conjunto de objectos Replicação: todos os servidores mantêm réplicas do mesmo conjunto de objectos Client Client Service Serv er Serv er Serv er Sistemas Distribuidos 2012-2013 1º semestre 5 Serviço Oferecido por Múltiplos Servidores Sistemas Distribuidos 2012-2013 1º semestre 6

Servidores Proxy e Caches Mantêm cópias de sub-conjunto dos objectos num computador mais próximo dos clientes > desempenho e disponibilidade Outros objectivos: e.g., acesso ao exterior através de firewall Client Prox y server Web server Client Web server Sistemas Distribuidos 2012-2013 1º semestre 7 Entre-Pares (Peer-to-Peer) Todos os processos têm papéis semelhantes, sem distinção entre clientes e servidores Mais ampla distribuição de carga (computação e rede) Maior escalabilidade Sistema expande-se acrescentando mais pares Coordenação mais complicada que clienteservidor Sharable objects Peers-5-....-N Peer-1 Application Peer-2 Application Peer-3 Application Peer-4 Application Sistemas Distribuidos 2012-2013 1º semestre 8

Entre-Pares (Peer-to-Peer) Sistemas Distribuidos 2012-2013 1º semestre 9 Código Móvel (Applets) a) client request results in the downloading of applet code Client Applet code Web server b) client interacts with the applet Client Applet Web server Parte do código do servidor é transferido para o cliente e executado localmente Execução não sofre com atrasos de rede e variações de largura de banda Bom desempenho de aplicações interactivas Sistemas Distribuidos 2012-2013 1º semestre 10

Agentes móveis Programa em execução (código+dados) que viaja de um computador para outro na rede Executa alguma tarefa em nome de alguém Em cada computador, invoca serviços locais (e.g. acesso a BD local para consultar informação local) Comparado com a solução de ter um cliente remoto a invocar os mesmos serviços remotamente: Menor custo e tempo de comunicação Sistemas Distribuidos 2012-2013 1º semestre 11 Network Computers Sistema operativo e aplicações existem num servidor de ficheiros remoto Clientes não mantêm sistema operativo logo ficam livres das tarefas de gestão associadas Clientes executam ficheiros que obtêm pela rede Mecanismos de caching são fundamentais para desempenho aceitável Sistemas Distribuidos 2012-2013 1º semestre 12

Thin Clients Tal como network computer, alivia o cliente dos custos de administração de um sistema operativo No entanto, código é agora executado no servidor Cliente oferece apenas a interface utilizador, pode ser computador muito simples Network computer or PC! Compute server! Thin! Client! network! Application! Process! Sistemas Distribuidos 2012-2013 1º semestre 13 Interacção espontânea Associações entre clientes e servidores são estabelecidas e terminadas frequentemente Normalmente, clientes são computadores móveis (e.g. PDAs, telemóveis), servidores são fixos ou móveis Sistemas Distribuidos 2012-2013 1º semestre 14

Sistemas Distribuídos Capítulo 3: Revisão de Redes Modelo de Comunicação Redes de Dados Exemplos de Interfaces Sistemas Distribuidos 2012-2013 1º semestre 16 Programação da comunicação: modelo Processo porto Canal de comunicação porto Processo API da comunicação rede transporte rede lógico físico modo utilizador modo sistema Sistemas Distribuidos 2012-2013 1º semestre 18

Caracterização do canal de Comunicação Tipos de canais Com ligação Normalmente serve 2 interlocutores Normalmente fiável, bidireccional e garante sequencialidade Sem ligação Normalmente serve mais de 2 interlocutores Normalmente não fiável: perdas, duplicação, reordenação Canal com capacidade de armazenamento em fila de Mensagens Normalmente com entrega fiável das mensagens Sistemas Distribuidos 2012-2013 1º semestre 19 Portos Extermidades do Canal de Comunicação Portos São extremidades de canais de comunicação Em cada máquina são representados por objectos do modelo computacional local Possuem 2 tipos de identificadores: O do objecto do modelo computacional Para ser usado na API pelos processos locais Ex.: File descriptors, handles O do protocolo de transporte Para identificar a extremidade entre processos (ou máquinas) diferentes Ex.: Endereços TCP/IP, URL Sistemas Distribuidos 2012-2013 1º semestre 21

Redes de Dados Fornecer uma base mínima de compreensão das redes de dados Arquitectura Organização Protocolos Revisão Identificar os aspectos relevantes das redes de dados na concepção de sistemas distribuídos Sistemas Distribuidos 2012-2013 1º semestre 22 Características habituais das Arquitecturas Físicas Redes Locais Transmissão em difusão Largura de Banda muito grande Topologias de bus ou anel Encaminhamento trivial Menor escalabilidade Maior tolerância a faltas Redes de Larga Escala Transmissão ponto a ponto Banda passante com limitações nas tecnologias tradicionais Topologia malhada com redundância Necessidade de encaminhamento Grande escalabilidade Menor tolerância a faltas Sistemas Distribuidos 2012-2013 1º semestre 24

Modelo de Referência Um Modelo de Referência, ou Família de Protocolos, define as características lógicas e físicas das redes Normalmente divididos em níveis Os níveis são independentes mas estão relacionados Permitem várias realizações compatíveis cada nível corresponde a um nível de abstração necessário no modelo cada nível possui funções próprias e bem definidas as funções de cada nível foram escolhidas segundo a definição dos protocolos normalizados internacionalmente as fronteiras entre níveis devem ser definidas de modo a minimizar o fluxo de informação nas interfaces o número de níveis deve ser suficientemente grande para que funções distintas não precisem ser colocadas na mesma nível e, ao mesmo tempo, suficientemente pequeno que não torne a arquitectura difícil de controlar. Sistemas Distribuidos 2012-2013 1º semestre 25 OSI - Nível Físico Funções: conseguir transmitir 1 bit de informação sobre meio físico de interligação Velocidade de propagação, atenuação, imunidade ao ruído, etc. Nível Físico define: Níveis eléctricos do sinal, características temporais Protocolos de codificação, baseados no funcionamento da rede (taxa de erros, recuperação de relógio, ) Placas de interface (network cards) Interface eléctrica Aspectos mecânicos dos conectores Anel (ring) Malha (mesh) Bus Sistemas Distribuidos 2012-2013 1º semestre 26

OSI - Nível Lógico ou Ligação de Dados Funções: transmissão de pacotes, ou tramas, entre máquinas ligadas à mesma rede física Nível Lógico define: Delimitadores de trama Endereço físico do destinatário Multiplexagem do meio de transmissão (emissor) Detecção do endereço do destinatário (receptor) Definição da unidade básica de informação (bit, octeto) Recuperação de erros de transmissão Controlo de fluxo Frame Relay GPRS UMTS ATM Ethernet Sistemas Distribuidos 2012-2013 1º semestre 27 OSI - Nível Rede Rede IP Funções: interligar máquinas independentemente da rede física a que estão ligadas Uma rede lógica passa a ser composta pela interligação de várias redes físicas Nível Rede define: Formato dos pacotes de dados Mecanismos de encaminhamento entre redes Fundamental para redes malhadas Normalmente baseados em tabelas de encaminhamento Protocolo de rede OSI: X.25 Com ligação, sequencialidade, controlo de fluxo Protocolo de rede Internet: IP Sem ligação nem garantias de qualidade Sistemas Distribuidos 2012-2013 1º semestre 28

Nível Transporte Processo Utilizador Rede TCP Funções: oferecer um serviço de transmissão de informação que permita a comunicação entre utilizadores finais Características Com ou sem ligação Comunicação fiável Garantia de entrega Garantia de ordem Segmentação Controlo de fluxo Notificação de excepções na comunicação Processo Utilizador Sistemas Distribuidos 2012-2013 1º semestre 29 OSI Níveis superiores do Modelo Os restantes níveis do modelo OSI implicam a integração com os sistemas operativos e com as aplicações São em grande parte o objecto desta cadeira, Embora alguns protocolos de nível aplicacional possam ser vistos como de transporte de informação Aplicação HTTP, FTP, SMTP, Corba, IIOP, SOAP, RMI Apresentação XML, XDR Sessão Binding protocol, DCE- RPC Aplicação Apresentação Sessão transporte rede ligação física Sistemas Distribuidos 2012-2013 1º semestre 31

Exemplos de Interfaces Sockets Sistemas Distribuidos 2012-2013 1º semestre 32 Interface sockets Domínio do socket: define a família de protocolos associada a um socket INET: família de protocolos Internet (TCP, UDP, IP) Unix: comunicação entre processos da mesma máquina Outros Tipo do socket: define as características do canal de comunicação Stream: canal com ligação, bidireccional, fiável, interface tipo sequência de octetos Datagram: canal sem ligação, bidireccional, não fiável, interface tipo mensagem Raw: permite o acesso directo aos níveis inferiores dos protocolos (ex: IP na família Internet) Sistemas Distribuidos 2012-2013 1º semestre 34

Sockets sem Ligação Servidor Cliente socket socket bind bind recvfrom sendto sendto recvfrom Sistemas Distribuidos 2012-2013 1º semestre 37 Sockets UDP em Java (Cliente) import java.net*; import java.io*; public class UDPClient{ } public static void main(string args[]){ } // args give message contents and server hostname DatagramSocket asocket = null; try { asocket = new DatagramSocket(); byte [] m = args [0].getBytes(); InetAddress ahost = InetAddress.getByName(args[1]); Int serverport = 6789; DatagramPacket request = new DatagramPacket(m, args[0].length(), ahost, serverport); asocket.send(request); byte[]buffer = new byte[1000]; DatagramPacket reply = new DatagramPacket(buffer, buffer.length); asocket.receive(reply); System.out.println( Reply: + new String(reply.getData())); } catch (SocketException e){system.out.println( Socket: + e.getmessage()); } catch (IOException e){system.out.println( IO: + e.getmessage()); } finally { if(asocket! = null) asocket.close();} Constrói um socket datagram (associado a qualquer porto disponível) Conversão do nome DNS para endereço IP Cada mensagem enviada tem que levar junto identificador do processo destino: IP e porto Sistemas Distribuidos 2012-2013 1º semestre 38

Sockets UDP em Java (Servidor) import java.net*; import java.io*; public class UDPServer{ } public static void main(string args[]){ } DatagramSocket asocket = null; try{ asocket = new DatagramSocket(6789); byte[] buffer = new byte [1000]; while(true){ DatagramPacket request = new DatagramPacket(buffer, buffer.legth); asocket.receive(request); Recebe mensagem DatagramPacket reply = new DatagramPacket(request.getData(), request.getlength(); request.getaddress(), request.getport()); } asocket.send(reply); } catch (SocketException e){system.outprintln( Socket: + e.getmessage()); } catch (IOException e){system.out.println( IO: + e.getmessage()); } finally {if(asocket! = null) asocket.close();} Constrói um socket datagram (associado ao porto 6789) Extrai da mensagem o IP e porto do processo origem para responder Sistemas Distribuidos 2012-2013 1º semestre 39 Sockets com Ligação Servidor Cliente socket Servidor Cliente bind Socket Escuta 3-way handshake listen accept socket connect Socket Ligação bytes bytes Socket Cliente read write write read Sistemas Distribuidos 2012-2013 1º semestre 40

Sockets Stream em Java (Cliente) WriteUTF / readutf para Universal transfer format / para as cadeias de caracteres import java.net*; import java.io*; public class TCPClient{ public static void main(string args[]){ classe Socket suporta o socket // args: message and destin. hostname cliente. Argumentos: nome DNS Socket s = null; do servidor e o porto. try{ Construtor não só cria o socket como efectua a ligação TCP } int server Port = 7896; s = new Socket (args[1], serverport); DataInputStream = new DataInputStream(s.getInputStream()); DataOutputStream out = newdataoutputstream (s.getoutputstream()); Métodos getinputstream / out.writeutf(args[0]); getoutputstream permitem String data = in.readutf(); aceder aos dois streams System.out.prtintln( Received: + data); definidos pelo socket }catch (UnknownHostException e){ System.out.println( Sock: + e.getmessage()); }catch (EOFException e) {System.out.println( EOF: e.getmessage()); }catch (IOException e){system.out.println( IO: e.getmessage()); }finally {if(s!=null) try{s.close();}catch (IOException e} Sistemas Distribuidos 2012-2013 1º semestre 41 Sockets Stream em Java (Servidor) import java.net*; import java.io*; public class TCPServer{ public static void main(string args[]){ try{ } } Cria socket servidor que fica à escuta no porto serverport int server Port = 7896; ServerSocket listensocket = new ServerSocket(serverPort); while(true){ Socket connectionsocket = listensocket.accept(); myconnection c = new myconnection(connectionsocket); Bloqueia até cliente estabelecer ligação. } }catch (IOException e){system.out.println( Listen: +e.getmessage());} Cria novo socket servidor com quem é estabelecida ligação com o cliente e onde os dados são recebidos Sistemas Distribuidos 2012-2013 1º semestre 42

Sockets em Unix Sockets Datagram em Unix Cliente s=socket(af_net, SOCK_DGRAM,0) bind(s, ClientAddress) sendto(s, message, ServerAddress) Servidor s=socket(af_net, SOCK_DGRAM,0) bind(s, ServerAddress) amount=recvfrom(s, buffer, from) Cliente Sockets Stream em Unix Servidor s=socket(af_net, SOCK_STREAM,0) connect(s, ServerAddress) write(s, message, length) s=socket(af_net, SOCK_STREAM,0) bind(s, ServerAddress) Listen(s, 5) snew=accept(s, ClientAddress) n=read(snew, buffer, amount) Sistemas Distribuidos 2012-2013 1º semestre 43 Capitulo 2: Interfaces e Objectos Sistemas Distribuidos 2012-2013 1º semestre 52

Interfaces de Comunicação Máquina A Máquina B aplicação Níveis 7 a 5 Níveis 7 a 5 aplicação Sockets, TLI Nível 4 Transporte Nível 4 Transporte Sockets, TLI OS kernel Níveis 3 a 1 Níveis 3 a 1 OS kernel Sistemas Distribuidos 2012-2013 1º semestre 53 Interfaces de Comunicação Interacção baseada na troca de mensagens Facilidade de transporte para múltiplos sistemas Exploração das APIs normais de comunicação Tipicamente da API de transporte (sockets) Exemplos telnet, rlogin, Winrdpaplicações de terminal remoto ftp, samba Transferência de ficheiros SMTP Correio electrónico Problemas? Cada aplicação possui um protocolo próprio Dificulta a utilização do protocolo por terceiros Desempenho porque é executado em modo utilizador Sistemas Distribuidos 2012-2013 1º semestre 54

Plataformas cliente-servidor Interacção via RPC (Remote Procedure Call) Definição clara de interfaces de serviços Linguagem de especificação de interfaces Ambiente de desenvolvimento Serviços fornecidos pelos SO Gestão de nomes Sistema de ficheiros distribuído Sincronização de relógios Mecanismos de segurança Autenticidade Privacidade Máquina A Serviço Serviço do do SO SO Serviço Serviço do do SO SO (cliente) (cliente) (servidor) (servidor) aplicação RPC run-time support Sockets, TLI Nível 7 aplicação Níveis 6 a 5 Nível 4 Transporte Níveis 3 a 1 Sistemas Distribuidos 2012-2013 1º semestre 55 Exemplo de Plataformas Exemplos ONC - Open Networking Computing Sun Microsystems DCE - Distributed Computing Environment Open Software Foundation Exemplo: Sistema de Ficheiros Distribuído aplicação aplicação Sistema de ficheiros E/S Gestão de memória Comunicação entre processos Gestão de processos E/S Gestão de memória Comunicação entre processos Gestão de processos Sistemas Distribuidos 2012-2013 1º semestre 57

Invocação de Objectos Remotos Objecto remoto Interface Remota Dados m1 m2 m3 Código dos métodos m4 m5 m6 Exemplos de Plataformas SOAP protocolo de invocação remota de Web services RMI do Java DCOM Distributed Component Object Model - Microsoft Common Object Request Broker Architecture (CORBA) - Object Management Group (OMG) Sistemas Distribuidos 2012-2013 1º semestre 59 Modelos Fundamentais Sistemas Distribuidos 2012-2013 1º semestre 66

Modelo Interacções Performance dos canais de comunicação Atraso, jitter, largura de banda Performance da comunicação impõe normalmente limitações Relógios dos computadores e eventos temporais Impossibilidade de manter relógios num sistema distribuído com um valor único e global Ritmo de desvio dos relógios variável Sincronização de relógios (e.g. GPS) 2 variantes do modelo Sistema distribuído sincrono Sistema distribuído assincrono Ordem de eventos Ordenação em tempo-real de eventos Sistemas Distribuidos 2012-2013 1º semestre 67 Modelo de Faltas Faltas de temporização Faltas de Omissão e Faltas arbitrárias Faltas de Omissão e Arbitrárias Mascarar Faltas Comunicação fiável Sistemas Distribuidos 2012-2013 1º semestre 68

Modelo de Segurança Protecção de Objectos Segurança de processos e suas interacções Modelização de ameaças Ameaças a processos Ameaças aos canais de comunicação Ameaças à disponibilidade (Denial of Service) Mecanismos de Segurança Sistemas Distribuidos 2012-2013 1º semestre 69