universidade de brasília -...

51
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação

Upload: lylien

Post on 08-Nov-2018

213 views

Category:

Documents


0 download

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