Fase I - Estudo


Título da Idéia

  • Flow Graph


Objetivos

  • Criar uma solução que consiga mapear os roteadores de determinado segmento, utilizando técnicas modernas como Teoria dos Grafos, de forma, que toda a constelação de equipamentos possa ser visualizada segundo uma distribuição em grafo 3D.
  • Neste contexto, como primeiro Sprint, a conclusão de 3 requisitos:
    • Interface para visualizar a topologia da rede, possivelmente a planta toda com possíveis filtros
    • Discovery da rede
    • Criação de túneis LSP entre os roteadores:


Conceito


Explique em que contexto macro esta pesquisa será inserida
Relacione com outros projetos e pesquisas na área, na empresa ou mesmo no mundo
Identifique algumas possibilidades de evolução desta idéia
Tente enquadrar esta idéia em um grupo, propósito ou categoria específica


Características 


Informe sobre as particularidades, aspectos e atributos desta idéia.



Estudo Dirigido


  • Roteadores
  • MPLS
  • Túneis LSP
  • Teoria dos Grafos
  • Gephi
  • Processamento paralelo


Fase II - Ensino


Conteúdo

Desenvolva um conteúdo que possa transmitir o conhecimento adquirido para outros
Crie um material (Wiki, PDF, PPT, ...) que possa ser armazenado e facilmente atualizável


Apresentação

Apresente ao grupo (reunião, EAD, Blog, ...)
Publique aqui


Metoldologia


Descrevas as metodologias usadas. Alguns exemplos:
Estratégia de Job Rotation
Estudos básicos para conhecimento do potencial
Estudos básicos para entendimento sobre o problema
Estudos para dar base aos pesquisadores
Benchmarking com empresas estrangeiras 
Aceleradoras de empresas
Adoção de novas tecnologias
Utilização da proposta de soluções Open-source
Priorização no desenvolvimento interno
Foco na não dependência de fornecedores
Prática de formação dos talentos necessários 


Fase III - Exemplo de Caso de Negócio


Benefícios para quem for oferecer esta solução

    Descrever em tópicos os benefícios que uma pessoa ou uma empresa podem obter: ganhos, receitas, novos negócios, novos produtos, novas parcerias



Benefícios para o usuário

    Descrever em tópicos os benefícios para os usuários desta solução.
    Pode se inspirar no Canvas.


Direcionadores chave para esta iniciativa

    Descrever em tópicos o que esta iniciativa pode proporcionar



Possíveis modelos de negócios

    Descrever em tópicos os possíveis modelos de negócios

Business Case

    Descrever um exemplo de negócio que permita avaliar a solução comercialmente


Barreiras encontradas


    Aponte aqui quais foram os principais obstáculos encontrados para o desenvolvimento desta solução


Fase IV - Protótipo orientado ao Negócio


Escopo


Explique o escopo deste protótipo


Product Backlog


  • https://docs.google.com/spreadsheets/d/1uMzWBxdoGnWcQ47jG-44_XluX4UdHEskFHr6UV0bHbU/edit?usp=sharing
    • 01 Estudar Teoria dos Grafos - Depth-first search, Breadth-first search, Subgrafos, Conectividade, Network Flow
    • 02 Estudar Gephi - Ferramenta utilizada como interface gráfica para representar os grafos
    • 03 Estudar Processamento Paralelo - Executar comandos simultaneamente em diversos equipamentos
    • 04 Estudar MPLS (Multiprotocol Label Switching) - Um dos protocolos utilizado para comunicação entre os equipamentos de transporte
    • 05 Estudar LSP (Label-switched path) - Criação de túneis entre roteadores (como arestas em um grafo)
    • 06 Estudar acesso remoto a sistemas - Executar comandos via SSH / Telnet / SNMP
    • 07 Estudar lógica de programação - Melhor conhecimento lógico ajuda em diversas atividades, recomendo praticar em maratonas de programação
    • 08 Estudar Github - Aprender como importar, exportar e usar o sistema git para versionamento. No caso utilizar github
    • 09 Implementar Gephi - Visualizar qualquer tipo de grafo com informações variadas
    • 10 Testar Gephi - Avaliar viabilidade da ferramenta
    • 11 Implementar Discovery - Mapear todos os equipamentos na planta da algar de forma automática e eficiente
    • 12 Testar Discovery - Avaliar viablidade da ferramenta
    • 13 Integração discovery com gephi - Representar as informações do discovery no Gephi
    • 14 Teste da integração - Avaliar viablidade da ferramenta
    • 15 Resolver identificação do tipo de roteador - P, PE ou BORDA
    • 16 Implementar criação de LSP tunnels - Implementar a criação de túneis de forma automática e eficaz, baseado na documentação
    • 17 Testar criação de LSP tunnels - Avaliar viablidade da ferramenta
    • 18 Implementar interface web para utilização da ferramenta de criação de túneis - Facilitar o uso
    • 19 Testar interface web - Avaliar viablidade da ferramenta
    • 20 Implementar API capaz de executar comandos simultaneamente - Executar comandos remotos de forma simultanea em diversos equipamentos com confiabilidade
    • 21 Testar API - Avaliar viablidade da ferramenta

Limitações


Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.


PoC


Desenvolva um PoC (Proof of Concept)


Requisitos Funcionais


  • What it should do?
    • Input
      • List of IP prefixes
      • Credentials to enter in equipments
    • Output
      • List of equipments in network
        • Loopback IP
        • LSP
        • OS
  • What do I need to know?
    • Linux / Windows
      • Run commands mannually
    • Run local / remote command
      • SSH
      • Telnet
      • Ping
    • Files
      • Read
      • Write
      • Delete
      • Create
    • Threads / Process
      • Semaphore
      • Deadlock
      • ThreadPool
      • Sweet Spot in concurrent threads/processes
    • Data Structures
      • Arrays
      • Hash Table
    • Exceptions
      • Handle errors
      • Create Logs
    • Functions
      • Global variables
      • Local variables
    • Paramiko?
      • Help using SSH in python
  • What should I do?
    • some_constants
    • main()
    • ping(hostname)
    • run_local_command(command)
    • run_remote_command(hostname, command)
    • get_loopback_ip(hostname)
    • get_lsp(hostname)
    • get_os(hostname)
    • get_info(hostname)
    • build_ips_ping(prefixes)
    • build_database(credentials_path)

Detalhamento Técnico


Descreva especificamente os aspectos técnicos desta pesquisa





Cronograma Macro


Histórico



Pesquisadores