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: