Towards Efficient Group Management and

0 downloads 0 Views 3MB Size Report
Control Center with groups of mobile ... Traffic Control, NASA, Stock Market, etc.) ... Mobile Client. App. (Android). Controller. Web Browser. (JavaScript+AJAX).
Towards  Efficient  Group  Management   and  Communica7on  for  Large-­‐Scale   Mobile  Applica7ons     Rafael O.Vasconcelos, Lincoln N. E Silva & Markus Endler   Laboratory for Advanced Collaboration (LAC) Pontifícia Universidade Católica   of Rio de Janeiro (PUC-Rio) Brazil       5th PerCol, March 29th, 2014

LA  C    

Laboratory for Advanced Collaboration

Mo7va7on   Support  applica/ons  for  tracking,   communica/on  and  coordina/on  of   groups  of  mobile  nodes  (e.g.  people,   vehicles,  etc.)     Mobile  Nodes  periodically  send  their   posi/on  and  other  context  data   Communica/on  demands:     -­‐  Control  Center  with  groups  of  mobile   nodes   -­‐  Within  groups  of  mobile  nodes  

Dynamic  grouping  of  mobile  nodes   depending  on  their  context   E.g.  To  give  a  warning  about  a   loca/on-­‐specific  hazardous  situa/on  

2

Scenario   §  A  parcel  delivery  service  needs  to  send  instant  messages  to   drivers  individually,  or  to  groups  of  drivers,  with  instruc/ons  or   alerts   §  Groups  established  according  to:     •  the  current  posi/on  (e.g.  within  a  given  metropolitan  area,  at  a  highway,   etc),     •  the  transported  load  (e.g.  perishable  goods),  or     •  the  opera/ng  condi/ons  of  the  vehicles  (e.g.  with  small  gas  reserve)  

§  Drivers  can  subscribe  to  updated  informa/on  from  other  vehicles   in  the  driver’s  current  group,  allowing  them  to  monitor  and  help   each  other  when  some  problem  with  another  vehicle  of  the  fleet   is  detected   §  How  to  manage  such  dynamic  groups  in  a  scalable  way?   4

Agenda   §  Overview  of  the  middleware  Scalable  Data  Distribu.on   Layer  (SDDL)  and  OMG®  DDS™   §  Group  Management  in  SDDL   §  Case  Study:  Fleet  Tracking  and  Management   Applica/on     §  Performance  Evalua/on   §  Conclusion  

5

SDDL  –  Scalable  Data  Distribu7on  Layer   §  Is  the  layer  which  handles  all  communica/ons  from/to  the   mobile  nodes.   •  Periodic  Context  Update  messages  from  the  mobile  nodes   •  Applica/on-­‐specific  messages    

§  Connects  sta/onary  nodes  within  a  high-­‐performance  core   network  to  the  mobile  nodes,  through  Gateway  nodes   §  U/lizes  two  communica/on  protocols:   •  Real-­‐Time  Publish/Subscribe  (RTPS):  of  the  Data  Distribu/on  Service™   (DDS)  specifica/on,  in  the  core   •  MR-­‐UDP:  reliable-­‐UDP,    for  communica/on  between  the  core  to  the   mobile  nodes    

§  Supports  the  following  types  of  communica/on:  

6

§  §  §  § 

Unicast:  to  a  single  mobile  node;   Broadcast:  to  all  nodes  in  the  system;   Gateway-­‐cast:  to  all  nodes  connected  to  a  Gateway;   Groupcast:  to  all  nodes  in  a  group;  

SDDL  –  Overview   MR-UDP . . .

MR-UDP

WiMax internet Gateway

Processing nodes

Gateway

2G/3G/4G Internet

. . .

GroupDefiner

Core SDDL (DDS Domain) . . .

7

Gateway

Gateway Controller

MR-UDP WiFi hotspots Internet

MR-UDP works on any connection based on Internet Protocol (IP)

. . .

GroupCast Modes 1. Controller-to-MN Groupcast

Browser Web

8

© Markus Endler

GroupCast Modes 2. Mobile-to-Mobile Groupcast

Browser Web

9

© Markus Endler

