UNIVERSIDADE. Sistemas Distribuídos

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE. Sistemas Distribuídos"

Transcrição

1 UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Representação Externa de Dados e Marshalling

2 Representação externa de dados Informações armazenadas em programas são representadas como uma estrutura de dados Na transmissão de informações, as informações são representadas numa seqüência de bytes Necessidade de conversão: estrutura de dados < > seqüência de bytes Problema Solução Diferentes sistemas possuem diferentes estruturas de dados Ex: Código ASC x UNICODE, big endian x little endian, formatos de ponto flutuante etc. Conversão para um formato de dados de comum acordo (external Data Representation XDR) Enviar no formato do emissor e incluir informação sobre o formato empregado

3 Representação externa de dados

4 Representação externa de dados Formato independente de linguagem, SO etc Utilizada para comunicação dos dados de requisições e respostas entre clientes e servidores Formato serializado Marshalling: conversão entre a representação interna e externa CORBA Common Data Representation Serialização de objetos em Java XML (Extensible Markup Language)

5 Marshalling (Empacotamento) Processo de converter uma coleção de dados e organizá-los em um formato próprio para transmissão Unmarshalling é o processo oposto Ideal não haver o envolvimento explícito da aplicação (transparência) Responsabilidade do middleware Duas técnicas básicas Conversão dos dados para um formato binário Conversão dos dados para um formato texto (ASC II) Serialização Java e XML

6 CORBA CDR Representação para tipos primitivos inteiros, ponto flutuante, octeto big-endian e little-endian posicionamento de cada item de dados na msg. Representação para tipos construídos seqüência, string, array, struct, enumeração, união construída a partir das seqüências de bytes correspondentes aos tipos primitivos constituintes Informação de tipo: subentendida através da definição das operações em IDL

7 Representação de tipos construídos em CORBA CDR Type sequence stri ng Repr esenta ti on length (unsi gned long) fo ll ow ed by elements i n order length (unsi gned long) fo ll ow ed by characters in o rder (can al so can have w i de characters) ar ra y stru ct enumer ated uni on arr ay elem ents i n order ( no l ength speci f ied b ecause i t is fi xed) in t he or der o f declarati on o f the comp onents unsigned l ong (the v al ues are specif ied by t he order d ecl ared) ty pe tag f ol lowe d b y the selected m emb er

8 Mensagem em CORBA CDR index in sequence of bytes bytes 5 "Smit" "h " 6 "Lond" "on " 1934 notes on representation length of string Smith length of string London unsigned long The flattened form represents a Person struct with value: { Smith, London, 1934} struct Person { string name; string city; unsigned long year; };

9 Marshalling em CORBA O código gerado automaticamente a partir das definições em IDL das operações Converte os parâmetros e valores de retorno das operações Seguindo as regras de representação CORBA CDR Stub marshalling de parâmetros e unmarshalling do valor de retorno Skeleton: vice-versa

10 Inclusão de informações de tipo no Marshalling Se dados empacotados (marshalled) devem incluir informações de seus tipos Informar se o tipo, por exemplo, é int ou um array No caso de CORBA são incluídos apenas os valores Considera-se que o cliente já saibam os tipos dos dados e a ordem de chegada destes dados Entretanto, XML e Java inclui tanto os tipos quanto os próprios dados

11 Serialização em Java Transformação de um objeto Java para uma seqüência de bytes Informações de tipo e classe dos objetos são incluídas na forma serializada Permitem a reconstrução dos objetos sem conhecimento prévio de suas classes Processo recursivo: serializa todos os objetos referenciados pelo objeto em questão Classes precisam implementar a interface Serializable Objetos remotos: a referência é serializada

12 Serialização em Java Forma de disponibilização ao usuário Classes ObjectOutputSream e ObjectInputStream e seus respectivos métodos writeobject e readobject Classe do objeto implementa a interface Serializable Conteúdo do formato serializado Nome da classe Versão da classe (quando são feitas alterações na classe) Referências a outros objetos (handles) Valores das instâncias das variáveis

13 Formato de serialização Java Objetos (instância de uma classe Java) e valores de dados primitivos podem ser passados como argumentos e resultados de invocações de método Ex.: struct Person public class Person implements Serializable { } private String name; private String place; private int year; public Person(String aname, String aplace, int ayear) { name = aname; place = aplace; year = ayear; } // seguido dos métodos para acessar as vaiáveis de instância

14 Formato de serialização Java Serializando a instância de objeto Person: Person p = new Person( Smith, London, 1934); Serialized values Explanation Person 8-byte version number h0 class name, version number 3 int year java.lang.string name: java.lang.string place: number, type and name of instance variables Smith 6 London h1 values of instance variables O formato serializado na prática contém marcadores de tipos de dados adicionais h0 and h1 são handles

