Comunicacao Inter Process
API PARA PROTOCOLOS INTERNET
COMUNICAÇÃO CLIENTE-SERVIDOR
COMUNICAÇÃO DE GRUPO
Dois Padrões de Comunicação
Protocolos para suportar os dois padrões de
comunicação, mais comumente usados em sistemas distribuídos:
Comunicação Cliente-Servidor
Comunicação de Grupo
Cliente-Servidor
Mensagens request-reply proporcionam a
base para chamada de procedimento remoto
(RPC) e invocação de métodos remotos
(RMI) .
Uma mesma mensagem é enviada para
diversos processos.
Implementação
1. UDP Datagram Communication
(User Datagram Protocol)
2. TCP Stream Communication
(Transmission Control Protocol)
3. IP Multicast (implementação de comunicação de grupo)
Comunicação
A comunicação entre processos remetente- destino pode ser:
Síncrona: processos são sincronizados a cada mensagem. Execução de Rendez-Vouz
(o primeiro que chega, espera pelo outro).
Assíncrona: a operação send é não bloqueante, no sentido que o processoremetente pode prosseguir assim que a mensagem tenha sido copiada para um buffer local e a transmissão da mensagem ocorre em paralelo com processo remetente.
Sockets
Ambas as formas de comunicação (UDP, TCP)
usam socket, o qual provê um ponto final para a comunicação entre processos.
A comunicação consiste em transmitir uma
mensagem entre um socket de um processo e um socket em outro.
Socket
Um par ( IP, porta ).
As mensagens enviadas a um endereço IP e a
uma porta, só podem ser recebidas por um processo cujo socket esteja associado a esse
IP e a esse número de porta.
Comunicação TPC Stream
A comunicação consiste num fluxo de bytes,
no qual dados podem ser lidos (receive) e escritos (send).
Estabelecimento de conexão.
Controle de Fluxo: a velocidade dos
processos é combinada.
Comunicação TCP Stream (Fluxo)
Bloqueio: Os dados gravados em um fluxo são
mantidos em uma fila no socket de destino.
Quando o receptor tenta ler, obterá dados ou será bloqueado até que dados existam para ser lidos.