Slide Mestre INF
-
Upload
sandino-jardim -
Category
Documents
-
view
34 -
download
0
Transcript of Slide Mestre INF
![Page 1: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/1.jpg)
Implantação de um Modelo de Mobilidade de Grupos no
Network Simulator 3
Sandino B. Jardim
![Page 2: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/2.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/3.jpg)
Redes sem fio infra-estruturadas
![Page 4: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/4.jpg)
Rede Ad Hoc
![Page 5: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/5.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/6.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/8.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/9.jpg)
MobilityHelper
![Page 10: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/10.jpg)
MobilityModel
![Page 11: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/11.jpg)
Exemplo uso
![Page 12: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/12.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/13.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/14.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/15.jpg)
Coordenadores
Padrão de movimento idêntico ao Random Waypoint Mobility Model, descrito em [3].
![Page 16: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/16.jpg)
Random Waypoint
Nó RWP
![Page 17: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/17.jpg)
Random Waypoint
Destino sorteado
aleatoriamente
![Page 18: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/18.jpg)
Random Waypoint
Velocidade sorteada aleatoriamente
v
![Page 19: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/19.jpg)
Random Waypoint
NM Caminha em direção ao destino, na velocidade sorteada
![Page 20: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/20.jpg)
Random Waypoint
NM Caminha em direção ao destino, na velocidade sorteada
![Page 21: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/21.jpg)
Random Waypoint
NM Caminha em direção ao destino, na velocidade sorteada
![Page 22: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/22.jpg)
Random Waypoint
NM Caminha em direção ao destino, na velocidade sorteada
![Page 23: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/23.jpg)
Random Waypoint
NM Caminha em direção ao destino, na velocidade sorteada
![Page 24: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/24.jpg)
Random Waypoint
Atingido o ponto de destino, espera um tempo de pausa também randômico
![Page 25: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/25.jpg)
Random Waypoint
Atingido o ponto de destino, espera um tempo de pausa também randômico
tp = 3
![Page 26: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/26.jpg)
Random Waypoint
Atingido o ponto de destino, espera um tempo de pausa também randômico
tp = 2
![Page 27: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/27.jpg)
Random Waypoint
Atingido o ponto de destino, espera um tempo de pausa também randômico
tp = 1
![Page 28: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/28.jpg)
Random Waypoint
Esgotado o tempo, reinicia o processo
tp = 0
![Page 29: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/29.jpg)
Random Waypoint
Esgotado o tempo, reinicia o processo
![Page 30: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/30.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/31.jpg)
Coordenado
raio
d1
d2
d3
Coordenador
![Page 32: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/32.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/33.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/34.jpg)
Estrutura do Helper
•SetMobilityModel;
•SetPositionAllocator;
•Install;
•EscolherCoordenador;
![Page 35: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/35.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/36.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/37.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/38.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/39.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/40.jpg)
A Classe CMMM
Principais Métodos:
DoStart( );
DoWalk( );
![Page 41: Slide Mestre INF](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/41.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/42.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/43.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/44.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/45.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062511/54e4e02f4a7959c3668b5265/html5/thumbnails/46.jpg)
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].