15 Formato de serialização Java Serialização e desserialização geralmente são operações feitas automaticamente pelo middleware Java oferece meios para o programador personalizar a serialização Exemplo é o uso da palavra-chave transient que serve para informar que uma variável não deve ser serializada Arquivos ou sockets

16 XML (Extensible Markup Language) Linguagem de marcação assim como HTML Definir documentos estruturados para a Web Os itens de dados são rotulados com strings de marcação Diferente do HTML, permite que os usuários definam suas próprias tags (Extensível)

17 XML (Extensible Markup Language) Usos de interesse aqui: definir a interface de serviços Web prover a representação externa de dados na comunicação entre clientes e serviços Representação textual: independente de plataforma Representação hierárquica Textual e Auto-descritiva: tags, esquemas e namespaces Desempenho inferior comparado com CORBA CDR

18 Definição da estrutura Pessoa em XML tag <person id=" "> <name>smith</name> <place>london</place> <year>1934</year> atributo <!-- a comment --> </person > elementos Atributos: rotular dados Elementos: container para dados

19 Namespaces Permitem definir contextos para os marcadores (tags) utilizados em um documento Referenciados através de URLs Evitam choques de nomes de tags em contextos diferentes As tags name, place e year podem ser usadas em diferentes documentos <person pers:id=" " xmlns:pers = " <pers:name> Smith </pers:name> <pers:place> London </pers:place > <pers:year> 1934 </pers:year> </person>

20 Esquemas XML Definem: os elementos e atributos que podem aparecer em documentos XML (i.e., um vocabulário) como os elementos são aninhados a ordem, o número e o tipo dos elementos Usados para validar documentos XML Um mesmo esquema pode ser compartilhado por vários documentos

21 Um esquema XML para a estrutura Pessoa xsd:schema xmlns:xsd = URL of XML schema definitions > <xsd:element name= "person" type ="persontype" /> <xsd:complextype name="persontype"> <xsd:sequence> <xsd:element name = "name" type="xs:string"/> <xsd:element name = "place" type="xs:string"/> <xsd:element name = "year" type="xs:positiveinteger"/> </xsd:sequence> <xsd:attribute name= "id" type = "xs:positiveinteger"/> </xsd:complextype> /xsd:schema>

22 Referências de Objetos Remotos Num sistema distribuído, um processo servidor pode conter vários objetos remotos Necessário uma maneira de identificar um objeto remoto de forma única dentro de um sistema distribuído Necessária quando objetos remotos são passados como parâmetro

23 Referências de Objetos Remotos Devem ser descartada quando o objeto remoto deixar de existir A referência é serializada (não o objeto) Deve conter toda informação necessária para identificar (e endereçar) um objeto unicamente no sistema distribuído. Ex.: hora da criação, nº da porta. 32 bits 32 bits 32 bits 32 bits Internet address port number time object number interface of remote object

24 Comunicação Cliente-Servidor Modelo geral: requisição-e-resposta Variantes: síncrona: cliente bloqueia até receber a resposta assíncrona: cliente recupera (explicitamente) a resposta em um instante posterior não sendo bloqueante Implementação sobre protocolo baseado em datagramas é mais eficiente evita: reconhecimentos redundantes, mensagens de estabelecimento de conexão, controle de fluxo

25 Protocolo requisição-e-resposta Client Server dooperation (wait) (continuation) Request message Reply message getrequest select object execute method sendreply

26 Operações utilizadas para implementar o protocolo de requisição-e-resposta public byte[] dooperation (RemoteObjectRef o, int methodid, byte[] arguments) envia uma mensagem de requisição para o objeto remoto e retorna a resposta. Os argumentos especificam o objeto remoto, o método a ser chamada e os argumentos para aquele método. public byte[] getrequest (); obtém uma requisição de um cliente através de uma porta servidora. public void sendreply (byte[] reply, InetAddress clienthost, int clientport); envia a mensagem de resposta para o cliente, endereçando-a a seu endereço IP e porta.

27 Estrutura de mensagens de requisição-e- resposta messagetype requestid objectreference methodid arguments int (0=Requisição, 1= Resposta) int (identifica a requisição) Referência de objeto remota int (identifica o método) array de bytes Identificador da mensagem pode ser formado a partir: requestid junto com o ID do processo remetente que fez a requisição usando por exemplo o seu endereço de IP.

28 Modelo de falhas Suposições processos: param após falha canais: podem omitir mensagens Uso de timeouts: em dooperation. Para detectar se a resposta (ou a requisição) foi perdida. Alternativas de tratamento: sinalizar a falha para o cliente (uma boa opção?) repetir o envio da requisição (um certo número de vezes melhor abordagem) Até ter certeza sobre a natureza da falha (quem falhou? O canal ou o processo?)

29 Modelo de falhas Descarte de mensagens duplicadas o servidor deve distinguir requisições novas de requisições retransmitidas RequestIDs Em caso de perda da resposta (reply), o servidor: Pode re-executar a requisição para gerar novamente a resposta, ou Pode manter um histórico das respostas geradas para o caso de precisar retransmití-las

