Content Delivery to Wireless Handsets: eCare
Technical Report
Lalitha Suryanarayana
SBC Technology Resources
9505 Arboretum Blvd.
Austin, TX78759
lalitha@tri.sbc.com
Abstract
Emerging thin-client technologies and standards enable delivery of content and data services onto wireless handsets over existing infrastructure such as two-way SMS and circuit-switched transport. This project implements the Electronic Customer Care (eCare for short) application for delivery of subscriber billing and usage information to the wireless handset. From a carrier perspective, eCare application will save costs by reducing call volume to the customer service call centers. The implementation has been carried out using a combination of HDML (a variation of WML) and cgi-scripts that use JDBC to access the subscriber information from an Oracle relational database, using Unwired Planet's browser simulator for handsets.
This project implements the Electronic Customer Care (eCare) application for delivery of subscriber billing and usage information to the wireless handset. It also enables the user to may payment of the amount due, by entering credit card information. The implementation has been carried out using a combination of HDML (a variation of WML) and cgi-scripts served to the micro browser simulating real-life wireless handsets, from Netscape's enterprise web server. At the back-end, the server connects to an Oracle Relational Database System, which simulates the carrier's billing system. The database access has been implemented using Java applications at the server with JDBC thin-client driver from Oracle.
With the emergence of thin-client technologies and the efforts in the standards bodies, wireless carriers have an opportunity to provide new data services (both revenue reduction and value-added) using wireless internet access, while leveraging two-way SMS and fast circuit-switched data infrastructure. A thin-client architecture such as shown in Figure 1 provides advanced capabilities that enable end-user devices to access service content via the internet. These capabilities include the ability to seamlessly access information, receive notifications (push) and manage messaging services.
Standards
WAP
The Wireless Application Protocol (WAP) is a result of the WAP Forum's effort to promote industry-wide specifications for technology useful in developing applications and services that operate over wireless networks. WAP specifies an application framework and network protocols for wireless devices such as mobile phones, pagers, and personal digital assistants (PDAs), and is aimed at enabling operators, manufacturers, and content developers to build advanced services and implementations in a fast and flexible manner. The WAP protocols enable the communication of browser requests from the mobile terminal to the network Web server. A micro browser in the wireless terminal coordinates the user interface. The Web server may serve either WAP Wireless Markup Language (WML) content or Web HyperText Markup Language (HTML) content which must be filtered or translated WAP format before delivering to the handset. WML is a lightweight markup language similar to HTML, but is optimized for use in mobile terminals. The complete specifications are publicly available at the WAP Forum Web site (www.wapforum.org).
HDML
HDML and in general WML, are optimized for specifying presentation and user interaction on devices with constraints and limited keypads. These include small displays, limited user-input facilities, narrowband network connections, limited memory, and little computational resources. The HDML language provides a set of commands or statements that specify how an UP.Phone interacts with a user. HDML statements display information on a phone, provide input options for the user, and specify how the phone responds when the user requests a certain action to be carried out. More information can be found [2].
UP browser and simulator
The UP.Browser behaves much like a conventional web browser. Its interface is controlled by the sets of commands it loads. For a web browser, the presentation language is HTML; for a UP.Browser, it is HDML. Thus, the browser is a software module that enables the handheld device to interpret HDML and communicate with the Up.Link gateway. More information can be found in the UP SDK documentation.
Services Overview
The goal of using thin clients on handsets is to be able to provide customers with a mechanism to access information from any location. The key applications that result in either cost savings for the carrier or provide value-added services for customers are:
Related Work
This section discusses the overall scope and description for the implemented architecture.
The scope of this project is limited to a simple implementation of the eCare application via the direct HTTP mode [2] (due to firewall issues) and does not require the UP.Link gateway. While an attempt has been to keep the user-interface simple (to the point that it feels trivial), most of the efforts have been concentrated on minimizing the keystrokes or buttons pushed by the user on the interface (simulated handset). However, note that the UI has been designed by an engineer!
Implementation of security has been limited to login password required to be entered by the user. No additional security has been implemented at the server side (encryption, etc). Finally, the HDML code does not really conform to the proposed WML syntax, and will require suitable modification in syntax to port it to WML.
Functional Description
The eCare application serves a set of static and dynamic HDML pages to the client (browser simulator) that provides account information to the user. The functional flow is as follows:
Overview
The architecture for eCare application is as shown in figure 2:
The server side application consists of a combination of static and dynamic HDML pages (HDML files and cgi scripts) that are served to the browser simulator running on the client. The application is run in the Direct HTTP mode in which case, there is no need for an UP.Link gateway. Static HDML pages are used to display the welcome screen, password entry and the main menu, while cgi scripts implement user authentication and display of requested account information. It is also used to collect the credit card (payment) information. At the backend, the web server is connected to a SQL database (Oracle RDBMS) that stores the user profile. It is queried to obtain account details, and is updated with the payment information using a set of Java applications, which interface with the database via JDBC.
Implementation
Potential Enhancements
While the basic framework for the eCare application has been implemented, there are several enchancements that can potentially be added to improve usability or capability offered to the user. Clearly,
References