Sistemas Distribuídos

Slides:



Advertisements
Apresentações semelhantes
Comunicação Entre Objetos Distribuídos
Advertisements

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.
Framework de replicação de dados com criptografia simétrica utilizando notificações para Android. Acadêmico - Fernando Klock Orientador – Dalton Solano.
MÓDULOS DE REGISTRO DE ABASTECIMENTO DE VEÍCULOS INTEGRADOS PARA ÓRGÃOS PÚBLICOS Gabriel Vieira Orientador: Prof. Jacques Robert Heckmann.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Ciência da Computação 2o. Semestre / 2006 Prof. Fábio M. Costa
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Acessos e Privilégios. Privilégios  O gerenciamento de usuários e seus respectivos privilégios aos objetos do banco de dados, dependendo do número de.
Camada de Transporte UDP – User Datagram Protocol.
Arquitetura de Sistemas de Software. Introdução as tecnologias Web Services: SOAP, WSDL, UDDI  No ano de 2000, a W3C (World Wide Web Consortium) aceitou.
Introdução à Computação para Engenharia MAC2166
“Modelo de Camadas OSI e TCP/IP ” Nataniel Vieira
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Sistemas Operacionais de Rede
Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos
Recursividade, Entrada pelo teclado e Funções com retorno
MERCADO DE AÇÕES.
Programação em C Aula 8.
UML – Diagramas de componentes
Protocolos de Segurança IP IPSec
Aula 05 Pilha TCP/IP.
IP – Condicionais e controle de fluxo
Vantagens e desvantagens da recursão
UML – Diagramas de Componentes e Modelação da Arquitectura Física
Arquitetura de Computadores
Camada de Enlace de dados Controle de Fluxo
FUNDAMENTO DE PROGRAMAÇÃO
IP – Repetições Prof. Eduardo Falcão.
Endereçamento IP.
DISCIPLINA: Administração e Gerência de Redes de Computadores
Redes e Comunicação de Dados Topologia de Redes
Introdução à Programação
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Métodos Numéricos de Determinação de Raízes: Bisseção, Secante e Newton-Raphson Professor.: Heron Jr.
Questão 1 Quais são as características do protocolo TCP?
BANCO DE DADOS II.
Diagramas de Sequência
Camada de Enlace de Dados Detecção e Correção de Erros
Tópicos Especiais em Redes I 4º Semestre Aula 04 Prof
Tema do Seminário: Frameworks para desenvolvimento Web Linguagem e Técnicas de Programação II – LTP2 Professor: Uedson Reis.
BANCO DE DADOS Araújo Lima Outubro / 2017 Araújo.
Redes de comunicação Aula 07 - organização e arquitetura de redes
Estrutura de Repetição
Prof. Msc. Diovani Milhorim
Programação para Internet Rica
Programação.
Elaboração de Casos de Teste Funcionais RUP
Segunda parte do curso de Computação Paralela
Remote Method Invocation
Organização básica de arquivos
Curso Técnico em Informática
aula 05 Métodos de controle de acesso
Sistemas Operacionais
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
TCP vs UDP CRD Filipe Pacheco.
Sistemas Distribuídos II
Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro Departamento de Ciência da Computação Universidade.
Redes de computadores I
Modbus Bernardo da cunha borges Guilherme Garcia gimenez
Sistemas Distribuídos
Manuais Administrativos
Visual Basic TCP.
Diagrama de Atividades
Estágio supervisionado na CECAE
RISC vs. CISC Introdução
Prática - BD Distribuído
SISTEMAS DISTRIBUIDOS
Introdução a progrmação Comandos condicionais: if e switch
SISTEMAS DISTRIBUIDOS
Esmeralda Pires Patrocinadores Platina Patrocinadores Ouro
SISTEMAS DISTRIBUIDOS
Transcrição da apresentação:

