‹header›
‹date/time›
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level
‹footer›
‹#›
The pub/sub communication paradigm hides all explicit dependencies between the publisher and subscriber parties.
This is because the communication paradigm decouples the publishers and subscribers in space, flow, and time.
decoupled in space because publishers and subscribers communicate without being aware of each other, decoupled in flow because publishers and subscribers communicate without being blocked while producing or consuming events, decoupled in time because publishers and subscribers communicate without being connected simultaneously.
Offers content-based filtration that allows subscribers to consume a specific set of events.
Content-based communication because events are routed to the end destination based on their content.
Multi-way delivery because events can be delivered to many subscribers at the same time.
Logically the pub/sub service is considered as a centralized service as it intermediates the communication between publishers and subscribers.
The interacting parties uses different primitives to communicate with the pub/sub service.
The pub/sub service can be organized in various topologies that differ in terms of their strategies in routing subscriptions and messages.
In the recent years, the pub/sub communication model has been effectively used to model different information dissemination applications due to its high flexibility and scalability.
The semantical characterizations of such communication paradigm makes it a good candidate for supporting disconnected operations in the mobile environments.
 
Most of existing middleware systems are optimized for the fixed environments (i.e., where clients are assumed to be stationary and the infrastructure itself is fixed).
Proliferation of portable devices and advances of wireless technologies have created a new environment that allows users to access information and different services while they are roaming. The vision of being connected to the same broker all the time is not valid any longer. Mobile users may disconnect from one broker and reconnect to another broker while they are roaming.
Due to mobility and weak network connectivity, users may go through a temporary blackout period.
This may result in missing some or all of their messages and receiving duplicated messages.
Hence, add-on protocols are needed to deal with mobility and temporary disconnection issues.
This raises one of our research questions “Is seamless integration of wired and wireless networks feasible for existing pub/sub notification services?”
On other words, Dose one size fit all?
As a result, many research activates are focused on enhancing the functionality and performance of these systems in the fixed-domain.
This brings up the following research questions:
How to cope with mobile subscribers?
During the occurrence of disconnected operations and handover between brokers
How to balance subscriber’s load in the event-service?
Due to mobility, it may happen that some brokers in the system will serve small number of subscribers while others serve a large number of subscribers
Currently, few studies have been conducted to extend pub/sub systems to operate in mobile environments.
The main objective of our research work is to develop a mobility extension for pub/sub systems and validate its performance in a mobile, wireless environment
 
Java Message Service (or JMS) is a set of interfaces that are used to implement Message Oriented Middleware services.
JMS supports two communication styles: point-to-point and pub/sub. 
JMS adapts two subscription schemes: durable and non-durable scheme
Durable subscription instructs the broker to store messages for disconnected subscriber and forwards these messages to the subscriber when it reconnects. Hence, durable subscriptions naturally support disconnected operations in a mobile environment. Nondurable subscriptions on the other hand allow subscribers to consume messages as long as they are active. If a nondurable subscriber disconnects from the network, it will then miss all the published messages during the period of its inactivation.
JMS also offers two types of message consumption: Asynchronous and Synchronous
JMS offers other features such as content-based filtration, message priorities, Ack types, message types, ..
After reviewing a representative set of pub/sub systems, we have chosen one of the JMS implementations as our base pub/sub platform for our research activities. we have studied the performance of JMS primitives and their reliability cost in a wireless environment. In particular, we have focused on two subscription schemes, durable and nondurable, that respectively offer high and low reliability levels. The reliability cost is evaluated and compared with baseline data collected on a local-area, wired network. This gives an initial idea whether a seamless integration of wired/wireless domains is feasible for existing pub/sub notification services.
The key observations of our study are as follow.
One of the commonly used solutions that we have found in the literature are based on a reactive approach. In this approach, state-transfer occurs only after the mobile subscribers reconnect to the new broker.
The two major issues introduced by this approach are as follow:
This approach results in a drastic increase in the load on a network. It is shown (in one of the paper)
that mobility can increase the average network traffic by up to 100%
And
This approach introduces high handoff latency
The NG forms the basis of our proposed approach as it dynamically identifies the candidate subset of next potential brokers It is an undirected graph with a number of edges that represent the mobility paths between the brokers.
 
The pro-active approach is implemented within an independent layer of proxies between the subscribers and their messaging brokers. This layer is mainly responsible for replicating dummy (or virtual) subscribers at the next future brokers to buffer messages on behalf of the moving subscriber. A single proxy process runs with each broker to manage user mobility from one broker to the other. Note that the proxy layer is completely transparent to the brokers and the applications. We have integrated a monitoring component with the broker process to transparently track the subscribers’ states (i.e., connect, disconnect, handoff) as well as the ID of the last message consumed by the subscriber. Also, each subscriber has to keep track of the last broker to which it was connected to.
The figure on the left side shows our experimental setup that is used to perform all our experiments.
The overlay network of our experimental setup consists of six Intel based machines.
Two nodes were used for running two instances of the JMS broker with default configuration values.
A router node was used for running a wireless network emulator.
One node was used for running a single, stationary message publisher.
The remaining two nodes were used for running the mobile subscribers.
The figure on the right side shows the mobility state diagram that is used to represent a mobility scenario.
The connect state is the starting point for all subscribes in our mobility scenario.
Each subscriber stays in this state for randomly generated, exponentially distributed time.
With a probability of 0.5, a subscriber either moves to disconnect or handoff state.
Similarly, the subscriber remains in the next state for a randomly generated, exponentially distributed time.
We measured the overhead of the three mobility support extensions in terms of message processing time.
From the figure we note that reactive approach experiences higher overhead than the other approaches.
This is due to the overhead of retrieving messages from the old broker.
The pro-active and durable-based approaches achieve almost similar overhead.