Wireless access to a content routing system
C&C Research Laboratories, NEC USA Inc.
4 Independence Way
+1 609 951 2910
C&C Research Laboratories, NEC USA Inc.
4 Independence Way
+1 609 951 2922
We present in this paper our experience in providing a wireless access interface to a distributed content search and delivery system. Important Wireless Application Protocol (WAP) gateway functions, in particular the Push function, are integrated into the access points of the system. Wireless devices can use this interface to search for distributed information and get notified of relevant new content. A prototype implementation of the integration has been completed which works successfully with WAP 1.2 compliant clients.
WAP gateway, Push, Kannel, ANSWER system, content routing
1. INTRODUCTIONThe Wireless Application Protocol (WAP) is a suite of protocol solutions for providing web content to wireless devices. It enables wireless devices with small screen sizes and slow, lossy communication channels to access web content in a more efficient and natural way. In this paper, we describe our experience in integrating the WAP framework into the ANSWER information system. ANSWER is a distributed content search and distribution system which provides an infrastructure directly connecting information providers and consumers. A symmetrical interaction model allows users to directly search for results or get notified by the system through content distribution based on prior interest indication. The core of the system serves as a distributed information base and search engine which can be built upon either an active network or an overlay application layer network. On the edge (access points) of the system, a consistent interface is provided for both content provision and search result delivery through the use of XML. For search users, both web access and WAP access are provided for submission of queries as well as display of search results and new content alerts. In order to allow for wireless access, WAP gateway functions are introduced into the ANSWER system. In particular, the push feature of WAP is used as a natural means to distribute new content to interested clients. We discuss in the rest of the paper how we build the most essential gateway functions into the ANSWER system and show through examples how wireless devices interact with the system through the WAP interface.
2. ANSWER: core and edgeDue to space constraint, we shall only give a very brief overview of the ANSWER architecture. Interested readers can refer to  for a detailed description of the system.
Figure 1: The ANSWER system
ANSWER is built upon a concept referred to as ``information routing'' and a symmetrical interaction model between information providers and consumers. In short, ``information routing'' is an extension to the traditional network routing functions with information discovery mechanisms. An ``information routing'' capable network thus can route not only packets with specific destination addresses but those that only contain the specifications of their interests. Two types of information routing can be distinguished. In the first type, packets searching for particular areas of information are routed to the relevant information providers. This is referred to as query routing. In the second type, packets containing certain information are distributed to their targeted audience, or interested information consumers. This is referred to as distribution routing. The ANSWER system supports both query routing and distribution routing which are realized in a cooperative and symmetrical way. These are reflected in the way that the content providers and the information consumers interact with each other. Both parties may choose to inject active packets containing content descriptions or information requests into the active network. Information routing then serves as the bridge to matching entities. For convenience, we shall refer to the entity providing content information as the ``feeder'' and the one injecting requests as the ``seeker''. Thus query routing in ANSWER is responsible for routing ``seeker'' packets based on the ``feeder'' information in the system. Similarly, ``feeder'' packets are directed through distribution routing using the interest traces left by the ``seeker'' packets.
For efficient information storage and distribution in the network, only indexing information, instead of whole application data sets is stored in the network and such information is properly distilled (merge) when necessary. This makes the ANSWER system architecture highly scalable. A wide spectrum of applications ranging from e-commerce transactions to software distributions can be supported by the ANSWER system and new applications can be easily added into the system. Such a flexibility is made possible by several factors:
- An ontology based hierarchical semantic structure for content management.
- A dynamically constructed routing tree for directory information distribution.
- Content routing modules at each ANSWER node for directory management and packet forwarding.
- Intelligent agents in the packets for customized application routing.
3. The Wireless Application ProtocolThe Wireless Application Protocol (WAP) is a suite of protocol solutions for providing web content to wireless devices.
Figure 2: The WAP operation model
Figure 3: The WAP protocol stack
4. Wireless access to ANSWERIn order to support wireless access to the ANSWER system, we extended the ANSWER edge nodes with functions which enable a smooth and efficient WAP interface. These include:
- Identification of wireless devices
- Integration of WAP gateway functions
- Conversion and organization of search results
- Delivery of new content through WAP Push
4.1 WAP gateway integrationSince the ANSWER edge nodes have a web interface, it is possible to use an arbitrary WAP gateway to access the ANSWER system. However, given the simple functions that wireless devices perform to interact with the ANSWER system, it is unnecessary to have a full featured WAP gateway. Further, directly integrating some of the WAP gateway functions into the ANSWER edge nodes makes the wireless accesses more efficient, as search requests and content deliveries do not have to go through some centralized gateways which could become system bottlenecks. As an example to these arguments, consider the WAP Push feature and its use in the ANSWER system which we will elaborate in a later section. It is the most important feature for our system since it serves as a means to deliver new content to interested users. However, if we rely on a Push gateway to notify users each time there is new result available at an edge node, the gateway will be flooded with PAP (Push Access Protocol) requests. If instead we build the Push gateway function in the edge nodes, not only can the bottleneck problem be alleviated, but the PAP protocol can be eliminated all together. This is because each edge node is the only source of Push requests for its gateway and thus there is no longer the need for external protocol interactions. For our purpose, we used the open source Kannel WAP gateway package as the reference. Since Kannel was implemented in C and did not support the Push function, our integration effort involved both re-implementing features in Java and building the gateway functions.
4.2 Search result conversionAs we mentioned earlier, the query results from the ANSWER system are coded in XML format for easy conversion into different display languages using XSL. For WAP devices, results are converted into WML cards where each result item corresponds naturally to a single card. Given the distributed nature of the ANSWER system, the results of a search are delivered to the user progressively as content summaries from different parts of the system become available. With the help of the edge nodes, the whole result sets can be displayed properly by the wireless devices. The edge node groups the results as they become available. Based on certain threshold(e.g. time passed or number of results available), it delivers the initial set of results as a deck of cards to the wireless device. The last card in the deck would ask the user whether he/she wants to see more results. More new decks from the edge node will then be fetched if the user decides to continue. Otherwise, the temporary storage of the result set is erased from the edge node.
4.3 New content deliveryOne of the distinctive features of the ANSWER system is the symmetrical interaction model between content providers and consumers. That is, not only can query packets be routed to the proper content destinations, but content packets can be delivered to users who expressed their interests before. New content notification is thus an integral part of the wireless access. From WAP 1.2 and higher, a Push function is specified. It allows a user to send information asynchronously to a WAP enabled device. To do so, the user sends a request containing the id of the intended device to a Push gateway. The gateway then locate the device and deliver the message. With this push feature, we can very smoothly deliver new content notifications to WAP users. As a very important part of our WAP integration, we have implemented the Push gateway functions in the ANSWER edge nodes. When a WAP device submits an ANSWER query to an edge node, its device id together with the query id are stored at the node. When new results are available at a later stage(after certain time threshold), if the query has not been canceled by the user, the results are converted into a WML deck, a Push message containing a link to the deck is then sent to the device. Such a message will be either delivered as an alert or put in the user's mail box.
5. ExamplesOne of the applications we developed on the ANSWER framework is the conference announcement and search application. Conference organizers can announce the conferences using a special XML format. A user can search for specific conferences through a web browser or a WAP device based on different criteria. See Figure 4 for the WAP query interface. The corresponding WML file and WMLScript are downloaded from a web server, in our case Apache, through the kannel WAP gateway. The query data entered by the user is analyzed and reformatted by the WMLScript and sent back to a servlet. This servlet packs the data into an ANSWER query packet and injects it into the ANSWER network. It also returns a WML page containing a timer to the WAP device. The results returned from the ANSWER network are aggregated by the servlet into a deck of cards, with each card representing one conference. The WAP device, upon the expiration of the timer, retrieves the results currently available at the servlet and displays them as shown in Figure 5. Again this transaction goes through the WAP gateway.
|Figure 4: Entering a query||Figure 5: Results obtained|
Users may also be notified of relevant new announcements through alert messages on the WAP devices. The last card of the returned results from a query allows the user to subscribe to the announcement feature. Figure 6 shows the announcement subscription card. If the user subscribes to this service, a special flag will be set at the servlet for the user. Once the servlet receives additional replies to the original query, it will compile a Push Message and send it to the WAP device. The message contains a link to where the new result can be retrieved. It is compiled into byte code and sent directly to the WAP device through the Push gateway which is part of the servlet. Figure 7 shows the screen shot of a WAP phone when a new result becomes available and the user chooses to view the result. Since we are not aware of any Push capable WAP phones, the WAP phone in this example is a simulator in the Nokia WAP Toolkit.
|Figure 6: Receive updates?||Figure 7: New results arrived|
6. Status and future workWe have finished integrating the basic WAP gateway functions into the ANSWER system. A prototype system which uses the ANSWER framework has been tested with both WAP phones and WAP simulation softwares. We are investigating various aspects of mobility management for wireless access in the ANSWER system. In particular, we plan to integrate support in the ANSWER system so that 1) mobile devices can locate the ``nearest'' edge nodes, and 2) user sessions can remain uninterrupted, e.g. search results can still be properly delivered even when the user moves or temporarily disconnects from the ANSWER system.
- WAP Forum. Wireless Application Protocol Architecture Specification. http://www1.wapforum.org/tech/terms.asp?doc=WAP-100-WAPArch-19980430-a.pdf.
- J. Zhang and M. Ott. ANSWER: Information Routing Based on Active Networks. The 5th Asia Pacific Conference on Communications. Beijing, China. October 1999.
- W3C. Extensible Markup Language(XML) 1.0. http://www.w3.org/TR/1998/REC-xml-19980210.html.
- WAP Forum. Push Architectural Overview. http://www1.wapforum.org/tech/terms.asp?doc=WAP-165-PushArchOverview-19991108-a.pdf.
- W3C. Extensible Stylesheet Language(XSL) 1.0. http://www.w3.org/TR/xsl/.
- T.R. Gruber. Toward principles for the design of ontologies used for knowledge sharing. Padova workshop on Formal Ontology, March 1993.