MC118 - SISTEMAS OPERACIONAIS DISTRIBUÍDOS

2º Projeto - Versão Distribuída da Base de Dados (Sockets)

 

Prazo de Entrega

 

Relatório do 2º Projeto

O Relatório referente ao 2º Projeto é único, ou seja, deverá conter:

 

Descrição do Projeto - 1ª Parte

O trabalho consiste em implementar uma versão distribuída do dbm (ou gdbm). Para tal implementar-se-á um servidor dbm capaz de receber requisições via rede e um cliente funcionalmente idêntico àquele implementado no primeiro trabalho. As etapas para a realização deste trabalho prático são:

  1. Desenvolver um protocolo de comunicação cliente/servidor. Este protocolo deve ser capaz de requisitar e receber o resultado de todas as operações dbm.
  2. Desenvolver uma biblioteca de funções dbm (similar àquela disponível no UNIX e utilizada no primeiro trabalho) que será utilizada pelo cliente. Esta biblioteca conterá todas as chamadas dbm, direcionando-as ao servidor.
  3. Implementar um servidor dbm que receba e processe requisições via protocolo desenvolvido no item 1.
  4. Modificar o código do primeiro trabalho incorporando a biblioteca do item 2.
  5. Testar a versão distribuída (use mais de um cliente !).

A comunicação cliente/servidor deverá se processar via biblioteca de sockets.

Exemplos da utilização de socket:

 

Descrição do Projeto - 2ª Parte

A segunda parte do projeto consiste em implementar um servidor de nomes responsável por manter um cadastro de servidores de aplicações (p.ex., servidor gdbm). Até agora, o cliente para contactar o servidor gdbm, necessita conhecer o port no qual a aplicação está sendo executada, bem como o endereço IP do host.

De modo que o cliente não mais tenha que conhecer a localização do servidor de aplicação (p.ex., servidor gdbm), o servidor de nomes deve controlar e gerenciar o cadastro de servidores de aplicações. Assim, tanto o servidor de aplicação quanto o cliente conhecem a priori o port e endereço IP do servidor do servidor de nomes.

 


Luís Fernando Faina
Last modified: Wed Sep 4 15:21:52 2002