Meier, R. Cahill, V. Distributed Systems Group, School of Computer Science and Statistics, Trinity College Dublin, Ireland RTLab. Seolyoung, Jeong IEEE Transactions on Software Engineering, May-June 2010
Introduction Location-Aware Event-Based Middleware STEAM Event Service Evaluation
Pervasive and Mobile Application (Nomadic Application) Location-aware : distributed over large geographical areas. Loosely coupled, highly mobile components Dynamically to communicate and collaborate Not infrastructure network Event-Based communication Dynamic reconfiguration of the connections Asynchronous interconnection “STEAM: Event-Based Middleware for Wireless Ad Hoc Networks,” ICDCSW’02 (IEEE International Conference on Distributed Computing Systems Workshops), 2002 STEAM (Scalable Timed Events and Mobility)
Event-based middleware to support pervasive and mobile application in which collaboration between nearby entities Large number of interacting entities Geographical dispersion Spontaneously changing connections Mobile Entity Move together and apart over time Event In close proximity Consumers are located in a producer’s range Ex) emergency vehicle – ambulance warning tourist – specific site information
Centralized component (e.g. event broker) → event type, proximity Event Type (Functional) Subject, Content (Nonfunctional) Attribute_List : location, validity, priority, deadline, order… Proximity Area (Shape, Dimensions, Reference Point) Naval Fig 1. Supporting collaboration using event types and proximities.
Producer : announce (event type / proximity pair) - support Consumer : subscribe (interest event type) – not yet Fig 2. Location-independent announcement and subscription
Producer : announce proximity to specify the locations Consumer : discover interest area, deliver events at the relevant location Location-dependent event delivery Announcement concept to support mobility Consumer, Producer : enable to discover proximity Anonymity Entities are anonymous to each other but known by the middleware
Distributing Location-Based Filters multiple filters : meaning of an event, time, geographical location → combine Shared between many nodes → lighten the load of individual nodes Defining Location-Based Filters Subject filter = { Subject } Filter Term = { Content Parameter Name, Operator, Value } Content filter = { (Conjunctive | Disjunctive), Filter Term, [Filter Term], … } Proximity filter = { (Stationary | Mobile), Area (Shape, Dimensions, Reference Point), Naval } Values of the parameters of an event Geographical scope Name of the relevant event type
STEAM : event-based middleware Provide location-aware event dissemination for collaborative mobile app. Mobile device : interact through IEEE b-based ad hoc wireless local area networks Portable computing device : handheld device, notebook … Inherently Distributed Service Architecture Mapping Location onto Process Groups Exploiting Multicast Groups Distributed Hashing Fully Decentralized Service Discovery
Fig 3. Mobile devices hosting the inherently distributed architecture of the STEAM middleware -application programming interface -Interconnect the remaining component -provide a filter engine -disseminate events depending on the locations of the relevant producers to consumers -provide the means for mobile entities to announce and subscribe to event and to discover events of interest -Manage the proximity groups -supply geographical location information (use GPS-based sensor data)
Every mobile device has identical STEAM capabilities Operations of the STEAM application programming interface announce(eventType et, proximityFilter pf) unannounce(eventType et) subscribe(subjectFilter sf, deliveryHandler dh, contentFilter cf) unsubscribe(subjectFilter sf, deliveryHandler dh, contentFilter cf) raise(event e) Producer : specify proximity filters, announce with event types, grouping Consumer : specify subject filters and (content filters) with delivery handlers
Group communication : one-to-many communication application component in STEAM’s proximity groups Geographical : be located in the geographical area corresponding o the group Functional : be interested in the group in order to join Proximity Group Absolute proximity group : geographical fixed point in stationary proximity space Relative proximity group : moving point of a specific mobile node
Single-hop and multi-hop event dissemination Proximity-based group communication service based on IP multicast Proximity groups based on the TBMAC protocol “Time Bounded Medium Access Control for Ad Hoc Networks,” POMC’02. (ACM International workshop on Principles Of Mobile Computing), Fig 4. Location-based event dissemination. (a)Single-hop event dissemination (b) Multi-hop event dissemination
decentralized addressing scheme Event type + Proximity (shape dimensions, reference point, naval location) Unique throughout a system Hashing algorithm → hash key : group identifier (24-bit) Fig 5. Computing group identifiers from event type and proximity pairs.
PDS uses beacons to periodically announce relevant proximities The Discovery Mechanism Fig 6. The mechanism for fully decentralized service discovery.
Experiment Distributed notebook computer Windows XP (1GHz Intel P3) Lucent Orinoco Gold WiFi (IEEE b) PCMCIA card Mobile Robot Windows XP Embedded (1.3GHz Celeron) Cost of Location-Dependent Event Dissemination Benefits of Distributed Event Filtering Latency of Location-Dependent Event Delivery Accuracy of Location-Dependent Event Dissemination
Fig 7. (A A, A B ) Dissemination cost as a function of proximity range and saturation. (B A, B B ) Dissemination cost as a function of migration speed and proximity for a saturation of 120.
Fig. 11. Latency of a producer raising a location-dependent event as a function of the number of announced event types and the number of subscribers in a system. Producers are hosted on either a notebook computer (NC) or a robot controller (RC). Fig. 12. Latency of a consumer delivering a location-dependent event as a function of the number of subscriptions to other event types in a system. Consumers are hosted on either an NC or an RC. SF (Subject Filter) PF (Proximity Filter) CF (Content Filter)
Fig. 13. The five collaborative application scenarios used to evaluate the accuracy of location-dependent event dissemination under different network conditions.
Fig. 14. Partitioned entities as a function of proximity range for event dissemination in sparsely populated areas with saturation 60. Fig. 15. Dissemination cost reduction due to a gossiping technique as a function of proximity range and averaged for saturations 120, 180, and 240.
Experiment : notebook and mobile robot based on WindowsXP Changed to embedded computing environment ? Computing power problem Proximity group : reflection location information Added variety information? Increasing proximity group Increasing join to or leave from proximity group Increasing overhead for management multicast group