A garantia de níveis de qualidade de serviço em uma rede óptica, como a rede do
Projeto GIGA, depende fundamentalmente da presença de uma infra-estrutura de
gerenciamento precisa e eficiente. As soluções de gerenciamento para redes convencionais
não possuem normalmente facilidades para monitoração e configuração de dispositivos ópticos, e nem interagem com aplicações de modo a determinar as necessidades que as
mesmas possuem em relação às facilidades oferecidas pela rede óptica. Uma infra-estrutura de
gerenciamento para redes ópticas deve ser de fácil atualização e flexível o suficiente para a
implantação de novas funcionalidades com a devida rapidez. Assim, acreditamos que usuários
e suas aplicações só poderão utilizar plenamente as facilidades de uma rede óptica se uma
infra-estrutura de gerenciamento associada se fizer presente.
Este projeto tem como objetivo principal a definição e a implementação de uma infraestrutura
Peer-to-Peer (P2P) de gerenciamento para a rede do Projeto GIGA. Com isso,
espera-se fornecer uma solução de gerenciamento capaz de intermediar eficientemente as
necessidades das aplicações com o conjunto de facilidades oferecidas pela rede óptica do
Projeto GIGA. Para alcançar tal objetivo, a infra-estrutura P2P fornecerá serviços de
gerenciamento para três tipos de clientes: administradores, usuários e aplicações. O acesso a
tais serviços envolve uma comunicação de um cliente com um módulo de software da rede P2P
chamado de peer. Ao longo da rede do Projeto GIGA serão instalados peers para atender às
solicitações de clientes locais. Cada peer fornecerá, além dos serviços aos seus clientes, um
certo conjunto de serviços a outros peers, permitindo assim a colaboração entre os peers da
infra-estrutura de gerenciamento. A figura 1 apresenta, de maneira simplificada, este cenário.
Além dos serviços disponibilizados aos clientes e a outros peers, cada peer terá a
capacidade de configurar e monitorar os dispositivos da rede óptica. Assim, observando-se um
peer isoladamente, o mesmo tem capacidade de comunicação com seus clientes
(administradores, usuários, etc.) e com a infra-estrutura óptica. Tal capacidade de comunicação
permitirá a disponibilização dos serviços básicos de gerenciamento detalhados a seguir.
Serviços de gerenciamento disponibilizados aos administradores
Os administradores são responsáveis por garantir o correto funcionamento da rede do
projeto GIGA de forma a suprir as necessidades de comunicação dos usuários. Um
administrador em contato com um peer terá acesso aos seguintes serviços básicos: manipulação e uso de políticas, difusão e execução de scripts de gerenciamento, disseminação
de agentes móveis e monitoração da conectividade da rede.
A manipulação e o uso de políticas permitirá ao administrador determinar como a infraestrutura óptica deve responder às requisições dos usuários e das aplicações, principalmente
em relação a QoS, tráfego multicast e segurança. Sem o uso de políticas, os recursos da infraestrutura óptica acabarão sendo alocados de forma não coordenada. Além disso, o uso de
políticas permite ao administrador abstrair as particularidades de configuração dos dispositivos ópticos, já que cada peer irá traduzir as políticas expressas em alto nível em ações de
configuração particulares dos dispositivos. Nesse contexto, um peer, ao traduzir uma política
em ações de configuração, funcionará como um PDP (Policy Decision Point) da arquitetura
PBNM (Policy-Based Network Management) do IETF. No processo de configuração dos
dispositivos, os peers poderão utilizar protocolos variados, dependendo do conjunto de
protocolos de configuração suportados pelo dispositivo alvo. Para lidar com essa diversidade
de protocolos, um peer funcionará internamente utilizando configurações de dispositivos
baseadas em XML. O uso de XML como mecanismo de configuração já é suportado por
diversos fornecedores, e incentivado fortemente pelo IETF através de seu grupo de trabalho
NET-CONF . Para dispositivos sem suporte a XML, os peers traduzirão os documentos XML
em ações do protocolo suportado pelo dispositivo (e.g. TELNET/CLI, SNMP, COPS , etc.).
A difusão e execução de scripts de gerenciamento permitirão ao administrador solicitar
que a rede P2P execute ações na infra-estrutura óptica de forma a efetuar uma tarefa
específica (e.g. criação de caminhos MPLS com alocação de banda para uma
videoconferência). O suporte a scripts será fornecido através da MIB Script, definida pelo IETF
no contexto de gerenciamento por delegação. Cada peer, neste caso, possuirá um agente
SNMP interno que suporta a MIB Script, de forma a permitir que scripts sejam enviados aos
peers da infra-estrutura de gerenciamento. A disseminação de agentes móveis é similar ao uso
de scripts, exceto pelo fato dos agentes serem utilizados como mecanismo de expansão dos
serviços oferecidos. Nesse sentido, pode-se dizer que a disseminação de agentes móveis é um
meta-serviço, cuja função é permitir ao administrador implantar novos serviços de
gerenciamento na rede P2P. O suporte a agentes móveis será implementado através da
utilização das arquiteturas Aglets e MuCode , ambas de código aberto. Por fim, a monitoração
da conectividade da rede é o serviço que permite ao administrador verificar o estado corrente
da infra-estrutura óptica para tomar decisões em relação à alocação de recursos aos usuários. Os protocolos utilizados na verificação do estado da rede, assim como na configuração, serão
aqueles suportados pelos dispositivos (e.g. ICMP, SNMP, etc.).
O acesso aos serviços da rede P2P, por parte do administrador, será alcançado através
de HTTP/S. Cada peer possuirá um servidor HTTP que exportará interfaces Web para
interação com o administrador, de forma que o mesmo tenha acesso aos serviços. Nesse
sentido, a rede P2P de gerenciamento se assemelha muito ao conceito de FreeNet que tem
como representante mais importante o sistema BitTorrent de compartilhamento de recursos.
Serviços de gerenciamento disponibilizados aos usuários
Oferecer serviços de gerenciamento aos usuários permite que tais usuários também
tenham controle, ainda que restrito, sobre os recursos de rede necessários à realização de
suas tarefas. A disponibilização de tais serviços aos usuários diminui a necessidade de
interação humana entre usuários e administradores, o que agiliza o gerenciamento. Os serviços
de gerenciamento aos usuários são: solicitação de tráfego diferenciado, habilitação de
transmissões multicast, e solicitação de notificações sobre o estado da rede.
A solicitação de tráfego diferenciado permite ao usuário agendar transmissões críticas e
ter garantias de que a rede óptica irá respeitar os parâmetros de desempenho solicitados.
Neste caso, os peers da rede P2P podem ser vistos como Bandwidth Brokers da arquitetura de
fornecimento de QoS DiffServ. Para que as solicitações ocorram com sucesso, os peers
também terão de configurar os dispositivos de rede de modo a fornecer a diferenciação de
tráfego solicitada. Entretanto, tal configuração só será realizada se a solicitação do usuário
estiver de acordo com as políticas de gerenciamento definidas pelo administrador (mostradas
anteriormente). A habilitação de tráfego multicast permitirá ao usuário informar de sua necessidade para realizar transmissões multicast. Por fim, o serviço para solicitação de
notificações sobre o estado da rede permitirá ao usuário solicitar que a infra-estrutura P2P
envie notificações (e.g. emails) sobre estados da infra-estrutura óptica. Por exemplo, o usuário
poderá solicitar que uma notificação lhe seja enviada quando a banda disponível em um
caminho for suficiente para comportar uma transmissão de replicação de vídeos em servidores
de vídeo distribuídos. Assim como na solicitação de tráfego diferenciado, a habilitação de
multicast e a solicitação de notificações só terão sucesso se estiverem de acordo com as
políticas de rede definidas pelo administrador. Portanto, as políticas de gerenciamento acabam
regendo o comportamento dos serviços de gerenciamento disponibilizados aos usuários.
Da mesma forma que nos serviços de gerenciamento dos administradores, os serviços
aos usuários também serão acessíveis através de HTTP/S. Os usuários que desejam acessar
um dos serviços disponíveis entram em contato com um peer da infra-estrutura de gerência e,
através de sua autenticação via interfaces Web, terão acesso aos seus serviços disponíveis.
Serviços de gerenciamento disponibilizados às aplicações
Os mesmos serviços de gerenciamento disponibilizados aos usuários serão
disponibilizados também às aplicações. Entretanto, o método de acesso a esses serviços será
diferente. No caso dos serviços oferecidos aos usuários, páginas Web serão disponibilizadas
pelos peers. Já no caso dos serviços oferecidos às aplicações, propomos o uso de Web
Services na disponibilização de serviços de gerenciamento. O uso de Web Services permitirá,
por exemplo, que uma aplicação cliente receba notificações de ociosidade da rede para então,
automaticamente, iniciar uma transferência de arquivos de vídeo.
Serviços de gerenciamento disponibilizados às aplicações são especialmente
importantes para aplicações de colaboração e compartilhamento de recursos, como grids, onde
a infra-estrutura de rede deve estar adequadamente configurada para que as transmissões
entre os nodos do grid sejam realizadas de forma adequada. Diversas outras aplicações,
entretanto, também se beneficiam da disponibilização de serviços de gerenciamento, como
aplicações de replicação de vídeo em uma malha de servidores, aplicações para colaboração,
e até mesmo aplicações mais convencionais, como backup de uma base de dados.
Serviços entre peers
A infra-estrutura P2P irá monitorar a situação da rede no que diz respeito ao
desempenho dos serviços que estão sendo prestados às aplicações e aos usuários para
indicar quando e porque os níveis desejados de QoS não estão sendo alcançados. De acordo
com o serviço solicitado, os peers poderão executar um gerenciamento pró-ativo, de forma que
ações sejam desencadeadas antecipadamente, com o objetivo de se tentar evitar ou, pelo
menos, minimizar as conseqüências das falhas ou degradações que venham a ocorrer nos
serviços. As ações são desencadeadas após análises das informações trocadas pelos peers da
arquitetura, usando simulações rápidas, extrapolações ou técnicas de inteligência artificial, com
o objetivo de prever a ocorrência de um determinado problema.
A conectividade da infra-estrutura é crítica para manter os peers em comunicação
constante. A rede P2P estabelece conexões lógicas entre os peers para que estes possam
executar tarefas de forma coordenada e alcançar um objetivo comum. Neste contexto, com o
intuito de garantir a alta confiabilidade e tolerância a falhas aos serviços da infra-estrutura de
gerência, um mecanismo de rerroteamento estará disponível através dos peers. As aplicações
do projeto não utilizam o mecanismo de rerroteamento diretamente, que é transparente para
elas. O rerroteamento é um mecanismo que está disponível somente à infra-estrutura de
gerenciamento. Essa infra-estrutura tem a responsabilidade de invocar e interromper o
mecanismo de rerroteamento de forma coordenada em função das necessidades das
aplicações, dos usuários, e do estado da rede. Desta forma, falhas de hardware ou
degradações da QoS dos níveis superiores ficam transparentes às aplicações do projeto.
Para que tais mecanismos operem adequadamente, os peers da infra-estrutura serão
implementados utilizando a solução JXTA de código aberto, da Sun. JXTA é um framework
para desenvolvimento de redes P2P com conjuntos de serviços de manutenção da própria rede
já definidos e implementados. Dessa forma, a criação de uma rede P2P é facilitada porque os serviços básicos de interconexão, comunicação e procura entre peers já está disponível. Sobre
esses serviços, outros mais especializados podem então ser desenvolvidos, como os de
gerenciamento pró-ativo e rerroteamento apresentados anteriormente.
Arquitetura de um peer
Para a disponibilização dos serviços descritos anteriormente, cada peer deverá possuir
o seguinte conjunto mínimo de interfaces de comunicação (figura 2):
» Interface de comunicação entre peers (implementada via JXTA );
» Interface para transferência de scripts (implementada via MIB Script );
» Interface para recepção de políticas (via Web Services e LDAP );
» Interface para recepção de agentes móveis (via Aglets ou MuCode ).
Os administradores acessam páginas Web dinâmicas criadas a partir do processamento
de uma engine, como por exemplo PHP. Isso permite ao administrador criar políticas de
gerenciamento armazenadas no repositório de políticas. Outras políticas também podem ser
adquiridas de repositórios externos (e.g. da infra-estrutura de diretórios do GT-Diretórios ou do
GT-Config da RNP) através do módulo LDAP. O mesmo módulo LDAP tem a função de enviar
as políticas armazenadas no repositório interno para outros peers.
Os usuários também acessam seus serviços de gerenciamento através de páginas
Web. As solicitações de serviços dos usuários, administradores e aplicações são passadas ao
daemon de execução do peer que valida a solicitação de acordo com o serviço solicitado e com
a identificação do cliente. No caso das aplicações, existirá ainda um repositório de Web
Services, que fornecem os mesmos serviços oferecidos aos usuários nas páginas Web.
Para o suporte a agentes móveis e scripts existem os módulos de Agltes/MuCode e
Jasmin, além de dois repositórios para armazenar os agentes e os scripts. Assim como o
módulo LDAP, os módulos de agentes e scripts também têm a função de encaminhar
informações de transferência de agentes e scripts a outros peers.
Por fim, na parte inferior da arquitetura de um peer são encontrados os módulos de
comunicação com a infra-estrutura óptica. Eles têm a responsabilidade de entrar em contato
com os dispositivos para efetuar monitorações e configurações, e, principalmente, abstrair do
resto da arquitetura as particularidades (e.g. protocolos de configuração, formato dos
documentos XML, etc.) de comunicação com os dispositivos. As ações executadas pelos
módulos de comunicação com a infra-estrutura óptica são regidas pelo daemon do peer,que
tem contato com as políticas, agentes e scripts internos. Além das interfaces apresentadas na
figura 2, outras interfaces podem ser instaladas através da expansão de cada peer pelos
agentes móveis, conforme a necessidade das aplicações usuárias da rede.
A medida de desempenho para verificar o sucesso do projeto aqui proposto consiste em
responder positivamente, ao longo do desenvolvimento do projeto, às seguintes questões:
a) Políticas de operação da rede óptica, definidas pelos administradores, são adequadamente
distribuídas e fazem com que a rede efetivamente opere de acordo com os parâmetros de
funcionamento declarados nas políticas?
b) Os usuários conseguem se comunicar com a infra-estrutura de gerência de forma a solicitar
e receber, desde que de acordo com as políticas, os serviços com parâmetros de
desempenho respeitados? Isso também funciona adequadamente no caso das aplicações
usando interfaces implementadas com Web Services?
c) A infra-estrutura de gerenciamento P2P notifica eventos e apresenta o estado corrente da
rede de forma adequada aos administradores, usuários e aplicações?
d) A rede óptica consegue manter os serviços fornecidos aos usuários e aplicações
(principalmente em relação a QoS) de forma consistente através dos mecanismos de
rerroteamento e cálculo de conectividade?
e) Novos serviços de gerenciamento conseguem ser eficientemente instalados na infraestrutura
P2P quando isso for necessário, principalmente quando demandado por uma
aplicação crítica?
Se as respostas às perguntas acima forem positivas, então consideramos que os
objetivos deste projeto terão sido alcançados com sucesso.