Subscriber Mobility in Pub/Sub Systems: Pro-Active vs. Reactive Handoffs
Thomas Kunz
Systems and Computer Engineering
Carleton University

Publish/Subscribe Systems: Background
The pub/sub service is a logically centralized service
intermediates the communication between publishers and subscribers in a distributed setting.
Basic primitives: sub, unsub, pub
Various routing topologies and semantics
The pub/sub communication paradigm provides:
space, flow, and timing decoupling between producers and consumers of information
content-based filtering and communication
Multi-way delivery
A frequently used communication paradigm
Proposed for mobile computing

Pub/Sub System on Top of Wireless Network

Pub/Sub & Mobility: Problem Definition
How to cope with mobile subscribers?
Disconnected operations:
Buffering & queue management
Handover protocol
relocating subscriptions and updating the topology
How to balance subscriber’s load in the event-service?
Load balancing strategy
Few studies focused on extending pub/sub
Goals of research
Develop a mobility support service for pub/sub systems
Validate its performance in a testbed

Java Message Service (JMS): Overview
API specification to implement MOM services
Two communication modes specified:
Point-to-point (one-to-one)
Publish/subscribe (event-based service)
Two subscription schemes adapted:
Durable scheme
Non-durable scheme
Two consumption modes supported:
Asynchronous mode
Synchronous mode
Other features

Characterization of JMS Primitives
Wired/wireless networks
JMS primitives
Compare primitives with high & low reliability
Detailed results appears in “Performance of Pub/Sub Systems in Wired/Wireless Networks”, in Proceedings of 64th IEEE VTC, September 2006
Key observations
Non-durable subscriptions outperform durable ones
Durable subscriptions show comparable throughput results to non-durable ones in wireless domain
Reliability cost of durable subscriptions is relatively low in wireless environment

Possible Mobility Solutions
Reactive approach: state-transfer occurs only after the mobile subscribers reconnect to the new broker
Commonly used: JEDI, REBECA, SIENA, CEA, ..
Durable subscription-based approach: every broker buffers all the published messages irrespective of its current active subscriptions
Recently used: JMS implementations (OpenJMS, FiornaMQ, JBossMQ, JavaSMQ), Ivana et al., ..
Pro-active Approach: context transfer/caching occurs prior to the actual movement of the mobile subscriber (our proposal)
Passive subscriptions are propagated to neighbors of current broker
Subscriptions get activated once subscriber disconnects, start buffering messages
Once subscriber reconnects to a broker, will with high probability find active subscriptions and locally buffered messages, subscriptions in old and new neighborhood get updated accordingly

Neighbor Graph (NG)
Is an undirected graph with a number of edges that represent the mobility paths between the vertices
Provides the abstractions to identify the candidate subset of next potential brokers
Forms the basis for pre-loading the subscriber context one hop ahead of its current broker
Automatically generated and adaptively changes according to the mobility graph
A timestamp based LRU method can be used to ensure the freshness of NG and remove the outlier edges
Is stored in a distributed manner

Implementing Pro-active Approach

Experimental Setup & Mobility State Diagram

Performance Results and Comparison I
Mobility extension overhead
In terms of message processing time and message throughput

Performance Results and Comparisons II
Cumulative Distribution of Handoff Time

Performance Results and Comparisons III
Message Loss, Duplication, Throughput
As a function of the publication rate

Summary and Future Work
Proactive approach to support mobile subscribers
Evaluated through small testbed
Superior performance to reactive approach:
Higher throughput
Lower message latency
Lower handoff latency
No message duplication
Low message loss rate
Future Work:
Larger testbed (some initial results)
Impact of mobility patterns/neighborhood graph approximation
Compare to durable approach (some initial results)
Analytical performance bounds/prediction models