Comunicao InterProcessos API PARA PROTOCOLOS INTERNET COMUNICAO CLIENTESERVIDOR

  • Slides: 15
Download presentation
Comunicação Inter-Processos API PARA PROTOCOLOS INTERNET COMUNICAÇÃO CLIENTE-SERVIDOR COMUNICAÇÃO DE GRUPO

Comunicação Inter-Processos 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

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

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

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

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 processo-remetente 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

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

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

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

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. Threads: Quando um servidor aceita uma conexão, ele cria uma nova thread para se comunicar com o novo cliente.

Comunicação de Grupo A troca de mensagens aos pares não é a melhor forma

Comunicação de Grupo A troca de mensagens aos pares não é a melhor forma de comunicação de um processo com um grupo de outros processos. Neste caso, o uso de difusão seletiva (multicast) é mais apropriado.

Comunicação de Grupo Trata-se de uma operação que permite o envio uma única mensagem

Comunicação de Grupo Trata-se de uma operação que permite o envio uma única mensagem para cada um dos membros de um grupo de processos, de forma que os membros do grupo ficam totalmente transparentes (parece não existir, mas existe) para o remetente.

Comunicação de Grupo Uso Comum: Propagação da notificação de evento. Ou seja, um remetente

Comunicação de Grupo Uso Comum: Propagação da notificação de evento. Ou seja, um remetente notifica os processos de um grupo quando algo acontece. Implementação: IP Multicast Permite que o remetente transmita um único datagrama IP para um conjunto de computadores que formam um grupo de multicast.

Comunicação de Grupo O remetente não conhece a identidade dos destinatários individuais e nem

Comunicação de Grupo O remetente não conhece a identidade dos destinatários individuais e nem o tamanho do grupo. Um grupo multicast é identificado por um endereço IP classe D, ou seja, um endereço cujos primeiros 4 bits é 1110 ( E em Hexadecimal) em IPv 4.

Comunicação de Grupo 4 28 Multicast Address Classe D (Multicast): 224 à 239 no

Comunicação de Grupo 4 28 Multicast Address Classe D (Multicast): 224 à 239 no octeto 1 0 à 255 no octeto 2 e 3 1 à 254 no octeto 4 224. 0. 0. 0 à 239. 255. 25 Os datagramas IP são enviados a computadores – as portas pertencem aos níveis TCP e UDP. Para a programação de aplicativos, o Multicast IP está disponível por meio de UDP.

Comunicação de Grupo API Java Multicast. Peer (classe) Multicast. Socket subclasse de Datagram. Socket

Comunicação de Grupo API Java Multicast. Peer (classe) Multicast. Socket subclasse de Datagram. Socket Inet. Address join. Group(group) Datagram. Packet send(message. Out) receive(message. In) leave. Group(group) Socket. Exception IOException