Sistemas Distribuídos Capítulo 2 RPC Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Chamada de Procedimentos Remotos Objectivo! Facilitar a tarefa de programar aplicações distribuídas que usem o modelo Cliente/Servidor. Como? Oferecendo a possibilidade de executar código dum servidor remoto usando uma sintaxe idêntica à chamada de procedimentos (locais) Porquê? Modelo de passagem de mensagens inadequado aos algoritmos procedimentais das linguagens de programação mensagens são assíncronas e processamento é paralelo chamadas de funções são síncronas e existe 1 só fluxo de processamento complexo, endereços, formatos, heterogeneidade, erros Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Vantagens Concepção simplificada dum programa distribuído: basta definir quais as rotinas que vão ser fornecidas pelo servidor Adequado ao modelo de linguagem procedimental Independente do protocolo de comunicação Independente localização dos servidores Independente da linguagem de programção Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Funcionamento Servidor: cria portos de comunicação associa um porto ao procedimento de despacho regista o serviço num serviço de nome Cliente: cliente obtém o endereço do serviço através do serviço de nomes estabelece-se um canal de transporte cliente/servidor invocação da RPC. autentica-se (eventualmente) evoca procedimento (mensagem contém identificador do procedimento e parâmetros definidos através da interface do serviço.) Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Funcionamento II 2- Localizar o Servidor 1- Registar Serviço Cliente Servidor Serviço de Nomes 3- Estabelecimento da Ligação Na realidade o cliente e servidores chamam procedimentos locais (stub routines, rotinas de adaptação) que fazem a conversão de argumentos em parâmetros das mensagens, o empacotamento dos dados, o envio da mensagem e resolvem o paralelismo de fluxos de controlo independentes Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Transparência Sintaxe da linguagem de programação: deve poder usar-se intuitivamente para o programador solução: linguagem IDL + alguns parâmetros para especificação dos procedimentos remotos Passagem de parâmetros: heterogeneidade; valor ou referência Semântica da execução dos procedimentos remotos: modelo de faltas diferente Desempenho: execução em espaço de endereçamento distinto Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

IDL --- Linguagem de descrição de interfaces Objectivo: especificação da interface do serviço oferecido a clientes versão simples duma linguagem procedimental (C, Pascal) apenas contém declarações de: rotinas tipos de dados Extensões para uso com RPC: sentido da passagem dos parâmetros [in][out][inout] novos tipos (string, opaque, ...) arrays variáveis [ptr] Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Compilação IDL IDL Interface Definition banco.idl Compiler Insert Files banco.h Client Stub Files banco_cstub.c Server Stub File banco_sstub.c Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Arquitectura RPC Código do Servidor Rotinas de Adaptação Biblioteca de Suporte Transporte de Dados Código do Cliente Protocolo de Apresentação Controlo Transporte Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Faltas no RPC retransmissão perdida pedido resposta execução CLIENTE SERVIDOR temporização I falha da máquina reinício II Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Faltas no RPC perdida pedido resposta execução CLIENTE SERVIDOR temporização III falha reinício IV Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Semânticas RPC Talvez Em caso de falha, o cliente não sabe se o procedimento foi ou não executado no servidor Pelo menos uma vez (at least once) Em caso de falha, o procedimento foi executado uma ou mais vezes no servidor Realização simples: pedido é repetido pelo cliente Adequado a rotinas idempotentes: o efeito de múltiplas execuções é idêntico a uma só execução com os mesmos parâmetros Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Gab. F269 nribeiro@est.ips.pt Semânticas RPC No máximo uma vez (0 ou 1 vezes) Em caso de falha, ou o procedimento não foi executado no servidor (e retorna uma condição de erro), ou foi executado apenas uma vez Obriga a detectar pedidos duplicados no servidor Implementação simples sobre protocolos de transporte fiáveis (ex: TCP), mas complexa sobre protocolos não fiáveis Exactamente uma vez Semântica ideal (exige transacções) Difícil ou impossível de realizar para certas faltas Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Protocolo de representação de dados Mensagens auto-descritivas: cada campo contém um descritor que identifica o seu tipo (ex: ASN.1) Descrição implícita: o formato das mensagens é definido por convenção Protocolo standard: o emissor converte os dados para o formato standard, o receptor converte-o para o seu formato local (ex: XDR) Simples de acrescentar novas máquinas à rede Pode evitar conversões se os formatos locais forem iguais ao standard Pode obrigar a conversões entre máquinas iguais! Conversão no receptor: emissor envia os dados sem conversão, receptor converte-os para o seu formato local Uma conversão no máximo Pode obrigar a modificar as outras máquinas quando um novo formato é introduzido Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Implementação e desempenho Tarefas nos servidores Lançadas automaticamente para servirem novos pedidos Número de tarefas varia entre dois limites Podem levantar problemas complicados de ordenação dos pedidos no servidor Chamadas em ricochete O servidor pode por sua vez ser cliente de outro servidor Caso especial: o servidor é o cliente inicial Processamento complexo no cliente Componentes importantes no desempenho Tempo de execução dos stubs Carga de sistema operativo Tempo de transmissão das mensagens Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18

Caracterização dos sistemas RPC Linguagem IDL Sintaxe da IDL Passagem de parâmetros Semântica de execução do procedimento Protocolo de ligação - binding Protocolo de apresentação de dados Segurança Desempenho Multitarefa Optimizações Chamadas em ricochete Nuno Valero Ribeiro Gab. F269 nribeiro@est.ips.pt 21-nov-18