Escolar Documentos
Profissional Documentos
Cultura Documentos
Sandino B. Jardim
sandinojardim@gmail.com
Introduo
Redes sem fio Infra-estruturadas; Ad hoc; Avaliao; Simulao computacional; Modelos de mobilidade Network Simulator 3
Rede Ad Hoc
Avaliao
Cenrio Ns se movimentando; Padres variam de acordo com ambiente Representao dos movimentos Traces; Modelos de Mobilidade
Traces
Captura de movimentos reais de entidades mveis Posterior avaliao sobre tal padro de movimentao; Usado para cenrios especficos
Modelos de Mobilidade
Cada modelo procura representar um padro de mobilidade; Permite a variao de elementos como: Nmero de ns; Velocidade; Densidade; Entre outros, de acordo com o modelo.
MobilityHelper
MobilityModel
Exemplo uso
Objetivos
Implantar o modelo de mobilidade proposto em [1] no ambiente de simulao do NS-3; Submeter o modelo a comparaes entre os j implantados com base nas mtricas de [2];
Motivao
Oferecer uma nova opo de modelo de mobilidade para testes em cenrios que o modelo se prope a simular
Coordenadores
Random Waypoint
N RWP
Random Waypoint
Destino sorteado aleatoriamente
Random Waypoint
Random Waypoint
Random Waypoint
Random Waypoint
Random Waypoint
Random Waypoint
Random Waypoint
Random Waypoint
tp = 3
Random Waypoint
tp = 2
Random Waypoint
tp = 1
Random Waypoint
tp = 0
Random Waypoint
Coordenados
Devem escolher um coordenador a seguir; Critrios de escolha: Coordenadores dentro de um raio de alcance; Coordenadores em movimento (simulao em andamento)
raio d 1 d 2 Coordenador
d 3
Coordenado
Movimento do Coordenado
A cada passo do coordenador, o coordenado seta seu vetor em direo a ele; Acelerao do Coordenado proporcional distncia do Coordenador;
CMMM no NS-3
Criao de um helper para viabilizar a instalao do modelo proposto, chamado de CoordinatedMovimentMobilityHelper
Criao da Classe CoordinatedMovimentMobilityModel, bem como os mtodos que implementar a movimentao
Estrutura do Helper
SetMobilityModel; SetPositionAllocator; Install; EscolherCoordenador;
Install
Instalar o Random Waypoint numa porcentagem dos ns, considerados Coordenadores; Instalar o modelo proposto no restante dos ns, os Coordenados; Chamar o mtodo EscolherCoordenador;
Install
void
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));
}
{
(Idntico 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); }
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 posio do Coordenado e do Coordenador e calcula a distncia entre eles)
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));
A Classe CMMM
Principais Mtodos: DoStart( ); DoWalk( );
DoStart
Atualiza posio e velocidade, com relao distncia do Coordenador; Chama DoWalk, passando o tempo que levar para alcanar o Coordenador;
DoWalk
Verifica o estado do Coordenador (Parado ou no); Caso parado, inicia processo de escolha de um novo (ou o mesmo) Coordenador; Caso em movimento, volta DoStart;
Modificaes
Mobility Helper Seta ID para cada n RWP; RWP Identificao individual; Vetor de posies; Constant Position UpdateCoordinated;
Consideraes Finais
Embora inconcluso para a cadeira, o projeto seguir na busca pela soluo dos problemas apresentados; Melhorias na estrutura e em pequenas anomalias observadas no projeto original; Gerando resultados, buscar publicao;
Referncias Bibliogrficas;
[1] Jardim, S. Um Modelo de Mobilidade de Grupos para Redes Mveis Ad Hoc. TCC de Lic. Em Informtica, sob orientao de Linder Cndido. 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,
Etapas
1 Fase Criao de um helper para viabilizar a instalao do modelo proposto Implementao do modelo de mobilidade segundo o projeto final de curso realizado em 2008[1]. 2 Fase Submisso do modelo avaliao com base nas mtricas utilizadas no artigo[2].