Sugestões de Projetos

Introdução

Apresentamos nesta página algumas sugestões de projetos. Separamos em projetos sugeridos para Projetos de Final de Curso de graduação e projetos sugeridos para mestrado. No entanto, essa categorização não é rígida, ela apenas separa por nível de complexidade aparente, portanto, uma proposta para graduação poderá se tornar uma proposta de mestrado e vice-versa.

Propostas para Mestrado

Módulo de Políticas Dissertação Bruno

Módulo responsável por interpretar políticas de gerenciamento e implementá-las.

Funções básicas:

  • Definir uma forma de especificar as políticas dos usuários.
  • Coletar informações de estado da rede.
  • Especificar e implementar as políticas (chamando módulo OpenFlow e/ou Configuração).

Linguagem:

  • Java

Módulo de Proteção e Recuperação de Falhas

Módulo responsável por implementar políticas de recuperação de falhas.

Funções básicas:

  • Definir os critérios de recuperação.
  • Coletar informações de estado da rede.
  • Especificar mecanismo de recuparação (chamando módulo OpenFlow e/ou Configuração).

Linguagem:

  • Java

Propostas para Graduação

Framework FEITO

Construir uma base de framework para integrar o sistema. Deve ser construido a partir de framework existentes e adaptá-lo as necessidades do HermesNet.

Funções básicas:

  • Oferecer um padrão para construir aplicações gráficas.
  • Definir uma API para integrar com demais módulos do sistema.
  • Daemon para receber notificações.

Linguagem:

  • Java/C++

SNMP FEITO

Integrar bibliotecas SNMP, por exemplo NetSNMP, no sistema. Construir aplicações auxiliares. Ponto crítico para o desempenho do sistema.

Funções básicas:

  • Integrar NetSNMP (ou equivalente).
  • Analisar dados LLDP e S-FLow, IPFIX.

Linguagem:

  • C++

Controlador OpenFlow  FEITO

Construir e integrar o controlador OpenFlow. Ponto crítico para o desempenho do sistema.

Funções básicas:

  • Integrar um controlador OpenFlow (Beacon, NOX, etc).
  • Receber notificações OpenFlow e realizar configuração.
  • Implementar políticas definidas por outros módulos.

Linguagem:

  • C++/Java

Protocolo de Configuração

Definir e construir um protocolo para configurar dispositivos. Deve fazer todas as demais configurações nos dispositivos OpenFlow além das mensagens OpenFlow controladas pelo módulo OpenFlow.

Funções básicas:

  • Definir o padrão de especificação: XML, JSON ou YAML.
  • Construir um módulo no sistema HermesNet (Java).
  • Construir um módulo no dispositivo para receber configuraçẽos (C).
  • Deve ser flexível para permitir novos parâmetros (Schema?)

Linguagem:

  • C/Java

Descoberta de Topologia

Um sistema de gerenciamento precisa saber a topologia da rede. A informação de topologia será utilizada pelos módulos de políticas e recuperação de falhas.

Funções básicas:

  • Descobrir a topologia usando LLDP, SNMP, etc.
  • Armazenar os dados no Banco de Dados.
  • Criar forma edição manual (via web) e automática.

Linguagem:

  • Java

Interface com Banco de Dados  FEITO

Definir a estrutura do Banco de Dados e a sua Interface a partir dos requisitos dos demais módulos. Deve ter forte interação com Framework.

Funções básicas:

  • Usar Postgres, em princípio.
  • Projetar um BOM Banco de Dados (importante para o desempenho).
  • Criar forma edição manual (via web) e automática.

Linguagem:

  • Java
Comments