30 Protocolos de troca de mensagens Nome R Request Mensagens enviadas pelo Cliente Servidor Cliente RR Request Reply RRA Request Reply Acknowledge reply

31 Protocolos de troca de mensagens Protocolo R: cliente transmite requisição para o servidor. Não há necessidade de retornar valor e o cliente não precisa de confirmação de recebimento Geralmente implementado sobre o protocolo UDP Protocolo RR: cliente transmite requisição e necessita de confirmação de recebimento pelo servidor. Confirmação feita pela resposta (reply) do servidor Protocolo RRA: Semelhante ao protocolo RR sendo que o servidor também necessita de confirmação de recebimento de resposta (reply) pelo cliente (acknowledge) Não bloqueia o cliente

32 Protocolo de transporte utilizado: UDP Leva em conta o tamanho da mensagem se sessões são curtas (apenas uma requisição e sua resposta) não compensa o overhead do handshake TCP Não oferece confiabilidade necessitando que o programador recursos de garantia de entrega de mensagens Retransmissão de mensagens Filtragem de mensagens duplicadas Histórico de respostas mantido pelo servidor

33 Protocolo de transporte utilizado: TCP Implementação mais fácil Não impõem limites no tamanho das mensagens na verdade, cuida da segmentação (divisão das mensagens) de forma transparente permite argumentos de tamanho arbitrário (ex.: listas) Transferência confiável lida com mensagens perdidas e duplicadas Controle de fluxo Overhead reduzido em sessões longas (muitas requisições e respostas sucessivas)

34 Comunicação de Grupo Processo envia a mensagem para o grupo (não para seus membros diretamente) Entrega de uma mesma mensagem, enviada por um processo, para cada um dos processos que são membros de um determinado grupo O conjunto de membros do grupo é transparente para o processo que envia a mensagem Mensagens comunicadas através de operações de multicast

35 Comunicação de Grupo

36 Aplicações da comunicação de grupo Tolerância a falhas baseada em serviços replicados Busca por serviços de descoberta em redes espontâneas Melhoria de desempenho através de dados replicados Propagação de eventos

37 IP Multicast É o protocolo básico para comunicação de grupo Assim como o IP (unicast): não-confiável mensagens podem ser perdidas (falha de omissão) i.e., não entregues para alguns membros do grupo mensagens podem ser entregues fora de ordem Acessível às aplicações através de UDP Grupos são identificados por: endereço IP + porta, utiliza endereços IP que iniciam por 1110 (IPv4) Processos se tornam membros de grupos, mas não conhecem os demais membros

38 IP Multicast (cont.) Um computador é membro de um grupo se ele possui um ou mais processos com sockets que se juntaram ao grupo: multicast sockets Camada de rede: recebe mensagens endereçadas a um grupo, se computador for membro entrega as mensagens para cada um dos sockets locais que participa do grupo processos membros são identificados pelo número de porta associado ao grupo vários processos compartilham o mesmo número de porta

39 API Java para IP Multicast Classe MulticastSocket Derivada de DatagramSocket Principais métodos: joingroup: método para entrar em um grupo leavegroup: método para sair de um grupo settimetolive: serve para configurar o TTL TTL (Time to live): serve para limitar a distância de propagação de um datagrama multicast pela rede Pequenas distâncias: redes locais Grandes distâncias: redes externas, Internet (uso de roteadores externos)

40 Processo entra em um grupo de multicast e envia e recebe datagramas import java.net.*; import java.io.*; public class MulticastPeer{ public static void main(string args[]){ // args give message contents & destination multicast group (e.g. " ") MulticastSocket s =null; try { InetAddress group = InetAddress.getByName(args[1]); s = new MulticastSocket(6789); s.joingroup(group); byte [] m = args[0].getbytes(); DatagramPacket messageout = new DatagramPacket(m, m.length, group, 6789); s.send(messageout); // this figure continued on the next slide

41 ...continuação } } // get messages from others in group byte[] buffer = new byte[1000]; for(int i=0; i< 3; i++) { DatagramPacket messagein = new DatagramPacket(buffer, buffer.length); s.receive(messagein); System.out.println("Received:" + new String(messageIn.getData())); } s.leavegroup(group); }catch (SocketException e){system.out.println("socket: " + e.getmessage()); }catch (IOException e){system.out.println("io: " + e.getmessage());} }finally {if(s!= null) s.close();}

42 Confiabilidade e ordenação de multicast Fontes de falhas membros de um grupo podem perder mensagens devido a congestionamento (fila de chegada cheia) falhas em roteadores de multicast roteador não propaga a mensagem para os membros que estão após ele na rede Falhas de ordenação Mensagens enviadas por um processo podem ser recebidas por outros processos em ordens diferentes Mensagens enviadas por diferentes processos podem não chegar na mesma ordem em todos os demais processos

