comunicação. conteúdo comunicação entre processos fundamentos chamada de procedimento remoto

17
Comunicação

Upload: internet

Post on 22-Apr-2015

114 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Comunicação

Page 2: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Conteúdo

Comunicação entre processos Fundamentos Chamada de procedimento remoto

Page 3: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Comunicação entre processos

A comunicação entre processos é uma das principais funcionalidades em um sistema distribuído. Uma vez que os componentes estão trabalhando cooperativamente, é importante que troquem informações para que o trabalho ocorra da maneira desejada.

Existem várias formas de comunicação entre processos, mas todas seguem alguns fundamentos básicos.

Page 4: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

Protocolos em camadaA comunicação em sistemas distribuídos nos quais os

componente são executados em maquinas disjuntas é feito a partir de troca de mensagens (isso, porque não há um meio compartilhado para comunicação).

Assim, para que os sistemas se comuniquem, mensagens tem que ser compostas, enviadas e recebidas em um protocolo (linguagem) que seja comum às partes em comunicação.

Page 5: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

Protocolos em camadaCada tecnologia pode possuir seu próprio protocolo

de comunicação. Mas, isso geraria caos e incompatibilidade entre os Sistemas. Por esse motivo, um organismo internacional (ISO - International Organization for Standardization) desenvolveu um modelo de referência para padronizar as diversas camadas envolvidas em uma comunicação via rede. Esse modelo é conhecido como OSI, ou Open Systems Interconnection Reference Model).

Page 6: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

A padronização de protocolos rotulou dois tipos básicos de protocolo:

Protocolos orientados a conexão

Nestes, antes da troca de dados, receptor e transmissor estabelecem uma conexão (virtual ou não) e podem negociar vários parâmetros da comunicação

Protocolos sem conexão

Nestes, não há conexão formal estabelecida. A troca é feita imediatamente após a formação da mensagem, não havendo espaço para negociação de parâmetros.

Page 7: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

Protocolos em camadaNo modelo OSI a comunicação é dividida em até 7

camadas/protocolos, a saber:Protocolo de camada física

Protocolo de enlace

Protocolo de rede

Protocolo de transporte

Protocolo de sessão

Protocolo de apresentação

Protocolo de aplicativo

Page 8: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

Protocolos em camadaA cada camada, cabeçalhos podem/são adicionados

à mensagem do lado receptor. Esses são decodificados do lado receptor, permitindo a comunicação entre camadas do mesmo nível em máquinas diferentes.

Os protocolos são comumente divididos em três grupos didaticamente semelhantes:

Protocolos de baixo nível

Protocolos de transporte

Protocolos de alto nível

Page 9: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

Protocolos em camadaHá ainda um outro grupo de protocolos que não

seguem propriamente o modelo OSI. São denominados protocolos de middleware e, como o nome indica, são utilizados em frameworks/aplicativos middleware.

Sendo mais complexos e variados, os aplicativos de middleware pode possuir uma diversidade de protocolos próprios. A discussão mais detalhada sobre middleware e seus protocolos será retomada mais à frente no curso.

Page 10: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Fundamentos

Protocolos em camada

Porém, a título de ilustração, podemos vislumbrar dois parâmetros diferentes de comunicação que podem ser oferecidos por aplicativos de middleware:

Comunicação Persistente X Comunicação Transiente

Comunicação Síncrona X Comunicação Assíncrona

Page 11: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Remote Procedure Call (RPC)A troca de mensagens entre processos em sistemas

distribuídos feita com procedimentos send/receive exige que o programador conheça, além da arquitetura do SD, os conceitos relativos a comunicação em rede.

Para minimizar a necessidade desses conhecimentos um método foi concebido para abstrair a troca de mensagens entre processos em máquinas disjuntas. Esse método é o RPC.

Page 12: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Característica do RPC

Permite a chamada de um procedimento em uma máquina por um programa sendo executado em outra máquina.

Em um RPC, um programa em uma máquina P, (o cliente) chama um procedimento em uma máquina Q, (o servidor) enviando os parâmetros adequados. O cliente é suspenso e a execução do procedimento começa. Os resultados são enviados da máquina Q para a máquina P e o cliente é acordado.

Page 13: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Característica do RPC

Toda função que pode ser chamada à distância édefinida no lado do cliente por uma procedure chamada stub client.

Essa procedure recebe os parâmetros e os coloca em uma mensagem, adicionando a identificação da procedure chamada e transmite essa mensagem ao processo/processador servidor.

Page 14: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Característica do RPC

O servidor, quando recebe a mensagem, procede a extração dos parâmetros e chama a procedure especificada na mensagem.

No fim da execução da procedure, é realizada a operação inversa: Colocação dos resultados e envio da mensagem de resposta ao processo cliente.

Page 15: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Característica do RPC

A procedure que realiza essa operação é chamada de stub server. Finalmente, a procedure stub client recebe os resultados, termina e retorna o controle ao cliente .

Page 16: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Característica do RPC

O funcionamento desse modelo coloca em jogo

cinco elementos:

O processo cliente; O processo servidor; O procedimento chamado à distância; O procedimento stub client ; O procedimento stub server.

Page 17: Comunicação. Conteúdo  Comunicação entre processos  Fundamentos  Chamada de procedimento remoto

Chamada de Procedimento Remoto

Modelo do RPC