![]() |
|
Communication Context for Adaptive Mobile Applications |
|
|
Project Overview | Network Abstraction Layer Software | User Experiment |
CoSphere PhD Project |
||||||||||||||
|
For many applications running on a mobile device, the ability to adapt to changing network resources plays an important role in providing a good service to the user. Applications can adapt based on the current state as well as based on the prediction of the future state of available resources. The CoSphere PhD project investigates mechanisms that support applications in making decisions on network resource usage on mobile devices. It consists of two main parts. The first part defines and validates a system service that brings network resource awareness and control to these applications, in the form of a network resource abstraction. The second part investigates the possibilities to optimize network resource usage given the mobility patterns of the user. This network resource adaptation based on previous experience is validated with real-user mobility traces collected on multi-homed devices. The properties of network resources on mobile devices are dynamic in many situations. As users are mobile, they walk in and out of range of wireless networks, often experience fluctuations in throughput capacity, and obtain different levels of support for IP connectivity. Depending on their specific needs, mobile applications benefit from taking into account aspects of these dynamics - for instance, by adapting data rates to maximum available capacity or controlling when to scan and activate specific networks. Contrary to some approaches to mobility and roaming, we argue that network and link layer aspects cannot be fully hidden from applications but must be exposed in a flexible manner (MobiSys paper and PerWare paper). To support applications in dealing with this cross-layer resource awareness and control, we have developed an extensible network resource model (NRM) that describes the available network entities and their interrelationships below the application layer (COMSWARE paper and IEEE Internet Computing paper). Applications can take different views on available network resources using the NRM such that they provide just enough information to match with the applications' decision making needs. They connect to the network abstraction layer (NAL) service on the mobile device to be notified of changes and to control available resources. The figure above shows an example network resource description. This description uses the network resource model for a mobile device equipped with five physical network interfaces (fixed serial, WLAN, cellular, fixed Ethernet, and Bluetooth), as well as Mobile IP for mobility management.The Bluetooth and Ethernet interfaces don't have active links, but the serial link is up, the WLAN interface sees two networks (one actively connected), and the cellular interface sees three networks (also with one connected). Each entity description has an identifier, indicated as circled numbers, which the application uses to link the entities.The left side shows a partial description in XML.The right side shows the mobile device with five network interfaces and in-range networks (top) and the network resource description as a diagram (bottom). Note that the Mobile IP tunnel both uses and provides an IPv4 gateway path segment, allowing the tunnel packets to go over the serial link. Some applications running on mobile devices have very straightforward preferences in terms of network connectivity and may easily select the most suitable available path to match these preferences. A web browser, for instance, may select an outgoing path primarily based on (monetary) cost of generated traffic and on expected speed to establish its TCP connections to the selected web servers. This choice is likely to remain valid during the existence of such a connection, as it is typically short-lived. Other types of applications have, however, requirements and preferences that are less obviously translated into choices on network resource usage. For example, a monitoring application may need to upload sensory readings to a healthcare center on a regular basis for further analysis, and may accept a degree of data staleness if that reduces the cost of transmission. For such a delay-tolerant application, connections must be flexible in the amount of data carried during a certain time frame, and the application must balance the different performance aspects as network resource availability and capacity fluctuate. If at a certain point in time only a low-speed, high-cost path is available, and it is likely that on short notice a high-speed, low-cost network will be in range, it is better to postpone upload until that time. This kind of planning obviously highly depends on the mobility patterns of the user who carries the mobile device and is only possible when these patterns have been experienced and gathered in the past (see CoNEXT poster and SAACS paper). These patterns consist of changes in parameters that describe network resources as seen from the perspective of the mobile host. This information is cross-layer: available networks including technology specific parameters such as identifiers and signal strengths of in-range access points and base stations, currently activated links, currently established IP settings for these links, available network paths (routes), etc. In order to study the possibilities of experience-based network resource usage, we have defined and executed a user experiment, which gather mobility traces on multi-homed devices.
Zoom-in on the cellular network mobility graph of a single user as gathered during the user experiment. Nodes are cells (with anonymized identifiers) and edges are transitions from one cell to another. Nodes 'seen' more than 20 times are light orange, nodes seen more than 5 times are dark orange and other nodes are grey. The thickness of the edges is a measure of the number of transitions between two cells. Individual nodes without edges are not displayed. The graph layout is generated with a force-directed algorithm. We have focuses on predicting the visibility of network resources in time, give the visibility of these resources as observed in the past. Our approach is based on modeling the sensed networks visibility as a stream of events. It uses other events in the stream as predictors for the event we are interested in, and, in case of multiple predictors, applying different strategies for the selection of the best predictor. The results are discussed in our MobilityModels'08 paper and this paper. |
||||||||||||||
People |
||||||||||||||
| ||||||||||||||