國立臺灣大學資訊工程學研究所碩士論文 指導教授:周承復博士 一種在異質網路中 對於垂直無縫交遞的聰明決策模組 An Intelligent Decision Model for Seamless Vertical Handoff across Heterogeneous Networks 研究生:蕭偉成 撰 學號:R93922022 中華民國九十五年七月 Abstract In recent years, network technologies such as WLAN, GPRS, and 3G are getting more and more popular. There is high probability that signal coverage of these coexisting networks overlaps with each other. For a user roaming among these networks, it is desirable that his or her mobile device can have anytime connectivity, and therefore vertical handoff becomes an important issue. To achieve high performance, a user may want to choose the best network to connect to. However, properties such as signal coverage area, maximum data rate, monetary cost, and power consumption on end devices vary largely among these networks. Moreover, different types of services require various combinations of these properties. While most vertical handoff schemes are based on single optimization policy in which service difference is not taken into consideration, we propose a service-based handoff decision model. Through this decision model, weight of the parameters in the cost function is adjustable based on the type of service in use, and therefore we can make a more appropriate decision on network selecting. In recent research, mobile IP is a generally used handoff scheme. However, to facilitate vertical handoff, help from a home agent and a foreign agent is required in the mobile IP scheme, which induces overloading on the agents themselves. In our handoff scheme, only with mobile host itself can handoff be realized, hence the overall handoff scheme is simplified. Moreover, through our implementation, handoff latency can probably be even shorter than that in the mobile IP scheme. 1 中文摘要 近年來,如 WLAN、GPRS、3G 等的網路技術越來越普及。這些網路的信號範圍彼 此互相覆蓋的機率相當高。對於漫遊在這些網路之間的用戶而言,他們希望不管漫 遊到哪個網路中,都能夠隨時隨地連接上線。因此,垂直無縫交遞成為一個重要的 問題。 為實現高性能,使用者會希望能選擇最好的網路來連接。 然而,如信號複蓋範 圍,最大資料傳輸率,價格,耗電量等特性,在不同的網路之間,會有很大的差異。 此外,各種不同類型的服務,需要這些特性的不同組合。 雖然大多數對於垂直交遞 是基於單一政策來優化服務,並未考慮不同服務間的差異。因此,我們提出了一個 以服務差異為主的交遞決策模式。通過這樣的決策模式,使用者可以基於所使用服 務的不同來調整估價函數中各個參數的比重。因此我們可以更恰當的方式來選擇所 要用的網路。 在最近的研究中,大部分都是用 mobile-IP 來實現垂直交遞。然而,在 mobile-IP 裡,需要透過自家網路的代理伺服器與外界網路代理伺服器的幫助,才能實現垂直 交遞,而這樣的模式會造成代理伺服器負荷過重的情況。而在我們的垂直交遞計畫 裡,只需要靠使用者自己的移動裝置,就能實現垂直交遞,因此簡化了整個垂直交 遞所需的步驟。此外,我們透過實作讓我們的垂直交遞能在比 mobile-IP 更短的時 間內完成。 2 致謝 能完成論文,順利畢業,首先我要感謝我的指導教授-周承復老師。在這兩年 間,在我的研究題目上,老師提供了不少寶貴的意見。另外,老師也提供了自己的 筆記型電腦來幫助我進行論文實驗,特此感謝。除了周承復老師外,我還要感謝中 研院資訊所的陳伶志博士,它提供了這次研究的主要構想,屢次幫助我解決研究上 所遇到的瓶頸,而且幫忙我準備了實驗所需的器材,著實給了我相當大的幫助。對 於實驗所需器材的籌措,我還要感謝靖茹學姊,幫我採購了無線網路基地台及無線 網路卡,讓我能更順利地進行實驗。 在我論文的前半段裡,有一半的概念以及實作,是靠著我同學-唐士軒的幫忙 才能完成,如果沒有他,我沒辦法順利完成論文的前半段,更遑論繼續後半段的研 究,在此感謝唐士軒同學。 我還要感謝佳蓉,文惠以及其他組上的成員,謝謝你們在這段期間幫了我許多 大大小小的忙,聽我抱怨,幫我舒解壓力,陪我走過這兩年的碩士生涯,謝謝你們。 最後,我要特別感謝我的朋友-劉恩菡。感謝妳提供了在英文寫作上的專業能 力,讓我的論文寫作可以更順利。謝謝妳! 蕭偉成 謹識 中華民國九十五年 七月 3 TABLE OF CONTENTS Page ABSTRACT....................................................................................................................... 1 TABLE OF CONTENTS ................................................................................................. 4 LIST OF FIGURES .......................................................................................................... 6 CHAPTER 1 INTRODUCTION................................................................................. 7 1.1 VERTICAL HANDOFF ................................................................................................ 7 1.2 RESEARCH ISSUES .................................................................................................... 8 1.3 OUR APPROACH ....................................................................................................... 9 1.4 THESIS ORGANIZATION .......................................................................................... 10 CHAPTER 2 2.1 RELATED WORK ............................................................................. 11 RELATED WORK OF VERTICAL HANDOFF .............................................................. 11 2.1.1 Network Layer Solutions........................................................................... 11 2.1.2 2.1.3 Transport Layer Solutions ........................................................................ 12 Upper Layer Solutions .............................................................................. 12 2.2 RELATED WORK OF HANDOFF DECISION ............................................................... 13 2.3 RELATED WORK OF NETWORK MONITORING ........................................................ 15 CHAPTER 3 SEAMLESS VERTICAL HANDOFF .............................................. 16 3.1 BASIC CONCEPT ..................................................................................................... 16 3.2 IMPLEMENTATION DETAIL ..................................................................................... 18 CHAPTER 4 4.1 INTELLIGENT DECISION MODEL.............................................. 21 COST FUNCTION ..................................................................................................... 21 4 4.1.1 4.2 VERTICAL HANDOFF POLICY ................................................................................. 25 4.2.1 CHAPTER 5 5.1 5.2 Throughput Estimation ............................................................................. 24 Stability Period and Emergency Handoff ................................................. 27 PERFORMANCE EVALUATION................................................... 28 HANDOFF LATENCY ............................................................................................... 28 5.1.1 Experimental Environment ....................................................................... 28 5.1.2 Experimental Result .................................................................................. 31 AVERAGE THROUGHPUT ........................................................................................ 32 5.2.1 Experimental Environment ....................................................................... 34 5.2.2 Experimental Result .................................................................................. 34 CHAPTER 6 CONCLUSIONS AND FUTURE WORK ........................................ 37 6.1 CONCLUSIONS ........................................................................................................ 37 6.2 FUTURE WORK ...................................................................................................... 38 BIBLIOGRAPHY ........................................................................................................... 39 5 LIST OF FIGURES Figure 1. Basic concept of the system design in the OSI network architecture................ 17 Figure 2. When handoff occurs, an ARP message is sent out to update the ARP table on the gateway. .............................................................................................................. 19 Figure 3. The scenario of our vertical handoff policy ...................................................... 26 Figure 4. The changes of FTP throughput and sequence number before and after handoff in the first experiment. .............................................................................................. 29 Figure 5. The changes of FTP throughput and sequence number before and after handoff in the second experiment. ......................................................................................... 30 Figure 6. (a) The experimental environment (b) Scenario of the background traffic....... 33 Figure 7. The average throughput of different decision policies under different background traffic..................................................................................................... 35 6 Chapter 1 Introduction With the popularity of many types of networks, issues of vertical handoff are getting more and more important. In this thesis, we present an intelligent decision model for vertical handoff. Different from most decision policies, differences of service type are taken into consideration to optimize overall performance in a more precise fashion. In this chapter, we first give an introduction of the vertical handoff. Second, problems to be solved are discussed, and then we will give a brief view of our solution in next section. 1.1 Vertical Handoff Nowadays and in the future, portable devices tend to be equipped with multiple network interfaces. On most laptops, wired and wireless LAN NICs have become basic components. In addition, there are also some popular techniques such as Bluetooth and general packet radio service (GPRS) supported by some mobile devices. If these devices are to connect to various networks and to perform a continuous data transmission whatever location they roam to, technique of vertical handoff is needed. That is, different from horizontal handoff in which handoff occurs among networks of the same type, in vertical handoff, handoff can occur among networks with different types. As to vertical handoff, two important issues – seamlessness and handoff decision – are 7 discussed in most papers. “Seamlessness” is achieved in the sense that handoff is unnoticeable. The handoff decision is to decide which network(s) to connect for a mobile device in a service region of multiple networks. Mobile-IP is a general solution for vertical handoff. With the help of agents or handoff servers, a mobile host is able to roam among networks with different link-layer schemes. All data that are sent or to be received by the mobile host are relayed by these agents. However, agents or handoff servers are essential for the mobile-IP scheme. In a huge network, these agents may suffer from overloading. In addition, to achieve seamlessness, some buffering mechanisms are required, and more traffic will then be introduced into the local network. 1.2 Research Issues When talking about decision making in the field of vertical handoff, the most important issue is: how to define a handoff policy that can lead to the best overall performance? It is a simple policy that a mobile host just selects a network in which the highest throughput can be provided. Unfortunately, this policy ignores many other metrics that contribute the same extent of influence as throughput. These metrics include: (1) the power consumption of using a network device, (2) the monetary cost we have to pay in connection with a network, (3) the delay of packets passing a network, (4) the handoff latency, (5) the maximum achievable throughput, and (6) the connection stability and reliability of a network. In the policy design, it is necessary to take these metrics into consideration. Another important viewpoint is that different types of services may put 8 different levels of emphasis on these metrics, and therefore only one fixed policy may not be able to well meet the diversity of resource requirement of a variety of applications. A more flexible handoff policy is needed. 1.3 Our Approach We propose a data link layer solution to vertical handoff. In contrast with the disadvantages of the mobile-IP scheme, our solution is more elegant. Our system can be applied to current IP network without any modification of the network layer. In our system, moreover, only with a mobile host can vertical handoff be realized; that is, help of agents or handoff servers is not required. All the handoff processes are accomplished by our modified Linux kernel. Moreover, because all processes are run in the kernel level, the handoff latency can be significantly short, i.e. less than 9ms. Even if without the mechanism of buffering, our system can achieve the “seamlessness” property in a very simple fashion. Another important issue is the handoff policy. In our work, the metrics involved in the proposed decision model include: (1) the power consumption of using a network device, (2) the monetary cost we have to pay in connection with a network, (3) the maximum achievable throughput, and (4) the connection stability and reliability of a network. We don’t take the metric of handoff latency into consideration because we build the function of vertical handoff into the Linux kernel, and therefore the handoff latency will always be very short. Moreover, we add the concept of service diversity into our handoff decision model in which weights in the proposed cost function are adjustable for various resource 9 requirements, and then the overall performance can be optimized. 1.4 Thesis Organization The rest of the thesis is organized as follows. In chapter 2, we give related works of the vertical handoff system and the decision policies. The implementation of our seamless vertical handoff system is presented in chapter 3. Then, we discuss our intelligent decision policy in chapter 4. In chapter 5, we show results of our experiments on the seamlessness and intelligence of the system and policies. Finally, we conclude our thesis in chapter 6. 10 Chapter 2 Related Work 2.1 Related Work of Vertical Handoff Recently, research of vertical handoff is getting more and more popular, especially on the topics of interworking between WLAN and cellular networks – GPRS or the CDMA-series [1][3][4][5][6][7][8][9][11]. Through the interworking between WLAN and cellular networks, people having mobile devices can connect to the Internet via WLAN when they are near 802.11 hotspots and via cellular network in most areas. There are still some papers [1][7] talking about other types of network such as Bluetooth, Infrared in-room LAN, in-building WaveLAN, Metricom Ricochet, EDGE, and GSM cellular network. 2.1.1 Network Layer Solutions The handoff problem in IP networks can be considered as a special issue of the broader mobility management problem. Among network layer solutions, mobile IP is the most general solution [1][3][4][7][8]. In mobile IP, there are home and foreign agents running on different networks. Every mobile host roaming among these networks has it own home address and care-of-address. The former address is to identify which network 11 the mobile host belongs to while the latter is related to the network in which it is currently located. When a mobile host is roaming to a network with physical link property different from current network, vertical handoff occurs. Then, the home agent relays all the data packets intended for the mobile host to the foreign agent through an IP tunnel (IP-in-IP encapsulation) established between these two agents. It is an intuitive and simple way to migrate the idea of mobile IP to vertical handoff. However, it needs help of the agents to keep the data transmission, and this may cause overloading on the agents. 2.1.2 Transport Layer Solutions Besides network layer solutions, there are also several handoff solutions using transport layer approaches [19][20]. [19], [20] use multi-homing technique to support vertical handoff. Through the multi-homing technique, a mobile host may connect to multiple networks simultaneously, and then communicates with a remote host via these networks. However, deploying these systems requires upgrading both transport layers and applications on both mobile hosts and Internet servers. Therefore, the deployment cost is too high to be feasible. 2.1.3 Upper Layer Solutions There are still some solutions that introduce proxy-like servers to realized vertical handoff. In USHA [11], all mobile hosts connect to the Internet with the help of a handoff server, which is equipped with multiple network interfaces with heterogeneous physical properties. Hence, mobile hosts can communicate with the handoff server in various 12 physical connections. The IP tunneling technique (IP encapsulation) is used in USHA with the handoff server functioning as one end and the mobile host as the other. Upper layer communications are bounded to a virtual interface – the tunnel interface, instead of physical interfaces. All data packets are transmitted through this IP tunnel. When the handoff event occurs, the underlying physical connection of the virtual tunnel is automatically switched to the new physical interface. In the meantime, the mobile host also notifies the handoff server of its change in physical connection. However, USHA tries to keep the upper layer TCP connection during the vertical handoff, and then the data packets can only be transmitted using UDP connections between mobile hosts and the handoff server. This causes new problems. In addition, similar to the mobile IP scheme, the handoff server may be overloaded as the network scale is getting large. 2.2 Related Work of Handoff Decision It is a general fashion to give a decision algorithm or policy on the topic of vertical handoff decision making. In handoff decision making, many metrics are considered and even quantified to give an indication of which network to handoff to and whether or not a handoff is needed. The metrics suggested in previous research [1][3][6][7][9][10] include: z Link Capacity. The link capacity directly reflects the theoretical upper bound of throughput that can be reached in the network. z Link Quality. The overall link quality may be based on the channel modulation scheme, the level of contention or interference, signal-to-noise ratio (SNR), the 13 bit error rate (BER), path loss, etc. The higher link quality, the lower difference between the achievable throughput and the link capacity. z Network Delay. For real-time application, the network delay is an important issue. z Handoff Latency. The handoff latency can also include the time to bring up the new network interface, if needed. Lower handoff latency induces fewer packet drops during the handoff process. z Monetary Cost. This is a major consideration to users. Different networks may employ different billing strategies, which may affect the user’s choice to handoff. z Energy Consumption. Life time of a mobile device is an important issue. Limited battery power of mobile devices requires deliberated selection of the communication channel. z User Preference. User preference reflects special requests for users that prefer one type of network to another. As to the policy specification model – the cost function – in each of the previous research, a linear combination of the quantified metrics and the weights of these metrics is defined to represent the total cost of using a network. These weights can be adjusted based on the user’s requirements and the importance diversity of the metrics. The work in [1] takes logarithm on each parameter in its cost function. This mathematical technique prevents the unit diversity among various parameters and preserves the order of resulting cost values. The work in [6] adds the factor of service type into its policy model. It checks whether the constraints of running a service can be satisfied when calculating the cost 14 function. If a network cannot meet the required constraints, it will not be chosen to be the new network when vertical handoff is being performed. This idea of considering service diversity is also adopted in our work. 2.3 Related Work of Network Monitoring When talking about decision making, the metric of maximum available bandwidth is mostly considered in previous works. However, it is difficult to accurately measure the maximum available bandwidth, especially in a wireless environment. Traditional bandwidth measuring tools send probing packets to the network to estimate the achievable throughput. However, this method is intrusive to the network since they introduce overhead traffic. Moreover, it also consumes battery energy, which is precious to most mobile devices. On the other hand, some research [13][15] proposed non-intrusive methods to estimate available bandwidth of a 802.11 wireless channel. The bandwidth value is derived from the measured SNR, the channel modulation scheme, and some network properties. In our work, a simpler method is applied to monitor the network because all we have to do is to choose a better network, not necessarily to get the precise value. We will discuss the details later. 15 Chapter 3 Seamless Vertical Handoff In this section we describe the basic concepts and the implementation details of our vertical handoff system. 3.1 Basic Concept For a user who wants to move across heterogeneous networks and still maintain all active connections, an auto handoff mechanism is needed to change the communication path and the physical interface in use. This mechanism also has to address the issue that handoff can be achieved without changing the IP address of the mobile host; that is, all handoff processes can be completed below the network layer in the OSI network architecture. Then, under an infrastructure network, the gateway should be notified of the handoff events so that it can adjust the communication path for incoming packets. Moreover, the handoff mechanism should be user unaware, i.e., seamless, so that the handoff process can be completed in an elegant fashion. The basic concept of our system design is shown in Fig. 1. We introduce a virtual interface layer between the network layer and the data link layer and integrate this layer into the Linux kernel. The virtual interface layer includes two components – the virtual interface and the kernel interface selector. The virtual interface is assigned a unique and 16 static IP address. Additionally, it’s the only network interface that upper layer applications can see. All kernel routing rules are associated with the virtual interface. The kernel interface selector is responsible for deciding which Application Layer ··· Network Layer Virtual Interface Layer Virtual Interface Kernel Interface Selector Data Link Layer Ethernet Bluetooth 802.11 ··· Figure 1. Basic concept of the system design in the OSI network architecture. physical interface that should be used in reality to send and receive data packets. In packet transmission, all packets generated from the applications are directed to the virtual interface and encapsulated with an IP header, which contains the IP address of the virtual interface. Then, these packets are forwarded to one of the physical interfaces, according to the selection result of the kernel interface selector. Finally, they are sent out via the selected physical interface. In packets reception, packets received from a physical interface are forwarded to the virtual interface, decapsulated the IP headers, and then passed to upper layers. Actually, all the kernel interface selector does is to get the result from the intelligent decision model, which will be introduced in section 4, and to change 17 the way of packet forwarding between the physical and virtual interfaces. We note that our work is a home network solution; that is, all the networks are located at the same home or building, and these networks connect to the Internet via the same gateway. Extending our work to an Internet solution is the future work. 3.2 Implementation Detail In this section, we describe the implementation details in vertical handoff. Let’s introduce an example to describe the details. Fig. 2 illustrates an example of a mobile host (sender) communicating with a receiver on the Internet via a gateway. The mobile host is equipped with two physical interfaces, which have their MAC address MACold and MACnew. Additionally, as mentioned in the previous section, a virtual interface is created on the mobile host, and an IP address – IPs – is assigned to the virtual interface. In the beginning, the mobile host uses the old physical interface to communicate with the receiver. All packets sent out contain the MAC address MACold and the IP address IPs in their headers, which are identifiers for the gateway and the receiver respectively. At this time, the ARP table maintained on the gateway contains an entry with IPs mapped to MACold. Therefore, after receiving ACKs from the receiver, the gateway can relay the ACKs back to the correct mobile host. When the decision model decides to perform a handoff, the device name (ex. eth0 in Linux) of the new selected interface is then written to a file in the /proc filesystem, which is the medium user processes communicate with kernel processes. Then, the action of writing the /proc filesystem triggers the event of changing the default physical interface in kernel. The kernel then immediately uses the 18 IPs MACold MACnew Sender Gateway Data P Receiver ac ket ( source .IP = IP s, source.M AC = M ACold ) Data P acket ACK IPs, ) t.IP = MACold ( t a rg e = C A M target. ACK t.IP = (Targe IP s ) handoff occurs ARP (source update .IP source.M = IPs, AC = M ACn ew) Data (source.I Packet P= source.M IPs, AC = M A Cnew) ACK P s, IP = I ) t. MACnew ( t a rg e = C A M target. Data Pac ke t ACK t.IP (Targe = IP s ) Figure 2. When handoff occurs, an ARP message is sent out to update the ARP table on the gateway. 19 new physical interface to broadcast an ARP-update message to all the first-hop hosts, including the gateway. As soon as receiving an ARP-update message, the gateway updates its ARP table with IPs mapped to MACnew. After that, all packets on the gateway to be received by the mobile host are encapsulated a link-layer header with MAC address MACnew, and then these packets can be correctly received. According to our real-world experiment, the handoff latency – timestamp difference between the two consecutive packets in which the MAC address is MACold in one packet and is MACnew in the other – is very short, i.e., less than 9ms. 20 Chapter 4 Intelligent Decision Model 4.1 Cost Function The vertical handoff cost function is a measurement of the benefit obtained by handing off to a particular network. The network choice that results in the lowest cost value provides the most benefit to the user. The cost of using a network n at a certain time is a function of several parameters: the energy consumption of using the network device (En), the monetary cost of using this network (Pn), the achievable throughput in this network (Bn), and the stability of the network (Sn). In addition, the cost function should be able to reflect differences of services because different types of services require various combinations of the parameters above. Costn = ∑ f v ( En , Pn , Bn , S n ) v (1) Energy consumption (En) and monetary cost (Pn) are parameters with fix budgets. They directly reflect the battery life of mobile devices, and money a user is willing to pay for his or her network usage. The value En of wireless devices can be obtained from the iwconfig command in Linux, and unit of this value is dBm. For wired Fast Ethernet 21 devices, we can assign En a very small value. The parameter Bn estimates the maximum throughput that can be achieved currently in network n. This is also what a majority of users are most concerned about. It is important and also difficult to estimate the value Bn correctly. We will discuss this problem in section 4.1.1. Parameter Sn represents the stability of a network, including the variation of signal strength in wireless networks and the reliability of using the network. In our work, for 802.11 wireless networks, we take the standard deviation of SNR (signal-to-noise) for the value of Sn. For general networks, Sn is the percentage of the time the network is unavailable in a constant period t. The cost function of our decision model is listed in Equation 1, 2, and 3. v is the index representing the user-requested services. As the index of service is v, we,v, wp,v, wb,v, and ws,v are weights of each parameter, which sum to 1. uv is the coefficient of Cv,n, and it represents the user-specified priority and the importance of service v among all service types. All uv in different v also sum to 1. For parameters that are not of concern to the user, he or she can set those weights to 0. Furthermore, these weights, u or w, can be adjusted by the user or the system at run-time. For example, when the battery of the user’s mobile device is running out or when the expenditure is approaching the limit, weight of energy consumption and monetary cost (we and wp) should be increased to reflect these conditions. In addition, for a user often run video streaming applications, throughput and stability become the major concerns, and then he or she should raise the value of wb and ws, and the weight u of the real-time streaming service. f v = u v Cv , n (2) 22 1 ⎧ C w ln E w ln P w ln = ⋅ + ⋅ + ⋅ + ws ,v ⋅ ln S n e ,v n p ,v n b ,v ⎪ v ,n Bn ⎪⎪ ⎨we,v + w p ,v + wb ,v + ws ,v = 1,∀v ⎪ ⎪∑ uv = 1 ⎪⎩ v (3) As the units of the parameters are different and their values may vary a lot, normalization is then needed to ensure that the sum of the weighted values is meaningful. Here we use logarithm to eliminate the unit differences among these parameters and to achieve normalization at the same time. We show this as follows: Cv ,1 = we ,v ⋅ ln E1 + w p ,v ⋅ ln P1 + wb ,v ⋅ ln 1 + ws ,v ⋅ ln S1 B1 Cv , 2 = we,v ⋅ ln E2 + w p ,v ⋅ ln P2 + wb ,v ⋅ ln Cv ,1 − Cv , 2 = we,v ⋅ ln 1 + ws ,v ⋅ ln S 2 B2 E1 P B S + w p ,v ⋅ ln 1 + wb ,v ⋅ ln 2 + ws ,v ⋅ ln 1 E2 P2 B1 S2 (4) When we compare the Cv value of two networks, subtraction of values in logarithm of these parameters are then transformed into division, which helps eliminate the units of these parameters and leave the ratio only. To ensure the value of each parameter being larger than 0, we can add a small constant to the original value and do not affect the result a lot. 23 4.1.1 Throughput Estimation It’s not easy to measure or to estimate the maximum available bandwidth of a network link, especially in a wireless environment. Instead of directly measuring the maximum available bandwidth of each network, we use a simpler method to evaluate the parameter Bn. We periodically trigger the vertical handoff procedure, hand over all current traffic onto each network device one by one, and then fetch current throughput value of each network device. We assume that the latency of performing handoff on a round of all network devices is so short that the transient throughput does not vary a lot. In Linux, the current throughput value of each network device can easily be gotten through the ifstat command. Although the throughput value from the ifstat command may not equal to the actual available bandwidth – it is always less than or equal to the value of available bandwidth, it can represents the upper bound or lower bound of the available bandwidth of each network. The highest throughput value is the lower bound of available bandwidth of the networks which get this value, and it is also the current bandwidth usage of the mobile device. In our work, we take the Bn value of these networks the same. Other networks which get their throughput less than this value reach their bandwidth upper bound; that is, the value they get is exactly the available bandwidth of them. Unlike other bandwidth measurement methods, injecting probing packets into the network is not needed in our work. Only some ARP update messages are generated as vertical handoff occurs in the periodic throughput measurement. Therefore, our system induces much fewer overhead than other system does. However, frequent throughput measurement can also induces some overhead and probably cuts down the overall 24 performance because we also have to handoff to networks with lower available bandwidth and measure their throughput. To solve this problem, we propose a mechanism to dynamically adjust the measuring period. In fact, for wireless networks, there is high correlation between the SNR value and the achievable throughput. Therefore, we can change the period dynamically based on the extent the SNR value varies. If the SNR value stays almost static, we can prolong the measuring period. On the other hand, if the variance of the SNR value is high, it probably means that the mobile device is moving, and we should measure the throughput more frequently. Under this condition, frequent measurement is not avoidable. As to wire networks, the link quality is much more stable than wireless networks, so the period of measurement can be long. 4.2 Vertical Handoff Policy Fig. 3 shows the scenario of our vertical handoff policy. As mentioned in previous sections, the value of Bn is calculated every measurement period. Every time after throughput measurement, we gather and calculate all the values of the parameters, evaluate the cost function of all network interfaces, and then decide whether the vertical handoff is needed and which interface to handoff to based on the results of cost function. However, there is still one factor that influences the handoff decision – the stability period. 25 update information of all interfaces evaluate cost function of all interfaces Yes emergency handoff ? No any better networks found? No Yes ++stability_count stability_count reaches the threshold ? --stability_count if stability_count > 0 No Yes do vertical handoff, set stability_count to 0 wait for a measurement period Figure 3. The scenario of our vertical handoff policy 26 4.2.1 Stability Period and Emergency Handoff In our system, the vertical handoff occurs not when a network is better than the current one in use, but when a network is “consistently” better than the current one in use. If a mobile user only transiently handoff to a better network, the gain from using that network may be diminished by the handoff overhead and the short usage duration. Therefore, we define a stability period to avoid this condition. Only if a network is consistently better than the current one for a stability period does the mobile host perform vertical handoff. In our work, the stability period is defined as a stability threshold times the measurement period. As shown in Fig. 3, a variable – stability count is defined. Once a network is better than the current one, the stability count is increased by 1, otherwise it is decreased by 1. When the stability count reaches the stability threshold, vertical handoff is performed, and the stability count is set back to 0. However, there is an exception. If current network in use suddenly becomes unavailable or if the signal strength is very weak, handoff should be performed immediately. In this condition, we choose the network with the lowest cost value to handoff to. We name this emergency handoff. 27 Chapter 5 Performance Evaluation 5.1 Handoff Latency In this section, we use two experiments to illustrate how our virtual-interface scheme (mentioned in section 3) helps TCP connections smoothly and seamlessly handoff from one network to another. Although we test TCP connections only, other types of connection can still benefit from our virtual-interface scheme. 5.1.1 Experimental Environment We run the experiments on a laptop with Intel Pentium M 1.73 GHz CPU and 512MB Memory. The operating system of the laptop is Debian Linux with kernel version 2.6.12.6. The laptop is equipped with a PCI Gigabit Ethernet NIC, a D-Link DWL-AG660 802.11 a/b/g Wireless NIC, and an Intel PRO/Wireless 2200BG NIC. We also setup two 802.11 access points – one is Linksys WAP55AG 802.11a AP and the other is Buffalo 802.11b/g AP. In the following two experiments, we build a FTP connection between the laptop and a FTP server, which is located in the same LAN as the laptop. Then, we download a file via the FTP session and use ethereal to observe the changes of transient throughput, 28 (a) TCP Sequence Number (b) FTP Throughput Figure 4. The changes of FTP throughput and sequence number before and after handoff in the first experiment. 29 (a) TCP Sequence Number (b) FTP Throughput Figure 5. The changes of FTP throughput and sequence number before and after handoff in the second experiment. 30 the fashion TCP sequence number increases, and the handoff latency. In the first experiment we test the vertical handoff from the Intel 2200BG wireless device to the gigabit NIC wire device while in the second experiment the vertical handoff is performed from the Intel 802.11g wireless device to the D-Link 802.11a wireless device. 5.1.2 Experimental Result The experimental results are shown in Fig. 4 and 5. In the first experiment, the vertical handoff occurs at around 5.0s. The average throughput is around 3000KB/s before handoff while it becomes 11,000KB/s after handoff. This is because the interface in use after handoff has changed to the gigabit NIC. As the vertical handoff occurs, moreover, the transient throughout does not drop, and the curve of sequence number does not stop increasing either. Therefore, we can see from Fig. 4 that the TCP connection is not broken and that the data transmission continues after handoff. The results of the second experiment are similar to the first one. In this experiment, the handoff occurs at around 7.3s. Because the distance between the laptop and the AP is longer than that in the first experiment, the throughput varies more. Due to the inherent hardware property of the two APs and the protection mode of the 802.11g AP, the average throughput of the 802.11a and the 802.11g network has difference about 1000KB/s. From these two experiments, we can see that the handoff latency is very short either handoff is performed between one wired device and one wireless device or between two wireless devices. According to the dumped information, the handoff latency is less than 9ms, which can be neglected. 31 5.2 Average Throughput In this section, we design an experiment to estimate the average throughput when the FTP session handoff from an 802.11a network to an 802.11g network. We compare our intelligent decision policy with other three policies and show that our intelligent decision policy performs the best. The three policies for comparison include: A. Handoff by SNR – Instead of calculating the cost function, the SNR value is used directly in this policy to decide which interface to handoff to. The policy always chooses the network with larger SNR value to connect to. The SNR value can be gotten from the iwconfig command in Linux. B. Handoff by Link Quality – Link quality is the overall quality of the link. It is based on the level of contention or interference, the BER (bit error rate) or FER (frame error rate), the RSS (received signal strength), some timing synchronization, or other hardware metric. This is an aggregate value, and depends totally on the driver and hardware. This value ranges from 0 to 100, and we can get this value from the iwconfig command too. Similar to A., we use the value of link quality only to decide when the handoff should be performed. This policy chooses the network with better link quality. C. No Handoff – In this policy, we do not trigger handoff. The laptop always connects to the 802.11a network until the data transmission ends. This policy is taken as the baseline only. It introduces the lower bound of average throughput for comparison. Due to limits of the experimental environment, the metric we can use on 32 AP - 802.11g A B 9m AP - 802.11a 36 m (a) The experimental environment FTP Server Mobile Host LAN Switch UDP Background Traffic UDP Traffic Generator 802.11g AP 802.11a AP UDP Traffic Receiver (b) Scenario of the background traffic Figure 6. (a) The experimental environment (b) Scenario of the background traffic 33 performance comparison is the average throughput only. However, we believe that our decision policy can outperform others not only on average throughput but on other metrics. 5.2.1 Experimental Environment Fig. 6 shows the environment of the experiment. We setup the two APs mentioned in section 5.1.1 in two separate rooms. The laptop in 5.1.1 is also used in this experiment. We test the average throughput of the four policies under different background traffic – 0, 400, 800, 1200, and 1600 KByte/s. The background traffic is generated by sending constant bit-rate UDP packets using the D-ITG [17] traffic generator. For each setting of background traffic in each policy, we run the tests for 5 times to estimate the average throughput, and then calculate the mean. In each test, we take the laptop from point A to point B (as shown in Fig. 6) at a constant moving speed and download a file with size about 230 MBytes from the FTP server simultaneously. As the policy is No Handoff, however, the moving area is restricted in the signal range of the 802.11a AP. 5.2.2 Experimental Result The experimental result is shown in Fig. 7. From the char we can see that our intelligent decision policy (Handoff-Cost) outperforms the other three ones because our policy always chooses the best network to connect to. As expected, the policy – No Handoff performs worst because it does not select a better network when the signal strength is getting weaker. 34 As to the Handoff by SNR policy, the SNR value cannot perpetually reflect the relative goodness of the throughput, especially when the SNR values of the two networks are getting close. In fact, through the real-world test, the 802.11a network can bring higher throughput than the 802.11g network when their SNR value are equal. Moreover, if background traffic exists, the SNR value drops only a little, while the actual throughput drops more. In other words, the throughput decline resulting from the background traffic cannot completely reflect to the drop of the SNR value. The performance of the policy Handoff by Link Quality is not good because the link quality value of the 802.11a NIC is always much smaller than that of the 802.11g NIC when their actual qualities are equivalent. Note that we have mentioned previously that Figure 7. The average throughput of different decision policies under different background traffic 35 the value of link quality depends on the driver and the hardware. As the background traffic is getting larger, however, there are only few declines on the average throughput. This is because the link quality value of the 802.11a network becomes smaller than the 802.11g network before long after the laptop starts moving, and then the occurrence of the vertical handoff is early. Therefore, the average throughput is almost not influenced by the background traffic. 36 Chapter 6 Conclusions and Future Work 6.1 Conclusions In this thesis, we have presented a seamless vertical handoff system across heterogeneous networks. We also implemented the system in current Linux operating system. In our system, the handoff latency is much shorter than other current systems focusing on the issue of vertical handoff. Different from other vertical handoff systems, handoff agents or servers are not required in our system. Only with the mobile host itself can the vertical handoff be realized. Moreover, the overhead during handoff is also quite low. Besides, we also presented an intelligent decision policy, in which the user can adjust the weights of the cost functions to optimize the overall performance based on their preference and requirements. In addition, the cost functions are designed in consideration of the service diversity and are able to meet the requirements of different users. We also addressed the issue of system stability: we used a stability period to ensure that a handoff is meaningful. We evaluated our system through a series of experiments. The experimental results demonstrated the transience in handoff latency and significant gains in the metric of average throughput. 37 6.2 Future Work We have tested our system in the real-world analyses. However, we only evaluated the average throughput currently, not other metrics, namely power consumption and monetary cost, which are important as well. We hope we can do the experiments under more different environments and evaluate our system in more metrics. Moreover, our work is a home network solution only, and we will extend it to an Internet solution in the future. 38 Bibliography [1] Helen J. Wang, Randy H. Katz, and Jochen Giese. Policy-Enabled Handoffs across Heterogeneous Wireless Networks. WMCSA 1999 [2] Ben Liang, Ahmed H. Zahran, and Aladdin O.M. Saleh. Application Signal Threshold Adaptation for Vertical Handoff in Heterogeneous Wireless Networks. Networking 2005. [3] J. Mäkelä, M. Ylianttila, and K. Pahlavan. Handoff Decision in Multi-Service Networks. 2000 [4] M. Buddhikot, G. Chandranmenon, S. Han, Y. W. Lee, S. Miler, and L. Salgarelli. Design and Implementation of a WLAN / CDMA2000 Interworking Architecture. IEEE Comm. Mag. 2003 [5] Hyosoon Park, Soonhoon Yoon, Taehyoun Kim, Jungshin Park, Misun Do, and Jaiyong Lee. Vertical Handoff Procedure and Algorithm between IEEE802.11 WLAN and CDMA Cellular Network. CIC 2003 [6] Fang Zhu and Janise McNair. Optimization for Vertical Handoff Decision Algorithms. WCNC 2004 [7] M. Ylianttila, M. Pande, J. Mäkelä, and P. Mähönen. Optimization Scheme for Mobile Users Performing Vertical Handoffs between IEEE 802.11 and GPRS/EDGE Networks. Globecom 2001. [8] Srikant Sharma, Inho Baek, Yuvrajsinh Dodia, and Tzi-cker Chiueh. OmniCon: A Mobile IP-based Vertical Handoff System for Wireless LAN and GPRS Links. IWNDA 2004 39 [9] Michael Angermann and Jens Kammann. Cost Metrics for Decision Problems in Wireless Ad Hoc Networking. 2002 [10] L. J. Chen, Tony Sun, Benny Chen, Venkatesh Rajendran, and Mario Gerla. A Smart Decision Model for Vertical Handoff. ANWIRE 2004 [11] L. J. Chen, Tony Sun, and Mario Gerla. USHA: A Practical Vertical Handoff Solution. MSAN 2005 [12] Mark Stemm. Vertical Handoffs in Wireless Overlay Networks. ACM Mobile Networking (MONET). 1998 [13] Jian Zhang, Liang Cheng, and Ivan Marsic. Models for Non-Intrusive Estimation of Wireless Link Bandwidth. PWC 2003 [14] Mohammad Hossein Manshaei, Thierry Turletti, and Marwan Krunz. A Media-Oriented Transmission Mode Selection in 802.11 Wireless LANs. WCNC 2004 [15] Qi Fang, Weijia Jia, and Jie Wu. Available Bandwidth Detection with Improved Transport Control Algorithm for Heterogeneous Networks. ICDCSW 2005. [16] Enrique Stevens-Navarro and Vincent W.S. Wong. Comparison between Vertical Handoff Decision Algorithms for Heterogeneous Wireless Networks. IEEE VTC 2006. [17] http://www.grid.unina.it/software/ITG [18] http://www.ethereal.com [19] A. Matsumoto, M. Kozuka, K. Fujikawa, and Y. Okabe. TCP Multi-Home Options. IETF Internet Draft. Oct. 2003. [20] R. Stewart et al. Stream Control Transmission Protocol. RFC 2960, IETF. Oct. 2000. 40