Sistemas Distribuídos



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

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

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

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Processos (Threads,Virtualização e Migração de Código)


Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos

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

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

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

SISTEMAS DISTRIBUIDOS

Camada de Transporte TCP/IP e Aplicação

Sistemas Distribuídos. Introdução

Serviços Web: Introdução

Sistemas Distribuídos Aula 15

Sistemas Distribuídos

Introdução ao Modelos de Duas Camadas Cliente Servidor

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Tipos de Servidores. Servidores com estado

Distributed Systems Principles and Paradigms

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

SISTEMAS DISTRIBUÍDOS

Paradigma Cliente/Servidor

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

Sistemas Distribuídos. Coulouris Capítulo 4

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

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

Relatorio do trabalho pratico 2

Redes de Computadores II

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

Tópicos em Sistemas Distribuídos. Modelos de Comunicação

1

MODELO CLIENTE SERVIDOR

UNIVERSIDADE. Sistemas Distribuídos

Sistemas Operacionais

Considerações no Projeto de Sistemas Cliente/Servidor

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

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Curso de Aprendizado Industrial Desenvolvedor WEB

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Sistemas Distribuídos. Aleardo Manacero Jr.

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

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Desenvolvimento Cliente-Servidor 1

3. Comunicação em Sistemas Distribuídos

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

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Capítulo 7 CAMADA DE TRANSPORTE

Processos e Threads (partes I e II)

Sistemas Distribuídos Aula 2


Redes de computadores. Redes para Internet

Aula 03-04: Modelos de Sistemas Distribuídos

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Modelos de Arquiteturas. Prof. Andrêza Leite

Rede de Computadores II

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Veja abaixo um exemplo de um endereço IP de 32 bits:

Protocolos Hierárquicos

Sistemas Distribuídos Aula 10

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

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus

Sockets. Bruno Guimarães Lucas Rossini

AULA Redes de Computadores e a Internet

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

3 Arquitetura do Sistema

Sistemas Distribuídos

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

Redes de Computadores

Comunicação. Parte II

Fundamentos de Redes de Computadores. Elementos de Redes Locais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Quadro de consulta (solicitação do mestre)

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

18/04/2006 Micropagamento F2b Web Services Web rev 00

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

Sistemas Distribuídos

Estruturas do Sistema de Computação

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

MQSeries Everyplace. Leia-me primeiro G

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -ARQUITETURAS DE APLICAÇÃO MÓVEL. Prof. Angelo Augusto Frozza, M.Sc.

Sistemas Distribuídos

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

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Transcrição:

Sistemas Distribuídos Aula 4 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF

Migração de Código Em alguns casos é importante migrar código de uma máquina para outra Problema: como fazer esta tarefa em sistemas heterogêneos!

Por que Migrar Código? Principal razão: Aumento de Desempenho

Migração de Código - Desempenho Envio de processos de máquinas sobrecarregadas para máquinas com cargas mais leves Evitar grande quantidade de mensagens trocadas entre aplicações cliente-servidor: Ex.1: operações de banco de dados que envolvem uma grande quantidade de dados(aplicação cliente servidor) Ex.2: formulários enviados do servidor cliente (applets)

Modelos para Migração de Código Migração de código é algo muito mais amplo: podemos também migrar status de um programa, sinais pendentes e outras partes do ambiente

Modelos para Migração de Código Processo consiste em três segmentos[fuggeta et al 1998]: Segmento de código: contém o conjunto de instruções que compõem o programa que está em execução Segmento de recursos: contém referências a recursos externos (arquivos, impressoras,outros processos, bibliotecas) Segmento de execução: armazenar o estado em execução de um processo no momento da migração (dados privados, pilha,contador de programa)

Modelos para Migração de Código Mobilidade pode ser de dois tipos: Mobilidade Fraca: possível transferir somente o segmento de código, junto com alguns dados de inicialização. Requer somente que a máquina-alvo possa executar o código (portabilidade). Ex: applets Java Mobilidade Forte: segmento de execução também pode ser transferido. O processo em execução pode ser parado e movido para uma outra máquina e retomar a execução no ponto original. Mais geral, porém mais difícil de ser implementada