Data  Distribu7on  Service™  (DDS)  

§  An   OMG®   standard   that   defines   middleware   for   distributed   applica/ons   with   requirements   for   real-­‐7me   and   high   performance   communica7on   for  large-­‐scale  systems   §  Several  comercial  products  and  open-­‐source  implementa/ons   §  DDS™   is   being   used   for   several   mission-­‐cri/cal   applica/ons   (USNavy,   Air   Traffic  Control,  NASA,  Stock  Market,  etc.)     §  It  defines  a  decentralized  P2P  architecture   §  Implements    the  high-­‐performance  Real  Time  Publish/Subscribe  Protocol   (RTPS),  with  loosely  coupled  Data  readers  and  Data  writers     §  Has   a   Data-­‐centric   model,   where   communica/on   data   structures   are   defined  by  topics  and  their  proper/es   §  Supports  22  QoS  policies  (Durability,  Reliability,  Latency  Budget,  etc.)   §  Is  independent  of  the  programming  language  and  the  opera/ng  system   10

Architecture  of  SDDL   Mobile Node

SDDL  Core  

Web Browser (JavaScript+AJAX)

PoA-Manager

GroupDefiner

Informs GW addresses to the Mobiles

Group-selection module

Gateway MN-to-Group-Map Group-to-MN-Map

Mobile Client App (Android)

Controller Pubs

Subs

Pubs

Subs

Pubs

Pubs

Subs

GroupAPI

Universal DDS Interface

ClientLib

Data Distribution Service (DDS) in a Cluster

MR-UDP

Topic A

Topic

Topic

B

C

DDS Global Data Space

14

Subs

Types  of  Groups   §  Mobile  Nodes  are  grouped  by  “external  forces”  –  they  have   no  awareness  of  the  groups  they  belong  to   §   Groups  may  be  long-­‐lived  (explicit)  or  context-­‐defined   (implicit)   Explicit Group membership: if defined by some static attribute of the node (e.g. its UUID) Implicit Group membership: if defined by some attribute of the message or context update generated by the node (e.g. energy level, position, speed, altitude, etc.)

§  Each  group  has  a  unique  GroupID   §  Any  message  with  a  GroupID  as  its  des/na/on  is  delivered  to   all  MNs  in  the  corresponding  group   15

GroupDefiner   §  Is  a  sta/c  node  of  the  SDDL  core,  responsible  for  managing  the  group   memberships   §  It  subscribes  to  all  messages  and  Context  Updates  (CxtU)  produced  by  the  MNs   §  and  updates  the  MN’s  group  membership  according  to  the  grouping  logic,  defined   by  the  applica/on     §  The  GroupDefiner  is  composed  of  a  generic  part  +  the  applica/on-­‐specific   GroupSelec.onModule  (that  can  be  easily  exchanged  or  re-­‐programmed)  

§  Gateways  have  MN-­‐to-­‐Groups  and  Groups-­‐to-­‐MNs  hash-­‐maps,  which  are  updated   by  Group-­‐membership-­‐diff  (G-­‐diff  )  messages   §  Gateways  will  subscribe  only  to  messages  with  GIDs  if  any  of  their  MNs  are   16 members  of  the  group  

Asynchronous  Client  Group  API   §  Through  this  API  a  mobile  clients  can  also:   •  Learn  of  the  groups  they  are  members  of   •  explicitly  subscribe  (and  unsubscribe)  to  groupcast  messages  of  any   group   •  Publish  a  groupcast  to  any  (set  of)  group   •  Gateways  manage  explicit  client  subscrip/ons  separately  from  the   groups  set  by  the  GroupDefiner   •  Whenever  a  MN  performs  a  handover  to  a  new  Gateway,  it  must  re-­‐ issue  all  the  subscrip/ons  to  the  new  Gateway,     •  The  former  Gateway  will  discard  the  MN’s  subscrip/on  records  as   soon  as  the  MR-­‐UDP  connec/on  is  broken    

§  There  is  no  guaranteed  groupcast  message  delivery  order     19

