The IHMAS PS Optimizations


The IMS-based Presence Service (PS) is starting to widely provide different kinds of seamlessly mobile services with context awareness in enterprise deployment scenarios. However, the deployment of presence-based enterprise services in wide-scale and heterogeneous wireless networks still requires to face several challenging issues. First of all, scalability and differentiated quality are considered crucial, especially under high traffic conditions and when dealing with inter-domain mobility scenarios.


The goal of our research if to develop a novel IMS PS infrastructure to effectively overcome such limitations. In particular, proposed IHMAS PS optimizations presents three original extensions toward scalability and quality:

  • A federated model to optimize inter-domain distribution of PS notification messages via locality-based aggregation;

  • Differentiated quality levels to grant prompter notifications to three different main classes of service (gold, silver, and copper);

  • An extension of client-side buffering to reliablly deliver presence messages even during user roaming.

Similarily to the basic IHMAS architecture, the IHMAS PS optimization support is also proxy-based and exploits the Inter-domain Optimization Module (IOM) as a local proxy to external (inter-domain) PS servers. IOM is deployed at each IMS domain and interacts with local PSs to implement PS optimizations together with three differentiated quality levels: gold, silver, and copper.


Service differentiation is enforced by our IOM on a per-session base, depending on watchers’ indications in their SUBSCRIBE message headers (see figure below). IOM associates gold watchers with the notify message management that grants the shortest notification delays. Gold watchers are excluded from traffic optimizations: IOM does not participate to their service routing because they interact directly with external PSs; in addition, PS schedules gold NOTIFY messages with the highest priority. Silver watchers, instead, are served by applying the common NOTIFY technique: for each PUBLISH message, IOM server interacts with PS to gather the list of all subscribed and authorized watchers and sends them possibly aggregated NOTIFY messages. Finally, copper watchers receive batched notification management: for each watcher, IOM server batches its notifications and delivers an aggregated NOTIFY message, either at specified intervals or when the message size exceeds the maximum UDP payload length, so to avoid message split.


IHMAS Message Flows for Differentiated PS Enhancements
IOM has been implemented as an OpenSER (actually forked into the two projects, Kamailio and OpenSIPS) module and is available for download here. Performance results about IOM are available at IHMAS Experimental Results section.