Modelos para Migração de Código Em relação do ponto de inicio da migração: Iniciada pelo remetente: a migração é iniciada na máquina em que o código está em execução no momento em questão. Ex: enviar programa de busca pela Internet a um servidor de banco de dados para realização de pesquisas agente móvel que passa de site para site Iniciada pelo destinatário: Iniciativa da migração de código é tomada pela máquina-alvo. Ex: Applets java

Modelos para Migração de Código

Migração e recursos locais Segmentos de recursos requerem uma atenção especial O segmento de recurso nem sempre pode ser transferido junto com outros segmentos sem ser trocado Ex.: Comunicação de um processo sendo feita através de uma porta TCP. Ao mudar de localização, este processo deverá devolver a porta e requisitar uma nova no destino

Migração e recursos locais Três tipos de vinculações processo-recurso [Fuggetta et al, 1998]: Vinculação por identificador Processo requer exatamente o recurso referenciado (URL de um site) Vinculação por valor É necessário somente um valor Se outro recurso fornece o mesmo valor, execução não é afetada (bibliotecas padronizadas) Vinculação por tipo Processo requer um recurso de um tipo específico (monitores, impressoras)

Migração e recursos locais Três tipos de vinculações recurso-máquina: Recursos não ligados: recursos podem ser movidos com facilidade entre máquinas diferentes(arquivos de dados) Recursos amarrados: recursos podem ser movidos ou copiados, mas só a custo relativamente alto ( banco de dados locais) Recurso fixos: recursos estão intimamente vinculados a uma máquina ou ambiente especifico e não podem ser movidos dispositivos locais

Migração em Sistemas Heterogêneos Migração em sistemas heterogêneos requer Que o segmento de código possa ser executado em cada plataforma Que o segmento de execução possa ser adequadamente representado em cada plataforma Efeito global: Migrar sistema operacional inteiro, em vez de migrar processos

Comunicação entre Processos Coração de qualquer Sistema Distribuído Como processos em diferentes máquinas trocam informações? Não é uma tarefa trivial! Desejável obter modelos onde a complexidade da comunicação seja transparente para o desenvolvedor

Modelo Cliente-Servidor Participantes são divididos em: Servidores: implementam um serviço específico Clientes: solicitam ao servidor um determinado serviço e espera pela resposta Comportamento requisição-resposta

(Sockets) Como os processos executando em diferentes máquinas trocam informação? Em uma visão pilha de protocolos TCP/IP Enviando mensagens através da utilização de sockets Socket: ponto final de uma comunicação full-duplex entre dois processos Processo casa / Socket Porta Socket: Porta entre o processo da aplicação e o protocolo de transporte

(Sockets) Informações são string de bytes, sem significado aparente Não existe a transparência de distribuição: toda a comunicacão está explícita, através de procedimentos send e receive Funções mais sofisticadas devem ser feitas na camada de aplicação

Solução! Middleware de comunicação Tipos: Chamadas de Procedimento Remoto Comunicação orientada a Mensagens Comunicação orientada a fluxo

Tipos de Comunicação (Middleware) Persistência Persistente: Mensagem é armazenada pelo middleware de comunicação durante o tempo que for necessário para entregá-la ao receptor (Servidor de emails) Transiente: Mensagem é armazenada somente durante o tempo em que a aplicação remetente e a aplicação receptora estiverem executando

Tipos de Comunicação (Middleware) Sincronização Assíncrona: Remetente continua sua execução imediatamente após ter apresentado sua mensagem para transmissão Síncrona: Remetente é bloqueado até saber que sua requisição foi aceita Middleware avise que se encarregará da transmissão Requisição ser entregue ao receptor Até o instante que o receptor retornar uma resposta

Tipos de Comunicação (Middleware) Granularidade Discreta: Partes se comunicam por mensagens e cada mensagem forma uma unidade de informação completa Fluxo: Várias mensagens, sendo que as mensagens estão relacionadas uma com as outras pela ordem ou pela relação temporal

Fim da Aula 4. Sistemas Distribuídos: Msc. Daniele C. Oliveira 22