46
Implantação de um Modelo de Mobilidade de Grupos no Network Simulator 3 Sandino B. Jardim [email protected]

Slide Mestre INF

Embed Size (px)

Citation preview

Page 1: Slide Mestre INF

Implantação de um Modelo de Mobilidade de Grupos no

Network Simulator 3

Sandino B. Jardim

[email protected]

Page 2: Slide Mestre INF

Introdução•Redes sem fio

–Infra-estruturadas;

–Ad hoc;

•Avaliação;

•Simulação computacional;

•Modelos de mobilidade

•Network Simulator 3

Page 3: Slide Mestre INF

Redes sem fio infra-estruturadas

Page 4: Slide Mestre INF

Rede Ad Hoc

Page 5: Slide Mestre INF

Avaliação• Cenário

–Nós se movimentando;

–Padrões variam de acordo com ambiente

• Representação dos movimentos

–Traces;

–Modelos de Mobilidade

Page 6: Slide Mestre INF

Traces

• Captura de movimentos reais de entidades móveis

• Posterior avaliação sobre tal padrão de movimentação;

• Usado para cenários específicos

Page 7: Slide Mestre INF

Modelos de Mobilidade

• Cada modelo procura representar um padrão de mobilidade;

• Permite a variação de elementos como:

–Número de nós;

–Velocidade;

–Densidade;

–Entre outros, de acordo com o modelo.

Page 8: Slide Mestre INF

Modelos de Mobilidade no NS-3

•MobilityHelper

–Helper que facilita a instalação de um ou mais modelos em um ou mais nós

•MobilityModel

–Classe da qual derivam todas as outras classes que representam os MM.

Page 9: Slide Mestre INF

MobilityHelper

Page 10: Slide Mestre INF

MobilityModel

Page 11: Slide Mestre INF

Exemplo uso

Page 12: Slide Mestre INF

Objetivos

• Implantar o modelo de mobilidade proposto em [1] no ambiente de simulação do NS-3;

• Submeter o modelo a comparações entre os já implantados com base nas métricas de [2];

Page 13: Slide Mestre INF

Motivação

• Oferecer uma nova opção de modelo de mobilidade para testes em cenários que o modelo se propõe a simular

Page 14: Slide Mestre INF

Modelo de Mobilidade de Movimento Coordenado

•Modelo de Mobilidade de grupos;

•Entidades se movem aleatoriamente pelo cenário;

•Outras entidades as seguem, até que as primeiras parem.

•As seguidoras buscam outra entidade a seguir, ou podem seguir a mesma, se esta voltou a caminhar;

Page 15: Slide Mestre INF

Coordenadores

Padrão de movimento idêntico ao Random Waypoint Mobility Model, descrito em [3].

Page 16: Slide Mestre INF

Random Waypoint

Nó RWP

Page 17: Slide Mestre INF

Random Waypoint

Destino sorteado

aleatoriamente

Page 18: Slide Mestre INF

Random Waypoint

Velocidade sorteada aleatoriamente

v

Page 19: Slide Mestre INF

Random Waypoint

NM Caminha em direção ao destino, na velocidade sorteada

Page 20: Slide Mestre INF

Random Waypoint

NM Caminha em direção ao destino, na velocidade sorteada

Page 21: Slide Mestre INF

Random Waypoint

NM Caminha em direção ao destino, na velocidade sorteada

Page 22: Slide Mestre INF

Random Waypoint

NM Caminha em direção ao destino, na velocidade sorteada

Page 23: Slide Mestre INF

Random Waypoint

NM Caminha em direção ao destino, na velocidade sorteada

Page 24: Slide Mestre INF

Random Waypoint

Atingido o ponto de destino, espera um tempo de pausa também randômico

Page 25: Slide Mestre INF

Random Waypoint

Atingido o ponto de destino, espera um tempo de pausa também randômico

tp = 3

Page 26: Slide Mestre INF

Random Waypoint

Atingido o ponto de destino, espera um tempo de pausa também randômico

tp = 2

Page 27: Slide Mestre INF

Random Waypoint

Atingido o ponto de destino, espera um tempo de pausa também randômico

tp = 1

Page 28: Slide Mestre INF

Random Waypoint

Esgotado o tempo, reinicia o processo

tp = 0

Page 29: Slide Mestre INF

Random Waypoint

Esgotado o tempo, reinicia o processo

Page 30: Slide Mestre INF

Coordenados

•Devem escolher um coordenador a seguir;

•Critérios de escolha:

–Coordenadores dentro de um raio de alcance;

–Coordenadores em movimento (simulação em andamento)

Page 31: Slide Mestre INF

Coordenado

raio

d1

d2

d3

Coordenador

Page 32: Slide Mestre INF

Movimento do Coordenado

•A cada passo do coordenador, o coordenado seta seu vetor em direção a ele;

•Aceleração do Coordenado é proporcional à distância do Coordenador;

Page 33: Slide Mestre INF

CMMM no NS-3

•Criação de um helper para viabilizar a instalação do modelo proposto, chamado de CoordinatedMovimentMobilityHelper