Case  Study:  Fleet  Tracking  and  Management   System   §  Used  for  a  major  Brazilian  gas  distribu/on  company     §  Its  Opera/ons  Center  tracks  the  trucks  in  real-­‐/me,  in  order  to  op/mize  the  trucks'   i/neraries,  to  detect  and  no/fy  obstruc/ons  or  jams  on  roads,  and  to  monitor  the   truck  driver's  ac/ons;     §  For  this  applica/on,  we  used  our  context-­‐based  Group  communica/on  support:  

20

•  Along  highway  BR-­‐116,  we  have  created  loca/on-­‐based  groups  for  each  highway  sec/on     •  each  truck  moving  on  such  sec/on  is  automa/cally  associated  with  the  corresponding   group,     •  all  the  context  update  and  applica/on  messages  sent  by  this  vehicle  (e.g.  Instant   message  about  a  spoied  accident  on  the  highway)  are  immediately  disseminated  to  all   members  of  the  group    

Performance  Tests   Main  Goal:  to  evaluate  the  latency  and  the  overhead,   measuring:   •  the  Round-­‐Trip-­‐Delay  (RTD)  for  groupcasts  for  various  sizes  of  MN   groups   •  the  overhead  incurred  by  the  exchange  of  G-­‐Diff  messages  between   the  GroupDefiner  and  the  Gateways  

Experimental  Setup:   §  mul/-­‐threaded  Program  that  simulates  any  number  of  MNs  (but  uses  MR-­‐UDP  to   communicate  with  the  Gateways)     §  1,000,  2,000,  3,000,  4,000  simulated  MNs  per  Gateway;     §  Two  Gateways;     §  CxtU  frequency  by  each  MN  was  each  30  seconds;     §  One  single  GroupDefiner;     §  high  and  low  probability  of  MNs  group  membership  change  (i.e.  by  dynamic   grouping  based  on  different  parts  of  the  generated  posi/on  data  by  the  simulated   MNs     22

Results   §  We  evaluated  the  overhead  in  the  SDDL  core  with  two  dis/nct  implementa/ons  of   GroupDefiner  and  Gateway:  one  using  G-­‐Diff  message  and  other  dissemina/ng  the   whole  MN´s  group  membership  informa/on     Time in msec

§  Then  we  measured  the  GroupCast  RTD  (from  sending  the  groupcast  un/l  reply  by  all   group  members)  for  2000  MNs,  with  all  machines  in  a  LAN    The  remaining  MNs  were  just  flooding  the  SDDL  core  with  periodic  CxtU  msgs   Time in msec

23

Results   §  Test  in  WLAN  environment  :  The  MN-­‐Simulator  programs  executed  on   several  notebooks  that  communicated  with  the  Gateway  through  Wi-­‐Fi   §  The  Gateway  and  the  GroupDefiner  executed  in  a  LAN,  connected  through   a  100-­‐Mbps  switch     §  We  varied  the  percentage  of  all  the  MNs  that  were  members  of  a  (single)   context-­‐defined  group  

24

Conclusion  and  Future  Work     §  We  presented  a  DDS-­‐based  middleware  that  implements  efficient  group  cast   communica/on  and  management  of  groups  that  is  prac/cal  for  large  sets  of   mobile  nodes.     §  The  middleware  is  scalable  and  includes  an  efficient  mechanism  to  group  MNs   according  to  their  messages  and  context  updates     §  We  have  used  the  Context-­‐based  group  Communica/on  for  a  real-­‐world   applica/on;   §  Performance  evalua/on  has  shown  a  small  latency  of    groupcast  (for  1000  MNs   less  than  1  minute)  and  liile  processing  overhead  for  managing  dynamic  group   memberships;     Some  Future  Works:   §  Use  Groupcast  for  movement  coordina/on  among  MN  (e.g.  swarm  robo/cs)   §  Inves/gate  how  groups  subscrip/ons  with  more  complex  expressions  (e.g.  GA  ∩ GB) can  be  implemented  

25

Thank  you!      

More  informa/on  available  at:   www.lac.inf.puc-­‐rio.br   Or  send  Email  to:  [email protected]­‐rio.br    

26

Partner:

 

Suggest Documents