Você está na página 1de 15

MODELO CLIENTE SERVIDOR

SISTEMAS DISTRIBUDOS
Modelo Cliente Servidor

Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Modelo que estrutura um S.O. como um grupo de processos cooperantes, chamados servidores, que oferecem servios a processos usurios, denominados clientes; Mquinas clientes e servidores usualmente funcionam em cima do mesmo Kernel de um S.O.; Este modelo permite uma mquina rodar em nico processo, vrios processos clientes, vrios processos servidores ou uma mistura; Evita o overhead do modelo OSI, se baseando em um protocolo simples, sem conexo do tipo de solicitao/resposta;
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


O cliente manda uma mensagem ao servidor solicitando um servio (Ex: leitura um arquivo). O servidor faz o trabalho e envia para o cliente os dados solicitados, ou cdigo de erro informando o motivo o qual o trabalho no foi realizado;
Requisio Cliente S.O. Kernel Resposta REDE Servidor S.O. Kernel

Sistemas Distribudos

MODELO CLIENTE SERVIDOR


No h necessidade de estabelecimento de conexo antes do envio de uma solicitao, nem desfeito aps a obteno da resposta. A prpria mensagem de resposta serve como uma validao do recebimento da solicitao; O nmero de camadas do modelo cliente servidor fica reduzido a 3 camadas, Assumindo que todas as mquinas do sistema so idnticas; Os protocolos do nvel fsico e de enlace de dados cuidam da obteno dos pacotes dos clientes, de sua entrega no servidor correspondente, e da entrega aos clientes dos pacotes gerados pelos servidores
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


As tarefas acima so realizadas por hardware (Chips Ethernet e Token Ring); Como no h necessidade de roteamento nem estabelecimento de conexo as camadas 3 e 4 no so necessrias

Sistemas Distribudos

MODELO CLIENTE SERVIDOR

Interao Cliente-Servidor

Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
A Funcionalidade do Software Aplicativo e da Inter-Rede
Software Aplicativo:
Os aplicativos fornecem os servios de alto nvel que os usurios acessam; A maneira como os usurios percebem as capacidades da interrede tambm determinada pelos aplicativos; Os aplicativos definem os nomes simblicos usados para identificar recursos fsicos (computadores, impressoras e etc); O formato em que as informaes so mostradas e os mecanismos que os usurios tem para selecionar ou acessar os dados;
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
A Funcionalidade do Software Aplicativo e da Inter-Rede
Inter-rede:
Oferece uma infra-estrutura de comunicao geral, no especificando:
Quais servios sero oferecidos; Que computadores executaro os servios; Como a disponibilidade do servio se tornar reconhecida; Como os servios sero usados;

A comunicao atravs de uma inter-rede exige que um par de programas aplicativos interaja.

Em Resumo:
Embora um sistema de inter-rede fornea um servio de comunicao bsico, o software de protocolo no pode iniciar ou aceitar contato de um computador remoto. Em vez disso, dois programas aplicativos devem participar em qualquer comunicao: um aplicativo inicia a comunicao e o outro aceita.
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Programas Servidores
Programa que espera passivamente por comunicao;

Computador Servidor
Computador poderoso para executar software servidor;

Requisies
As informaes podem fluir em uma ou ambas as direes entre um cliente e servidor. Embora muitos servios prevejam que o cliente envie uma ou mais requisies e o servidor retorne as respostas, outras interaes so possveis;
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Protocolos de Transporte e Interao Cliente-Servidor
Um aplicativo de cliente ou servidor interage diretamente com um protocolo da camada de transporte para estabelecer uma comunicao e para enviar e receber dados. O protocolo de transporte, ento, utiliza os protocolos das camadas mais baixas para receber e transmitir;

Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Mltiplos Servios em um Computador
Um computador, suficientemente poderoso, pode executar diversos clientes e servidores ao mesmo tempo;
Necessrio hardware com processador rpido e muita memria; Sistema operacional que permita que mltiplos programas aplicativos rodem concorrentemente ou simultaneamente.

Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Mltiplas Cpias de um Servidor para um nico Servio
Um sistema de computador que permite mltiplos programas aplicativos sejam executados concorrentemente chamado de sistema multiprogramvel; Em sistemas multiprogramaveis aberto um novo processo a cada requisio de cliente.
Quando chega uma requisio, o servidor atribui a requisio a um processo; Os processos podem ser executados concorrentemente; Essencialmente cada processo criado uma cpia do servidor, assim possvel tratar cada requisio de forma concorrente.
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Servidor Dinmico
Servidor cria um novo processo a cada requisio que chega; O programa servidor constitudo de duas partes:
Primeira: aceita requisies e cria um novo processo a cada requisio; Segunda: consiste no cdigo para tratar uma requisio individual;

Quando um servidor comea a rodar, somente a primeira parte roda Quando uma requisio chega, o processo principal cria um novo processo de servio para tratar da requisio; O processo de servio trata uma requisio e ento termina; O processo principal permanece ativo (rodando), aguardando novas requisies;
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Transporte Orientado Conexo e Sem Conexo
Protocolos de transporte suportam duas formas bsicas de comunicao:
Orientado Conexo:
Dois aplicativos devem estabelecer uma conexo Transmitir dados Encerrar a conexo Um exemplo deste tipo de protocolo o TCP

Sem Conexo:
Permite que um aplicativo envie uma mensagem para qualquer destino a qualquer momento; O aplicativo deve especificar um destino a cada mensagem Um exemplo deste tipo de protocolo o UDP
Sistemas Distribudos

MODELO CLIENTE SERVIDOR


Interao Cliente-Servidor
Interaes complexas entre Cliente e Servidor
Um aplicativo cliente no est restrito ao acesso de um nico servio. Um aplicativo pode primeiro ser cliente de um servio e mais tarde, tornar-se cliente de outro; Um aplicativo cliente no est restrito ao acesso de um nico servidor para um determinado servio. Um cliente pode enviar requisies para mltiplos servidores para melhorar seu desempenho.(cliente aceita a primeira resposta que chega) Um servidor no est impedido de executar interaes clienteservidor adicionais. Um servidor para executar um servio pode se transformar em cliente de outro;
Sistemas Distribudos