ONS v1.0

Instruções para a utilização

O ONS é um simulador de eventos discretos capaz de simular tráfego dinâmico para redes WDM e EON.

É necessário o JVM 7 (Java Virtual Machine)

Se você utilizar o ONS, por favor cite usando o template abaixo:

@misc{ons,

author = {Lucas R. Costa and L\'eia S. de Sousa and Felipe R. de Oliveira and Kaio A. da Silva and Paulo J. S. J\'unior and Andr\'e C. Drummond},

title = {{ONS: Optical Network Simulator - WDM/EON}},

howpublished = {http://comnet.unb.br/br/grupos/get/ons}

}

Índice

1. Como compilar o ONS

2. Como executar o ONS

3. Exemplos de execução

4. Saída do simulador ONS

5. Exemplos de saída

6. Exemplo de saída do trace

7. Exemplo de Arquivo de simulação XML para rede WDM

8. Exemplo de Arquivo de simulação XML para rede EON

9. Apresentando a interface RA

 


 

1. Como compilar o ONS

  • Baixe o código fonte
  • Abra sua IDE favorita NetBeans ou Eclipse
  • Crie um novo projeto baseado em código fonte existente no NetBeans ou Eclipse
  • Construa o projeto para o arquivo JAR (é necessário definir a classe principal “Main.java”)
  • Tudo pronto

2. Como executar o ONS

you@computer:~$ java -jar ONS.jar
Usage: ONS simulation_file seed [-trace] [-verbose] [minload maxload step]

O parâmetros obrigatórios são:

  • simulation_file: o arquivo XML contendo os parâmetros da simulação;
  • seed: trata-se de um número no intervalo [1-25] que define 25 diferentes conjuntos de sementes escolhidas internamente para maximizar a qualidade das sequências aleatórias utilizadas. Para a geração de resultados com intervalo de confiança em uma mesma simulação, se faz necessário a execução com diferentes conjuntos de semente

Os parâmetros opcionais são:

  • trace: define a geração do arquivo trace;
  • verbose: define o modo de geração de mensagens na tela;
  • minload maxload step: permite a automação de diversas execuções de uma mesma simulação para uma faixa de cargas no intervalo [minload, maxload] e incremento [step].

3. Exemplos de execução

you@computer:~$ java -jar ONS.jar nsfnet.xml 1 > saida.txt

Neste exemplo, o simulador executará a simulação descrita no arquivo ``nsfnet.xml'' utilizando o primeiro grupo de sementes. A carga é única e está definida no aquivo XML.

you@computer:~$ java -jar ONS.jar nsfnet.xml 1 -trace - verbose > saida.txt

Neste exemplo, o simulador irá registrar todos os dados em um arquivo de trace (nominado no XML) e irá imprimir informações completas da simulação.

you@computer:~$ java -jar ONS.jar nsfnet.xml 2 100 200 20 > saida.txt

Neste exemplo, o simulador executará a simulação descrita no arquivo``nsfnet.xml'' utilizando o segundo grupo de sementes para uma faixa de cargas em Erlang que vai de 100 a 200, com incrementos de 20, ou seja, 6 vezes a simulação descrita no arquivo com as cargas [100, 120, 140, 160, 180, 200].

Todos os resultados serão escritos em um arquivo chamado “saida.txt”

4. Saída do simulador ONS

Se você executar uma simulação simples, no final ele irá imprimir uma saída padrão com algumas estatísticas. São elas:

  • Taxa de bloqueio de banda (BBR)
  • Taxa de bloqueio por classe de serviço (COS)
  • Número de caminhos ópticos (LPs) estabelecidos na rede
  • Percentual médio de transmissores disponíveis em toda a simulação
  • Número de transmissores por requisição (quando considerado técnicas de agregação de
  • Tráfego (grooming), um transmissor pode trafegar mais de uma requisição)
  • Média de saltos virtuais por requisição
  • Média de saltos físicos por requisição

Para o cenário EON são adicionadas as seguintes métricas:

  • Percentual médio de espectro disponível em toda a simulação
  • Percentual médio de uso por modulação.

Durante toda a simulação todas as ações são registradas em um arquivo de trace caso seu argumento tenha sido acionado. O simulador irá gravar os seguintes dados:

  • Chegadas e partidas de eventos;
  • Criação ou remoção de caminho óptico
  • Aceitação ou bloqueio de chamada.

5. Exemplos de saída

Exemplo de saída de uma simulação padrão no cenário de rede WDM:

Exemplo de saída de uma simulação padrão no cenário de rede EON:

6. Exemplo de saída do trace

 

7. Exemplo de Arquivo de simulação XML para rede WDM

8. Exemplo de Arquivo de simulação XML para rede EON

9.Apresentando a interface RA

Estes são os métodos que os algoritmos RWA/RSA/RMLSA devem implementar:

  • public void simulationInterface(ControlPlaneForRA cp) : Este método é responsável por fornecer acesso à todas infirmações relevantes sobre a simulação, incluindo informações sobre as topologias físicas e virtuais. Além disso, ele fornece um interface de retorno para o plano de controle.
  • public void flowArrival(Flow flow): Sempre que uma nova chamada chega na rede o plano de controle executa este método, informando ao algoritmo da chegada de um novo evento e provendo todas as informações relevantes sobre esta nova chamada.
  • public void flowDeparture(long id): Sempre que uma chamada parte da rede, este método é chamado.

Seu novo algoritmo estará apto para interagir com o plano de controle, através de uma interface específica que fornece alguns métodos chave.

Em cada chamada, seu algoritmo pode aceitar (através do método “acceptFlow”) ou bloquear (através do método “blockFlow”) esta chamada. Além disso, o algoritmo pode chamar os demais métodos para auxilio nos seus procedimentos.

Para maiores detalhes, consulte o JavaDoc.