man anet etki kit s suppor upportin ing the g the dynam
play

MAN ANET ETKi Kit: S Suppor upportin ing the g the Dynam - PowerPoint PPT Presentation

MAN ANET ETKi Kit: S Suppor upportin ing the g the Dynam Dynamic Deploy Deploymen ent and Reconfig and Reconfigurat ation on of A of Ad-Hoc Hoc Routing Routing P Protoc otocol ols ACM/ I FI P/ USENI X 10th I nternational


  1. MAN ANET ETKi Kit: S Suppor upportin ing the g the Dynam Dynamic Deploy Deploymen ent and Reconfig and Reconfigurat ation on of A of Ad-Hoc Hoc Routing Routing P Protoc otocol ols ACM/ I FI P/ USENI X 10th I nternational Middleware Conference 2 nd December 2009 Rajiv Ramdhany r.ramdhany@comp.lancs.ac.uk Slide 1 of 20

  2. Mobi obile Ad Ad Hoc oc Net etworks • MANETs are self-organising and rapidly-deployable networks Bandwidth-constrained, variable-capacity and possibly asymmetric links • Highly heterogeneous • Network topology changes dynamically and unpredictably • MANET dynamicity {size, density, mobility, churn, node_degree, link_capacity [Node x , Node y ], heterogeneity NodeCapability[][], traffic_pattern, apps[]} { size A,T2 , density A,T2 , mobility A,T2 , churn A,T2 , { size A,T1 , density A,T1 , mobility A,T1 , churn A,T1 , ≠ { size B , density A , mobility B , churn B , node_degree B , { size A , density A , mobility A , churn A , node_degree A , node_degree A,T2 , link_capacity A,T2 [Node X , node_degree A,T1 , link_capacity A,T1 [Node X , Node Y ], link_capacity B [Node B , Node B ], link_capacity A [Node x , Node y ], Node Y ], NodeCapability A [][], apps A,T2 } NodeCapability A [][], apps A,T1 } NodeCapability B [][], apps B []} NodeCapability A [][], apps A []} Slide 2 of 20

  3. Mobi obile Ad Ad Hoc oc Net etworks • MANETs are self-organising and rapidly-deployable networks Bandwidth-constrained, variable-capacity and possibly asymmetric links • Highly heterogeneous • Network topology changes dynamically and unpredictably • Variability • Variability in Application Requirements MANET Routing Variability in Network Context Hard to design generically-applicable routing protocols • Slide 3 of 20

  4. Mobi obile Ad Ad Hoc oc Routi outing Hybrid routing Protocol optimisation schemes • Efficiency (routing overhead) - Route caching, Path accumulation, fish-eye Proliferation of ad hoc routing protocols: • routing, efficient | limited | epidemic flooding • Efficiency (energy) - power-aware routing • DSR, AODV, DYMO, OLSR, HSLS, ZRP, TORA, CEDAR, DREAM, LAR, GPSR, etc • Resilience, load-balancing, QoS differentiation: Multi-path routing, Pre- A one-size-fits-all ad hoc routing algorithm is a chimera • emptive routing

  5. Fram ameworks f for or Ad d Hoc oc Rout outing • Support dynamic deployment of ad hoc routing protocols serially • Shorten protocol development cycle • Support fine-grained dynamic reconfiguration Applications Middleware Services & ALM P2P Overlay Networks Service Discovery Protocol building Ext. 2 Routing protocol OLSR DYMO blocks Ext. 1 Neighbour Reliable Support protocols Epidemic Relay Discovery Forwarding Flooding Flooding Node Slide 5 of 20

  6. Fram ameworks f for or Ad d Hoc oc Rout outing • Support dynamic deployment of ad hoc routing protocols serially and simultaneously • Shorten protocol development cycle • Support fine-grained dynamic reconfiguration OLSR-MANET DYMO-MANET Service ALM Discovery P2P P2P OLSR DYMO Ext. 1 Ext. 2 OLSR Ext. 2 DYMO Ext. 1 Neighbour Neighbour Neighbour Reliable Reliable Reliable Relay Relay Discovery Forwarding Discovery Discovery Forwarding Forwarding Flooding Flooding Node X Node Y Node Z Slide 6 of 20

  7. MANETKit ETKit: : Prot otoc ocol ol Com ompos position n (1/2) 1/2) • Underpinned by run-time deployable software components (OpenCom) and Component Frameworks (CFs) • Recursive use of ManetProtocolCF • Inter-Protocol interaction: use of events and standard interfaces • Each ManetProtocolCFdefines a tuple: <required-events, provided-events> • Automatic inter-protocol binding ManetProtocol CF based on event tuples Manet Forward State Control CF Events and direct calls ICFMetaInterface Framework Reconfigure() Manet Manager Manet HasX() Forward State Control Control Forward State CF ConfigureCtxSensor() CF CF Base Layer SysControl CF Forward State System CF Slide 7 of 20

  8. MANETKit ETKit: : Prot otoc ocol ol Com ompos position n (2/2) 2/2) • The ManetProtocol CF Control-Forward-State (CFS) pattern • • Applies to ad hoc routing and support protocols Composed of generic and user-provided components • • Micro-protocol modules to be implemented by user Comes by default with generic machinery • Event distribution & management, integrity checks, configuration, context sensing • IState IForward IPop IPush IConfig IThreadpool ITimer ManetControl CF Demux State MsgGen IState Control Micro-Protocol Configurator MsgParser Tables Micro-Protocol Module Event Micro-Protocol Forward Module Configurator Registry Module Context IEvent ICFMeta Params Map Sensor Src Interface Event Producers & IQueue Handlers ContextSensor ICtx Demux IEvent Sink IForward IPop IPush I<Proto>State dynamic IForward IState receptacles Slide 8 of 20

  9. MANETKit ETKit: : Other her Key ey Feat eatur ures es • Alternative concurrency models IState IForward IPop IPush IEvent IThreadpool • Single-threaded Demux ITimer ManetControl State MsgGen CF • Thread-per-message or IState Control Micro-Protocol Configurator MsgParser Tables Micro-Protocol Module Event Forward Micro-Protocol Module Configurator Context Module Registry • Thread-per-ManetProtocol IEvent ICFMeta Sensor Src Interface Event Producers IQueue ContextSensor Demux & Handlers ICtx IEvent Sink IForward IPop IPush I<Proto>State IForward IState dynamic receptacles • Dynamic Reconfiguration • Context monitoring (link quality, system load ...) • Context components deployed and context sensors re-configured • Reconfiguration Enactment (Local) • Fine-grained: use OpenCom reflective capabilities and CFs integrity checking facilities • Coarse-grained: update event tuples of ManetProtocol instances Slide 9 of 20

  10. MANETKit ETKit-OL OLSR SR IPop IForward IPush IState OLSR ManetProtocol CF TC Handler OLSR State P events = {TC_OUT} Control TC Generator RouteTable Forward R events = {TC_IN, NEIGH_CHANGE, Topology Set ManetControl CF MPR_CHANGE} IPush IPop IForward IPop IPush IState MPR ManetProtocol CF Hysteresis ManetControl CF MPR State P events = {HELLO_OUT, MPR_CHANGE } Link Set Forward Hello Handler Control Neigh Table R events = {HELLO_IN, POWER_STATUS} MPR Calculator 2-Hop Neigh IPush IPop IState IPop IPush IForward System CF P events = {HELLO_IN, TC_IN, Control OS Kernel Power Status Forward POWER_STATUS } State ManetControl CF R events = {HELLO_OUT, TC_OUT}

  11. MANETKit ETKit-OL OLSR SR pow power er-aw awar are IPop IForward IPush IState OLSR ManetProtocol CF TC Handler OLSR State P events = {TC_OUT} Control TC Generator RouteTable Forward R events = {TC_IN, NEIGH_CHANGE, Topology Set ManetControl CF MPR_CHANGE} IPush IPop IForward IPop IPush IState MPR ManetProtocol CF Hysteresis ManetControl CF MPR State P events = {HELLO_OUT, MPR_CHANGE } Link Set Forward Hello Handler PA- Hello Handler Control Neigh Table R events = {HELLO_IN, POWER_STATUS, MPR Calculator 2-Hop Neigh PA-MPR Calculator BATTERY_LEVEL} IPush IPop IState IPop IPush IForward System CF Battery Level P events = {HELLO_IN, TC_IN, Control OS Kernel Forward Power Status POWER_STATUS, BATTERY_LEVEL } State ManetControl CF R events = {HELLO_OUT, TC_OUT} Slide 11 of 20

  12. MANETKit ETKit-DYMO DYMO IPop IForward IPush IState DYMO ManetProtocol CF RE Handler DYMO State P events = {RE_OUT, RERR_OUT, Control RouteTable Forward Route Disc. RTE_FOUND} Msg Cache ManetControl CF RERR Handler R events = {RE_IN, RERR_IN, NEIGH_CHANGE, NO_ROUTE, IPush IPop RTE_UPDATE, SND_RTE_ERR} IForward IPop IPush I<NB>State Neighbour Discovery ManetProtocol CF ManetControl CF NB State P events = {HELLO_OUT, NEIGH_CHANGE } Forward Hello Handler Control Neigh Table R events = {HELLO_IN} IPush IPop System CF IPop IPush IForward P events = {NO_ROUTE, RTE_UPDATE, SND_RTE_ERR, RE_IN, RERR_IN, Control OS Kernel Reactive.k HELLO_IN } Forward State R events = {HELLO_OUT, RE_OUT, ManetControl CF RTE_FOUND} Slide 12 of 20

  13. MANETKit ETKit-DYMO DYMO mul ulti-pat path IPop IForward IPush IState MDYMO ManetProtocol CF DYMO ManetProtocol CF MRE Handler RE Handler DYMO State P events = {MRE_OUT, MRERR_OUT, P events = {RE_OUT, RERR_OUT, Control RouteTable.M Forward Route Disc. RTE_FOUND} RTE_FOUND} Msg Cache ManetControl CF MRERR Handler RERR Handler R events = {MRE_IN, MRERR_IN, R events = {RE_IN, RERR_IN, NEIGH_CHANGE, NO_ROUTE, NEIGH_CHANGE, NO_ROUTE, IPush IPop RTE_UPDATE, SND_RTE_ERR} RTE_UPDATE, SND_RTE_ERR} IForward IPop IPush I<NB>State Neighbour Discovery ManetProtocol CF ManetControl CF NB State P events = {HELLO_OUT, NEIGH_CHANGE } Forward Hello Handler Control Neigh Table R events = {HELLO_IN} IPush IPop System CF System CF IPop IPush IForward P events = {NO_ROUTE, RTE_UPDATE, P events = {NO_ROUTE, RTE_UPDATE, SND_RTE_ERR, RE_IN, RERR_IN, SND_RTE_ERR, MRE_IN, MRERR_IN, Control OS Kernel Reactive.k HELLO_IN } HELLO_IN } Forward State R events = {HELLO_OUT, RE_OUT, R events = {HELLO_OUT, MRE_OUT, ManetControl CF RTE_FOUND} M_RERR_OUT, RTE_FOUND} Slide 13 of 20

Recommend


More recommend