Seamless Handoff in Personal Area Networks UCLA Computer Science Department CS 218 December 12, 2003 Benjamin Cheung Duke Nguyen Abstract Computer users nowadays demand an internet connection wherever they go. Mobile applications that are delay sensitive and are run in real-time must also be connected to the internet constantly. This demand has resulted in the emergence of the seamless handoff solution. Seamless handoff provides end-to-end IP continuity without failures in the midst of a download activity due to link outages or handovers. Both horizontal and vertical handoff architectures are the basis for ensuring this lossless Quality-of-Service guarantee during a handoff. With the emergence of numerous different technologies ranging from Bluetooth to 802.11 to 1xRTT, the need to be able to transparently switch from one technology to the next becomes readily apparent. Furthermore, just as computers and devices are freed loose from wires by using wireless technologies, an internet connection should also be free of this restriction and be allowed to roam across different providers and access points. This paper will present the ideas behind the handoff solution, as well as provide performance results and analysis from various handoff scenarios that have been tested using this emerging technology. Introduction The internet is ever-changing with new technologies emerging almost daily. People everyday are finding new ways to connect to the internet, whether it be from their cellular phone, desktop, or hotel television while on vacation. However, many technologies that can be used to connect to the internet that exist today are restricted in such a way that one must be connected to one and only one technology at any given time. It is practically impossible to be able to have the freedom to roam across different technologies, while at the same time maintaining a constant internet connection. With so many new and exciting methods to access the internet and the idea of the world becoming more and more wireless, shouldn’t it be possible to use more than one technology at the same time, and for that matter, at any location? Seamless handoff aims to provide the solution to this problem by allowing a mobile user or application to be constantly connected to the internet, regardless of physical location or access point availability. Personal Area Networks Before delving into the details of seamless handoff, it helps to understand what a personal area network is. A personal area network (PAN) is a computer network used for communication among computer devices close to one person. An example of a PAN is a room full of laptops connected to each other or a PDA connected to a desktop. The device may or may not belong to the person in question. A key capability for a PAN is to enable devices to autonomously detect and acquire one another. For example, when someone enters a room with a PDA, a person using a laptop in that same room should be able to automatically discover that PDA, and be able to share files with it and perform other activities. Wireless PANs can be made possible with network technologies such as IrDA, Bluetooth, and 802.11. These technologies should allow a person to create an ad-hoc network by grouping together a series of devices that will allow for communication between the devices. The idea behind PANs is important because it raises the issue of the effect on the network if a device was to leave the network or even when the network as a whole was to move entirely to a new location. Surely, it would not be ideal for the PAN to have to disassemble and reconnect. There needs to be a solution that would allow a PAN to continue operation seamlessly and transparently, such that communication and transfer activities were lossless and did not cause serious interruptions. This problem gives rise to the solution provided by a seamless handoff architecture. Seamless Handoff Seamless handoff provides end-to-end IP continuity without failures in the midst of a download activity due to link outages or handovers. What this means is that a user or application that is connected to a handoff server could seamlessly and transparently switch back and forth between different internet technologies, without compromising any communication activity. Seamless handoff ensures successful data transfer even when the underlying link connections are damaged or disrupted due to device mobility. Furthermore, it guarantees this lossless Quality-of-Service when a mobile user or application passes through different alternative technologies. Seamless Handoff Applications Seamless handoff can be used in a variety of applications. For example, many consumers now are able to purchase internet-enabled cellular phones and similar handheld devices. These devices can be used to transfer video, audio, and other large delay sensitive types of media. With seamless handoff, the quality of transmission improves considerably. Music delivery over cellular networks is also possible [2]. A wireless entry point to music delivery networks (e.g. wireless music portals) may represent an innovative and value-added service offered by cellular carriers to those mobile customers wishing to use their 2.5/3G enabled cellular phones for playing out songs, as well as other multimedia objects [2]. There are many areas where seamless handoff can be applied, with emphasis in mobile applications that are delay sensitive, run in real-time and must be connected to the internet constantly. Goals of Seamless Handoff The goals of seamless handoff are the following: Continuous connectivity Low latency Minimum packet loss Minimum infrastructural modifications The continuous connectivity goal requires that the user or application not be aware of any interruptions in the connection. To a user downloading a large 30 GB file, the switch from one technology to the next should be transparent, such that the user is completely unaware. Furthermore, continuous connectivity should not only ensure that a connection is established, but also that the best connection is established. Given the choice between two different methods to be connected to the internet, the seamless handoff architecture should be able to choose which method will provide the highest throughput and Qualityof-Service, and be able to perform this test and conversion transparently to the user or application. Low latency requires that a switch be completed almost instantaneously. Service interruption should be minimized to provide the illusion of continuous connectivity. In the event of absolute connection failure, the architecture should attempt to re-connect as soon as service becomes available. Packet loss must be avoided in order to ensure the transfer is completed successfully. During the switching process, packet transfer must be frozen in the session layer to ensure that packets are not lost if an interruption lasts longer than anticipated. In order to be transparent to the user or application a lossless Quality-of-Service must be guaranteed despite device mobility and downtime. In order for seamless handoff to be successful, it must require minimum infrastructural modifications. What this means is that seamless handoff should use what exists today without requiring huge modifications to existing protocols, standards, or technologies. The architecture for seamless handoff should be able to plug-in and be retrofitted onto existing networks and internet topologies. Any modification should be transparent to existing technologies and should be completely independent. Horizontal and Vertical Handoffs Seamless handoff is performed in two ways, namely, horizontal and vertical handoffs. Whether a handoff is deemed horizontal or vertical should be transparent to a user or application. The goals of seamless handoff remain the same in either case. A horizontal handoff is a handoff between two network access points that are based on the same wireless link technology. An example of a horizontal handoff could be when a user moves out of a network and into a different network all while using the same 802.11 wireless connection. In a horizontal handoff scenario, the connection is disrupted solely due to device mobility. When a person leaves the Computer Science network and enters the Electrical Engineering network, the person is performing a horizontal handoff from one network to the next. The physical location is the primary factor in horizontal handoffs. A vertical handoff is a handoff between two network access points that are based on different wireless technologies. An example of a vertical handoff could be when a user moves out of a network and into a different network, but switches from 802.11 to 1xRTT in the process. In a vertical handoff scenario, the connection is disrupted by moving to an area that is covered by a different wireless technology. Furthermore, when a choice is made by the seamless handoff server as to which technology to choose based on throughput and Quality-of-Service, it is considered a vertical handoff, since the choice is between alternative wireless technologies. When a person is using a laptop with both an 802.11 card and a 1xRTT card, and the handoff server decides to switch from the 1xRTT interface to the 802.11 interface because of the relative strengths of the signal that is defined as a vertical handoff. Note that the switch could also be made based on location as opposed to signal strength or durability. For example, a person could be connected to the internet using 802.11 while indoors, but when he steps outside he is seamless handed off to a 1xRTT connection automatically. The figure below [1] provides a graphical representation of the difference between horizontal and vertical handoffs: Figure 1: Horizontal and Vertical Handoffs There are numerous challenges that arise when dealing with vertical handoffs [1]. First of all, because there are more devices active at one time, power becomes an issue. Power drain must be minimized when running multiple active network interfaces. Measurements of commercially available wireless network interfaces show that keeping an IBM Infrared and WaveLan RF interface on all of the time consumes approximately 1.5 watts. This power drain is approximately 20% of a total power drain of a typical laptop computer [1]. In addition to power, the addition of more devices increases network traffic and bandwidth in the handoff architecture. The handoff server must be aware of the additional devices causing more messages and packets being sent [1]. Both horizontal and vertical handoffs work together to provide the goals of seamless handoff. The handoff server is responsible for handling both scenarios with disregard as to which exact scenario is currently being used. Having the ability to perform both horizontal and vertical handoffs brings up the issues mentioned previously. The solutions that can be used to address these issues will obviously have some trade-offs. For example, in order to have very low latency one may consider using all the interfaces at once and for every single packet sent into the network [1]. This is a solution, however, it is a very inefficient one because bandwidth use is large and power is drained. Example Scenarios The following provides real-world examples of both horizontal and vertical handoffs and the applicability of the seamless handoff solution. Example 1 (Horizontal Handoff): Joe Shmoe is downloading a large 30 GB video to his laptop in Boelter Hall. Joe’s laptop is equipped with only a single standard 802.11 wireless card. During the transfer, he decides to grab lunch in North Campus. He doesn’t want to stop the download, and at the same time, he doesn’t want to leave his laptop behind for security reasons. What does he do? To address this problem, Joe Shmoe connects his laptop to a handoff server using his 802.11 wireless card. Because of the fact that his laptop is now connected the handoff server, Joe is free to roam across different networks, whether it be the Engineering or Humanities network. Now, he can bring his laptop with him to North Campus, and the download will be continuous and it will seem as if Joe never left his desk in Boelter Hall. How is this done? The handoff server freezes the download activity at the session layer when horizontal and/or vertical handoffs are detected. This permits the download to continue as if it were constantly connected to the Internet, despite roaming across different wireless networks. The handoff server detects when a connection is damaged and is able to freeze the transfer so packets are not lost and the continuous connectivity is provided. Example 2 (Vertical Handoff): Joe Shmoe decides to upgrade his computer and install a 1xRTT card in the open PCMCIA slot. Joe is in the Engineering computer lab transferring a large file, when suddenly his classmates in the lab complain that the wireless connection to the internet is down! As everyone else begins to panic, Joe continues on as if nothing happened with a smile on his face as the progress bar on his download continues without hesitation. Why is Joe smiling? Joe is smiling because his transfer was completely uninterrupted due to the fact that a vertical handoff was performed on his behalf when a connection was detected to be faulty. The handoff server detected that Joe’s 802.11 connection was no longer present, thus promptly switched his laptop over to use his new 1xRTT connection, without Joe even knowing. The action was completely transparent to Joe, because the transfer continued without interruption. In this scenario Joe remained in the same network but was able to seamless switch from one technology to the next without manually intervening. The handoff server detected the downtime, froze the download activity at the session layer, established the connection to the 1xRTT interface, and resumed the download. Handoff Diagrams The following are some diagrams that provide a high-level view of the seamless handoff architecture and the various scenarios that can be used with it. Figure 2: Laptop using a Handoff Server as an access point In Figure 2, a laptop is connected to a handoff server using a virtual private network (VPN) connection. The handoff server maintains the internet connection, and will be responsible for providing the laptop with both horizontal and vertical handoffs should the need arise. Figure 3: PDA connected to a Laptop via Bluetooth In Figure 3, a PDA is connected via a Bluetooth adapter to the laptop. The laptop is connected to a handoff server using a virtual private network (VPN) connection. The handoff server maintains the internet connection, and will be responsible for providing the laptop with both horizontal and vertical handoffs should the need arise. It can be seen that numerous chaining possibilities are possible in the seamless handoff architecture. The architecture is very flexible since the handoff server provides a centralized architecture where connecting clients can connect in an ad-hoc manner. Seamless Handoff Test Scenarios Performance and Analysis Numerous scenarios were designed to test the performance of the seamless handoff architecture and to determine if the aforementioned goals were adequately met. The following 6 scenarios were designed and tested: Horizontal Handoff o Static IP -> Dynamic IP (DHCP) using 802.11 o Dynamic IP -> Static IP using 802.11 Vertical Handoff o o o o 1xRTT -> 802.11 802.11 -> 1xRTT Wired Ethernet -> Bluetooth Bluetooth -> Wired Ethernet The environment for the tests were conducted with a laptop running the Redhat Linux 9 operating system. A single file transfer was initiated using “wget” and the file was a 68 MB file. The command to initiate the transfer of the file was the following: wget http://download.microsoft.com/download/speechSDK/SDK/5.1/WXP/ENUS/speechsdk51.exe This file was used in all the test scenarios to test the bandwidth and delay of the respective interfaces. Scenario 1 (Horizontal Handoff: Static IP -> Dynamic IP) This scenario would test the transfer of the file while initially being on a static IP address, and then switching to a dynamic IP address all while using the 802.11 network. The following table displays the results: Still User, 1 interruption, 802.11 static -> dynamic IP different network/subnet (Avg throughput = 549.39 KB/s), switch at 60s Trial Run Duration (s) Delay (s) Throughput KB/s 1 123.6 2.6 550.16 2 122.4 2.5 555.56 3 124.5 2.6 546.18 4 121.6 2.7 559.21 5 126.9 2.4 535.86 The throughput remained very high, with the delay of roughly ~2.5s. This delay is mostly attributed to the fact that DHCP must first search for an IP address. It will be seen that in the next scenario, where the switch is reversed, the delay is reduced since an IP address does not need to be searched by DHCP. Scenario 2 (Horizontal Handoff: Dynamic IP -> Static IP) Still User, 1 interruption, 802.11 dynamic -> static IP different network/subnet (Avg throughput = 553.74 KB/s), switch at 60s Trial Run Duration (s) Delay (s) Throughput KB/s 1 121.9 0.9 557.83 2 120.9 1.1 562.45 3 124.5 1.0 546.18 4 124.6 1.1 545.75 5 122.2 1.1 556.46 In this scenario, the throughput continued to remain high, but notice the reduced delay. This is attributed to the fact that the switch was performed from a dynamic IP address to a static IP address. In the earlier scenario, requesting a dynamic IP address entails issuing a request to the server, and waiting for a reply with a given IP address from the server. This can cause delays depending on the network. Scenario 3 (Vertical Handoff: 1xRTT -> 802.11) Still User, 1 interruption, 1xRTT-> 802.11 different network/subnet (Avg throughput = 291.98 KB/s), switch at 60s Trial Run Duration (s) 1xRTT Throughput KB/s Delay (s) 802.11 Throughput KB/s 1 181.32 37.21 0.8 542.12 2 180.29 38.21 1.3 546.23 3 178.41 37.65 1.3 555.21 4 179.00 36.11 1.2 553.21 5 182.18 33.89 1.1 539.91 Notice here that the delay is almost negligent because the switch simply requires a switching of the gateway in the kernel’s IP routing table. Both of the interfaces are already initiated and connected before the transfer takes place. There is no setup time required to bring up or bring down an interface. Remember that this may not be an ideal situation in real-life considering the extra power drain on the laptop as well as the increase in network traffic that is incurred because of additional devices being active at the same time. The 1xRTT throughput greatly depends on location and will vary based on many environmental conditions. We also analyzed the ‘tcpdump’ by listening on both the ppp0 and eth0 interfaces. The output itself is several pages long, so here is a snippet of the output: tcpdump listening on ppp0: 16:47:07.051658 arp who-has 192.168.1.1 tell Accessp12.CS.UCLA.EDU 16:47:07.108029 210.74.232.170.http > 192.168.1.1.1135: P 1:336(335) ack 312 win 65223 (DF) 16:47:07.112505 192.168.1.1.1135 > 210.74.232.170.http: P 312:622(310) ack 336 win 16225 (DF) 16:47:07.217018 ns2.myvzw.com.domain > Cs-33-128.CS.UCLA.EDU.1077: 35117 NXDomain 0/1/0 (110) (DF) 16:47:07.217855 Cs-33-128.CS.UCLA.EDU.1077 > ns2.myvzw.com.domain: 35118+ PTR? 128.33.179.131.in-addr.arpa. (45) (DF) 16:47:07.248772 ns2.myvzw.com.domain > Cs-33-128.CS.UCLA.EDU.1077: 35118 1/4/0 (152) (DF) 16:47:07.249462 Cs-33-128.CS.UCLA.EDU.1077 > ns2.myvzw.com.domain: 35119+ PTR? 7.6.174.66.in-addr.arpa. (41) (DF) 16:47:07.256366 0:4:de:61:6:10 1:0:c:cc:cc:cc 2004 43: 0100 0100 0843 5344 0000 0200 0504 0003 0005 4000 0400 0a00 04de 6106 10 16:47:07.257405 0:4:de:61:6:10 sap 80 > 1:0:c:0:0:0 sap 01 I (s=0,r=0,C) len=68 16:47:07.265740 ns2.myvzw.com.domain > Cs-33-128.CS.UCLA.EDU.1077: 35119* 1/4/4 PTR[|domain] (DF) 16:47:07.266601 Cs-33-128.CS.UCLA.EDU.1077 > ns2.myvzw.com.domain: 35120+ PTR? 4.32.179.131.in-addr.arpa. (43) (DF) 16:47:07.296879 210.74.232.170.http > 192.168.1.1.1135: . 336:1716(1380) ack 622 win 64913 (DF) 16:47:07.298524 210.74.232.170.http > 192.168.1.1.1135: . 1716:3096(1380) ack 622 win 64913 (DF) 16:47:07.300283 210.74.232.170.http > 192.168.1.1.1135: . 3096:4476(1380) ack 622 win 64913 (DF) 16:47:07.300414 192.168.1.1.1135 > 210.74.232.170.http: . ack 3096 win 16560 (DF) 16:47:07.301701 210.74.232.170.http > 192.168.1.1.1135: P 4476:5200(724) ack 622 win 64913 (DF) 16:47:07.302414 ns2.myvzw.com.domain > Cs-33-128.CS.UCLA.EDU.1077: 35120 1/4/0 (150) (DF) Using the dump, the packet loss and congestion window can be viewed and monitored. It can be seen that no packets are lost and the congestion window drops to 1 at the switching point. In this scenario, the throughput for the 802.11 interface continued to remain high. Scenario 4 (Vertical Handoff: 802.11 -> 1xRTT) Still User, 1 interruption, 802.11 -> 1xRTT different network/subnet (Avg throughput = 66.08 KB/s), switch at 60s Trial Run Duration (s) 802.11 Throughput KB/s Delay (s) 1xRTT Throughput KB/s 1 1051.99 544.42 0.7 35.62 2 1182.08 512.26 0.8 33.21 3 1179.32 532.26 0.8 32.22 4 1229.24 522.21 0.8 31.36 5 1092.21 510.22 1.0 36.22 Again, the delay here is almost negligent since both interfaces are active before the file transfer begins. The minimal delay is crucial to providing a transparent experience to the user. The following is a snippet of the tcpdump on eth0: 16:47:53.660959 unknown.Level3.net.http > Cs-33-128.CS.UCLA.EDU.1104: . 11690213:11691581(1368) ack 162 win 5792 <nop,nop,timestamp 1318500647 829949> (DF) 16:47:53.661079 192.168.1.1.1104 > unknown.Level3.net.http: . ack 11691581 win 62928 <nop,nop,timestamp 829962 1318500641> (DF) 16:47:53.664430 unknown.Level3.net.http > 192.168.1.1.1104: . 11691581:11692949(1368) ack 162 win 5792 <nop,nop,timestamp 1318500647 829949> (DF) 16:47:53.667942 unknown.Level3.net.http > 192.168.1.1.1104: . 11692949:11694317(1368) ack 162 win 5792 <nop,nop,timestamp 1318500656 829949> (DF) 16:47:53.668087 192.168.1.1.1104 > unknown.Level3.net.http: . ack 11694317 win 62928 <nop,nop,timestamp 829963 1318500647> (DF) 16:47:53.670702 unknown.Level3.net.http > 192.168.1.1.1104: . 11694317:11695685(1368) ack 162 win 5792 <nop,nop,timestamp 1318500656 829949> (DF) Scenario 5 (Vertical Handoff: Wired Ethernet -> Bluetooth) Still User, 1 interruption, Wired Ethernet -> Bluetooth (Avg Throughput = 197 KB/s) switch at 180s. Trial Run Duration (s) Wired Ethernet Delay (s) Throughput KB/s Bluetooth Throughput KB/s 1 321.54 342.22 1.1 45.22 2 315.19 343.26 0.9 45.96 3 242.21 362.53 0.8 44.12 4 271.04 355.55 0.9 43.95 5 291.21 348.95 1.2 46.66 Here, Bluetooth maintained a healthy average of about 45 KBps. Again, the delay was almost negligible because both interfaces were already active. Scenario 6 (Vertical Handoff: Bluetooth -> Wired Ethernet) Still User, 1 interruption, Bluetooth -> Wired Ethernet (Avg Throughput = 190 KB/s) switch at 180s. Trial Run Duration (s) Bluetooth Throughput KB/s Delay (s) Wired Ethernet Throughput KB/s 1 358.54 44.16 0.9 336.35 2 359.05 46.96 0.9 332.58 3 356.01 45.32 0.7 339.99 4 353.14 44.48 0.6 346.51 5 369.01 49.56 0.7 312.56 Here again, Bluetooth maintained a healthy average of about 45 KBps. Again, the delay was almost negligible because both interfaces were already active. Performance Analysis From the scenarios that were designed it could be seen that many of the goals of seamless handoff were adequately met. Handoffs were transparent to the file transfer utility. Delays were minimal and practically insignificant. The congestion window dropped to 1 when a handoff took place. This is because TCP sensed a disruption and took appropriate measures. The throughput remained relatively consistent across different interfaces. Of course, a throughput of ~500 KBps cannot be expected to be had on the Bluetooth interface. File integrity was also properly maintained. Packets were not lost and the complete file was successfully transferred. Conclusion The scenarios designed were successfully tested to show the capability of seamless handoff first-hand. Many of the goals of seamless handoff were adequately met. For example, the delay in the scenarios was for the most part negligent, helping achieve the goal of continuous connectivity, as well as low latency. Furthermore, the build-out of each of the scenarios was relatively simple, in that there were no major modifications to existing technologies. Packet loss as also avoided as evidenced by the complete file being transferred. The scenarios provided put the seamless handoff theory into practice and allowed us to study the results. There is still much room for optimization, such as the power issue that was discussed earlier when having multiple devices active at all times. Overall, the seamless handoff architecture has many real-world applications and has potential to be an architecture that is utilized many wireless infrastructures. References [1] Mark Stemm, Randy H. Katz, " Vertical Handoffs in Wireless Overlay Networks," Mobile Networks and Applications, 1996, http://www.cs.ucla.edu/classes/fall03/cs218/paper/stemm96vertical.pdf. [2] V. Ghini, G. Pau, P. Salomoni, M. Roccetti, M. Gerla, " Smart Download on the Go: A Wireless Internet Application for Music Distribution over Heterogeneous Networks, " Submitted to ICC2004, Paris, http://www.cs.ucla.edu/classes/fall03/cs218/paper/SmartDownload.pdf [3] R. Hsieh, Zhe Guang Zhou, A. Seneviratne, " S-MIP: a seamless handoff architecture for mobile IP," In Proceedings of IEEE INFOCOM 2003, http://www.ieee-infocom.org/2003/papers/43_04.PDF [4] Pangalos, P.A.; Boukis, K.; Burness, L.; Brookland, A.; Beauchamps, C.; Aghvami, A.H., " End-to-end SIP based real time application adaptation during unplanned vertical handovers, " Global Telecommunications Conference, 2001. GLOBECOM '01. IEEE , Volume: 6 , 25-29 Nov. 2001 Page(s): 3488 -3493,