universidade de brasília -...
TRANSCRIPT
Universidade de BrasiacuteliaInstituto de Ciecircncias Exatas
Departamento de Ciecircncia da Computaccedilatildeo
WWSim Interface Graacuteca para o Simulador de RedesOacutepticas WDMSim
Guilherme H M Fernandes
Monograa apresentada como requisito parcial
para conclusatildeo do Bacharelado em Engenharia da Computaccedilatildeo
Orientador
Prof Dr Andreacute Costa Drummond
Brasiacutelia
2014
Universidade de Brasiacutelia UnB
Instituto de Ciecircncias Exatas
Departamento de Ciecircncia da Computaccedilatildeo
Bacharelado em Engenharia da Computaccedilatildeo
Coordenador Prof Dr Ricardo Zelenovsky
Banca examinadora composta por
Prof Dr Andreacute Costa Drummond (Orientador) CICUnB
Prof Msc Joatildeo Joseacute da Costa Gondim CICUnB
Prof Msc Marcos Fagundes Caetano CICUnB
CIP Catalogaccedilatildeo Internacional na Publicaccedilatildeo
Fernandes Guilherme H M
WWSim Interface Graacuteca para o Simulador de Redes Oacutepticas WDM-
Sim Guilherme H M Fernandes Brasiacutelia UnB 2014
49 p il 295 cm
Monograa (Graduaccedilatildeo) Universidade de Brasiacutelia Brasiacutelia 2014
1 Java 2 Redes Oacutepticas 3 WDM 4 RWA 5 Simulador
CDU 0044
Endereccedilo Universidade de Brasiacutelia
Campus Universitaacuterio Darcy Ribeiro Asa Norte
CEP 70910-900
BrasiacuteliaDF Brasil
Universidade de BrasiacuteliaInstituto de Ciecircncias Exatas
Departamento de Ciecircncia da Computaccedilatildeo
WWSim Interface Graacuteca para o Simulador de RedesOacutepticas WDMSim
Guilherme H M Fernandes
Monograa apresentada como requisito parcial
para conclusatildeo do Bacharelado em Engenharia da Computaccedilatildeo
Prof Dr Andreacute Costa Drummond (Orientador)
CICUnB
Prof Msc Joatildeo Joseacute da Costa Gondim Prof Msc Marcos Fagundes Caetano
CICUnB CICUnB
Prof Dr Ricardo Zelenovsky
Coordenador do Bacharelado em Engenharia da Computaccedilatildeo
Brasiacutelia 17 de junho de 2014
Resumo
A construccedilatildeo de um sistema de representaccedilatildeo e modelagem de redes de transmis-
satildeo de dados apresenta um desao de implementaccedilatildeo e de compreensatildeo de usuaacuterio A
representaccedilatildeo el de tal rede pode ser um empecilho ateacute para os mais especializados e
poucas formas de representaccedilatildeo foram concebidas para o projeto de redes oacutepticas Esta
monograa apresenta os resultados de projeto de implementaccedilatildeo de uma interface graacuteca
para o simulador de redes oacutepticas WDMSim que permite manipulaccedilatildeo direta de usuaacuterio
que apresente delidade com a infraestrutura real facilidade de interaccedilatildeo com o usuaacuterio
capacidade de alteraccedilatildeo do algoritmo de alocaccedilatildeo de comprimento de onda e que permita
uma visatildeo didaacutetica dos conceitos de redes oacutepticas
Palavras-chave Java Redes Oacutepticas WDM RWA Simulador
iv
Sumaacuterio
1 Introduccedilatildeo 1
11 Motivaccedilatildeo 2
12 Objetivos 2
121 Objetivo Geral 2
122 Objetivos Especiacutecos 2
13 Organizaccedilatildeo da Monograa 2
2 Fundamentos em Redes Oacutepticas WDM 4
21 Contextualizaccedilatildeo das Redes WDM 4
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 5
23 Caminho Oacuteptico 5
24 Topologia Fiacutesica e Virtual 6
25 Agregaccedilatildeo de Traacutefego 7
26 Conversatildeo de Comprimento de Onda 8
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda 8
28 Traacutefego em Redes Oacutepticas 9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de Banda 9
210 Simuladores de Redes 10
3 Simulador WDMSim 11
31 Algoritmo RWA 11
32 Paracircmetro de Simulaccedilatildeo XML 12
33 Resultado da Simulaccedilatildeo 13
4 Funcionalidades do WWSim 15
41 Interface Graacuteca Web 15
42 Servidor de Simulaccedilatildeo 15
43 Requisitos 16
431 Manipulaccedilatildeo de Arquivos XML 16
432 Ferramentas de Ediccedilatildeo 18
v
433 Cenaacuterio de Traacutefego 20
434 Ferramentas de Simulaccedilatildeo 21
435 Gerar Estatiacutesticas 22
44 Requisitos Desejaacuteveis 23
441 Opccedilotildees de Ediccedilatildeo 23
442 Salvar e Recuperar Simulaccedilatildeo 23
443 Acompanhamento de Simulaccedilatildeo 24
444 Manipulaccedilatildeo Dinacircmica de Eventos 24
5 Projeto e Arquitetura do WWSim 25
51 Pacotes da Aplicaccedilatildeo 26
52 Padrotildees de Projeto 27
53 Implementaccedilatildeo 28
54 Diagramas de Classe 30
6 Conclusatildeo 32
61 Contribuiccedilotildees 32
62 Trabalhos Futuros 32
Referecircncias 34
A Manual de Usuaacuterio 35
A1 Tela Inicial 35
A2 Criaccedilatildeo da Topologia 35
A3 Adiccedilatildeo de Chamadas 37
A4 Execuccedilatildeo da Simulaccedilatildeo 38
A5 Criaccedilatildeo de uma Classe RWA 38
vi
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Universidade de Brasiacutelia UnB
Instituto de Ciecircncias Exatas
Departamento de Ciecircncia da Computaccedilatildeo
Bacharelado em Engenharia da Computaccedilatildeo
Coordenador Prof Dr Ricardo Zelenovsky
Banca examinadora composta por
Prof Dr Andreacute Costa Drummond (Orientador) CICUnB
Prof Msc Joatildeo Joseacute da Costa Gondim CICUnB
Prof Msc Marcos Fagundes Caetano CICUnB
CIP Catalogaccedilatildeo Internacional na Publicaccedilatildeo
Fernandes Guilherme H M
WWSim Interface Graacuteca para o Simulador de Redes Oacutepticas WDM-
Sim Guilherme H M Fernandes Brasiacutelia UnB 2014
49 p il 295 cm
Monograa (Graduaccedilatildeo) Universidade de Brasiacutelia Brasiacutelia 2014
1 Java 2 Redes Oacutepticas 3 WDM 4 RWA 5 Simulador
CDU 0044
Endereccedilo Universidade de Brasiacutelia
Campus Universitaacuterio Darcy Ribeiro Asa Norte
CEP 70910-900
BrasiacuteliaDF Brasil
Universidade de BrasiacuteliaInstituto de Ciecircncias Exatas
Departamento de Ciecircncia da Computaccedilatildeo
WWSim Interface Graacuteca para o Simulador de RedesOacutepticas WDMSim
Guilherme H M Fernandes
Monograa apresentada como requisito parcial
para conclusatildeo do Bacharelado em Engenharia da Computaccedilatildeo
Prof Dr Andreacute Costa Drummond (Orientador)
CICUnB
Prof Msc Joatildeo Joseacute da Costa Gondim Prof Msc Marcos Fagundes Caetano
CICUnB CICUnB
Prof Dr Ricardo Zelenovsky
Coordenador do Bacharelado em Engenharia da Computaccedilatildeo
Brasiacutelia 17 de junho de 2014
Resumo
A construccedilatildeo de um sistema de representaccedilatildeo e modelagem de redes de transmis-
satildeo de dados apresenta um desao de implementaccedilatildeo e de compreensatildeo de usuaacuterio A
representaccedilatildeo el de tal rede pode ser um empecilho ateacute para os mais especializados e
poucas formas de representaccedilatildeo foram concebidas para o projeto de redes oacutepticas Esta
monograa apresenta os resultados de projeto de implementaccedilatildeo de uma interface graacuteca
para o simulador de redes oacutepticas WDMSim que permite manipulaccedilatildeo direta de usuaacuterio
que apresente delidade com a infraestrutura real facilidade de interaccedilatildeo com o usuaacuterio
capacidade de alteraccedilatildeo do algoritmo de alocaccedilatildeo de comprimento de onda e que permita
uma visatildeo didaacutetica dos conceitos de redes oacutepticas
Palavras-chave Java Redes Oacutepticas WDM RWA Simulador
iv
Sumaacuterio
1 Introduccedilatildeo 1
11 Motivaccedilatildeo 2
12 Objetivos 2
121 Objetivo Geral 2
122 Objetivos Especiacutecos 2
13 Organizaccedilatildeo da Monograa 2
2 Fundamentos em Redes Oacutepticas WDM 4
21 Contextualizaccedilatildeo das Redes WDM 4
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 5
23 Caminho Oacuteptico 5
24 Topologia Fiacutesica e Virtual 6
25 Agregaccedilatildeo de Traacutefego 7
26 Conversatildeo de Comprimento de Onda 8
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda 8
28 Traacutefego em Redes Oacutepticas 9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de Banda 9
210 Simuladores de Redes 10
3 Simulador WDMSim 11
31 Algoritmo RWA 11
32 Paracircmetro de Simulaccedilatildeo XML 12
33 Resultado da Simulaccedilatildeo 13
4 Funcionalidades do WWSim 15
41 Interface Graacuteca Web 15
42 Servidor de Simulaccedilatildeo 15
43 Requisitos 16
431 Manipulaccedilatildeo de Arquivos XML 16
432 Ferramentas de Ediccedilatildeo 18
v
433 Cenaacuterio de Traacutefego 20
434 Ferramentas de Simulaccedilatildeo 21
435 Gerar Estatiacutesticas 22
44 Requisitos Desejaacuteveis 23
441 Opccedilotildees de Ediccedilatildeo 23
442 Salvar e Recuperar Simulaccedilatildeo 23
443 Acompanhamento de Simulaccedilatildeo 24
444 Manipulaccedilatildeo Dinacircmica de Eventos 24
5 Projeto e Arquitetura do WWSim 25
51 Pacotes da Aplicaccedilatildeo 26
52 Padrotildees de Projeto 27
53 Implementaccedilatildeo 28
54 Diagramas de Classe 30
6 Conclusatildeo 32
61 Contribuiccedilotildees 32
62 Trabalhos Futuros 32
Referecircncias 34
A Manual de Usuaacuterio 35
A1 Tela Inicial 35
A2 Criaccedilatildeo da Topologia 35
A3 Adiccedilatildeo de Chamadas 37
A4 Execuccedilatildeo da Simulaccedilatildeo 38
A5 Criaccedilatildeo de uma Classe RWA 38
vi
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Universidade de BrasiacuteliaInstituto de Ciecircncias Exatas
Departamento de Ciecircncia da Computaccedilatildeo
WWSim Interface Graacuteca para o Simulador de RedesOacutepticas WDMSim
Guilherme H M Fernandes
Monograa apresentada como requisito parcial
para conclusatildeo do Bacharelado em Engenharia da Computaccedilatildeo
Prof Dr Andreacute Costa Drummond (Orientador)
CICUnB
Prof Msc Joatildeo Joseacute da Costa Gondim Prof Msc Marcos Fagundes Caetano
CICUnB CICUnB
Prof Dr Ricardo Zelenovsky
Coordenador do Bacharelado em Engenharia da Computaccedilatildeo
Brasiacutelia 17 de junho de 2014
Resumo
A construccedilatildeo de um sistema de representaccedilatildeo e modelagem de redes de transmis-
satildeo de dados apresenta um desao de implementaccedilatildeo e de compreensatildeo de usuaacuterio A
representaccedilatildeo el de tal rede pode ser um empecilho ateacute para os mais especializados e
poucas formas de representaccedilatildeo foram concebidas para o projeto de redes oacutepticas Esta
monograa apresenta os resultados de projeto de implementaccedilatildeo de uma interface graacuteca
para o simulador de redes oacutepticas WDMSim que permite manipulaccedilatildeo direta de usuaacuterio
que apresente delidade com a infraestrutura real facilidade de interaccedilatildeo com o usuaacuterio
capacidade de alteraccedilatildeo do algoritmo de alocaccedilatildeo de comprimento de onda e que permita
uma visatildeo didaacutetica dos conceitos de redes oacutepticas
Palavras-chave Java Redes Oacutepticas WDM RWA Simulador
iv
Sumaacuterio
1 Introduccedilatildeo 1
11 Motivaccedilatildeo 2
12 Objetivos 2
121 Objetivo Geral 2
122 Objetivos Especiacutecos 2
13 Organizaccedilatildeo da Monograa 2
2 Fundamentos em Redes Oacutepticas WDM 4
21 Contextualizaccedilatildeo das Redes WDM 4
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 5
23 Caminho Oacuteptico 5
24 Topologia Fiacutesica e Virtual 6
25 Agregaccedilatildeo de Traacutefego 7
26 Conversatildeo de Comprimento de Onda 8
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda 8
28 Traacutefego em Redes Oacutepticas 9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de Banda 9
210 Simuladores de Redes 10
3 Simulador WDMSim 11
31 Algoritmo RWA 11
32 Paracircmetro de Simulaccedilatildeo XML 12
33 Resultado da Simulaccedilatildeo 13
4 Funcionalidades do WWSim 15
41 Interface Graacuteca Web 15
42 Servidor de Simulaccedilatildeo 15
43 Requisitos 16
431 Manipulaccedilatildeo de Arquivos XML 16
432 Ferramentas de Ediccedilatildeo 18
v
433 Cenaacuterio de Traacutefego 20
434 Ferramentas de Simulaccedilatildeo 21
435 Gerar Estatiacutesticas 22
44 Requisitos Desejaacuteveis 23
441 Opccedilotildees de Ediccedilatildeo 23
442 Salvar e Recuperar Simulaccedilatildeo 23
443 Acompanhamento de Simulaccedilatildeo 24
444 Manipulaccedilatildeo Dinacircmica de Eventos 24
5 Projeto e Arquitetura do WWSim 25
51 Pacotes da Aplicaccedilatildeo 26
52 Padrotildees de Projeto 27
53 Implementaccedilatildeo 28
54 Diagramas de Classe 30
6 Conclusatildeo 32
61 Contribuiccedilotildees 32
62 Trabalhos Futuros 32
Referecircncias 34
A Manual de Usuaacuterio 35
A1 Tela Inicial 35
A2 Criaccedilatildeo da Topologia 35
A3 Adiccedilatildeo de Chamadas 37
A4 Execuccedilatildeo da Simulaccedilatildeo 38
A5 Criaccedilatildeo de uma Classe RWA 38
vi
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Resumo
A construccedilatildeo de um sistema de representaccedilatildeo e modelagem de redes de transmis-
satildeo de dados apresenta um desao de implementaccedilatildeo e de compreensatildeo de usuaacuterio A
representaccedilatildeo el de tal rede pode ser um empecilho ateacute para os mais especializados e
poucas formas de representaccedilatildeo foram concebidas para o projeto de redes oacutepticas Esta
monograa apresenta os resultados de projeto de implementaccedilatildeo de uma interface graacuteca
para o simulador de redes oacutepticas WDMSim que permite manipulaccedilatildeo direta de usuaacuterio
que apresente delidade com a infraestrutura real facilidade de interaccedilatildeo com o usuaacuterio
capacidade de alteraccedilatildeo do algoritmo de alocaccedilatildeo de comprimento de onda e que permita
uma visatildeo didaacutetica dos conceitos de redes oacutepticas
Palavras-chave Java Redes Oacutepticas WDM RWA Simulador
iv
Sumaacuterio
1 Introduccedilatildeo 1
11 Motivaccedilatildeo 2
12 Objetivos 2
121 Objetivo Geral 2
122 Objetivos Especiacutecos 2
13 Organizaccedilatildeo da Monograa 2
2 Fundamentos em Redes Oacutepticas WDM 4
21 Contextualizaccedilatildeo das Redes WDM 4
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 5
23 Caminho Oacuteptico 5
24 Topologia Fiacutesica e Virtual 6
25 Agregaccedilatildeo de Traacutefego 7
26 Conversatildeo de Comprimento de Onda 8
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda 8
28 Traacutefego em Redes Oacutepticas 9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de Banda 9
210 Simuladores de Redes 10
3 Simulador WDMSim 11
31 Algoritmo RWA 11
32 Paracircmetro de Simulaccedilatildeo XML 12
33 Resultado da Simulaccedilatildeo 13
4 Funcionalidades do WWSim 15
41 Interface Graacuteca Web 15
42 Servidor de Simulaccedilatildeo 15
43 Requisitos 16
431 Manipulaccedilatildeo de Arquivos XML 16
432 Ferramentas de Ediccedilatildeo 18
v
433 Cenaacuterio de Traacutefego 20
434 Ferramentas de Simulaccedilatildeo 21
435 Gerar Estatiacutesticas 22
44 Requisitos Desejaacuteveis 23
441 Opccedilotildees de Ediccedilatildeo 23
442 Salvar e Recuperar Simulaccedilatildeo 23
443 Acompanhamento de Simulaccedilatildeo 24
444 Manipulaccedilatildeo Dinacircmica de Eventos 24
5 Projeto e Arquitetura do WWSim 25
51 Pacotes da Aplicaccedilatildeo 26
52 Padrotildees de Projeto 27
53 Implementaccedilatildeo 28
54 Diagramas de Classe 30
6 Conclusatildeo 32
61 Contribuiccedilotildees 32
62 Trabalhos Futuros 32
Referecircncias 34
A Manual de Usuaacuterio 35
A1 Tela Inicial 35
A2 Criaccedilatildeo da Topologia 35
A3 Adiccedilatildeo de Chamadas 37
A4 Execuccedilatildeo da Simulaccedilatildeo 38
A5 Criaccedilatildeo de uma Classe RWA 38
vi
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Sumaacuterio
1 Introduccedilatildeo 1
11 Motivaccedilatildeo 2
12 Objetivos 2
121 Objetivo Geral 2
122 Objetivos Especiacutecos 2
13 Organizaccedilatildeo da Monograa 2
2 Fundamentos em Redes Oacutepticas WDM 4
21 Contextualizaccedilatildeo das Redes WDM 4
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 5
23 Caminho Oacuteptico 5
24 Topologia Fiacutesica e Virtual 6
25 Agregaccedilatildeo de Traacutefego 7
26 Conversatildeo de Comprimento de Onda 8
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda 8
28 Traacutefego em Redes Oacutepticas 9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de Banda 9
210 Simuladores de Redes 10
3 Simulador WDMSim 11
31 Algoritmo RWA 11
32 Paracircmetro de Simulaccedilatildeo XML 12
33 Resultado da Simulaccedilatildeo 13
4 Funcionalidades do WWSim 15
41 Interface Graacuteca Web 15
42 Servidor de Simulaccedilatildeo 15
43 Requisitos 16
431 Manipulaccedilatildeo de Arquivos XML 16
432 Ferramentas de Ediccedilatildeo 18
v
433 Cenaacuterio de Traacutefego 20
434 Ferramentas de Simulaccedilatildeo 21
435 Gerar Estatiacutesticas 22
44 Requisitos Desejaacuteveis 23
441 Opccedilotildees de Ediccedilatildeo 23
442 Salvar e Recuperar Simulaccedilatildeo 23
443 Acompanhamento de Simulaccedilatildeo 24
444 Manipulaccedilatildeo Dinacircmica de Eventos 24
5 Projeto e Arquitetura do WWSim 25
51 Pacotes da Aplicaccedilatildeo 26
52 Padrotildees de Projeto 27
53 Implementaccedilatildeo 28
54 Diagramas de Classe 30
6 Conclusatildeo 32
61 Contribuiccedilotildees 32
62 Trabalhos Futuros 32
Referecircncias 34
A Manual de Usuaacuterio 35
A1 Tela Inicial 35
A2 Criaccedilatildeo da Topologia 35
A3 Adiccedilatildeo de Chamadas 37
A4 Execuccedilatildeo da Simulaccedilatildeo 38
A5 Criaccedilatildeo de uma Classe RWA 38
vi
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
433 Cenaacuterio de Traacutefego 20
434 Ferramentas de Simulaccedilatildeo 21
435 Gerar Estatiacutesticas 22
44 Requisitos Desejaacuteveis 23
441 Opccedilotildees de Ediccedilatildeo 23
442 Salvar e Recuperar Simulaccedilatildeo 23
443 Acompanhamento de Simulaccedilatildeo 24
444 Manipulaccedilatildeo Dinacircmica de Eventos 24
5 Projeto e Arquitetura do WWSim 25
51 Pacotes da Aplicaccedilatildeo 26
52 Padrotildees de Projeto 27
53 Implementaccedilatildeo 28
54 Diagramas de Classe 30
6 Conclusatildeo 32
61 Contribuiccedilotildees 32
62 Trabalhos Futuros 32
Referecircncias 34
A Manual de Usuaacuterio 35
A1 Tela Inicial 35
A2 Criaccedilatildeo da Topologia 35
A3 Adiccedilatildeo de Chamadas 37
A4 Execuccedilatildeo da Simulaccedilatildeo 38
A5 Criaccedilatildeo de uma Classe RWA 38
vi
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Lista de Figuras
21 Optical Cross-Connect 5
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda 6
23 Caminhos Oacutepticos 7
24 Conversores de Comprimento de onda 8
31 Interface RWA 12
32 Diagrama do WDMSim 13
33 Exemplo de arquivo XML de Entrada 13
34 Arquivo de Trace 14
41 Arquitetura Web 16
42 Manipular Arquivo 17
43 Ferramentas de Ediccedilatildeo 18
44 Cenaacuterio de Traacutefego 20
45 Ferramentas de Simulaccedilatildeo 21
46 Acompanhamento de Simulaccedilatildeo 24
51 Diagrama de Pacotes 26
52 Arquitetura da Aplicaccedilatildeo 26
53 Diagrama de BD 27
54 Classes de Criaccedilatildeo da Tela 28
55 Diagrama de Classes Functions 29
56 Diagrama de Classes de Cliente 30
57 Diagrama de Classes do Servidor 31
A1 Tela Principal 35
A2 Criaccedilatildeo de Roteador 36
A3 Adicionar um novo link entre roteadores 36
A4 Remover um roteador jaacute existente 36
A5 Editar roteador jaacute criado 37
A6 Importar e Exportar em XML 37
vii
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
A7 Rede Simples Modelada 38
A8 Arquivo XML Exemplo 38
A9 Manter Chamadas 39
A10 Executar Simulaccedilatildeo 39
A11 RWA Personalizado 40
viii
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Lista de Tabelas
31 Elementos XML do WDMSim 14
41 Campos de conguraccedilatildeo de Roteadores 19
42 Campos de conguraccedilatildeo de Enlace 20
43 Campos de conguraccedilatildeo de Chamada 20
44 Campos presentes ao ser requisitar uma simulaccedilatildeo 21
45 Eventos registrados no arquivo de trace 22
46 Atalhos do Sistema 24
51 Serviccedilos REST Disponiacuteveis 27
52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos 28
ix
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Lista de Abreviaturas
BBR Bandwidth Blocking Rate
BP Blocking Probability
COS Class Of Service
CSS Cascading Style Sheets
ECSA Exchange Carriers Standards Association
FDM Frequency Division Multiplexing
FF First Fit
FTTH Fiber To The Home
GWT Google Web Toolkit
HTML HyperText Markup Language
JSON JavaScript Object Notation
LED Light Emitting Diode
LU Least Used
MBBR Mean Bandwidth Blocking Rate
MBP Mean Blocking Probability
MU Most Used
MVP Model-View-Presenter
Ns-2 Network Simulator 2
OPNET Optimized Network Engineering Tools
x
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
OTCL Object oriented Tool Command Language
OXC Optical Cross-Connect
REST Representational State Tranfer
RPC Remote Procedure Call
RWA Routing and Wavelenght Assignment
SONET Synchronous Optical Network
TCPIP Transfer Control Protocol Internet Protocol
TMD Tempo Meacutedio de Duraccedilatildeo
WDM Wavelenght Division Multiplexing
WLCR Weighted Least-Congestion Routing
WRS Wavelength-Routing Switch
XML eXtensible Markup Language
xi
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Capiacutetulo 1
Introduccedilatildeo
As redes de comunicaccedilatildeo de dados digitais apresentam um importante papel para a
sociedade atualmente permitindo um grande uxo de informaccedilotildees Elas estatildeo presentes
cada vez mais no dia a dia das pessoas e suas aplicaccedilotildees incluem telefonia raacutedio televisatildeo
a Internet entre outras
A Internet tem destaque dentre as redes devido agraves suas inuacutemeras possibilidades de
serviccedilos Diversos dispositivos com capacidades de conexatildeo se ligam agrave rede sob os mesmos
padrotildees de comunicaccedilatildeo Redes globais nacionais locais corporativas e redes moacuteveis se
aglomeram e constroem a rede como um todo Dentro desse conjunto de tecnologias
responsaacuteveis pela transmissatildeo de dados se destaca a tecnologia oacuteptica[9]
A tecnologia oacuteptica eacute notoacuteria pela sua grande capacidade de transmissatildeo Em 2002
uma rede oacuteptica intercontinental de 250 mil quilocircmetros foi criada com a capacidade de
256 Tbs e desde entatildeo diversos laudos apontam que a conectividade aumentou drastica-
mente a partir de 2004 O recorde atual de transmissatildeo eacute de 1 petabit (1000 terabit) por
segundo sobre um bra de 524 Km com 12 nuacutecleos[11] Novas tecnologias de FTTH(Fiber
To The Home) podem prover acima de 100 Mbs de conexatildeo de internet entre o provedor
e uma rede domeacutestica local [4]
Informaccedilotildees sobre a evoluccedilatildeo da Internet relatam que de 1995 a 2011 o nuacutemero
de usuaacuterios da Internet saltou de 3914 milhotildees para 227 bilhotildees Grande parte dessa
evoluccedilatildeo eacute devido ao desenvolvimento das tecnologias de bra oacuteptica[14]
Para prover formas de se avaliar e melhorar o projeto de redes oacutepticas eacute preciso
ferramentas que auxiliem os caacutelculos de desempenho e permitam elaborar as melhores
estrateacutegias para a implementaccedilatildeo da estrutura da rede
A avaliaccedilatildeo de desempenho de sistemas pode ser realizada atraveacutes de trecircs meacutetodos
analiacutetico mediccedilatildeo e simulaccedilatildeo Devido agrave complexidade dos ambientes de redes de com-
putadores em geral natildeo eacute possiacutevel modelaacute-los analiticamente de maneira precisa Aleacutem
disso a implementaccedilatildeo de ambientes reais de testes (testbeds) muitas vezes eacute inviaacutevel
1
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
por questotildees de custo e de disponibilidade Devido a isso o meacutetodo de simulaccedilatildeo eacute am-
plamente utilizado pela comunidade cientiacuteca de redes de computadores para avaliar as
soluccedilotildees propostas
Esta monograa apresenta a implementaccedilatildeo de uma interface graacuteca para o simulador
de redes oacutepticas com multiplexaccedilatildeo por divisatildeo de comprimento de onda o WDMSim [5]
11 Motivaccedilatildeo
Este projeto doWWSim tem como motivaccedilatildeo a construccedilatildeo e descriccedilatildeo de uma interface
graacuteca web para o simulador de redes oacutepticas WDMSim A facilidade de interaccedilatildeo com o
usuaacuterio que modela e avalia a rede eacute tida como essencial pois permite que o simulador seja
usado com propoacutesito didaacutetico O simulador pode ser utilizado para ilustrar os conceitos
de redes oacutepticas WDM tais como caminho oacuteptico agregaccedilatildeo de traacutefego e roteamento e
alocaccedilatildeo de comprimento de onda
12 Objetivos
121 Objetivo Geral
Proporcionar a implementaccedilatildeo e validaccedilatildeo de uma interface graacuteca Web capaz de gerar
e modelar redes oacutepticas WDM
122 Objetivos Especiacutecos
bull Automatizar a geraccedilatildeo de arquivo de paracircmetro de entrada para o simulador WDM-
Sim
bull Permitir a execuccedilatildeo remota de simulaccedilatildeo de rede modelada em interface graacuteca
bull Permitir o acesso a arquivos de resultados como estatiacutesticas e arquivo de trace com
eventos da simulaccedilatildeo
13 Organizaccedilatildeo da Monograa
A organizaccedilatildeo do restante desta monograa estaacute a seguir
O Capiacutetulo 2 apresenta alguns conceitos mais relevantes nos quais o simulador de
redes se baseia O capiacutetulo inclui explicaccedilotildees sobre o funcionamento das redes oacutepticas e
tambeacutem dene o conceito de RWA (Routing Wavelength Assignment) que eacute responsaacutevel
2
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
pela atribuiccedilatildeo de comprimentos de onda e de rotas aos uxos recebidos por um dispositivo
OXC(Optical Cross-Connect)
O Capiacutetulo 3 mostra o funcionamento e os princiacutepios que guiam o WDMSim projeto
de simulador desenvolvido em Java que busca simular as redes oacutepticas utilizando eventos
discretos O capiacutetulo mostra os paracircmetros e arquivos de entrada e de saiacuteda gerados pelo
simulador
O Capiacutetulo 4 apresenta os requisitos do sistema funcionalidades do sistema desenvol-
vido e incluem os casos de uso pensados para os sistema Os casos de uso descritos visam
descrever a melhor experiecircncia do usuaacuterio em relaccedilatildeo ao uso do programa
O Capiacutetulo 5 mostra a arquitetura pensada para o programa e o projeto de desen-
volvimento seguido O capiacutetulo apresenta decisotildees tomadas durante a implementaccedilatildeo
do projeto com o objetivo de melhorar fatores de qualidade como manutenibilidade e
interoperabilidade
O Capiacutetulo 6 mostra o que se pocircde extrair deste trabalho e propostas de trabalhos
futuros No capiacutetulo estatildeo descritos possiacuteveis expansotildees do simulador e possibilidades de
uso
3
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Capiacutetulo 2
Fundamentos em Redes Oacutepticas WDM
Este capiacutetulo apresenta os fundamentos em que se baseou a criaccedilatildeo e implementaccedilatildeo
do simulador WWSim aleacutem de uma contextualizaccedilatildeo sobre o uso e difusatildeo das redes
oacutepticas
21 Contextualizaccedilatildeo das Redes WDM
No iniacutecio da utilizaccedilatildeo da Internet certas empresas de comunicaccedilatildeo que mantinham
redes de telecomunicaccedilatildeo as utilizavam para suportar o serviccedilo de telefonia em paralelo
ao serviccedilo de Internet A infraestrutura utilizada o cobre era suscetiacutevel a interferecircncias
eleacutetricas e apresentava grande limitaccedilatildeo em termos de banda
Dadas as limitaccedilotildees do cobre o teste de redes oacutepticas se difundiu e um padratildeo foi
criado o SONET (Synchronous Optical Network) Criado pela ECSA(Exchange Carrier
Standards Association) em conjunto com a Bellcore o padratildeo dene o protocolo para
a transferecircncia de uxos de bit sobre um canal oacuteptico com o uso de lasers ou diodos
emissores de luz (LEDs)
Tecnologias de Multiplexaccedilatildeo por comprimento de onda foram criadas para permi-
tir que haja transmissatildeo simultacircnea com o uso de diferentes faixas do espectro Essa
tecnologia permite que um seletor de remodulaccedilatildeo receba um sinal WDM de entrada
selecione um canal oacuteptico especiacuteco e posicione os dados do canal em um novo canal de
saiacuteda gerado[2] Isso expande imensamente as possibilidades de transmissatildeo de um canal
oacuteptico
Houve a criaccedilatildeo de novos comutadores para comprimentos de onda os OXC (Optical
Cross-connect) capazes de interligar bras oacutepticas de maneira transparente isso permitiu
o surgimento de rede de salto uacutenico (Single Hop) cujo uxo pode atravessar toda a
rede sem ser necessaacuteria a comutaccedilatildeo eletrocircnica entre noacutes intermediaacuterios Fibras oacutepticas
e multiplexaccedilatildeo por comprimento de onda se mostraram tecnologias promissoras que
4
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
possuem expectativa de satisfazer a necessidade de banda passante requisitada atualmente
pela Internet
Figura 21 Optical Cross-Connect (OXC) com trecircs comprimentos de onda por bra [6]
22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
Em tecnologia oacuteptica Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda (do Inglecircs
Wavelength Division-Multiplexing) eacute a tecnologia que agrupa um nuacutemero de sinais de
portadores oacutepticos em uma uacutenica bra oacuteptica com o uso de diferentes comprimentos de
onda de feixes de laser A teacutecnica permite comunicaccedilatildeo bidirecional sobre um cabo de uma
bra e tambeacutem multiplicaccedilatildeo da capacidade O termo WDM eacute aplicado a um portador
oacuteptico ou comprimento de onda O termo FDM (Frequency Division Multiplexing) natildeo
eacute aplicado por remeter a um portador de raacutedio Ambos os termos se relacionam devido agrave
relaccedilatildeo em que o comprimento de onda multiplicado pela frequecircncia eacute igual agrave velocidade
da luz
A tecnologia WDM utiliza um multiplexador no agente transmissor para agrupar os
sinais na bra e no agente receptor utiliza um demultiplexador para dividir as diferentes
portadoras A gura 22 ilustra os conceitos de multiplexador e demultiplexador utilizados
para realizar a divisatildeo de canais em faixas de comprimentos de onda Tal conceito foi
publicado em 1978 e utilizava 2 sinais combinados Sistemas mais recentes consegue lidar
com ateacute 160 sinais[3]
23 Caminho Oacuteptico
A transparecircncia das redes oacutepticas traz agrave tona o problema de roteamento e alocaccedilatildeo
de comprimentos de onda jaacute que para que haja a conexatildeo eacute preciso a atribuiccedilatildeo de uma
faixa dedicada de espectro o chamado caminho oacuteptico (do Inglecircs lightpath) Os caminhos
oacutepticos satildeo uxos que utilizam um comprimento de onda atribuiacutedo permitindo que o
5
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 22 Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
traacutefego de dados ua de forma transparente Um caminho oacuteptico trata-se do conjunto da
rota (sequecircncia de enlaces de bra) e o comprimento de onda alocado [15]
Caso o respectivo comprimento esteja ocupado o uxo pode ser submetido a uma
conversatildeo oacuteptico-eleacutetrica que atribui outro comprimento de onda disponiacutevel ou pode ser
submetido a agregaccedilatildeo de traacutefego Tal conversatildeo representa um custo maior em termos
de processamento e de tempo e por isso deve ser evitado para maximizar a vazatildeo da
rede
A gura 23 ilustra a atribuiccedilatildeo de caminhos oacutepticos Dado que cada caminho oacuteptico
recebe um faixa de onda onde pode operar (representado pelas diferentes cores) a atri-
buiccedilatildeo de determinada faixa a um caminho oacuteptico iraacute depender da topologia de rede eou
do uxo de dados que trafegam por ela
24 Topologia Fiacutesica e Virtual
Em uma rede WDM roteada por comprimento de onda um caminho oacuteptico pode ser
estabelecido do roteador fonte ateacute o destino e pode se estender por vaacuterios enlaces sem a
necessidade de sair do meio oacuteptico e portanto sobrepassa os noacutes intermediaacuterios O uso
6
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 23 Ilustraccedilatildeo anaacuteloga agrave atribuiccedilatildeo de caminhos oacutepticos
de comutadores oacutepticos WRSs (do Inglecircs Wavelength-Routing Switches) em roteadores
intermediaacuterios permite criar roteadores logicamente vizinhos ou virtuais a partir de uma
topologia fiacutesica onde tais roteadores estatildeo geogracamente distantes[15]
O conjunto de tais enlaces virtuais eacute chamado de topologia virtual e depende es-
tritamente de um algoritmo de roteamento e alocaccedilatildeo de comprimento de onda (RWA
discutido na seccedilatildeo 27) para serem estabelecidos de forma eciente que otimize o uso dos
recursos de rede
O conjunto de enlaces onde os roteadores estatildeo sicamente conectados eacute chamado de
topologia fiacutesica natildeo depende do algoritmo RWA e pode ser representada como um grafo
ponderado
Figura 24 O uso de caminhos oacutepticos permite a criaccedilatildeo de enlaces virtuais
7
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
25 Agregaccedilatildeo de Traacutefego
O uso dedicado de um comprimento de onda para determinado uxo representa um
grande desperdiacutecio do potencial uso do comprimento de onda pois parte dos traacutefegos satildeo
de baixa velocidade (Subwavelength Trac)
Para a atenuaccedilatildeo desse problema utiliza-se a agregaccedilatildeo de traacutefego que propotildee que
os uxos sejam agregados em comprimentos de onda para que haja poucas despesas adi-
cionais relacionadas agrave conversatildeo opto-eleacutetrica Os caminhos oacutepticos satildeo reutilizados para
encaminhar os traacutefegos de baixa velocidade sem necessidade de criar um novo caminho
oacuteptico
26 Conversatildeo de Comprimento de Onda
As restriccedilotildees de continuidade de comprimento de onda podem ser atenuadas se os
equipamentos contiverem conversores de comprimento de onda Os conversores transferem
um sinal de entrada para um comprimento diferente de saiacuteda A gura 24 mostra os tipos
de conversotildees de comprimento de onda que um OXC pode realizar
Figura 25 Tipos de conversatildeo de Comprimento de Onda[6]
27 Roteamento e Alocaccedilatildeo de Comprimentos de Onda
A decisatildeo de qual caminho oacuteptico seguir cabe ao algoritmo de roteamento e alocaccedilatildeo de
comprimento de onda (do Inglecircs Routing Wavelength Assignment ou RWA) O algoritmo
RWA pode levar em consideraccedilatildeo informaccedilotildees da topologia da rede da disponibilidade
ou capacidade de determinado canal
Vaacuterios algoritmos jaacute foram denidos e descritos para o problema do roteamento e
alocaccedilatildeo de comprimento de onda
8
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Para roteamento estaacutetico o algoritmo de Dijkstra apresenta bons resultados e levam
em consideraccedilatildeo a estrutura de grafo ponderado da rede e determina o menor caminho
de forma otimizada [13]
Para roteamento dinacircmico o algoritmo WLCR(Weighted Least-Congestion Routing) eacute
uma alternativa pois leva em consideraccedilatildeo o estado de congestionamento de determinado
link para tomar decisotildees quanto ao caminho [12]
Para alocaccedilatildeo de comprimento de onda destacam-se os algoritmos First-Fit(FF)
Least-Used(LU) e oMost-Used(MU) O algoritmo First-Fit busca o primeiro comprimento
de onda disponiacutevel seguindo a uma ordem sequencial O algoritmo Least-Used busca o
comprimento de onda menos usado para balancear o uso comprimentos disponiacuteveis E
o algoritmo Most-Used reuacutesa os comprimentos mais utilizados para restringir ao menor
nuacutemero de canais[12]
28 Traacutefego em Redes Oacutepticas
Em redes oacutepticas WDM com comutaccedilatildeo por circuito caminhos oacutepticos satildeo estabele-
cidos e terminados na medida da necessidade da alocaccedilatildeo de recursos para o atendimento
das demandas das redes clientes Nesse contexto uma unidade de demanda eacute representada
por uma requisiccedilatildeo de conexatildeo ou chamada Comumente uma chamada inclui a deniccedilatildeo
de um noacute de origem um noacute de destino e a quantidade de banda passante requisitada Eacute
responsabilidade do plano de controle da rede alocar recursos (caminhos oacutepticos) para o
atendimento de uma chamada
Em simuladores de redes oacutepticas as demandas por conexatildeo satildeo geralmente simuladas
utilizando o mesmo modelo aplicado em redes telefocircnicas ou seja utilizando um processo
estocaacutestico chamado Poisson O processo de Poisson dene uma distribuiccedilatildeo de chegadas
de requisiccedilatildeo na qual o tempo meacutedio de duraccedilatildeo das chamadas eacute normalmente modelado
por uma distribuiccedilatildeo exponencial negativa
A taxa meacutedia de chegada de chamadas eacute denida a partir da carga imposta agrave rede
medida em Erlang A carga pode ser denida como E = TtimesD onde E eacute a carga (Erlang)
T eacute a taxa meacutedia de chegada e D eacute o tempo meacutedio de duraccedilatildeo das chamadas Para cada
simulaccedilatildeo deve-se denir as variaacuteveis E e D de forma que a taxa de chegada possa ser
calculada
Dessa forma pode-se realizar a simulaccedilatildeo de traacutefego em redes oacutepticas variando-se os
cenaacuterios de carga e tambeacutem a quantidade de banda passante requisitada Tipicamente
em uma simulaccedilatildeo dene-se um conjunto de granularidades de banda passante que carac-
terizem um determinado cenaacuterio de traacutefego e satildeo executadas vaacuterias simulaccedilotildees de forma
a obter-se um conjunto de resultados referentes a um intervalo de carga de interesse
9
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
29 Probabilidade de Bloqueio e Taxa de Bloqueio de
Banda
Uma das meacutetricas relevantes para se avaliar um rede oacuteptica eacute a probabilidade de
bloqueio (do Inglecircs Blocking Probability) A medida eacute denida como a razatildeo entre
o nuacutemero de chamadas aceitas e o nuacutemero total de chamadas Para se atingir uma
baixa razatildeo de probabilidade de bloqueio eacute preciso solucionar conitos e complicaccedilotildees
relacionados agrave agregaccedilatildeo de traacutefego discutidos anteriormente
Outra meacutetrica relevante para avaliaccedilatildeo de redes oacutepticas eacute a Taxa de Bloqueio de Banda
(do Inglecircs Bandwidth Blocking Rate) A medida eacute denida como a razatildeo de traacutefego
bloqueado sobre o total de banda passante requisitada durante determinado tempo de
uma simulaccedilatildeo O resultado da meacutetrica iraacute depender do algoritmo de soluccedilatildeo do problema
de agregaccedilatildeo dinacircmica de traacutefego
210 Simuladores de Redes
O estudo e avaliaccedilatildeo de sistemas em redes de comunicaccedilatildeo eacute viabilizado em parte pelo
uso de simuladores Para simuladores de traacutefego pode-se citar o NS2(Network Simulator
2 ) e o OPNET(Optimized Network Engineering Tools)
NS2 eacute um simulador de eventos discretos com foco em pesquisa de rede NS2 apresenta
suporte para simulaccedilotildees em TCP roteamento protocolos multicast sobre rede com e sem
o[1] Os paracircmetros de entrada do NS2 exigem do usuaacuterio tenha domiacutenio da linguagem
interpretada OTCL (Object oriented Tool Command Language) para a correta descriccedilatildeo
da simulaccedilatildeo
A proposta do OPNET diferentemente eacute oferecer um ambiente de simulaccedilatildeo de redes
com modelagem visual para permitir ser utilizado para planejamento de capacidade e
tambeacutem para gerenciamento de desempenho de aplicaccedilatildeo A sua licenccedila paga permite
melhorar o desempenho de tecnologias comerciais
10
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Capiacutetulo 3
Simulador WDMSim
Em 2008 um simulador de redes oacutepticas foi implementado com o objetivo de avaliar
os algoritmos de agregaccedilatildeo de traacutefego citados no capiacutetulo 2 o chamado WDMSim O
simulador foi uma das contribuiccedilotildees da tese de doutorado Agregaccedilatildeo de Traacutefego em Redes
Oacutepticas com Multiplexaccedilatildeo por Comprimento de Onda[7] O WDMSim conforme citado
pelo autor contribuiu com a avaliaccedilatildeo criacutetica dos algoritmos de agregaccedilatildeo dinacircmica de
traacutefego em redes oacutepticas WDM propostos na tese
Este capiacutetulo descreve a estrutura desse simulador Cabe ressaltar que os elementos
descritos neste capiacutetulo natildeo foram contribuiccedilotildees da monograa mas sim de estudos ante-
riores descritos em maior detalhe na tese Agregaccedilatildeo de Traacutefego em Redes Oacutepticas com
Multiplexaccedilatildeo por Comprimento de Onda[7]
Pensado e desenvolvido em Java o simulador de redes oacutepticas WDMSim utiliza eventos
discretos para simular os eventos de uma rede oacuteptica WDM Suas capacidades incluem
simular chegadas e partidas de requisiccedilotildees em uma rede oacuteptica WDM com capacidade de
se denir o algoritmo de agregaccedilatildeo de traacutefego conforme descrito na seccedilatildeo 25 e 27
Como jaacute reforccedilado na seccedilatildeo 25 o aprimoramento na alocaccedilatildeo de recursos de uma rede
oacuteptica eacute realizado primordialmente atraveacutes da escolha do algoritmo de RWA Por essa
razatildeo eacute fundamental dar ao usuaacuterio a opccedilatildeo de selecionar ou indicar qual o algoritmo que
seraacute usado durante a simulaccedilatildeo Assim sendo o WDMSim foi concebido para receber como
paracircmetro de simulaccedilatildeo um moacutedulo RWA que conteacutem uma implementaccedilatildeo de algoritmo
RWA a ser usado na simulaccedilatildeo
31 Algoritmo RWA
O simulador foi pensado para receber um paracircmetro denido pelo usuaacuterio que iraacute
conter a deniccedilatildeo do algoritmo de agregaccedilatildeo o Moacutedulo RWA Tal paracircmetro eacute passado
como uma classe Java que implementa a interface RWA A gura 31 apresenta a assinatura
11
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
dos meacutetodos que o moacutedulo RWA deve implementar para realizar a efetiva agregaccedilatildeo do
traacutefego
pub l i c i n t e r f a c e RWA
pub l i c void f l owAr r i va l ( Flow f low )
pub l i c void f lowDeparture ( long id )
pub l i c void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
Figura 31 Meacutetodos denidos pela interface RWA
Tal interface pensada para ser simples ao usuaacuterio conteacutem os meacutetodos que o simulador
iraacute invocar para tomar decisotildees quanto agrave aceitaccedilatildeo e ao bloqueio das chamadas geradas
A interface lida com a chegada e partida de uxos[5 7]
O meacutetodo simulationInterface eacute o meacutetodo de inicializaccedilatildeo da classe RWA Conforme
mostrado o meacutetodo passa agrave classe a topologia fiacutesica e virtual da rede simulada e um
objeto com os comandos de controle do uxo de dados
O meacutetodo owArrival eacute chamado quando haacute a chegada de um novo uxo de dados O
paracircmetro Flow eacute o objeto que conteacutem as informaccedilotildees do uxo de dados que vai de um
noacute fonte ateacute um noacute de destino
O meacutetodo owDeparture eacute chamado quando haacute a partida de um uxo de dados O
paracircmetro id eacute o identicador do uxo que iraacute partir
32 Paracircmetro de Simulaccedilatildeo XML
O simulador foi primeiramente proposto para ser executado em Java por meio de
linha de comando Devido a isso percebe-se certa diculdade em relaccedilatildeo agrave execuccedilatildeo e agrave
passagem dos corretos paracircmetros ao simulador
Dentre os paracircmetros o principal eacute um arquivo de conguraccedilatildeo em formato XML
Tal arquivo deve conter as especicaccedilotildees de topologia fiacutesica da rede oacuteptica a ser simulada
pelo programa A gura 32 indica os paracircmetros passados e os resultados gerados pelo
simulador
A tabela 31 apresenta os elementos e tags XML usados para representar os compo-
nentes de uma simulaccedilatildeo a ser passada para o WDMSim
A gura 33 apresenta um exemplo de arquivo de paracircmetros da topologia da simulaccedilatildeo
assim como as informaccedilotildees das chamadas e o nome do moacutedulo RWA
12
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 32 Diagrama do uxo de dados do simulador WDMSim
ltwdmsim version= 01 gtltrwa module=MyRWAgtltt r a f f i c c a l l s=10000 load=100 maxminusra t e=192gtltc a l l s holdingminustime=1 ra t e=1 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=3 cos=1 weight=1gtltc a l l s holdingminustime=1 ra t e=12 cos=1 weight=1gt
lt t r a f f i cgtltphys ica lminustopology name=Network wavelengths=8gtltnodesgtltnode id=0 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=1 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnode id=2 groomingminusinminusport s=16 groomingminusoutminusport s=16wlconver t e r s=4 wlconvers ionminusrange=2gt
ltnodesgtltl i n k sgtltl i nk source=0 de s t i n a t i on=1 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=1 de s t i n a t i on=0 delay= 2 5 bandwidth=192 weight=500gtltl i nk source=0 de s t i n a t i on=2 delay= 375 bandwidth=192 weight=750gtltl i nk source=2 de s t i n a t i on=0 delay= 375 bandwidth=192 weight=750gtltl i nk source=1 de s t i n a t i on=2 delay=5 bandwidth=192 weight=1000gtltl i nk source=2 de s t i n a t i on=1 delay=5 bandwidth=192 weight=1000gt
lt l i n k sgtlt phys i ca lminustopologygt
ltwdmsimgt
Figura 33 Exemplo de arquivo XML de Entrada
33 Resultado da Simulaccedilatildeo
Como resultado o programa imprime em tela as principais meacutetricas de rede coletadas
ao longo da simulaccedilatildeo Dentre essas meacutetricas se encontram a probabilidade meacutedia de
bloqueio (do inglecircs Mean Blocking Probability ou MBP) a meacutedia de bloqueio de banda
passante (do inglecircs Mean Blocking Bandwidth Rate ou MBBR) e tambeacutem o nuacutemero de
chamadas criadas entre os noacutes da topologia
O programa eacute capaz tambeacutem de gerar um arquivo de trace que conteacutem os eventos
gerados pelo simulador para coletar os paracircmetros de rede A gura 34 conteacutem um
exemplo de arquivo de trace gerado pelo WDMSim No arquivo eacute possiacutevel visualizar
os eventos relacionados agrave criaccedilatildeo chegada partida e ao bloqueio de uxos de dados
13
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Elemento Atributos Descriccedilatildeowdmsim version Descreve os componentes de
uma simulaccedilatildeorwa module Conteacutem o nome do moacutedulo
RWA a ser usado na simula-ccedilatildeo
trac calls load max-rate Conteacutem as informaccedilotildees dotraacutefego
calls holding-time ratecos weight
Caracteriza uma chamada aser simulada
physical-topology
name wavelengths Descreve a topologia fiacutesicada rede
nodes - Conteacutem os roteadores da to-pologia fiacutesica
node id grooming-in-ports grooming-out-ports wlconverterswlconversion-range
Elemento que caracteriza aentidade roteador oacuteptico
links - Conteacutem os enlaces da topo-logia de rede
link source destinationdelay bandwidthweight
Representa um enlace darede
virtual-topology
- Conteacutem as informaccedilotildees datopologia virtual
Tabela 31 Elementos presentes em um arquivo XML de conguraccedilatildeo
Tambeacutem eacute possiacutevel visualizar os eventos de criaccedilatildeo e remoccedilatildeo de caminhos oacutepticos
f lowminusaccepted minus 7 4 13 10000 0 1 7flowminusa r r i v ed 0046460320449569575 8 3 9 5000 0 1l ightpathminusc reated 8 3 9 14_0flowminusdeparted 005027616411721965 4 minus minus minus minus minusl i ghtpathminusremoved 4 2 6 10_0 17_0 18_0
Figura 34 Exemplo de arquivo de Trace de Eventos
14
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Capiacutetulo 4
Funcionalidades do WWSim
Este capiacutetulo apresenta as principais funcionalidades e casos de uso concebidos para
a implementaccedilatildeo da interface graacuteca O capiacutetulo apresenta tambeacutem certos requisitos de
arquitetura do sistema implementado
O WWSim deve englobar todas as funcionalidades jaacute implementadas pelo WDMSim
e dar continuaccedilatildeo ao jaacute implementado e descrito no capiacutetulo 3 A interface RWA jaacute
idealizada e denida em trabalhos anteriores foi utilizada na implementaccedilatildeo do WWSim
para estender a funcionalidade do WDMSim de permitir ao usuaacuterio implementar o proacuteprio
algoritmo RWA em Java conforme descrito na seccedilatildeo 31
41 Interface Graacuteca Web
Uma interface para um simulador de redes representa um desao em complexidade de
representaccedilatildeo graacuteca e de funcionalidades de simulaccedilatildeo Essas caracteriacutesticas devem se
integrar para proporcionar uma melhor experiecircncia ao usuaacuterio da aplicaccedilatildeo
A interface foi escolhida para ser executada em browser Essa escolha eacute tomada devido
agrave universalidade de plataformas que o HTML (HiperText Markup Language) Javascript
e o CSS (Cascading Style Sheets) proporcionam dado que satildeo padrotildees jaacute consolidados na
criaccedilatildeo de paacuteginas web A interface funcionaraacute como um tradutor da rede modelada pelo
usuaacuterio e o arquivo XML necessaacuterio para o funcionamento da simulaccedilatildeo conforme descrito
na seccedilatildeo 32
42 Servidor de Simulaccedilatildeo
O servidor da aplicaccedilatildeo deve ser capaz de receber os dados passados pela interface
graacuteca O uso de serviccedilos web eacute uma escolha viaacutevel para esse tipo de aplicaccedilatildeo pois
15
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
permite agrave interface graacuteca lidar somente com aspectos de visualizaccedilatildeo e deixar a execu-
ccedilatildeo da simulaccedilatildeo e recebimento dos paracircmetros ao servidor da aplicaccedilatildeo A gura 41
esquematiza a implementaccedilatildeo da arquitetura da aplicaccedilatildeo
O servidor de simulaccedilatildeo deve apresentar mecanismos de controle de concorrecircncia pois
o sistema deve ser multiusuaacuterio
O servidor deve tambeacutem utilizar a implementaccedilatildeo do WDMSim desenvolvida como
contribuiccedilatildeo da tese descrita no capiacutetulo 3 sem realizar grandes alteraccedilotildees no coacutedigo
implementado algo similar a uma caixa-preta
Figura 41 Esquema de serviccedilo web requerido
43 Requisitos
A camada graacuteca precisa prover certos recursos essenciais para a realizaccedilatildeo de uma
simulaccedilatildeo correta Para isso foram pensadas certas funcionalidades que buscam solucio-
nar a questatildeo da interaccedilatildeo com o usuaacuterio com a aplicaccedilatildeo Todas elas possuem como ator
o usuaacuterio
431 Manipulaccedilatildeo de Arquivos XML
O simulador deve conter opccedilotildees que permitam manipular os arquivos XML Um menu
com a opccedilatildeo Arquivo deve estar disponiacutevel para realizar tais funccedilotildees A gura 42
apresenta os casos de uso de manipulaccedilatildeo de arquivos
16
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 42 Casos de Uso para Manipulaccedilatildeo de Arquivo XML
Nova Simulaccedilatildeo
A opccedilatildeo novo reinicia dados do simulador e permite ao usuaacuterio iniciar os novos pa-
racircmetros do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em
Arquivo -gt Novo no menu principal da aplicaccedilatildeo A criaccedilatildeo de uma simulaccedilatildeo corres-
ponde analogamente agrave criaccedilatildeo de um elemento wdmsim conforme descrito na tabela
31
Abrir Simulaccedilatildeo
A opccedilatildeo de abrir simulaccedilatildeo deve conseguir ler e interpretar um arquivo de conguraccedilatildeo
XML passado pelo usuaacuterio Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia
da rede deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que
simularatildeo o traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees
o simulador gera um topologia graacuteca equivalente aos dados passados e permite assim
executar a simulaccedilatildeo
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Abrir no
menu principal
Salvar Simulaccedilatildeo
A opccedilatildeo de salvar simulaccedilatildeo deve conseguir gerar um arquivo XML com conguraccedilotildees
da simulaccedilatildeo Dentre as informaccedilotildees contidas no arquivo estatildeo a topologia da rede
deniccedilatildeo de noacutes da rede e seus atributos e as chamadas de pacotes de dados que simularatildeo o
traacutefego na rede conforme descrito na seccedilatildeo 32 A partir de tais informaccedilotildees o simulador
gera um topologia graacuteca equivalente aos dados passados e permite assim executar a
simulaccedilatildeo
17
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Arquivo -gt Salvar
presente no menu principal
432 Ferramentas de Ediccedilatildeo
Ferramentas de ediccedilatildeo devem estar disponiacuteveis ao usuaacuterio para tornar mais faacutecil a
atualizaccedilatildeo do estado da topologia de rede visiacutevel ao usuaacuterio A gura 43 apresenta os
casos de uso da ediccedilatildeo dos elementos da rede a ser modelada
Figura 43 Casos de uso das ferramentas de ediccedilatildeo
Novo Roteador
A funcionalidade novo roteador faz parte da barra de ferramentas do simulador posi-
cionada na lateral esquerda da tela Ela serve para criar um novo roteador na rede com
as conguraccedilotildees padratildeo de um roteador oacuteptico A criaccedilatildeo de um roteador corresponde
analogamente agrave criaccedilatildeo de um elemento node conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Novo Enlace
A funcionalidade novo enlace ajuda o usuaacuterio a criar um novo elo entre os noacutes da rede
Para criaacute-lo basta selecionar dois noacutes e apertar o botatildeo de novo link A criaccedilatildeo de um
enlace corresponde agrave criaccedilatildeo de um elemento link conforme descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
18
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Remover Roteador
A funcionalidade remover noacute deleta um noacute da rede e suas conexotildees Para usar basta
selecionar o noacute desejado e acionar o botatildeo de remover A remoccedilatildeo de um roteador equivale
agrave remoccedilatildeo loacutegica de um elemento node
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Roteador
A funcionalidade editar roteador permite selecionar um noacute da rede e modicar suas
conguraccedilotildees Ao se selecionar um noacute e clicar a opccedilatildeo editar Noacute uma caixa de diaacutelogo
aparece e mostra as caracteriacutesticas do noacute a serem modicadas
A tabela 41 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um roteador
da rede A conguraccedilatildeo e ediccedilatildeo de tais campos equivalem agrave ediccedilatildeo dos campos do
elemento node conforme descrito na tabela 31
Campo DescriccedilatildeoId Nuacutemero identicador de um noacute
Agregaccedilatildeo Tipo de agregaccedilatildeo que o noacute realizaAgregaccedilatildeo de entrada Paracircmetro que indica a capacidade de entradaAgregaccedilatildeo de saiacuteda Paracircmetro que indica a capacidade de saiacuteda
Conversor de comprimento Paracircmetro que indica a capacidade de conversatildeoIntervalo de conversatildeo Paracircmetro que indica o quanto o comprimento pode variar
Tabela 41 Campos de conguraccedilatildeo de Roteadores
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo na barra de ferramentas
ou pelo respectivo atalho descrito na seccedilatildeo 441
Editar Enlaces
A funcionalidade editar links presentes permite alteraacute-los e removecirc-los Para isso o
usuaacuterio seleciona o noacute ao qual o links eacute relacionado e seleciona a opccedilatildeo editar links
A tabela 42 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de um enlace
da rede A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento link conforme
descrito na tabela 31
O caso de uso eacute acionado quando o usuaacuterio clica na opccedilatildeo no painel de ediccedilatildeo ou na
caixa de diaacutelogo aberta ao se editar um noacute
19
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Campo DescriccedilatildeoId Nuacutemero identicador do linkDe Indica a origem do linkPara Indica o destino do linkAtraso Indica o atraso do link em 1 msKmPeso Indica o peso do link para ponderaccedilatildeo da rede
Largura de Banda Indica a capacidade do link em banda
Tabela 42 Campos de conguraccedilatildeo de Enlace
433 Cenaacuterio de Traacutefego
A funcionalidade manter chamadas presentes permite adicionar alterar remover cha-
madas de pacotes na simulaccedilatildeo A gura 44 apresenta os casos de uso da ediccedilatildeo do
cenaacuterio de traacutefego
Figura 44 Possibilidades de Ediccedilatildeo do cenaacuterio de Traacutefego
A tabela 43 apresenta os campos que devem estar disponiacuteveis agrave ediccedilatildeo de uma cha-
mada da simulaccedilatildeo A ediccedilatildeo de tais campos deve ser equivalente agrave ediccedilatildeo do elemento
calls conforme descrito na tabela 31
Campo DescriccedilatildeoTaxa Velocidade de transmissatildeo da chamada
Classe de Serviccedilo (COS) Indica a classe de serviccedilo ao qual uma chamada pertencePeso Indica a ponderaccedilatildeo ao qual a chamada estaacute submetida
Tempo Meacutedio de Duraccedilatildeo Indica o tempo meacutedio de realizaccedilatildeo da chamada
Tabela 43 Campos de conguraccedilatildeo de Chamada
20
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
O caso de uso eacute acionado quando o usuaacuterio utiliza o painel de ediccedilatildeo lateral O botatildeo
de adicionar presente no painel cria uma chamada com valores padratildeo o botatildeo de excluir
o remove da lista e eacute possiacutevel alterar os valores da chamada na lista
434 Ferramentas de Simulaccedilatildeo
Ferramentas de simulaccedilatildeo devem estar disponiacuteveis para tornar viaacutevel a manipulaccedilatildeo
de paracircmetros de carga e de execuccedilatildeo da simulaccedilatildeo A gura 45 mostra os casos de uso
das ferramentas de simulaccedilatildeo
Figura 45 Casos de Uso das Ferramentas de Simulaccedilatildeo
Executar Simulaccedilatildeo
O simulador deve possuir habilidades de requisitar a execuccedilatildeo da simulaccedilatildeo modelada
em interface graacuteca ao servidor de simulaccedilatildeo A funcionalidade deve pedir informaccedilotildees
de simulaccedilatildeo ainda ausentes na modelagem ao se pressionar o botatildeo de executar
A tabela 44 apresenta os campos pedidos para se completar a modelagem da simulaccedilatildeo
e assim permitir executar remotamente a simulaccedilatildeo
Campo DescriccedilatildeoRouting Wavelength Assignment O moacutedulo RWA que conteacutem a implementaccedilatildeo
do algoritmo de agregaccedilatildeoCarga Representa o nuacutemero de execuccedilotildees da simu-
laccedilatildeo para se obter melhor convergecircncia deresultados
Versatildeo Versatildeo usada do simulador WDMSimFaixas de Onda O nuacutemero discreto de faixas no qual um en-
lace oacuteptico pode ser dividido
Tabela 44 Campos presentes ao ser requisitar uma simulaccedilatildeo
21
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt Execu-
tar A funcionalidade natildeo permite ao usuaacuterio executar a simulaccedilatildeo se natildeo haacute topologia
cadastrada ou se natildeo satildeo registradas chamadas para a simulaccedilatildeo
Adicionar Classe RWA
A funcionalidade de adicionar uma classe de RWA permite ao usuaacuterio criar e imple-
mentar uma classe RWA que conteacutem a loacutegica do algoritmo de roteamento e de alocaccedilatildeo
de comprimento de onda conforme descrito na seccedilatildeo 31 A funcionalidade deve compilar
a classe e permitir ao usuaacuterio utilizaacute-la na simulaccedilatildeo O caso de uso eacute acionado quando
o usuaacuterio aciona a opccedilatildeo em Simulaccedilatildeo -gt RWA Personalizado A adiccedilatildeo de uma classe
equivale agrave adiccedilatildeo de um elemento rwa conforme a tabela 31
Exportar Resultados
A funcionalidade exportar resultados permite ao usuaacuterio recuperar o arquivo de resul-
tados gerado pela simulaccedilatildeo e salvaacute-lo em disco O arquivo conteacutem certas estatiacutesticas da
simulaccedilatildeo como quantidade de chamadas entre os noacutes probabilidade meacutedia de bloqueio
e taxa de bloqueio de banda meacutedia conforme descrito na seccedilatildeo 32
Recuperar Trace
A funcionalidade recuperar trace permite ao usuaacuterio recuperar o arquivo com o registro
dos eventos gerados pela simulaccedilatildeo e salvaacute-lo em disco A tabela 45 conteacutem os tipos de
eventos simulados pelo WDMSim
Evento Descriccedilatildeoow-accepted Ocorre quando o noacute aceita um determinado uxoow-blocked Ocorre quando o noacute bloqueia um determinado uxoow-arrived Ocorre quando o noacute recebe uma solicitaccedilatildeo de uxoow-departed Ocorre quando o noacute solicita um uxolightpath-created Ocorre quando um caminho oacuteptico eacute criadolightpath-removed Ocorre quando um caminho oacuteptico eacute removido
Tabela 45 Eventos registrados no arquivo de trace
435 Gerar Estatiacutesticas
A funcionalidade gerar estatiacutesticas deve permitir ao usuaacuterio manipular e coletar esta-
tiacutesticas da simulaccedilatildeo Deve possibilitar gerar graacutecos e tabelas com as meacutetricas de rede
coletadas e relacionadas agrave simulaccedilatildeo O arquivo de estatiacutesticas conforme citado na seccedilatildeo
33 apresenta o MBBR e o MBP
22
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
44 Requisitos Desejaacuteveis
Esta seccedilatildeo aborda os requisitos que foram traccedilados ao longo do desenvolvimento do
WWSim e que portanto natildeo foram prioridade durante a implementaccedilatildeo
441 Opccedilotildees de Ediccedilatildeo
O simulador deve conter funcionalidades que agilizem a criaccedilatildeo e ediccedilatildeo da topologia
de rede As funccedilotildees devem ser disponibilizadas em um menu Editar
Criar Topologia Comuns
O simulador deve apresentar a opccedilatildeo de simplicar a criaccedilatildeo de topologias comuns ao
contexto das redes O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar
-gt Criar Topologia Dentro do menu devem existir as opccedilotildees Anel Estrela Aleatoacuterio e
Completa e o acionamento de tais opccedilotildees quando acionadas criam a respectiva topologia
Copiar e Colar Roteadores
O simulador deve poder copiar e colar em tela os noacutes da rede selecionados O caso
de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo em Editar -gt Copiar e Colar ou pelo
respectivo atalho
Deletar Simulaccedilatildeo
A funcionalidade permite deleta a topologia criada eliminando os roteadores e enlaces
criados no uso do programa O caso de uso eacute acionado quando o usuaacuterio aciona a opccedilatildeo
em Editar -gt Deletar
Atalhos
O simulador deve poder invocar certas funcionalidades a partir de atalhos do teclado
Os atalhos concebidos para melhorar a usabilidade do simulador estatildeo descritos na tabela
46
442 Salvar e Recuperar Simulaccedilatildeo
O simulador deve poder salvar a simulaccedilatildeo criada e permite ao usuaacuterio recuperar os
dados submetidos atraveacutes da interface Ao se executar uma simulaccedilatildeo o seu registro eacute
armazenado em banco de dados e a URL do sistema eacute alterada para que a simulaccedilatildeo seja
acessada novamente
23
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Atalho FuncionalidadeCtrl+Alt+A Novo RoteadorCtrl+Alt+C Copiar e Colar Roteadores
Delete Remover RoteadorCtrl+Alt+E Editar RoteadorCtrl+Alt+L Novo EnlaceClick Duplo Editar Roteador
Tabela 46 Atalhos do Sistema
443 Acompanhamento de Simulaccedilatildeo
Uma forma de acompanhar a simulaccedilatildeo deve ser provida para permitir iniciar pausar e
controlar o tempo da simulaccedilatildeo A gura 46 apresenta um protoacutetipo da barra de rolagem
que acompanha o tempo de simulaccedilatildeo dos eventos
Figura 46 Protoacutetipo da barra de rolagem que controla a visualizaccedilatildeo dos eventos
A medida que a barra de rolagem progride os eventos registrados pela simulaccedilatildeo satildeo
ilustrados gracamente para o usuaacuterio O WWSim deve ilustrar os eventos conforme
descrito na tabela 45 A barra de rolagem deve estar disponiacutevel ao usuaacuterio somente apoacutes
a execuccedilatildeo da simulaccedilatildeo
444 Manipulaccedilatildeo Dinacircmica de Eventos
A funcionalidade de adiccedilatildeo de eventos eacute planejada para o simulador A funccedilatildeo permite
alterar e adicionar os eventos descrito na tabela 45 de chamadas e falhas ao longo da
simulaccedilatildeo e a partir deles gerar estatiacutesticas graacutecos e tabelas
24
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Capiacutetulo 5
Projeto e Arquitetura do WWSim
O projeto de arquitetura foi pensado para web Dado isso todos os serviccedilos foram
concebidos para serem executados a partir de um navegador de internet
A arquitetura do sistema eacute baseada no framework GWT(Google Web Toolkit) um
projeto de coacutedigo aberto capaz de desenvolver aplicaccedilotildees complexas baseadas em navega-
dores de Internet A ferramenta possui ampla documentaccedilatildeo e permite ao desenvolvedor
criar coacutedigo HTML e JavaScript a partir de coacutedigo em Java O GWT realiza a conver-
satildeo para javascript e HTML a partir de um Cross-Compiler presente em suas bibliotecas
principais
A arquitetura de software que melhor se ajusta ao framework GWT eacute a MVP(Model
View Presenter) Tal arquitetura de software divide as responsabilidades do software
em trecircs tipos de componentes aqueles que representam os dados e entidades as serem
manipulados(Model) aqueles que geram representaccedilatildeo visual ou saiacuteda de dados(View) e
aqueles que controlam o acesso aos dados e contecircm as regras de negoacutecio(Presenter)
Dado essa decisatildeo arquitetural o coacutedigo foi dividido em trecircs pacotes principais client
server e shared Cada pacote conteacutem coacutedigo que pode ser executado no cliente no ser-
vidor ou compartilhadamente A gura 51 mostra o diagrama de pacotes
Conforme descrito na seccedilatildeo 42 a arquitetura do WWSim segue o modelo cliente-
servidor O servidor conteacutem dois componentes principais o WDMSim que conteacutem a
loacutegica de execuccedilatildeo da simulaccedilatildeo e a loacutegica de geraccedilatildeo de resultados de estatiacutesticas e
de registro de eventos e o Banco de Dados H2 que conteacutem as tabelas relacionais que
armazenam as simulaccedilotildees executadas e suas estatiacutesticas A gura 52 ilustra tais decisotildees
arquiteturais do WWSim
25
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 51 Diagrama de Pacotes
Figura 52 Arquitetura Geral da Aplicaccedilatildeo
51 Pacotes da Aplicaccedilatildeo
O pacote shared conteacutem o coacutedigo de objetos de dados utilizados para comunicaccedilatildeo
entre cliente e servidor e tambeacutem modelam o banco de dados relacional O banco de
dados relacional eacute modelado na gura 53 Esse pacote eacute equivalente agrave camada de Model
no padratildeo MVP
O pacote client conteacutem o coacutedigo que controla a visualizaccedilatildeo dos dados necessaacuterios
para o uso do simulador Classes inclusas nesse pacote satildeo convertidas para coacutedigo HTML
e Javascript quando requisitadas pelo navegador O envio e requisiccedilotildees de dados de
simulaccedilatildeo satildeo realizados por meio de requisiccedilotildees REST(Representational State Tranfer)
assiacutencronas ou submissotildees de formulaacuterios HTML O pacote eacute equivalente agrave camada de
View
O pacote server conteacutem o coacutedigo de acesso ao banco de dados eacute o responsaacutevel por
disponibilizar os serviccedilos da aplicaccedilatildeo relacionados agrave execuccedilatildeo da simulaccedilatildeo e loacutegica de
26
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 53 Diagrama de Banco de Dados relacional
histoacuterico da aplicaccedilatildeo O pacote eacute equivalente agrave camada de Presenter do MVP Uma
seacuterie de serviccedilos REST foram implementados no pacote server para facilitar a interaccedilatildeo
com o usuaacuterio da aplicaccedilatildeo A tabela 51 apresenta os serviccedilos web que podem ser
invocados pelo navegador do usuaacuterio ou por uma maacutequina que necessite de loacutegica RPC
(Remote Procedure Call) O pacote server possui tambeacutem uma seacuterie de servlets classes
responsaacuteveis por receber requisiccedilotildees em uma aplicaccedilatildeo web java Elas satildeo responsaacuteveis
por realizar manipulaccedilatildeo de arquivos conforme mostrado na gura 52
Serviccedilo DescriccedilatildeoopenSimulation Recupera simulaccedilatildeo anteriormente salvasaveSimulation Salva a simulaccedilatildeo em bancoaddCustomRwa Adiciona uma classe RWA personalizadagetRwaOptions Recupera a lista de classes RWA disponiacuteveiscreateUploadUrl Cria uma url para realiza upload de arquivo XML
executeSimulation Executa a simulaccedilatildeo e salvaacute-lo em bancoopenStatistics Recupera estatiacutesticas geradas pela execuccedilatildeo
Tabela 51 Serviccedilos REST Disponiacuteveis
52 Padrotildees de Projeto
Na arquitetura da aplicaccedilatildeo certos padrotildees de projeto orientados a objeto foram uti-
lizados para tornar o coacutedigo mais simples e faacutecil de se manter
O padratildeo Singleton determina que somente uma instacircncia de determinada classe seja
criada para toda a aplicaccedilatildeo O padratildeo foi utilizado para a criaccedilatildeo dos objetos principais
da visatildeo do usuaacuterio
27
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Classe da Servlet DescriccedilatildeoUploadSimulationServlet Cria loacutegica de receber arquivo XML de paracirc-
metro e salvaacute-lo em bancoDownloadServlet Recupera arquivo XML de simulaccedilatildeo salva
em bancoDownloadResultsServlet Realizar o download de resultados da simu-
laccedilatildeoDownloadTraceServlet Recuperar arquivo de trace de simulaccedilatildeo
salva em bancoDownloadStatsServlet Recuperar arquivo de estatiacutesticas de simula-
ccedilatildeo salva em banco
Tabela 52 Servlets Disponiacuteveis para manipulaccedilatildeo de arquivos
Figura 54 Uso do padratildeo Singleton na criaccedilatildeo da camada de View
O padratildeo Command torna mais faacutecil a construccedilatildeo de objetos que possuem loacutegica
diferente e permite uni-los sob uma mesma assinatura de meacutetodo O uso do padratildeo
permitiu que os objetos acionados por eventos de tela fossem generalizados para outros
tipos de evento
53 Implementaccedilatildeo
A implementaccedilatildeo do projeto do simulador foi feito de forma incremental e iterativa
O controle de versionamento foi feito utilizando a ferramenta Git e estaacute disponiacutevel para
download no link httpsbitbucketorgguihredwdmsim
O desenvolvimento seguiu 5 fases idealizaccedilatildeo prototipaccedilatildeo desenvolvimento valida-
ccedilatildeo e documentaccedilatildeo
28
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 55 Uso do padratildeo Command na criaccedilatildeo das funcionalidades da aplicaccedilatildeo
Na fase de idealizaccedilatildeo foram levantados as principais funcionalidade a que o simulador
deveria atender A partir desses casos de uso foi possiacutevel desenvolver o protoacutetipo da
aplicaccedilatildeo
Na fase de prototipaccedilatildeo foi denida a biblioteca de visualizaccedilatildeo da rede que oferece
melhor adequaccedilatildeo agraves funcionalidades do sistema [10] A API permite congurar aspec-
tos da visualizaccedilatildeo da rede de maneira integrada com o GWT a partir daiacute foi possiacutevel
implementar o protoacutetipo funcional com os casos de uso Novo Roteador Novo Link e
Remover
Na fase de desenvolvimento foram denidos os serviccedilos que o servidor da aplicaccedilatildeo
deveria oferecer O uso da biblioteca RestyGWT [8] permitiu denir serviccedilos acessaacuteveis
pelos meacutetodos HTTP padratildeo Foram implementadas 89 classes Java ao todo totalizando
5601 linhas relevantes de coacutedigo Java
Na fase de validaccedilatildeo testes de implementaccedilatildeo do sistema foram feitos para comprovar
as carateriacutesticas das funcionalidades apresentadas anteriormente nessa monograa Nos
testes os casos de uso descritos foram seguidos de modo a encontrar erros de implemen-
taccedilatildeo
Tambeacutem foi gerado o Javadoc seacuterie de arquivos padratildeo para a documentaccedilatildeo de coacutedigo
Java Esse arquivos tecircm a intenccedilatildeo de demonstrar aspectos da implementaccedilatildeo e permitir
a futuros desenvolvedores prestar manutenccedilatildeo de coacutedigo
29
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
54 Diagramas de Classe
Para melhor visualizaccedilatildeo da organizaccedilatildeo da aplicaccedilatildeo foram desenhados diagramas
de classe esquematizando os objetos entidades e pacotes do projeto
Figura 56 Diagrama de Classes de Cliente
Na gura 56 eacute possiacutevel visualizar o diagrama das classes e associaccedilotildees que satildeo respon-
saacuteveis por gerar a visualizaccedilatildeo do WWSim em navegador A classe superior WDMSimulator
eacute responsaacutevel por iniciar a renderizaccedilatildeo da paacutegina do simulador e realiza a iniciaccedilatildeo das
classes do pacote clientscreen Uma das classes mais importantes eacute NetworkUtils
dentro do pacote clientelements que eacute responsaacutevel por centralizar a loacutegica de visuali-
zaccedilatildeo da rede O pacote clientscreenfunctions conteacutem um conjunto de classes que
realizam o uxo de execuccedilatildeo dos casos de uso descritos anteriormente E por uacuteltimo o
pacote shared conteacutem as interfaces que permitem realizar a chamada a serviccedilos remotos
Na gura 57 eacute possiacutevel visualizar as classes e associaccedilotildees que satildeo responsaacuteveis por
manter a loacutegica de salvamento e execuccedilatildeo de simulaccedilotildees e por manter os serviccedilos Web
remotos e URLs de submissatildeo de arquivos No topo satildeo apresentadas as classes que
mantecircm os serviccedilos Web da aplicaccedilatildeo Agrave esquerda eacute possiacutevel visualizar as servlets ne-
cessaacuterias para receber requisiccedilatildeo e submissatildeo de arquivos Ao centro encontra-se a classe
de utilidades da aplicaccedilatildeo como por exemplo a conversatildeo de XML compilaccedilatildeo de classe
RWA e execuccedilatildeo de simulaccedilatildeo Agrave direita eacute possiacutevel visualizar a classe responsaacutevel por
realizar operaccedilotildees no banco de dados E agrave direita inferior a classe SimulatorGWT que eacute
30
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura 57 Diagrama de Classes do Servidor
responsaacutevel por inicial o uxo de execuccedilatildeo da simulaccedilatildeo e estaacute encapsulado para melhor
entendimento do componente
31
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Capiacutetulo 6
Conclusatildeo
Este capiacutetulo apresenta as contribuiccedilotildees da monograa e a implementaccedilatildeo realizada
Tambeacutem estatildeo descritas as possibilidades de expansatildeo da implementaccedilatildeo do sistema
61 Contribuiccedilotildees
Com essa monograa foi possiacutevel concluir a implementaccedilatildeo da interface Web com a
capacidade de modelar a topologia fiacutesica de redes oacutepticas WDM A interface eacute acessaacutevel
por meio de um navegador Web com suporte a HTML5
Foi possiacutevel construir a interface graacuteca capaz de gerar e receber arquivos que seguem
agrave sintaxe XML denida na tabela 31 de modo a produzir um arquivo vaacutelido como
paracircmetro para o simulador WDMSim
Essa monograa tambeacutem contribuiu com a criaccedilatildeo de uma seacuterie de serviccedilos REST
capazes de receber como paracircmetro um objeto de simulaccedilatildeo no formato JSON e executar
seguindo as premissas do WDMSim conforme a seccedilatildeo 32 Tais serviccedilos tambeacutem permi-
tem recuperar informaccedilotildees de estatiacutesticas de simulaccedilatildeo geradas e tambeacutem de registro de
eventos de rede
Foi possiacutevel criar uma interface graacuteca capaz de realizar acesso aos arquivos de estatiacutes-
ticas e aos arquivos de eventos por meio de chamadas a os serviccedilos denidos no servidor
Tais serviccedilos implementados nesse projeto permitem gerenciar as simulaccedilotildees executadas
salvaacute-las e recuperaacute-las
62 Trabalhos Futuros
Certos casos de uso poreacutem natildeo puderam ser implementados devido agrave falta de deniccedilatildeo
e de conhecimento especiacuteco na biblioteca de visualizaccedilatildeo Esses casos de uso foram a
Acompanhamento de Simulaccedilatildeo e Manipulaccedilatildeo Dinacircmica de Eventos
32
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
O acompanhamento de simulaccedilatildeo conforme descrito na seccedilatildeo 443 ilustra os eventos
criados pelo simulador e mostra a criaccedilatildeo ou remoccedilatildeo de um caminho oacuteptico algo como
um enlace de determinada cor sendo criado entre os roteadores Esse trabalho propotildee a
realizaccedilatildeo de tal funcionalidade como trabalho futuro pois essa traraacute novos entendimentos
sobre o funcionamento das redes oacutepticas e do simulador WDMSim
A manipulaccedilatildeo dinacircmica de eventos tambeacutem eacute tida como um melhoramento A fun-
cionalidade conforme descrita na seccedilatildeo 444 prevecirc a possibilidade de se adicionar os
eventos descrito na tabela 45 na simulaccedilatildeo e tornar possiacutevel ao usuaacuterio gerar caacutelculos e
executar a visualizaccedilatildeo de tais eventos
33
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Referecircncias
[1] The network simulator - ns-2 httpwwwisiedunsnamns 2014 10
[2] SB Alexander SW Chaddick RC Litz and CD Smith Remodulating chan-nel selectors for wdm optical communication systems httpwwwgooglecom
patentsUS8306424 2012 US Patent 8306424 4
[3] Gurusamy Mohan C Siva Murthy Wdm optical networks Concepts design andalgorithms 2001 5
[4] FTTH Council North american ftth statusmarch 31 2011 wwwftthcouncilorg2011 1
[5] A C Drummond WDMSim WDM Optical Network Simulator httpwwwlrcicunicampbrwdmsim 2013 2 12
[6] George N Rouskas e Harry G Perros A tutorial on optical networks Departmentof Computer Science 2002 Raleigh NC USA 5 8
[7] Andreacute Costa Drummond e Nelson Luiacutes Saldanha da Fonseca Agregaccedilatildeo de Traacutefegoem Redes Oacutepticas com Multiplexaccedilatildeo por Comprimentos de Onda 2013 11 12
[8] Fusesource Making restful services accessible to gwt applications http
restygwtfusesourceorgindexhtml 2014 RestGWT 29
[9] Keith W Ross James F Kurose Computer Networking A top Down ApproachAddison-Wesley 6 edition 2013 1
[10] Almende Organizing Networks Network visualization api httpalmende
githubiochap-links-librarynetworkhtml 2014 Chap Library 29
[11] NTT World record one petabit per second ber transmission over 50-km http
wwwnttcojpnews20121209e120920ahtml 2012 1
[12] Afonso J F Cardoso e Carlos R L Francecircs Paulo H G Bezerra Performanceevaluation of algorithms for wavelength assignment in optical wdm networks 2010International Journal of Computer Science and Network Security 8 9
[13] Steven S Skiena The Algorithm Design Manual Springer 2 edition 2008 8
[14] W3C and Mozilla Developer Network Evoluccedilatildeo da web httpwww
evolutionofthewebcomgrowthday 2012 1
[15] Keyao Zhu Trac grooming in an optical wdm mesh network 2002 6 7
34
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Anexo A
Manual de Usuaacuterio
Este anexo apresenta o Manual de usuaacuterio Ele tem o propoacutesito de trazer as funcionali-
dades desenvolvidas e ilustraacute-las para a correta averiguaccedilatildeo dos capacidades desenvolvidas
A1 Tela Inicial
A tela inicial conteacutem menu uma barra de ferramentas um painel lateral e um quadro
principal onde seraacute visualizada a rede modelada A gura A1 mostra a tela do WDMSi-
mulator
Figura A1 Tela principal do WDMSimulator
A2 Criaccedilatildeo da Topologia
A partir da tela inicial eacute possiacutevel comeccedilar a construccedilatildeo da rede
35
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura A2 Pode-se criar um roteador novo
A criaccedilatildeo de um roteador eacute feita pelo clique do botatildeo novo roteador ou pelo ata-
lho Ctrl+Alt+A conforme ilustrado na gura A2 O roteador criado eacute iniciado com as
conguraccedilotildees padratildeo de um roteador
Figura A3 Adicionar um novo link entre roteadores
A criaccedilatildeo de um novo enlace eacute feita com a seleccedilatildeo simultacircnea de dois roteadores na
rede Para selecionar dois roteadores selecione com o cursor enquanto pressiona a tecla
Ctrl Apoacutes selecionar pressione o botatildeo Novo Link ou use o atalho Ctrl+Alt+L A gura
A3 ilustra a criaccedilatildeo de um link
Figura A4 Remover um roteador jaacute existente
36
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
A remoccedilatildeo de um roteador eacute feita com a sua seleccedilatildeo e o clique no botatildeo Remover Noacute
ou pelo atalho Delete A gura A4 ilustra como eacute feita a remoccedilatildeo
Figura A5 Editar roteador jaacute criado
Um roteador criado pode ter suas conguraccedilotildees alteradas a partir do botatildeo Editar Noacute
A funcionalidade pode ser acionada quando se clica duas vezes no roteador A funccedilatildeo
apresenta uma tela com a conguraccedilatildeo do roteador selecionado conforme mostrado na
gura A5
Figura A6 Eacute possiacutevel salvar ou submeter um arquivo em XML com a informaccedilatildeo dasimulaccedilatildeo
Dada a rede jaacute modelada e montada eacute possiacutevel salvar a simulaccedilatildeo de rede gerada em
arquivo XML A gura A6 mostra como as funcionalidades podem ser acionadas
A gura A8 apresenta o arquivo gerado pela rede modelada na gura A7
A3 Adiccedilatildeo de Chamadas
A adiccedilatildeo de chamadas de simulaccedilatildeo eacute feita no painel lateral A gura A9 apresenta a
tela de chamadas No painel eacute possiacutevel mudar o Tempo Meacutedio de Duraccedilatildeo(TMD) Classe
de Serviccedilo (COS) o peso e a taxa de transmissatildeo Eacute possiacutevel adicionar uma chamada
com um clique no botatildeo de adicionar superior verde e remover as chamadas no botatildeo
lateral vermelho
37
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura A7 Rede Simples Modelada
ltxml version= 10 encoding=UTFminus8gtltwdmsim version= 01 gtltrwa module=My2RWAgtlttrace f i l e= t rac e t r gtltt r a f f i c c a l l s=10000 load=10 maxminusra t e=0gtltv i r tua lminustopology name=NSFNetgtltphys ica lminustopology name=NSFNet wavelengths=16gtltnodesgtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=0 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=1 wlconvers ionminusrange=0wlconver t e r s=0gtltnode groomingminusinminusport s=32 groomingminusoutminusport s=32 id=2 wlconvers ionminusrange=0wlconver t e r s=0gtltnodesgtltl i n k sgtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=0 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=1 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=2 source=2 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=2 id=3 source=1 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=1 id=4 source=0 weight=1500gtltl i nk bandwidth=10000 delay= 1 0 de s t i n a t i on=0 id=5 source=1 weight=1500gtlt l i n k sgtlt phys i ca lminustopologygtltwdmsimgt
Figura A8 Arquivo XML de EntradaSaiacuteda respectivo agrave gura A7
A4 Execuccedilatildeo da Simulaccedilatildeo
Para executar a simulaccedilatildeo basta selecionar a opccedilatildeo executar simulaccedilatildeo no menu Uma
caixa de diaacutelogo seraacute apresentada com as informaccedilotildees necessaacuterias para se completar as
informaccedilotildees para a execuccedilatildeo A gura A10 ilustra a caixa de diaacutelogo e como executaacute-la
A5 Criaccedilatildeo de uma Classe RWA
A criaccedilatildeo de uma classe RWA pode ser feita pela funccedilatildeo adicionar RWA Personalizado
A gura A11 apresenta uma implementaccedilatildeo do padratildeo de moacutedulos RWA denidos pelo
WDMSim A classe possui trecircs meacutetodos principais simulationInterface flowArrival
e flowDeparture
38
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
Figura A9 Funcionalidade de Manter Chamadas
Figura A10 Funcionalidade de executar simulaccedilatildeo de rede
O meacutetodo a ser chamado primeiro eacute o simulationInterface e eacute responsaacutevel por passar
os primeiros paracircmetros da rede PhysicalTopology conteacutem informaccedilotildees da topologia
de enlaces fiacutesicos da rede VirtualTopology conteacutem informaccedilotildees dos enlaces virtuais da
topologia da rede ControlPlaneForRWA conteacutem os meacutetodos de controle de eventos da
simulaccedilatildeo
O meacutetodo flowArrival eacute invocado quando haacute determinado uxo de dados a ser ro-
teado No exemplo faz-se a opccedilatildeo pela estrateacutegia Least-Used onde os comprimentos de
onda menos usados tecircm preferecircncia na escolha do melhor caminho oacuteptico
O meacutetodo flowDeparture eacute invocado quando o uxo de dados encerra No exemplo
natildeo haacute implementaccedilatildeo para esse meacutetodo
39
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-
public class My2RWA implements RWA private ControlPlaneForRWA cp private WeightedGraph graph private PhysicalTopology pt private VirtualTopology vt
public void f l owAr r i va l (Flow f low ) int [ ] nodes int [ ] l i n k s int [ ] wvls long id LightPath [ ] l p s = new LightPath [ 1 ] l p s [ 0 ] = getLeastLoadedLightpath ( f low ) i f ( l p s [ 0 ] instanceof LightPath )
i f ( cp acceptFlow ( f low getID ( ) l p s ) ) return
nodes = Di jk s t r a getShortestPath ( graph f low getSource ( ) f low ge tDes t ina t i on ( ) ) i f ( nodes l ength == 0)
cp blockFlow ( f low getID ( ) ) return
l i n k s = new int [ nodes l ength minus 1 ] for ( int j = 0 j lt nodes l ength minus 1 j++)
l i n k s [ j ] = pt getLink ( nodes [ j ] nodes [ j + 1 ] ) getID ( ) wvls = new int [ l i n k s l ength ] for ( int i = 0 i lt pt getNumWavelengths ( ) i++)
for ( int j = 0 j lt l i n k s l ength j++) wvls [ j ] = i
i f ( ( id = vt c reateL ightpath ( l i nk s wvls ) ) gt= 0)
lp s [ 0 ] = vt getLightpath ( id ) cp acceptFlow ( f low getID ( ) l p s ) return
cp blockFlow ( f low getID ( ) )
Overridepublic void f lowDeparture ( long id ) private LightPath getLeastLoadedLightpath (Flow f low )
long abw_aux abw = 0 LightPath lp_aux lp = null TreeSetltLightPathgt lp s = vt ge tAva i l ab l eL ightpaths ( f low getSource ( ) f low ge tDes t ina t i on ( ) f low getRate ( ) ) i f ( l p s = null ampamp lp s isEmpty ( ) )
while ( l p s isEmpty ( ) ) lp_aux = lp s p o l l F i r s t ( ) Get the ava i lab l e bandwidthabw_aux = vt getLightpathBWAvailable ( lp_aux getID ( ) ) i f (abw_aux gt abw)
abw = abw_aux lp = lp_aux
return lp
public void s imu l a t i o n I n t e r f a c e ( PhysicalTopology pt VirtualTopology vt ControlPlaneForRWA cp )
this pt = pt this vt = vt this cp = cp this graph = pt getWeightedGraph ( )
Figura A11 Implementaccedilatildeo do algoritmo RWA na forma de classe Java
40
- Resumo
- Introduccedilatildeo
-
- Motivaccedilatildeo
- Objetivos
-
- Objetivo Geral
- Objetivos Especiacuteficos
-
- Organizaccedilatildeo da Monografia
-
- Fundamentos em Redes Oacutepticas WDM
-
- Contextualizaccedilatildeo das Redes WDM
- Multiplexaccedilatildeo por Divisatildeo de Comprimento de Onda
- Caminho Oacuteptico
- Topologia Fiacutesica e Virtual
- Agregaccedilatildeo de Traacutefego
- Conversatildeo de Comprimento de Onda
- Roteamento e Alocaccedilatildeo de Comprimentos de Onda
- Traacutefego em Redes Oacutepticas
- Probabilidade de Bloqueio e Taxa de Bloqueio de Banda
- Simuladores de Redes
-
- Simulador WDMSim
-
- Algoritmo RWA
- Paracircmetro de Simulaccedilatildeo XML
- Resultado da Simulaccedilatildeo
-
- Funcionalidades do WWSim
-
- Interface Graacutefica Web
- Servidor de Simulaccedilatildeo
- Requisitos
-
- Manipulaccedilatildeo de Arquivos XML
- Ferramentas de Ediccedilatildeo
- Cenaacuterio de Traacutefego
- Ferramentas de Simulaccedilatildeo
- Gerar Estatiacutesticas
-
- Requisitos Desejaacuteveis
-
- Opccedilotildees de Ediccedilatildeo
- Salvar e Recuperar Simulaccedilatildeo
- Acompanhamento de Simulaccedilatildeo
- Manipulaccedilatildeo Dinacircmica de Eventos
-
- Projeto e Arquitetura do WWSim
-
- Pacotes da Aplicaccedilatildeo
- Padrotildees de Projeto
- Implementaccedilatildeo
- Diagramas de Classe
-
- Conclusatildeo
-
- Contribuiccedilotildees
- Trabalhos Futuros
-
- Referecircncias
- Manual de Usuaacuterio
-
- Tela Inicial
- Criaccedilatildeo da Topologia
- Adiccedilatildeo de Chamadas
- Execuccedilatildeo da Simulaccedilatildeo
- Criaccedilatildeo de uma Classe RWA
-