3. A NEW ROUTING PROTOCOL FOR MANETS: PENAGUILA
3.2. PROTOCOL DESCRIPTION
3.2.3. Reactive 1 state: same working as AODV
3.2.3.6. Route Reply (RREP) message format
O Sistema de Telefonia Inteligente – STI foi projetado para uso nas corporações telefôni- cas objetivando a administração de uma rede interna de telecomunicações.
Nesse sentido a figura B.1 apresenta o modelo de caso de uso da implementação do protó- tipo. Nela, o administrador da rede telefônica faz uma requisição a uma das funcionalida- des do Sistema de Simulação Telefônica Inteligente, recebendo a resposta da requisição, em tela.
Figura B.1 Diagrama de Caso de Uso para acesso direto ao servidor.
A figura B.2 mostra o administrador do sistema acessando a aplicação a partir da interface WEB do cliente. Dessa forma, o administrador pode acessar o sistema, remotamente; não há necessidade de acesso a partir da própria rede local.
Figura B.2 Diagrama de Caso de Uso para acesso a partir da aplicação Cliente de Interface com o serviço WEB.
Para tal, o administrador pode, por meio do protótipo, solicitar: - ver uma amostra ideal, seja fuzzy ou neural;
- ver toda a base de log da amostra ideal, fuzzy ou neural; - executar o gerador de tráfego;
Para isso, foram criados os seguintes métodos na classe FachadaTelefonica (figura B.3), do servidor:
FachadaTelefonica
obtemAmostraIdealMicrocelulaFuzzy(trafegoOfertado : Double, percentualHandover : Double) : Amostra obtemAmostraIdealMicrocelulaNeural(trafegoOfertado : Double, percentualHandover : Double) : Amostra obtemAmostraIdealMacrocelulaFuzzy(trafegoOfertado : Double, percentualHandover : Double) : Amostra obtemAmostraIdealMacrocelulaNeural(trafegoOfertado : Double, percentualHandover : Double) : Amostra obtemTodosParametrosMicrocelulaFuzzy() : Amostra[] obtemTodosParametrosMicrocelulaNeural() : Amostra[] obtemTodosParametrosMacrocelulaFuzzy() : Amostra[] obtemTodosParametrosMacrocelulaNeural() : Amostra[] executaInferenciaMicrocelulaFuzzy() : boolean executaInferenciaMicrocelulaNeural() : boolean executaInferenciaMacrocelulaFuzzy() : boolean executaInferenciaMacrocelulaNeural() : boolean
reconfiguraInferenciaMicrocelulaFuzzy(Amostra : Amostra) : boolean reconfiguraInferenciaMicrocelulaNeural(amostra : Amostra) : boolean reconfiguraInferenciaMacrocelulaFuzzy(amostra : Amostra) : boolean reconfiguraInferenciaMacrocelulaNeural(amostra : Amostra) : boolean
Figura B.3 Classe br.unb.fat.dee.doutorado.sti.FachadaTelefonica.java
obtemAmostraIdealMicrocelulaFuzzy: dada uma carga ofertada e um percentual de
handover, é retornada uma amostra obtida por meio da otimização da inferência sobre a
micro-célula usando a lógica fuzzy;
obtemAmostraIdealMicrocelulaNeural: dada uma carga ofertada e um percentual de
handover, é retornada uma amostra obtida por meio da otimização da inferência sobre a
micro-célula usando a rede neural artificial;
obtemAmostraIdealMacrocelulaFuzzy: dada uma carga ofertada e um percentual de
handover, é retornada uma amostra obtida por meio da otimização da inferência sobre a
macro-célula usando a lógica fuzzy;
obtemAmostraIdealMacrocelulaNeural: dada uma carga ofertada e um percentual de
handover, é retornada uma amostra obtida por meio da otimização da inferência sobre a
macro-célula usando a rede neural artificial;
obtemTodosParametrosMicrocelulaFuzzy: retorna todo o log de resultados de inferência otimizado, extraído a partir da inferência fuzzy sobre a micro-célula;
obtemTodosParametrosMicrocelulaNeural: retorna todo o log de resultados de inferên-
obtemTodosParametrosMacrocelulaFuzzy: retorna todo o log de resultados de inferên- cia otimizado, extraído a partir da inferência fuzzy sobre a macro-célula;
obtemTodosParametrosMacrocelulaNeural: retorna todo o log de resultados de inferên- cia otimizado, extraído a partir da inferência neural sobre a macro-célula;
executaInferenciaMicrocelulaFuzzy: executa o módulo de simulação do tráfego sobre uma micro-célula usando otimização fuzzy;
executaInferenciaMicrocelulaNeural: executa o módulo de simulação do tráfego sobre uma micro-célula usando otimização neural;
executaInferenciaMacrocelulaFuzzy: executa o módulo de simulação do tráfego sobre uma macro-célula usando otimização fuzzy;
executaInferenciaMacrocelulaNeural: executa o módulo de simulação do tráfego sobre uma macro-célula usando otimização neural;
reconfiguraInferenciaMicrocelulaFuzzy: executa o módulo de simulação do tráfego so- bre uma micro-célula usando otimização fuzzy;
reconfiguraInferenciaMicrocelulaNeural: executa o módulo de simulação do tráfego so- bre uma micro-célula usando otimização neural;
reconfiguraInferenciaMacrocelulaFuzzy: executa o módulo de simulação do tráfego so- bre uma macro-célula usando otimização fuzzy;
reconfiguraInferenciaMacrocelulaNeural: executa o módulo de simulação do tráfego sobre uma macro-célula usando otimização neural;
Uma amostra (figura B.4) possui informações sobre as configurações de uma carga especí- fica de tráfego.
Amostra totalCanais : double percVO : double percHO : double signaling : double gprs : double handover : double subrated : double voiceUtilization : double handoverUtilization : double rcs : java.lang.String qps : java.lang.String blockedCalls : double handoverFailure : double offeredTraffic : double carriedTraffic : double (from gerente)
Figura B.4 Classe br.unb.fat.dee.doutorado.sti.TELCOM.gerente.Amostra totalCanais: representa o número total de canais de uma ERB;
percVO: percentual de tráfego de voz;
percHO: percentual de tráfego de handover;
signaling: número de canais dedicados à sinalização; gprs: número de canais dedicados ao tráfego de dados gprs;
handover: número de canais dedicados ao tráfego de handover;
subrated: número máximo de canais sub-taxados;
voiceUtilization: percentual de utilização de tráfego de voz;
handoverUtilization: percentual de utilização de tráfego de handover; rcs: esquema de reserva de canais, do tipo pré-reserva ou pós-reserva;
qps: esquema de prioridade de canais, do tipo FIFO (do inglês, First-In First-Out) ou MBPS (do inglês, Measured-based Priority Scheme);
blockedCalls: percentual de chamadas bloqueadas;
handoverFailure: percentual de handover falhos; offeredTraffic: tráfego ofertado (em Erlangs);
carriedTraffic: tráfego suportado (em Erlangs).
As classes MacrocellBean e MicrocellBean (figura B.5) armazenam a lógica de negócio de cada cenário de simulação.
MicrocellBean
getAmostraIdealFuzzy(trafegoOfertado : Double, percentualHandover : Double) : Amostra getAmostraIdealNeural(trafegoOfertado : Double, percentualHandover : Double) : Amostra getColecaoAmostraIdealFuzzy() : Amostra[]
getColecaoAmostraIdealNeural() : Amostra[] executaInferenciaFuzzy() : boolean executaInferenciaNeural() : boolean
reconfiguraInferenciaFuzzy(amostra : Amostra) : boolean reconfiguraInferenciaNeural(amostra : Amostra) : boolean (from microcell) MacrocellBean
getAmostraIdealFuzzy(trafegoOfertado : Double, percentualHandover : Double) : Amostra getAmostraIdealNeural(trafegoOfertado : Double, percentualHandover : Double) : Amostra getColecaoAmostraIdealFuzzy() : Amostra[]
getColecaoAmostraIdealNeural() : Amostra[] executaInferenciaFuzzy() : boolean executaInferenciaNeural() : boolean
reconfiguraInferenciaFuzzy(amostra : Amostra) : boolean reconfiguraInferenciaNeural(amostra : Amostra) : boolean
(from macrocell)
Figura B.5 Classes br.unb.fat.dee.doutorado.sti.TELCOM.gerente.macrocell.Macrocell- Bean e br.unb.fat.dee.doutorado.sti.TELCOM.gerente.microcell.MicrocellBean getAmostraIdealFuzzy: retorna a amostra ideal inferida sobre o módulo de inferência
getAmostraIdealNeural: retorna a amostra ideal inferida sobre o módulo de inferência neural do modelo;
getColecaoAmostraIdealFuzzy: retorna todas as amostras inferidas sobre o módulo de inferência fuzzy do modelo;
getColecaoAmostraIdealNeural: retorna todas as amostras inferidas sobre o módulo de inferência neural do modelo;
executaInferenciaFuzzy: executa o módulo de inferência fuzzy do modelo; executaInferenciaNeural: executa o módulo de inferência neural do modelo;
reconfiguraInferenciaFuzzy: altera os parâmetros de configuração da inferência fuzzy garantindo a dinâmica na alocação dos canais;
reconfiguraInferenciaNeural: altera os parâmetros de configuração da inferência neural garantindo a dinâmica na alocação dos canais.
Figura B.6 Estrutura da aplicação cliente para acesso ao serviço.
Por fim, as classes que implementam o serviço WEB do lado do cliente (figura B.6) mon- tam a interface desses serviços por meio da classe FachadaTelefonica, do lado do servidor,
anteriormente comentada. Assim, os serviços que são externalizados para o cliente têm a mesma assinatura que os métodos da classe FachadaTelefonica.
A figura B.7 apresenta a estrutura de empacotamento da aplicação do lado servidor. Além desses pacotes e classes há também as classes escritas em linguagem C++ que são respon- sáveis pela geração do tráfego telefônico simulado.
A estrutura de modularização da aplicação do lado servidor foi anteriormente apresentada na figura 6.3.