• Nenhum resultado encontrado

Em capítulos anteriores, foi identificado o compartilhamento de recursos como o principal foco dos sistemas de informação distribuídos, sendo as informações compartilhadas o aspecto mais importante dos recursos distribuídos.

O mecanismo para o compartilhamento de dados apresenta várias formas. Ex: Um servidor Web fornece uma forma restrita de compartilhamento de dados, onde os arquivos que estão armazenados de forma local, estão disponíveis para os clientes em toda a internet, mas esses dados são gerenciados e atualizado em um sistema de arquivos no servidor, ou estão distribuídos em uma rede local.

OBS: O projeto de um sistema de arquivo remoto

que permite leitura e escrita em grande escala, apresenta vários problemas como:

Balanceamento de carga; Confiabilidade;

Segurança; Disponibilidade.

Uma solução para os problemas apresentados é utilizar o sistema de armazenamento de arquivos peer-to-peer.

Um serviço diferente que suporte o armazenamento persistente de dados e a distribuição consistente destes é requerido dentro das redes locais e intranets, como requisitos de compartilhamento.

Inicialmente os sistemas de arquivos foram desenvolvidos para sistemas centralizados, onde os recursos fornecidos pelo sistema operacional apresentavam uma interface de programação conveniente para o armazenamento dos dados em disco. Com o tempo, esses sistemas foram adquirindo características de controle, acesso e mecanismos de proteção de arquivos.

Os sistemas de arquivos distribuídos suportam o compartilhamento de informações através de arquivos e recursos de hardware com o armazenamento persistente. Um servidor de arquivos distribuídos bem projetado oferece acesso a arquivos que estão armazenados em um servidor, com desempenho e confiabilidade semelhantes aos arquivos armazenados em disco local, ou até melhor, pois o projeto é adaptado para as características de desempenho e confiabilidade das redes locais, portando sendo mais eficiente no armazenamento de arquivos persistentes.

Um servidor de arquivos distribuídos permite aos programas o acesso a arquivos remotos como se eles estivessem localmente, possibilitando aos usuários acessarem os seus arquivos a partir de qualquer computador.

O armazenamento persistente em alguns servidores reduz a necessidade de armazenamento em disco local, permitindo que sejam feitas economias no gerenciamento e no arquivamento dos dados de uma organização.

Outros serviços podem ser facilmente implementados quando são capazes de chamar os serviços do sistema de arquivo para atender às necessidades. Os serviços são:

Serviços de nomes;

Serviços de autenticação de usuários; Serviços de impressão;

Servidor Web.

As organizações que utilizam servidores Web para acessos internos e externos através de intranets, armazenam e acessam os arquivos através de sistemas de arquivos distribuídos.

Os sistemas de arquivos são responsáveis por: Organização dos arquivos;

Armazenamento dos arquivos; Recuperação dos arquivos; Atribuição de nomes de arquivos; Compartilhamento de arquivos; Proteção dos arquivos.

É fornecida uma interface de programação que caracterizam a abstração dos arquivos, tirando a preocupação dos desenvolvedores com os detalhes de alocação e do layout do armazenamento físico no disco.

Requisitos dos sistemas de arquivos distribuídos

Com o desenvolvimento inicial dos sistemas de arquivos distribuídos, alguns requisitos foram surgindo como armadilhas no projeto, e foram sendo atendidos e solucionados em fases subseqüentes do projeto. Discutiremos cada um desses requisitos a seguir:

1. Transparência:

Os sistemas de arquivo são utilizados normalmente em intranets, o que torna crítica as suas funcionalidades e o seu desempenho. O projeto de um sistema de arquivos distribuído deve suportar vários requisitos de transparência, contrabalanceando a flexibilidade e a escalabilidade que são derivados da transparência.

Formas de transparência que são tratadas pelos sistemas de arquivos distribuídos atuais:

Transparência de acesso: os programas clientes não devem conhecer a distribuição dos arquivos.

Transparência de localização: os programas clientes devem ter um espaço de nomes de arquivos uniformes.

Transparência de mobilidade: nem os programas clientes, nem as tabelas de administração do sistema precisam ser alterados quando um arquivo é movido. Transparência de desempenho: os programas clientes continuam funcionando normalmente, enquanto a carga utilizada pelos serviços oscila dentro de intervalos definidos.

Transparência de mudança de escala: os serviços podem ser expandidos, para tratar uma ampla variedade de cargas e tamanho da rede.

2. Atualizações concorrente de arquivos

As alterações que são feitas em um arquivo por um cliente X, não devem interferir nas alterações feitas pelos clientes Y e Z, que estejam acessando ou alterando o mesmo arquivo simultaneamente.

3. Replicação de arquivos

Serviços de arquivos que suportam replicação permitem que um arquivo possa ser representado por várias cópias do seu conteúdo em locais diferentes.

Permite que vários servidores compartilhem a carga de fornecimento para clientes que acessam o mesmo conjunto de arquivos, melhorando a escalabilidade dos serviços e tolerância a falhas.

Em caso de falha, os clientes localizam outro servidor que contenha uma cópia do arquivo.

4. Tolerância a falhas

É essencial para o sistema de arquivos distribuídos continuem a funcionar diante de falhas que aconteçam em clientes e servidores. Para suportar falha de comunicação, o projeto deve se basear na semântica do “no máximo uma vez” ou a do “pelo menos uma vez”.

5. Segurança

Todos os sistemas de arquivos fornecem mecanismos de controle de acesso. Nos sistemas de arquivos distribuídos, existe a necessidade de autenticar as requisições dos clientes para que o controle de acesso no servidor seja baseado nos usuários corretos e proteja o conteúdo das mensagens de requisição e resposta.

6. Eficiência

O sistema de arquivos distribuído deve oferecer o mesmo poder de regeneralidade dos encontrados em sistemas convencionais, obtendo um nível de desempenho comparável.

Todos os requisitos e técnicas que citamos representam uma importante parte no projeto de um sistema de arquivos distribuídos.

Documentos relacionados