Piecewise Framework for End-to-End Network Awareness Service in Heterogeneous Data Networks Liang Cheng and Ivan Marsic Department of Electrical and Computer Engineering and the CAIP Center Rutgers, The State University of New Jersey 94 Brett Rd., Piscataway, NJ 08854-8058 {chengl,marsic}@caip.rutgers.edu Abstract — Network awareness is the capability of network applications to be aware of the characteristics of the networking environment. We present a piecewise framework for end-to-end network awareness service (NAS) that allows network applications on mobile devices to acquire end-to-end performance characteristics of heterogeneous data networks. Example piecewise techniques for awareness of available bandwidth, round-trip time, and packet loss rate are developed for the framework. Analytical results show that the framework can achieve substantial performance enhancement over traditional unitary frameworks in terms of wireless-bandwidth and battery-energy consumption. At the same time, the piecewise design does not reduce awareness agility. The framework is lightweight and scalable, and network applications can flexibly employ the NAS to adapt to dynamic environment in both proactive and reactive manners. Experiments with a prototype network-aware video-on-demand application exemplify the deployment of the NAS and demonstrate its near optimum performance. Index Terms — Network awareness, heterogeneous data networks, adaptive applications, available bandwidth, round-trip time. I. INTRODUCTION Heterogeneous data networks consisting of both wired and wireless data networks are becoming ubiquitous with the proliferation of mobile devices. Generally, in a heterogeneous data network a mobile host with a wireless network interface card (NIC) or a modem may communicate with other hosts in the Internet via wireless link(s). A generic architecture of heterogeneous data networks can be abstracted as in Fig. 1. It has two main parts: the mobile wireless part connected to the fixed wired part via wireless interfaces. The wireless part may include mobile ad hoc networks (MANET) involving multiple-hop wireless communications [1]. A dedicated proxy or gateway as a service point is generally used for three reasons [2]: (i) the wireless connection quality is too poor to sustain a typical client-server application, (ii) the amount of data transferred to the mobile host must be filtered because of the orders of magnitude difference in bandwidth between the wired and wireless connections, and (iii) many portable computing devices have display and processing limitations that must be addressed by the proxy before sending the filtered response to the mobile host. Additionally, a proxy/gateway is necessary in case of protocol differences between the wired and wireless parts, and this will likely remain so in the next-generation wide-band wireless networks. Wireless links in heterogeneous data networks generally exhibit the following characteristics: Low bandwidth: The bandwidth of wireless connections ranges from several Kbps, e.g., in GSM and Palm.Net systems, to several hundred Kbps, e.g., in wireless LANs. More Wireless/Mobile (MANET included) Fixed, Wired Base Station Proxy or Gatew ay Mobile Device Internet Fixed Devices Fig. 1. The generic architecture of heterogeneous data networks 2 precisely, wireless Internet access via GSM at present has limited bandwidth from 9.6 Kbps to 115 Kbps using GPRS (General Packet Radio Service), and a CDPD channel of raw capacity 19.2 Kbps may be shared by up to 30 users [2]. Large transmission latency: Due to the low bandwidth and media-access-control (MAC) protocol overhead, the packet-transmission round-trip time (RTT) is large. For example, the round-trip latency on a GSM link is on the order of 410 ms [3]. Frequent and volatile bandwidth changing: Because of dynamic channel sharing and fading, the available bandwidth of a wireless link changes frequently and abruptly. Due to the movement of the mobile user, the connection may experience cell handoff and even blackout. Additional fundamental constraints that need to be addressed are limitations of mobile devices, including low processing power, small memory, small display, and limited battery lifetime. If Moore’s law continues to hold, mobile devices in the near future will probably not be constrained by the low processing power and the memory size. However, the small displays and limited battery lifetime are long-term factors that should be considered. A. Adaptive Applications Considering the above limitations, network applications need to be adaptive to the network environment to make their performance acceptable or to be enhanced. A stock-trading scenario below illustrates these points. While sitting in a taxi, a day trader connects his laptop to the Internet through a GSM network. He tracks his stock portfolio on an e-investment website. The intra-day charts of the stocks and market indices give him information for trading decisions. Assume that when he wants to get the chart of a stock quote, the taxi enters a handoff region. A problem occurs since the decreased bandwidth of the GSM link cannot support transmission of the chart image. After the connection switches to a new cell, he may have missed a trading opportunity even if the newly available bandwidth can again support the image data traffic. A more serious problem may occur if he 3 places a stock trading order while the taxi crosses a tunnel and the connection experiences a blackout. The connection with the website is broken and the order gets lost! A solution to the above problems is to make the application adaptive to the heterogeneous data networks. If the link cannot afford the image transmission, then it can send the data in a table format or send just the key indices that reflect the dynamics of the stock curve. A solution for the broken connection due to a blackout may be communication protocol stack adaptation to the wireless network [2]. B. Network Awareness For an application on a mobile device to achieve behavior adaptation, it first needs to be aware of the characteristics of the heterogeneous data network. Awareness is the basis of adaptation. For example, a rate-adaptive application needs to be aware of the available bandwidth along the communication path. In addition to adaptation, resource reservation is another well-known technique for enhancing the end-to-end performance of network applications. Awareness is required even here, since the resource policy-making and admission-control are based on the awareness of the network characteristics. In this paper, network awareness is the capability of network applications on mobile devices to be aware of the end-to-end performance characteristics of heterogeneous data networks, such as available bandwidth and round-trip time. Awareness about dynamic context, such as the geographic location or proximity, may also be of interest, but it is not considered here. An important consideration is that the cost of acquiring network awareness does not exceed its utility. If not obtained efficiently, awareness may impact the performance of heterogeneous data networks, especially the mobile devices, due to resource consumption overheads, including CPU, wireless bandwidth, and battery energy. An obvious example is the out-of-band method of measuring bottleneck bandwidth by saturating the communication path with a continuous stream of probe packets [4]. The cost/utility tradeoff is still an open research problem. 4 In this paper, we present a piecewise framework that partitions the end-to-end network awareness measurements into the wired and wireless components. This approach is a natural outcome of the observations about the difference between the characteristics and the dynamics of wired and wireless networks. The adaptive network applications on mobile devices use the network awareness service (NAS) to efficiently acquire end-to-end network conditions. NAS is designed as lightweight and scalable in terms of resource consumption and deployment overhead, so that it can be applied to small mobile devices. Based on the separation principle [5], which states that media transfer, control, and management are functionally distinct architectural activities, this research focuses on the piecewise NAS framework rather than adaptation schemes for network applications. However, we show the feasibility and flexibility of employing the framework using adaptive applications in both proactive and reactive modes. Most of the existing adaptive applications adjust their behaviors according to the observed packet loss. They are called reactive because no action is taken unless the received quality of service (QoS) deteriorates. By taking advantage of the piecewise framework presented in this paper, the applications can also can effectively adapt to the dynamic environment in a proactive manner before the QoS deteriorates. The paper is organized as follows. Section II describes the piecewise framework and relevant techniques for end-to-end network awareness service. Performance analysis is presented in Section III. A video-on-demand experiment in Section IV demonstrates the feasibility and flexibility of employing the NAS framework. Section V discusses related work. Finally, Section VI concludes the paper. 5 II. A. NETWORK AWARENESS SERVICE (NAS) Piecewise NAS Framework Fig. 2 illustrates the piecewise framework for network awareness. The framework acquires, measures, integrates, and distributes the parameters that reflect the characteristics of heterogeneous data networks. There are four main components: the NAS daemon, the NAS data repository, the NAS manager, and the NAS agent. The SNMP (Simple Network Management Protocol) agent and manager in Fig. 2 are optional in the piecewise framework. The NAS daemons implement different end-to-end network awareness techniques, e.g., available bandwidth measurement. They are optional components at the mobile device, subject to the resource limitations. The NAS data repository holds all data of interest that reflect network conditions. Data are acquired by NAS daemons and other service agents (e.g., SNMP agents) at the proxy or gateway, collected from the NAS agents at mobile devices, integrated via an inference engine, and distributed by the NAS manager. The repository has a hierarchical architecture conforming to the SNMP MIB standard for simplicity, extensibility, and compatibility. The NAS manager manages the NAS data repository. It collects, integrates, and distributes the NAS data. The manager may communicate with other service agents, such as the SNMP Mobile Client Proxy or Gateway SNMP Manager Applications NAS Agent NAS Daemon Base Station SNMP Agent Internet NAS Manager Inference Engine NAS Daemon NAS Data Repository Fig. 2. Piecewise NAS framework 6 agent or SNMP manager, to acquire additional information that the existing NAS daemons do not provide. Its inference engine integrates data collected from the NAS daemons and the SNMP manager or agent, if available. Once the manager is activated at the proxy or gateway, it advertises its existence through a well-known multicast channel defined in the NAS implementation. When the manger receives a query message from a NAS agent, it replies with the corresponding NAS data. The NAS agent provides NAS data to applications. It sends registration messages to the NAS manager through the well-known multicast channel in activation. Applications may subscribe to the NAS agent, or send an explicit query message to it. If the information required by the query message cannot be obtained by the local NAS daemons, the NAS agent will send a query to the NAS manager to perform the awareness task and return the reply. The NAS query/reply procedure can occur at the application’s startup phase and/or at the runtime phase. At startup, the applications deploy NAS in the proactive mode, while at runtime they may use NAS in both proactive and reactive modes. B. Service/Data Distribution Model The agility of the adaptive applications depends on the timely distribution of the NAS data. It is therefore important to distribute data effectively between different entities in the NAS framework. We use two distribution models: a push and a pull model. In the push model, the data provider takes the initiative by “pushing” data to the consumer, while in the pull model the consumer “pulls” data from the supplier. In the NAS framework, applications subscribe to the NAS agent, thus implementing the push model, while the pull model is implemented through the applications’ querying the NAS agent (and the NAS manager). There are pros and cons for using either model. The push model requires runtime support for data delivery while the pull model needs only a well-defined pull interface. However, only a hookup with callback is needed to use the push model, while the time and frequency of 7 polling must be specified in the pull model. In fact, these two models can be considered as the tradeoff between simplicity of implementation (pull model) and simplicity of use (push model). In the mobile wireless environment, it may be difficult to know when to push and when to pull. There are security/privacy concerns about the push model because it sometimes reveals the current status of the mobile user. However, the push model can provide timely updates for the information. We chose a combination data distribution model for the NAS framework; both models are used to distribute the NAS data. Techniques for measuring network parameters are essential for the NAS. Three methods for end-to-end NAS are presented below: (i) available bandwidth estimation by processing the interpacket time, (ii) round-trip time measurement of a data path, and (iii) awareness of packet loss type in heterogeneous data networks. C. Piecewise Techniques for End-to-End NAS Unlike a traditional, unitary awareness framework in which measurement tasks are solely performed at mobile hosts, techniques in the piecewise NAS framework acquire end-to-end network conditions in a piecewise way. Basically the network awareness is divided into two parts: awareness of the mobile wireless part and the fixed wired part, as illustrated in Fig. 1. The NAS manager or NAS agent integrates the intermediate results about these two parts and provides the result to the application. Here we present three example piecewise NAS techniques. Same spacing is preserved on higher speed links = Time to process P bytes packet Minimum packet spacing at bottleneck link P Packets Link speed estimation = P/ Fig. 3. Available bandwidth awareness 8 1) Available Bandwidth The end-to-end available bandwidth is a frequently used parameter for adaptive applications. Generally, the end-to-end available bandwidth is the bottleneck bandwidth along the communication data path. The essential idea of an awareness method for available bandwidth [4] uses inter-packet time to estimate the characteristics of the bottleneck link. If two packets (e.g., ICMP probe packets) travel together so that they are queued as a pair at the bottleneck link with no packet intervening between them, then their inter-packet spacing is proportional to the processing time required for the bottleneck link to transmit the second packet of the pair (Fig. 3). We have implemented the inter-packet time method in the NAS framework. In our implementation, the probing packets can be payload packets, and explicit ICMP probe packets as well. When an application queries the NAS agent about the available bandwidth, the agent delegates the NAS manager to perform this awareness task by sending a query with the address of the destination host. The manager divides the task into three steps. First, it activates the NAS daemon at the proxy/gateway responsible for the awareness of available bandwidth to measure the available bandwidth between the mobile host and the proxy, say, b1. Next, it gets the available bandwidth between the proxy and the remote Internet host/server from the measurement by the NAS daemon, say, b2. Finally the manager computes the minimum of b1 and b2 and replies back to the NAS agent with the result. Note that the two steps can be done in parallel. Finally, the NAS agent replies with the result to the application. 2) Round-Trip Time and Packet Loss Rate Similar to the awareness of the available bandwidth, the NAS agent delegates this task to the NAS manager. The RTTs are measured between the mobile host and the proxy/gateway (rtt1) and between the proxy/gateway and the remote Internet host/server (rtt2). The manager replies with the sum of rtt1 and rtt2 back to the NAS agent, which finally replies to the application. 9 Similarly, the packet loss rates are measured between the mobile host and the proxy/gateway (l1) and between the proxy/gateway and the remote Internet host/server (l2). The manager replies the result, 1(1l1)(1l2), back to the NAS agent, which forwards the reply to the application. The NAS framework is piecewise not only because the NAS components are distributed between the mobile device and the proxy/gateway, but also since the awareness tasks are distributed from the NAS agent at the mobile host to the NAS manager at the proxy/ gateway. The next section shows that the wireless bandwidth and computing resources are preserved. III. A. PERFORMANCE ANALYSIS Performance Analysis Model The performance analysis model for heterogeneous data networks is shown in Fig. 4. Although the wireless communication in MANET may be multi-hop, the data path between a mobile device and the proxy/gateway can still be abstracted as a one-hop wireless link in terms of the end-to-end packet-loss characteristics. Similar to Fig. 1, there are two parts: the mobile wireless part and the fixed wired part. The end-to-end path is between the mobile host and the remote host. Either of them could be the sender or the receiver. Assume that the path between the sender and the receiver is symmetric, meaning that the communication path characteristics are the same in both directions. In practice this is not true, though the difference is usually small. We denote the loss rate of the mobile wireless part as r1, which is the probability of a packet being incorrectly transmitted/received between the mobile device and the proxy/gateway. The loss rate of the fixed wired part is r2, which is the probability of a packet being incorrectly Mobile Device r1 Proxy/ Gateway r2 Fig. 4. Performance analysis model 10 Remote Host transmitted/received between the proxy/gateway and the remote host. In practice, r1 and r2 change dynamically because of the Internet and wireless channel dynamics, user mobility, cellhandovers, and possible infrastructure changes in MANET. However, for this performance analysis, without loss of generality, we assume that the heterogeneous data networks are in a steady state so that r1 and r2 remain the same over a certain period of time, say, 20 RTTs. The rationale is that if the piecewise framework performs better than the unitary one for each short period of time, then the piecewise framework will perform better overall than the unitary one. The probability of a packet being successfully transmitted/received between the mobile device and the remote host is: p = (1–r1)(1–r2) (1) We will use the awareness of the available bandwidth as an analysis example below. A similar analysis applies to the awareness of round-trip time. B. Awareness of Available Bandwidth According to the description of the method for measuring the available bandwidth, only when both packets in a back-to-back packet-pair travel a round trip successfully can a correct value of the available bandwidth be computed. For simplicity we assume that the query and the reply packets between the NAS agent and NAS manager have the same size as that of the probe packet. 1) Wireless Bandwidth Consumption Unitary Framework In a unitary framework, the available bandwidth is determined on the mobile device. For example, in a proactive mode, the mobile device sends out the back-to-back probe packet-pair, receives the bounced packet pair from the remote host, and computes the available bandwidth. Assume that the packet loss rates r1 and r2 are packet-independent. Based on (1), the probability of obtaining a correct measurement if only one packet-pair is used can be expressed as: 11 = p4 (2) If multiple, say m, packet-pairs are used, then the probability of obtaining a correct measurement increases, and is expressed as: = 1 – (1 – p4)m (3) Therefore to achieve probability approximately equal to 1, m should be as large as possible. To achieve the success probability of , where p2<<1, at least Nt packet pairs should be sent, where N t log 4 (1 ) (1 p ) because < 1 – (1 – p4)m, if p<1, where (4) is the ceiling operator. Since the consumption of wireless bandwidth is proportional to the number of packet-pairs, we use Nt as the index. Piecewise Framework In our piecewise framework, the available bandwidth measurement in the fixed wired part does not consume wireless bandwidth. Only the awareness of the available bandwidth in the mobile wireless part contributes to wireless bandwidth consumption. Based on the previous analysis, to achieve the same success probability , at least Np packet pairs should be used: N p log 4 ) (1 ) 0.5 ( 1 q (5) where q = 1 – r1. The 0.5 packet-pair comes from a query packet plus a reply packet between the NAS manager and the NAS agent. Since p<q, it follows that Nt>Np. Therefore the performance enhancement in terms of wireless bandwidth consumption is (Nt–Np)/Nt. This can be substantial in the presence of unreliable communication as is the case in the Internet. For example, the dominant packet loss rate in the U.S. part of the Internet is around 10% [6]. The performance enhancement for realistic loss rates is shown in Fig. 5. Assuming r1=r2=0.1 and =99.99%, the performance enhancement is 44.1%. 12 Fig. 5. Performance enhancement with =99.99% An additional benefit of the performance enhancement is battery energy saving, since the radio device draws a much greater amount of power during transmission [7]. 2) Awareness Agility Note that the piecewise NAS framework involves packets exchange between the NAS agent and the NAS manager, and the communication between the NAS agent and the application and between the NAS manager and the NAS daemon as well. Therefore it is necessary to determine whether the piecewise framework impairs the agility of network awareness, i.e., the timely measurement and, ultimately, the application’s response. Assume that the RTT between the proxy/gateway and the remote host is t1, and the RTT between the mobile host and the proxy/gateway is t2. Also, denote the communication time between the NAS agent and application as t3 and between the NAS manager and the NAS daemon as t4. We ignore the computing time. Finally, suppose that the interval between the packet-pairs is so small that the duration from sending out the first packet-pair to the last packetpair in a measurement can be neglected. Unitary Framework The time tt to achieve successful measurement is (t1+t2). 13 Piecewise Framework The time tp to achieve successful measurement is expressed as tp = max(t1,t2) + t3 + t4 + t2 (6) because the measurement between the mobile device and the proxy/gateway and the measurement between the proxy/gateway and the remote host are conducted in parallel. Since the RTT between different hosts is several orders of magnitude greater than the inter-process communication time between different applications on the same host, t3 and t4 can be neglected. Therefore, assuming that the transmission times for Nt or Np packet-pairs are negligible, the time difference between the piecewise framework and the unitary framework is: max(t1,t2) – t1 (7) which is zero for t1t2, or t2–t1 for t1<t2. In the latter case the piecewise framework impairs application’s agility. However, since the RTTs are almost always in the range of milliseconds, the impact is negligible. Similar analysis can be applied to the awareness of round-trip time and packet loss rate. C. Scalability of the NAS Framework 1) Scaling Up to a Multi-Tasking OS As higher performance and energy-efficient processors and memory chips emerge, more and more mobile devices will support multitasking operating systems. Thus multiple network applications can be simultaneously active at the device. Suppose that, in a unitary framework, M applications are adaptive to the available bandwidth and perform the measurements independently. To achieve success probability , the total wireless bandwidth consumption will be MNt, if there is no correlation among their individual measurement successes. In contrast, to achieve the same success probability in the piecewise NAS framework, the total wireless bandwidth consumed will be only Np. An application sends the query to the NAS agent that delegates the task to the NAS manager. The manager obtains the value of the available 14 bandwidth, b, from the NAS daemon at the proxy/gateway, and feeds it back to the agent. Finally, the agent gets the traffic-multiplexing ratio, , of that application from the traffic scheduler, and replies with the final result, b, to the application. Therefore the other applications can share the measurement result b multiplied by their corresponding trafficmultiplexing ratios. 2) Scaling Down to a Lightweight OS The minimum footprint of the NAS framework at the mobile host is the NAS agent, which is the service interface communicating with the NAS manager. The NAS daemons can all run at the NAS manager’s host. The agent is a simple proxy for invoking NAS manager’s services, thus making the framework downward scalable. IV. A. EXPERIMENTS Experimental Testbed The topology of the experimental testbed is shown in Fig. 6. It can be viewed as consisting of Router Sw itch Serial Link Sw itch Proxy Router Wearable Computer Wireless LAN Base Station Sw itch Video Workstation Base Station Workstation Handheld PC Fig. 6. Topology of the testbed 15 Internet two parts, a wireless LAN and the Internet. A Proxim wireless LAN [8] is used in the wirelessnetwork part. Wireless laptops and wearable computers communicate with other hosts via base stations in the slave-master mode. Roaming and mobile IP are supported. The wireless link is the bottleneck unless otherwise stated. B. Video-on-Demand Application In this experiment, the performance of an adaptive video-on-demand (VoD) application deploying NAS framework is studied. The VoD system is based on the client/server paradigm. The client, a mobile device, connects to the video server and requests video streams. Our hypothesis is that better performance can be achieved by deploying NAS. 1) Application Implementation During the application configuration, the user can set the preferred video frame size and rate, and the range of compression ratios of the video stream for different scenarios. The preferred rate is computed accordingly. For example, a QCIF format with 30 frames per second and compression ratio around 200:1 in PB mode using H.263 coder for a wireless channel will generate about 125 Kbps data traffic. Alternatively, the preferred rates can also be set using predefined values. At the startup phase when a client establishes a connection, it acquires the available bandwidth from the NAS agent. After comparing the measured bandwidth to the preferred rate, the minimum of these two is fed back to the server as the expected sending rate. Thus, the server’s sending rate is set proactively to avoid aggressive or conservative startup. The VoD server provides different levels of QoS to different clients based on their feedback. For example, it sends a high-resolution video stream at high frame rate to the client communicating via a highbandwidth channel, e.g., wireless LAN, and a relatively low-resolution video stream at low frame rate to the client communicating via a low-bandwidth channel, e.g., GSM. 16 During runtime, the client can apply the NAS framework in both proactive and reactive ways. When the available bandwidth decreases, network awareness is deployed reactively. Specifically, the available bandwidth cannot support the current server’s sending rate, so some packets are lost. If the packet loss rate exceeds a given threshold, e.g., 20%, which is noticeably greater than the normal wireless transmission loss rate, the client then obtains the available bandwidth from the NAS agent. The measurement is based on the payload packets rather than the probe packets. The client sets the measured value as the expected sending rate of the video server and feeds it back to the server so the server can adjust its sending rate accordingly. When the available bandwidth increases, there is no noticeable event to reveal this unless the video application learns it in a proactive way. During the no-packet-loss period, the client periodically acquires the available bandwidth from the NAS agent. The frequency depends on the dynamics of the wireless link, and it may affect the agility of the video application. We are currently investigating a method where the server’s sending rate grows to uncover the possible available bandwidth increase, similar to the TCP’s congestion control algorithm. 2) Emulation Results The objective of this experiment is to test the validity and agility of our method for availablebandwidth measurement in a dynamic networking environment. The experiment was conducted in the testbed shown in Fig. 6. A serial link is used to emulate the wireless link in terms of dynamically changing bandwidth, since we can control the bandwidth of the serial link explicitly. The workstation with a camera in the Internet part sends live video streams to the clients to emulate the VoD server. The workstation without the camera on the Internet requests a video stream from the server and emulates the wireless clients. The experiment results are shown in Fig. 7(a) and 7(b). The preferred rate is set at 125 Kbps, and the client acquires the available bandwidth every minute. At the startup phase, the client notifies the server about the measured available bandwidth and the server adjusts its sending rate accordingly, so there is no packet loss. At 45 sec, the available bandwidth decreases to 72 Kbps 17 30 Actual Data Volume Optimal Data Volume 120 25 100 Data volume (M bits) Available bandwidth (Kbps) 140 Bandwidth Loss Rate 80 Packet loss rate (%) 60 20 15 10 40 5 20 0 0 0 50 100 150 time (second) 200 250 0 50 100 150 time (second) (a) 200 250 (b) 140 120 Receiving rate (Kbps) 100 80 60 40 20 0 0 100 200 300 time (second) 400 500 600 (c) Fig. 7. (a) Bandwidth and packet loss rate of an emulated wireless link. (b) Actual data volume transmitted vs. optimal data volume. (c) Receiving rate at the client with a wireless link in campus networks leading to a packet loss. The client reactively acquires the new available bandwidth and feeds the information back to the server to slow down. During runtime, the client also proactively acquires the available bandwidth so that the server can accelerate its sending rate if the available bandwidth increases (e.g., at 108 sec the bandwidth increases back to 125 Kbps). The application’s agility for the available bandwidth decrease is very good since the time gap between the decrease and the server’s slowdown is negligible, which is shown in Fig. 7(a). However, when the available bandwidth increases, there are noticeable time gaps between the 18 increase and the server’s subsequent speedup. The actual received data volume is a bit smaller than the optimal data volume that could be received (Fig. 7b). The results show that the actual volume is a good approximation to the optimal volume since network awareness enables the application to adapt in both proactive and reactive manners. 3) Experimental Results This experiment was conducted using a campus network. The mobile client, which is the wearable computer in the wireless LAN, connects to the VoD server, which is the workstation with a camera in the Internet part (Fig. 6). The preferred rate is again set to 125 Kbps. Fig. 7(c) shows the data-receiving rate at the client side. The available bandwidth is for most of the time lower than the preferred rate. However, based on the emulation results, we can conclude that the receiving rate at the mobile client approximates the available bandwidth of the wireless link. Fig. 7(c) demonstrates the capability of wireless-aware applications to adjust to the channel handoff and blackout. For example, in the period between 150 and 220 seconds, the mobile client was experiencing relatively small bandwidth because of the handoff between two base stations. In the period between 350 and 410 seconds, the client was out of range of the base stations so that the available bandwidth is almost zero (the video at the wearable computer was frozen). V. RELATED WORK Since the wireless channel is subject to dynamic behavior of limited bandwidth, path loss, large delay, fading, and environmental interference [9], there are numerous efforts on application adaptation to wireless link limitations and its dynamics [10]. A survey of research in adaptive schemes and applications in wireless communication environments is given in [11]. The Odyssey project [12] develops a platform for adaptive mobile data access. Their application-aware adaptation architecture is intermediate in the architectural spectrum between the laissez-faire adaptation [13] and application-transparent adaptation [14] architectures. In Odyssey’s scheme, the operating system is responsible for monitoring resource availability and 19 notifying applications of relevant changes. Each application decides how to best exploit the available resources [15]. This model of adaptation is similar to that of the NAS framework. However, Odyssey’s architectural components reside on the mobile device, in either the user space or the operating system, which is not as scalable as the piecewise NAS framework. Moreover, the network awareness in the above three adaptation architectures is acquired at the mobile client. In contrast, the algorithms for network awareness acquisition in our framework are piecewise, which offers the advantages discussed earlier. In [16], an architecture is presented for exporting environment awareness to mobile computing applications. A change in the environment is modeled as an asynchronous event and an associated event delivery framework is proposed. Unlike the NAS framework, the environment monitor resides in the mobile host and only the push model is deployed for event delivery. Another framework for developing network-aware applications is presented in [17] but the techniques for awareness acquisition are not elaborated. This framework is also unitary. Additionally, only reactive QoS adaptation is mentioned. Our research is distinguished in that the NAS framework is piecewise and scalable to fit into the scenario of heterogeneous data networks with mobile devices of very reduced capabilities. The framework provides for both proactive and reactive deployment. VI. CONCLUSIONS As the era of wireless Internet enabling “anyone, anytime, anywhere” communication is fast approaching, the ability of applications to adapt to the dynamic networking environment becomes ever more important. Adaptive network applications both deliver higher performance and use the heterogeneous data networks’ resources more economically. This paper presents a piecewise framework for network awareness service (NAS). By implementing a push/pull service distribution model in the NAS framework, network applications can take advantage of knowledge about the real-time performance of the 20 heterogeneous data networks. Thus the communication can be dynamically customized by user specifications, device types, and heterogeneous-network performances. Piecewise techniques that comprise the NAS framework, such as piecewise measurement of end-to-end available bandwidth, round-trip time, and packet loss rate are presented and evaluated in this paper. The analytical results about the performance of the NAS framework, compared to the unitary framework, show that: (i) the piecewise framework can help applications reduce wireless bandwidth consumption and save limited battery energy of mobile devices, and (ii) it does not reduce the agility of awareness mechanism. The experimental results demonstrate that network applications can efficiently adapt to the heterogeneous networking environment proactively and reactively by deploying NAS and achieve a near-optimal data-volume transmission. As a result, applications can use the network and computing resources more economically while yielding improved performance. Acknowledgments This research is supported by NSF KDI Contract No. IIS-98-72995, DARPA Contract No. N66001-96-C-8510 and by the Rutgers Center for Advanced Information Processing (CAIP). References [1] C. E. Perkins, Ad Hoc Networking, Addison-Wesley, 2001. [2] P. Sinha, N. Venkitaraman, R. Sivakumar, V. Bharghavan, “WTCP: A reliable transport protocol for wireless wide-area networks,” Proc. ACM MobiCom'99, pp.231-241, Seattle, WA, August 1999. [3] R. Ludwig and B. Rathonyi, “Link layer enhancement for TCP/IP over GSM,” Proc. IEEE Infocom’99, New York, Mar. 1999. [4] R.L. Carter and M.E. Crovella, “Measuring bottleneck link speed in packet-switched networks,” Technical Report BU-CS-96-006, Computer Science Department, Boston University, March 1996. [5] C. Aurrecoechea, A. Campbell, and L. Hauw, “A survey of QoS architecture,” ACM/Springer Verlag Multimedia Systems Journal, Special Issue on QoS Architecture, Vol.6, No.3, pp.138-151, May 1998. 21 [6] Tutorial on Internet Monitoring & PingER at SLAC, http://www.slac.stanford.edu/comp/net/wanmon/tutorial.html [7] C.F. Chiasserini and R.R. Rao, “Pulse Battery Discharge in Communication Devices,” Proceedings of the Fifth Annual ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom'99), pp. 88-95, Seattle, NAShington, August 1999. [8] Proxim RangeLAN, http://www.proxim.com/products/rl2/index.shtml [9] T.S. Rappaport, Wireless Communications: Principles and Practice, Prentice Hall PTR, 1996. [10] R. Katz, “Adaptation and mobility in wireless information systems,” IEEE Personal Communications, Vol.1, No.1, pp. 6-17, 1994. [11] J. Jing, “Client-sever computing in mobile environments,” ACM Computing Surveys, Vol.31, No.2, June 1999. [12] B. Noble, “System support for mobile, adaptive applications,” IEEE Personal Communications, Vol.7, No.1, pp.44-49, February 2000. [13] S. Cen, A Software Feedback Toolkit and its Application in Adaptive Multimedia Systems, Ph.D. Thesis, Department of Computer Science and Engineering, Oregon Graduate Institute of Science and Technology, October 1997. [14] L.B. Mummert, M.R. Ebling, and M. Satyanarayanan, “Exploiting weak connectivity for mobile file access,” Proceedings of the 15th ACM Symposium on Operating System Principles, Copper Mountain, CO, December 1995. [15] B.D. Noble and M. Satyanarayanan, “Experience with adaptive mobile applications in Odyssey,” Mobile Networks and Applications, Vol.4, 1999. [16] G. Welling and B.R. Badrinath,, “An architecture for exporting environment awareness to mobile computing applications,” IEEE Transactions on Software Engineering, Vol.24, No.5, pp.391-400, May 1998. [17] J. Bolliger and T. Gross, “A framework-based approach to the development of network-aware applications,” IEEE Transactions on Software Engineering, Vol.24, No.5, pp.376-390, May 1998. 22