Sistemas Distribuídos Prof. Marcus Rodrigues

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais II N Aula prática Java Sockets, RPC e RMI Eduardo Bezerra.
Advertisements

Sistemas Distribuídos Baseados em Objetos
Java Remote Method Invocation Java RMI
Modelos de Comunicação em Sistemas Distribuídos
RPC Remote Procedure Call
Arquiteturas de Sistemas Distribuídos: Modelos de Comunicação
Comunicação Distribuída
Comunicação em Sistemas Distribuídos
Objetos Distribuídos e Invocação Remota
Invocação de Métodos Remotos RMI
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Comunicação Entre Objetos Distribuídos
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Comunicação Inter-Processos
PROGRAMAÇÃO DISTRIBUÍDA EM JAVA Verão/2001
SISTEMAS DISTRIBUÍDOS Princípios e Paradigmas 2ª Edição ANDREW S
Sistemas Distribuídos
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Sistemas Distribuídos
Introdução à Programação Distribuída em Java
Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA.
Arquitetura CORBA e Objetos Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
Chamada Remota de Procedimentos
Marcela Bezerra da Silva Cin - UFPE
Sistemas Distribuídos
Infra-Estrutura de Software
Concorrência e Java RMI
Objetos Distribuídos e invocação remota
Sistemas Distribuídos
Mole: Um Sistema de Agentes Móveis Baseado em Java Curso de Ciência da Computação Departamento de Informática Disciplina de Tópicos Especiais em Computação.
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
SOD André Ribeiro, Claudia Carvalho, Nuno Paiva RPC IMPLEMENTING REMOTE PROCEDURE CALLS André RibeiroAndré Ribeiro Claudia CarvalhoClaudia Carvalho.
Comunicação entre Processos - Sockets. Conceitos Básicos Sockets são uma forma de IPC ( InterProcess Communication ) fornecida pela 4.3 BSD que fornecem.
Redes e Sistemas Distribuídos II – Cód
Tecgraf PUC-Rio maio de 2011 Principais conceitos de CORBA.
TMV Gestão de Redes e de Sistemas Distribuídos ???? Sumário  Arquitectura de Gestão SNMP  Arquitectura de Gestão OSI/TMN  Novas Arquitecturas.
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Integrações de Aplicações Empresariais Prof. Paulo Fernando da Silva UNC – Universidade do Contestado Pós-Graduação em Sistemas de Informação Aplicados.
COMUNICAÇÃO.
Java RMI João Gabriel (jggxm).
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Sistemas Distribuídos
Comunicação.
Sistemas Distribuídos Prof. Marcus Rodrigues
Troca de Mensagens Programação concorrente
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
Sistemas Distribuídos
Capítulo 4: Processos.
Remote Procedure Call (RPC) e Rendezvous
Sistemas Distribuídos
26/10/10 Sistemas Distribuídos 1 DAS Sistemas Distribuídos para Automação Industrial Trabalho 2ª Semestre de 2010 Professor: Joni da Silva Fraga.
Modelos de Comunicação em Sistemas Distribuídos
Modelos de Comunicação em Sistemas Distribuídos
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Sistemas Distribuídos
Sistemas Distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Sistemas Distribuídos
Passagens de Mensagens Prof. Dr. Norian Marranghello
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Principais conceitos de CORBA.
Sistemas Distribuídos Prof. Eriko Werbet
Sistemas Distribuídos Prof. Marcus Rodrigues
Protocolos de Comunicação e Passagem de Mensagens
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Sistemas Distribuídos Professor Luiz José Hoffmann filho
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Transcrição da apresentação:

Sistemas Distribuídos Prof. Marcus Rodrigues

Comunicação em Sistemas Distribuídos Capítulo 2 – Aula 7

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Comunicação em Sistemas Distribuídos Material baseado no livro Distributed Systems: Principles and Paradigms Prentice Hall Copyright © Andrew S. Tanembaum, Maarten van Steen, 2001

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Chamada Remota de Procedimentos Protocolos de comunicação Comunicação baseada em primitivas de comunicação (send & receive) Transparência? Chamada remota de procedimentos (RPC – Remote Procedure Call) Permite que programas chamem procedimentos localizados em outra máquinas Nenhuma passagem de mensagem é visível ao programador

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Operação básica de uma RPC count = read(fd, buf, nbytes); Passagem de parâmetro por valor x passagem de parâmetro por referência

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Stubs Cliente e Servidor RPC entre programa cliente e servidor RPC assemelha-se a uma chamada local.

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Passos de uma RPC 1. Procedimento cliente chama stub cliente 2. Stub cliente monta uma mensagem, e faz uma chamada local ao SO 3. SO do cliente envia uma mensagem ao SO remoto 4. SO remoto entrega a mensagem ao stub servidor 5. Stub servidor desempacota os parâmetros, e chama o procedimento servidor 6. Servidor executa o trabalho, e retorna o resultado ao stub 7. Stub servidor empacota a mensagem, e chama o SO local 8. SO do servidor envia a mensagem ao cliente 9. SO do cliente entrega a mensagem ao stub cliente 10. Stub desempacota o resultado, e retorna ao cliente

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Passagem de parâmetros por valor (1) 2-8

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Passagem de parâmetros por valor (2) a) Mensagem original no Pentium b) Mensagem recebida no SPARC c) Mensagem após inversão.

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Doors Uso de doors como mecânismo IPC

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos RPC Assíncrona (1) 2-12

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos RPC Assíncrona (2) 2-13

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Escrevendo um Cliente e um Servidor 2-14

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Associando um Cliente a um Servidor 2-15

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Projetado para realizar a comunicação entre servidor e cliente no NFS Suporta TCP e UDP Semântica at-least-once (UDP), at-most- once (TCP) Utiliza uma linguagem para descrição da interface chamada XDR Não implementa de forma completa a transparência total de localização (clnt_create)

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC XDR (External Data Representation) especifica um conjunto de definições de procedimentos e definições de tipos suportados definição da interface número de programa e número de versão definição de procedimento assinatura de procedimento e número de procedimento suporte a um único valor como entrada e como saída (utilização de structs) assinatura de procedimento: tipo da saída, nome do procedimento, tipo da entrada

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Exemplo de XDR

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Geração dos stubs rpcgen addit.x Gera os arquivos addit.h addit_clnt.c addit_svc.c addit_xdr.c

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Geração do cliente e servidor gcc add_clnt.c addit_clnt.c addit_xdr.c -o addit_clnt -lnsl gcc addit_svc.c add_svc.c addit_xdr.c -o addit_svc -lnsl Execução O daemon portmap deve estar rodando!

Prof. Marcus Rodrigues Sistemas Distribuídos – Capítulo 2 – Chamada Remota de Procedimentos Sun RPC Binding servidor registra localmente o programa (identificador, versão, porta) utilizando o portmapper Autenticação Sem autenticação Autenticação UNIX (UID e GID) DES (Data Encryption Standard)