•Criação da Classe CoordinatedMovimentMobilityModel, bem como os métodos que implementar a movimentação

Page 34: Slide Mestre INF

Estrutura do Helper

•SetMobilityModel;

•SetPositionAllocator;

•Install;

•EscolherCoordenador;

Page 35: Slide Mestre INF

Install

•Instalar o Random Waypoint numa porcentagem dos nós, considerados Coordenadores;

•Instalar o modelo proposto no restante dos nós, os Coordenados;

•Chamar o método EscolherCoordenador;

Page 36: Slide Mestre INF

Installvoid

CoordinatedMovimentMobilityHelper::Install (NodeContainer c)

{

MobilityHelper mobility;

mobility.SetMobilityModel ("ns3::RandomWaypointMobilityModel",

"Speed", RandomVariableValue (ConstantVariable (5.0)),

"Pause", RandomVariableValue (ConstantVariable (2.0)),

"PositionAllocator", PointerValue (m_position));

mobility.SetPositionAllocator (m_position);

Int NCoord = ((PercentCoord / 100) * int(c.GetN()));

for (int i = 0; i < NCoord; i++){

mobility.Install(c.Get(i));

Coordinator.Add(c.Get(i));

}

Page 37: Slide Mestre INF

for (int i = NCoord+1; i < int(c.GetN()); ++i)

{

(Idêntico ao MobilityHelper)

Coordinated.Add(c.Get(i));

Ptr<CoordinatedMovimentMobilityModel> Cmmm =

object->GetObject<CoordinatedMovimentMobilityModel>();

Cmmm->SetCoordinators(Coordinator);

}

for (int i = NCoord+1; i < int(c.GetN()); ++i)

{

Ptr<Node> Node = c.Get(i);

EscolherCoordenador (Node,c,NCoord);

}

Page 38: Slide Mestre INF

EscolherCoordenador (Ptr<Node> Node, NodeContainer Coordn, int NCoord)

{

...

Ptr<CoordinatedMovimentMobilityModel> mobility2 =

Coordenado->GetObject<CoordinatedMovimentMobilityModel> ();

for (int i = 0; i < NCoord; i++)

{

Ptr<Object> Coordenador = Coordn.Get(i);

Ptr<MobilityModel> mobility = Coordenador->GetObject<MobilityModel> ();

double raio = 50.0;

(Captura a posição do Coordenado e do Coordenador e calcula a distância entre eles)

Page 39: Slide Mestre INF

if (distance <= raio)

{

double dr = drand48();

if ( ((1.0/distance)*dr) > dc )

{

dc=((1.0/distance)*dr);

double csx = abs(dx)/distance;

double csy = abs(dy)/distance;

double vx = v*csx;

double vy = v*csy;

Vector vel = Vector(vx,vy,0.0);

mobility2->SetVelocity(vel);

mobility2->SetDistance(distance);

mobility2->SetFollowing(Coordn.Get(j));

Page 40: Slide Mestre INF

A Classe CMMM

Principais Métodos:

DoStart( );

DoWalk( );

Page 41: Slide Mestre INF

DoStart

Atualiza posição e velocidade, com relação à distância do Coordenador;

Chama DoWalk, passando o tempo que levará para alcançar o Coordenador;

Page 42: Slide Mestre INF

DoWalk

•Verifica o estado do Coordenador (Parado ou não);

•Caso parado, inicia processo de escolha de um novo (ou o mesmo) Coordenador;

•Caso em movimento, volta à DoStart;

Page 43: Slide Mestre INF

ModificaçõesMobility Helper

Seta ID para cada nó RWP;

RWP

Identificação individual;

Vetor de posições;

Constant Position

UpdateCoordinated;

Page 44: Slide Mestre INF

Considerações Finais

•Embora inconcluso para a cadeira, o projeto seguirá na busca pela solução dos problemas apresentados;

•Melhorias na estrutura e em pequenas anomalias observadas no projeto original;

•Gerando resultados, buscar publicação;

Page 45: Slide Mestre INF

Referências Bibliográficas;[1] Jardim, S. Um Modelo de Mobilidade de Grupos para Redes Móveis

Ad Hoc. TCC de Lic. Em Informática, sob orientação de Linder Cândido. UFMT, 2009.

[2] Gowrishankar.S, Basavaraju, T.G. Simulation Based Performance Comparison of Community Model, GFMM, RPGM, Manhattan Model and RWP-SS Mobility Models in MANET. 2009 First International Conference on Networks & Communications.

[3] Tracy Camp, Jeff Boleng and Vanessa Davies,” A Survey of Mobility

Models for Ad hoc Network Research”, Special Issue on Mobile Ad hoc Networking: Research, Trends and Applications, Journal of Wireless Communications and Mobile Computing, 2002,

Page 46: Slide Mestre INF

Etapas• 1ª Fase

• Criação de um helper para viabilizar a instalação do modelo proposto

• Implementação do modelo de mobilidade segundo o projeto final de curso realizado em 2008[1].

• 2ª Fase

– Submissão do modelo à avaliação com base nas métricas utilizadas no artigo[2].