43 Exemplo de falha de ordenação send receive receive X 1 m 1 4 Y 2 receive send 3 m 2 receive Physical time Z receive receive send A m 3 m 1 m 2 receive receive receive t 1 t 2 t 3 45

44 Efeitos de falhas nas principais aplicações de comunicação de grupo Serviços replicados causa inconsistência das réplicas: nem todas as réplicas terão processado todas as requisições Busca por serviços de descoberta imune a falhas: basta que alguém responda Dados replicados depende do modelo de replicação Propagação de eventos dependente de aplicação

45 Conclusão sobre IP Multicast Protocolo de multicast não-confiável Uso sobre redes locais: utiliza multicast físico ex.: em redes Ethernet Uso na Internet: utiliza roteadores de multicast configurados através de algum protocolo de roteamento multicast time-to-live para limitar a propagação de mensagens

Ricardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha

Ricardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha Programação com Sockets Ricardo Couto Antunes da Rocha rcarocha@inf.ufg.br 2005 Ricardo Couto Antunes da Rocha Parâmetros de protocolos Objetivo do protocolo Protocolo de transporte: TCP ou UDP Porta (servidora!):

Leia mais

Sistemas Operacionais Distribuídos e de Redes

Sistemas Operacionais Distribuídos e de Redes Contextualização Sistemas Operacionais Distribuídos e de Redes Comunicação Interprocessos Aula 04 Aula 04 Aplicação, serviços RMI e RPC Protocolo - (requisição-resposta) marshalling e representaçao externa

Leia mais

Computação Distribuída Cap. III

Computação Distribuída Cap. III Cap. III Licenciatura em Engenharia Informática Universidade Lusófona Prof. José Rogado Prof. José Faísca Comunicação entre Processos Distribuídos Comunicação entre processos Transporte, streams e mensagens

Leia mais

Capítulo IV Comunicação entre processos

Capítulo IV Comunicação entre processos From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001 Applications, services RMI and RPC request-reply protocol marshalling and external data representation

Leia mais

Processos em Sistemas Distribuídos e Comunicação entre Processos

Processos em Sistemas Distribuídos e Comunicação entre Processos Processos em Sistemas Distribuídos e Comunicação entre Processos Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de

Leia mais

Capítulo III Comunicação entre processos

Capítulo III Comunicação entre processos From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005. Sockets UDP e TCP. A serialização de estruturas de dados. Comunicação cliente-servidor O

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Introdução Comunicação entre Processos: Soquetes Comunicação por datagrama UDP Comunicação

Leia mais

Computação Distribuída

