next up previous
Next: Arquitetura do Cliente Up: Arquitetura utilizada Previous: Arquitetura utilizada

Arquitetura do Servidor

O servidor do sistema de arquivos distribuídos a ser implementado se baseia essencialmente em CORBA. É esperado que os clientes realizem toda a comunicação com o servidor via chamadas remotas do CORBA. Além disso iremos estruturar a hierarquia do sistema de arquivos (i.e. diretórios e nomes) via um servidor de nomes CORBA.

A princípio, apenas quatro classes de objetos serão necessárias para representar as entidades correspondentes aos objetos do VFS. Entretanto, precisamos apresentar o VFS para depois especificar os objetos e interfaces necessárias. Isso é feito posteriormente, nas seções 5 e 6. Apesar disso achamos que a arquitetura geral do sistema pode ser descrita aqui sem esses detalhes, que serão apresentados depois.

O uso de um servidor de nomes CORBA proporciona uma grande flexibilidade, já que podemos designar arquivos e diretórios diferentes a servidores de arquivos distintos, com transparência ao cliente, o que é incomum nos sistemas de arquivos distribuídos comumente utilizados no Linux, como o NFS, em que é necessário especificar o servidor e diretório externo a ser importado. Além de não haver transparência, esse tipo de montagem é estática e tem que ser manualmente reconfigurada quando o servidor ou diretório mudam.

O servidor de arquivos responsável por certos diretórios ou arquivos será executado como um processo na mesma máquina em que estão esses arquivos e diretórios. Esses arquivos locais poderão estar formatados em qualquer tipo de sistema de arquivos já que o processo servidor de arquivos fará chamadas ao sistema simples como open, close, read, write, flush, etc. Um esboço do diagrama da arquitetura do servidor de arquivos pode ser visto na figura 1.

Figura 1: Diagrama da arquitetura do servidor
\scalebox{0.65}{
\includegraphics{servidor2.png}
}

Numa perspectiva puramente técnica, o servidor de arquivos nada mais é do que um envólucro (wrapper) para as chamadas ao sistema local que manipulam os arquivos e diretórios acessíveis localmente2.

Apesar de ser um modelo simplista para o servidor, acredita-se que será possível agregar algumas outras funcionalidades, como autenticação do cliente, criptografia de dados, compressão de dados, entre outros. Nenhum desses serviços existem atualmente para o notório sistema de arquivos distribuídos, o NFS. Ainda não está estruturada a forma como será disponibilizado esses serviços, mas um dos interesses desse projeto é permitir ao desenvolvedor inserir novas funcionalidades ao sistema de arquivos distribuídos de forma fácil, mesmo que não seja uma funcionalidade projetada de antemão. Por isso parece que a opção mais adequada será o uso de interceptadores CORBA, porém isso ainda está em estudo.


next up previous
Next: Arquitetura do Cliente Up: Arquitetura utilizada Previous: Arquitetura utilizada
Livio Baldini Soares 2002-07-08