Wednesday, November 19, 2008

Optimally transporting XML through SMS for CAP Messages - How can it be done?

While working on my presentation titled "Common Alerting Protocol" (CAP) for the ITU Workshop in Kedha, Malaysia and experimenting with the Sahana Messaging/Alerting Module in preperation for a demo for the workshop participants, I questioned, "is there a method already in place or how does one optimally send an XML file through the SMS transport. Of cause this is in relation to transporting a CAP message with the underlying XML data storage and transfer standard through the SMS transport technology.

One would say, "why bother with SMS just transport it through GPRS or any other advanced mobile data service platform transport layer. There are advantages that SMS offers and GPRS does not; a key advantage being SMS is always ready to receive messages (i.e. data can be pushed on to) provided the handset is turned on; where as GPRS must be user initiated where the data must be pulled. For the purpose of "alerting" SMS surpasses GPRS with the mentioned advantage. It is also possible to house a an applet that resides on the handset and uses GPRS to periodically fetch newly posted WAP alerts.

Obviousely all one needs to do is insert the XML formatted text including the tags, header, etc in an SMS text and send it to whomever they want. The dilemma is in the payload. The XML formated text in the image above has 520 characters with white space and 421 characters without white space. The 520 characters would fit in to four 8-bit encoded SMS pages. Cost of an SMS is proportional to the number of SMS pages; unlike GPRS which is billed by the number of bytes (or kilobytes). More so, the intent of CAP being mass alerting efficiency is compromized with the size of the payload. Hence the key question is "how do we minimize the payload of a CAP message transported througg SMS to maximize the efficiency and the effectiveness?"

For a targeted application such as one that would display a CAP message could be designed to include only the necessary and sufficient (tags), which are yet to be determined by experts and remain an open problem. Let us assume the CAP SMS text carries the <incident>, <scope>, <status>, <msgType>, <category>, <event>, <urgency>, <severity>, <certainty>, <areaDesc>, and <resourceDesc> tags. The mobile phone application would be designed to read these tags and display on an interactive mobile phone GUI. The GUI would give the recipient the option to change the predefined values such as the <msgType> from the received value of "Alert" to "Ack" and reply to the sender. Assuming the alert was issued through a software such as the Sahana Messaging Module, which has a feature to store replies and produce a consolidated report, sender could match those who had received and acknowledged the alert.

I anticipate the need to transfer XML files on to mobile phones will become a must with standardization and interoperability. The revers or the dual exists; thus XML encoding for SMS. Any one interested can find technical literature on IBM's developer works Tips.