Computação Distribuída Roteiro da aula Sockets 1. UDP (User Datagram Protocol) 2. TCP ( (Transmission Control Protocol) 3. IP Multicast Invocação de Método M Remoto usando CORBA 1. Introdução 2. Modelo de Objeto 3. Entender

Leia mais

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

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Protocolo Request-Reply

Protocolo Request-Reply n n n n Protocolo Request-Reply Modelo de Objeto Remoto Semânticas de Invocação Remota Arquitetura de Invocação Remota Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Características de

Leia mais

INTRODUÇÃO. RPC x RMI

INTRODUÇÃO. RPC x RMI 1 INTRODUÇÃO RPC x RMI 2 INTRODUÇÃO RPC Remote procedure call Este termo é utilizado para aplicativos clientes que fazem normalmente chamadas a procedimentos remotos que estão em outro processo e hosts.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Comunicação entre Processos Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Visão geral A API para protocolos Internet Representação externa de dados e empacotamento Comunicação

Leia mais

Comunicação Objetos Distribuídos e RMI

Comunicação Objetos Distribuídos e RMI Sistemas Distribuídos Comunicação Objetos Distribuídos e RMI - Parte 2 - Instituto de Informática UFG Verão 2005 Baseado em: Tanenbaum, Capítulo 2 Chamadas de Objetos: Chamadas Remotas e Chamadas Locais

Leia mais

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

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP Prof. Me. Sérgio Carlos Portari Júnior Conteúdo Programático Contextualizando: Aula anterior Camada Middleware Programar para SD

Leia mais

Resumo das Propriedades de UDP e de TCP

Resumo das Propriedades de UDP e de TCP Relembrando... Processos duma aplicação distribuída comunicam via mensagens. O formato e o significado destas mensagens depende do protocolo usado. As mensagens são transportadas entre processos através

Leia mais

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling.

Comunicação. Carlos A. G. Ferraz 25/6/2003. Sistemas Distribuídos 1. Tópicos. Camadas. Transmissão de dados. Marshalling/Unmarshalling. Tópicos Comunicação Carlos Ferraz cagf@cin.ufpe.br Elementos básicos de comunicação Transmissão de dados Endereçamento Sincronismo Enfileiramento (Bufferização) Confiabilidade Portas e sockets UDP RPC:

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II Comunicação e sincronização por troca de mensagens Aula 0 Em ambientes de memória distribuída a comunicação e a sincronização entre

Leia mais

Processos em Sistemas Distribuídos: Comunicação entre Processos, Nomeação e Sincronização

Processos em Sistemas Distribuídos: Comunicação entre Processos, Nomeação e Sincronização Processos em Sistemas Distribuídos: Comunicação entre Processos, Nomeação e Sincronização Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Modelo orientado a objetos: uma pequena revisão Instituto de Informátic ca - UFRGS Sistemas Operacionais II Modelos para programação distribuída (Remote Method Invocation) Aula 14 Programa é visto como

Leia mais

Projecto hipotético para resolvermos hoje

Projecto hipotético para resolvermos hoje Projecto hipotético para resolvermos hoje 12/13 Sistemas Distribuídos 1 Projecto hipotético para resolvermos hoje Implementar servidor de contagem que mantém contador e oferece estas operações aos clientes:

Leia mais

User Datagram Protocol

User Datagram Protocol User Datagram Protocol UDP: Protocolo utiliza para distinguir para qual usuário ou aplicativo deve ser encaminhado um datagrama destinado a uma máquina que esteja executando mais de um processo. Problemas:

Leia mais

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br

Sistemas Distribuídos. Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Sistemas Distribuídos Prof. Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Relembrando... Encapsulamento nas camadas de rede e protocolos 2-2 Relembrando...

Leia mais

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

Invocação Remota. Prof. Leonardo Barreto Campos.   1/29 Invocação Remota Prof. Leonardo Barreto Campos 1/29 Sumário Introdução Chamada de Procedimento Remoto Invocação a Método Remoto Leitura Complementar Bibliografia 2/29 Introdução Essa aula trata como os

Leia mais

Capítulo IV Comunicação entre processos

Capítulo IV Comunicação entre processos From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, Addison-Wesley 2001. Sockets UDP e TCP. A serialização de estruturas de dados. Comunicação cliente-servidor O

Leia mais

Principais conceitos de CORBA

Principais conceitos de CORBA Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? O que é um sistema distribuído? Conjunto de computadores ligados em rede, com software que permita a partilha de recursos e a coordenação de actividades, oferecendo idealmente um sistema integrado. Características:

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de

Leia mais

Camada de Rede Fundamentos e Protocolos. 6/7/18 Organizado por Bruno Pereira Pontes brunopontes.com.br

Camada de Rede Fundamentos e Protocolos. 6/7/18 Organizado por Bruno Pereira Pontes brunopontes.com.br Camada de Rede Fundamentos e Protocolos 1 Objetivos Conhecer as características, funcionalidades e protocolos da camada de rede, especialmente os protocolos IP e ICMP; Entender as principais características

Leia mais

Vamos fazer um pequeno experimento

Vamos fazer um pequeno experimento 1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST. Prof. Cesar Augusto Tacla

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST. Prof. Cesar Augusto Tacla PR UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST Prof. Cesar Augusto Tacla http://www.dainf.ct.utfpr.edu.br/~tacla Sumário 1. Introdução a. Contexto: comunicação inter-processos

Leia mais

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição 6LVWHPDV'LVWULEXtGV 0GHO&OLHQWH6HUYLGU &PXQLFDom 6XPiUL Introdução Elementos Básicos de Comunicação Comunicação Cliente-Servidor Comunicação em Grupo Chamada emota de Procedimento (PC) Prof a. Cristina

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos RPC Remote Procedure Call 1 Fonte: Alcides Calsavara e Thais V. Batista Chamada de Procedimentos Remotos (RPC) Motivação: comunicação baseada em operações de entrada/saída Ideal:

Leia mais

Nível de Transporte Portas, Protocolos UDP e TCP

Nível de Transporte Portas, Protocolos UDP e TCP Departamento de Ciência da Computação - UFF Disciplina: Nível de Transporte Portas, Protocolos UDP e TCP Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Nível de Transporte 3 Camada de Transporte

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos 2016.1 PROF. MARCIAL PORTO FERNANDEZ MARCIAL@LARCES.UECE.BR PROF. ANDRÉ RIBEIRO CARDOSO ANDREC@LARCES.UECE.BR 1 3. Comunicação em Sistemas Distribuídos 2 Sumário Comunicação em SD

Leia mais

Funcionalidades da camada de rede

Funcionalidades da camada de rede Camada de Rede Objetivo Conhecer as características, funcionalidades e protocolos da camada de rede, especialmente os protocolos IP e ICMP Entender as principais características e princípios operacionais

Leia mais

Sistemas Distribuídos. Coulouris Capítulo 4

Sistemas Distribuídos. Coulouris Capítulo 4 Sistemas Distribuídos Coulouris Capítulo 4 Mensagens Para comunicar-se com outros processos, um processo envia uma MENSAGEM para um DESTINO; um outro processo nesse destino recebe a mensagem. As operações

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Chamada Remota de Procedimento março de 2019 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e

Leia mais

Canais de Comunicação

Canais de Comunicação Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste

Leia mais

Comunicação. capítulo

Comunicação. capítulo Comunicação capítulo 4 Camadas de protocolos: Modelo OSI Camadas de protocolos: Mensagem Protocolos de baixo nível Estas camadas implementam as funções básicas que envolvem uma rede de computadores: Física:

Leia mais

1 Copyright 1998, 1999 Francisco Reverbel

1 Copyright 1998, 1999 Francisco Reverbel 1 Copyright 1998, 1999 Francisco Reverbel General Inter-ORB Protocol (GIOP): protocolo abstrato (família de protocolos) O Internet Inter-ORB Protocol (IIOP) é uma realização concreta do GIOP Tres elementos

Leia mais

Sistemas Distribuídos Aula 10

Sistemas Distribuídos Aula 10 Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com BENEFÍCIOS MODELO OSI Menor complexidade; Interfaces padronizadas; Interoperabilidade entre

Leia mais

Prof. Marcelo Cunha Parte 6

Prof. Marcelo Cunha Parte 6 Prof. Marcelo Cunha Parte 6 www.marcelomachado.com ARP (Address Resolution Protocol) Protocolo responsável por fazer a conversão entre os endereços IPs e os endereços MAC da rede; Exemplo: Em uma rede

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,

Leia mais

Sockets e Threads em Java

Sockets e Threads em Java Sockets e Threads em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O Comunicação

Leia mais

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Persistência alberto@ufs.br de Programação Departamento de Computação Universidade Federal de Sergipe Retrospectiva Quanto ao Tempo de Vida Variáveis Estáticas Variáveis Stack-Dinâmicas Variáveis Heap-Dinâmicas

Leia mais

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos Capítulo 8 - Aula 14 Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação

Leia mais

Programação com Sockets

Programação com Sockets Sistemas Distribuidos e Paralelos Programação com Sockets Datagramas Objetivo Desenvolver programas que permitam o envio de informação pela rede mediante sockets usando o protocolo UDP. Bibliografía Deitel,

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Departamento de Ciência da Computação Universidade Federal de Minas Gerais UFMG/DCC Redes de Computadores

Leia mais

PROTOCOLOS DE COMUNICAÇÃO

PROTOCOLOS DE COMUNICAÇÃO PROTOCOLOS DE COMUNICAÇÃO 3º ANO / 2º SEMESTRE 2014 INFORMÁTICA avumo@up.ac.mz Ambrósio Patricio Vumo Computer Networks & Distribution System Group Serviços de Transporte na Internet Arquitectura TCP/IP

Leia mais

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Rede de computadores Protocolos UDP. Professor Carlos Muniz Rede de computadores Professor Carlos Muniz User Datagram Protocol O User Datagram Protocol (UDP) é um protocolo simples da camada de transporte. Ele é descrito na RFC 768 [1] e permite que a aplicação

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

Leia mais

Número: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC:

Número: Nome: Página 1 de 7. Duração da prova: 1h30m. Grupo I [7] Considere o seguinte excerto (incompleto) de um programa cliente em SUN RPC: Número: Nome: Página 1 de 7 LEIC/LETI 2016/17, Repescagem do 1º Teste de Sistemas Distribuídos 4 de julho de 2017 Responda no enunciado, usando apenas o espaço fornecido. Identifique todas as folhas. Uma

Leia mais

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE COMPUTAÇÃO

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA ENGENHARIA DE COMPUTAÇÃO ALAN FERNANDO COELHO GARCIA EDUARDO GUILHERME CORDEIRO MECÂNISMO DE

Leia mais

CCNA 2 Conceitos Básicos de Roteadores e Roteamento. Capítulo 8 - Mensagens de Erro e de Controle do Conjunto de Protocolos TCP/IP

CCNA 2 Conceitos Básicos de Roteadores e Roteamento. Capítulo 8 - Mensagens de Erro e de Controle do Conjunto de Protocolos TCP/IP CCNA 2 Conceitos Básicos de Roteadores e Roteamento Capítulo 8 - Mensagens de Erro e de Controle do Conjunto de Protocolos TCP/IP 1 Objetivos do Capítulo Descrever o ICMP; Descrever o formato de mensagem

Leia mais

Data and Computer Network Endereçamento IP

Data and Computer Network Endereçamento IP Endereçamento IP P P P Prof. Doutor Félix Singo Camadas do TCP/IP Data and Computer Network Aplicação: Camada mais alta Protocolos de Aplicações clientes e servidores HTTP, FTP, SMTP, POP Transporte: Estabelece

Leia mais

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Resumo P2. Internet e Arquitetura TCP/IP

Resumo P2. Internet e Arquitetura TCP/IP Resumo P2 Internet e Arquitetura TCP/IP Internet: Rede pública de comunicação de dados Controle descentralizado; Utiliza conjunto de protocolos TCP/IP como base para estrutura de comunicação e seus serviços

Leia mais

Capítulo 5 Sumário. Formato das Mensagens ICMP. Tipos de Mensagens ICMP

Capítulo 5 Sumário. Formato das Mensagens ICMP. Tipos de Mensagens ICMP 1 Capítulo 5 Sumário Formato das Mensagens ICMP Tipos de Mensagens ICMP Solicitação de Eco / Resposta de Eco Destino Inatingível Tempo Esgotado (time-out) Source Quench Redirecionamento 2 Aplicação Telnet

Leia mais

COMPUTAÇÃO DISTRIBUÍDA

COMPUTAÇÃO DISTRIBUÍDA COMPUTAÇÃO DISTRIBUÍDA INTRODUÇÃO Carlos Ferraz MOTIVAÇÃO Computação em evolução Antes disso Sistemas de Software (Aplicações) Infraestrutura de Software Infraestrutura de Hardware Infraestrutura

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Comunicação entre Processos - Sistemas Operacionais fornecem mecanismos para comunicação entre processos (IPC), tal como filas de mensagens, semáfaros e memória compartilhada.

Leia mais

Camada de Transporte Protocolos TCP e UDP

Camada de Transporte Protocolos TCP e UDP Arquitetura de Redes de Computadores e Tecnologia de Implementação de Redes 2016.1 Camada de Transporte Protocolos TCP e UDP Curso Técnico Integrado em Informática Turma: INT.INF.3M Arquitetura de Redes

Leia mais

STD29006 Sistemas Distribuídos

STD29006 Sistemas Distribuídos STD29006 Sistemas Distribuídos Comunicação II Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 05 de setembro

Leia mais

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets

Sockets - Conceitos Básicos. COMUNICAÇÃO ENTRE PROCESSOS Sockets. Conceitos Básicos. Tipos de Sockets Sockets - Conceitos Básicos COMUNICAÇÃO ENTRE PROCESSOS Sockets! Sockets são uma forma de IPC (InterProcess Communication ) fornecida pela 4.3 BSD que fornecem comunicação entre processos residentes em

Leia mais

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio Camada de Aplicação Redes Industriais Prof. Rone Ilídio Itens do Livro Redes de Computadores e a Internet, Kurose 5ª edição 2 Camada de Aplicação 2.1 Princípios de aplicações de rede 2.1.1 Arquiteturas

Leia mais

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

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim Redes TCP/IP alexandref@ifes.edu.br Camada de Transporte 2 Camada de Transporte Função: Fornecer comunicação lógica entre processos de aplicação em diferentes hospedeiros. Os protocolos de transporte são

Leia mais

UNIVERSIDADE. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos

Leia mais

Redes de Computadores. Protocolos de Internet

Redes de Computadores. Protocolos de Internet Redes de Computadores Protocolos de Internet Gustavo Reis gustavo.reis@ifsudestemg.edu.br O que é a Internet? Milhões de elementos de computação interligados Hospedeiros = sistemas finais Executando aplicações

Leia mais

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Transporte Parte I Prof. Thiago Dutra Agenda n Parte I n Introdução n Protocolos de Transporte Internet n Multiplexação e n UDP n Parte II n TCP

Leia mais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar - Aula 5 - PROGRAMAÇÃO DISTRIBUÍDA COM RMI 1 (Remote Method Invocation) 1. INTRODUÇÃO Sistemas distribuídos necessitam que aplicações, executando em vários espaços de endereçamento, normalmente em diferentes

Leia mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

Redes de Computadores e Telecomunicações - Camada de Transporte

Redes de Computadores e Telecomunicações - Camada de Transporte Redes de Computadores e Telecomunicações - Camada de Transporte Objetivos Motivação Os serviços oferecidos pelo protocolo IP não oferecem garantia de confiabilidade. Problemas como congestionamento, perda

Leia mais

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão Unidade 5 Camada de Transporte e Aplicação Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 5.1 Protocolo UDP 5.2 Protocolo TCP 5.3 Principias Protocolos de Aplicação 5.3.1 SMTP

Leia mais

Funções da Camada de

Funções da Camada de Camada de Transporte Funções da Camada de Transporte Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores,

Leia mais

EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE

EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE EXTENSÕES DE ENDEREÇO DA SUB-REDE E DA SUPER-REDE Objetivos: No Capítulo 4, vimos três tipos principais de endereços IP (Classes A, B e C) Neste capítulo examinaremos algumas técnicas que permitem que

Leia mais

Direto ou Indireto Monolítico ou Estruturado Simétrico ou Assimétrico Padronizado ou Não-Padronizado

Direto ou Indireto Monolítico ou Estruturado Simétrico ou Assimétrico Padronizado ou Não-Padronizado PROTOCOLOS Características dos Protocolos Funcionalidade dos Protocolos Protocolos OSI Protocolos TCP/IP Características dos Protocolos As principais caraterísticas de um protocolo são: Direto ou Indireto

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Introdução: Sockets Para estabelecer a Comunicação Interprocesso nos Sistemas Distribuídos,

Leia mais

Comunicação entre processos

Comunicação entre processos Comunicação entre processos Fernando Afonso Santos UNIFEI Campus Itabira Processos Processos e Programas Um programa é uma entidade estática Fornece as instruções necessárias para realizar tarefas Não

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Camada de Aplicação Slide 1 Protocolo da Camada de Aplicação Tipos de mensagens trocadas; A sintaxe dos vários tipos de mensagens; A semântica dos campos; Regras para determinar quando

Leia mais

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol

Protocolos TCP e UDP. Protocolo TCP. Protocolo TCP. A necessidade de uma comunicação segura: Transmission Control Protocol Protocolos TCP e UDP Transmission Control Protocol Protocolo de transporte orientado à conexão. Transferência de dados confiável fim-a-fim recuperação de dados perdidos, duplicados organização dos dados

Leia mais

Redes de Computadores II. Programação com Sockets em Python

Redes de Computadores II. Programação com Sockets em Python v.2016 Redes de Computadores II Programação com Sockets em Python Prof. Ricardo Couto A. da Rocha rcarocha@ufg.br UFG Regional de Catalão Camada de Transporte Arquitetura TCP/IP APLICAÇÃO TRANSPORTE REDE

Leia mais

Redes de computadores e a Internet. Prof. Gustavo Wagner. A camada de rede

Redes de computadores e a Internet. Prof. Gustavo Wagner. A camada de rede Redes de computadores e a Internet Prof. Gustavo Wagner Capitulo Capítulo 4 A camada de rede NAT: Network Address Translation resta da Internet 138.76.29.7 10.0.0.4 rede local (ex.: rede doméstica) 10.0.0/24

Leia mais

Redes de Computadores Aula 5

Redes de Computadores Aula 5 Redes de Computadores Aula 5 Aula passada DNS Sockets Programação com sockets Teste relâmpago Aula de hoje Camada de transporte Multiplexação Princípios de transmissão confiável Stop and wait Camada de

Leia mais

Redes de Computadores. Protocolos TCP/IP

Redes de Computadores. Protocolos TCP/IP Redes de Computadores Protocolos TCP/IP Sumário 2! Endereços IP (lógicos) Sub-redes! Endereços Ethernet (físicos)! Conversão de endereços IP/Ethernet! Pacotes IP! Números de portos! Segmentos UDP! Segmentos

Leia mais

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens

Comunicação entre processos COMUNICAÇÃO ENTRE PROCESSOS. Comunicação entre processos - troca de mensagens Comunicação entre processos Memória Compartilhada: os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Sem Memória Compartilhada:

Leia mais

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,

Leia mais

RMI e RPC. RPC significou um passo muito grande em direcção à

RMI e RPC. RPC significou um passo muito grande em direcção à Sumário RMI Conceito. Arquitectura de Implementação. Java RMI Características. Interfaces e Objectos Remotos JVM e Java RMI. Passagem de Argumentos e Serialização. Class Downloading. 1 RMI e RPC RPC significou

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP

Sockets: Sumário. Resumo das Propriedades de UDP e de TCP Sockets: Sumário Sockets TCP Modêlo. API de Java. API da biblioteca C. Avaliação Crítica de Sockets. 1 Resumo das Propriedades de UDP e de TCP Propriedade UDP TCP Abstracção Mens. Stream Baseado em Conexão

Leia mais

Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 6

Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 6 Agenda Redes de Computadores 2 Prof. Rodrigo da Rosa Righi - Aula 6 professor.unisinos.br/righi rrrighi@unisinos.br Camada de Rede na Internet Formato de Datagrama IP Fragmentação IP ICMP Camada de Rede

Leia mais

Programação de Aplicações em. Rede usando Sockets

Programação de Aplicações em. Rede usando Sockets Programação de Aplicações em Objetivos: Rede usando Sockets Conhecer a API Sockets, que permite a programas de aplicação comunicar-se através da Internet Aplicações e Protocolo de Aplicação Aplicação:

Leia mais

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

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn. Programação em Rede Baseada em Java Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.br/~affonso/cursos Definiçõs Básicas Uma rede é um conjunto de computadores

Leia mais

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

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes

Leia mais

Protocolos da camada de redes. Professor Leonardo Larback

Protocolos da camada de redes. Professor Leonardo Larback Protocolos da camada de redes Professor Leonardo Larback Protocolos da camada de redes Na camada de redes (modelo OSI) operam os protocolos IP, ARP, RARP, ICMP etc. Em conjunto a esses protocolos, abordaremos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Chamada Remota de Procedimento abril de 2017 RPC: motivação A B send (B, &pedido) receive (B, &resposta) como facilitar esse padrão tão comum? encapsulamento de detalhes de comunicação criação, envio e

Leia mais