ebook img

Andersen-Master PDF

129 Pages·2012·1.26 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Andersen-Master

UNIVERSITY OF OSLO Department of Informatics User Space Socket Migration for Mobile Applications Master Thesis Håvard Stigen Andersen 13th May 2012 User Space Socket Migration for Mobile Applications Håvard Stigen Andersen 13th May2012 2 Acknowledgement Firstofall,Iwouldliketothankmysupervisors, VeraGoebel,HansVatne Hansen And Francisco Velázquez for their excellent guidance. Clear and concisefeedbackhasmadeitpossibleformetocompletethisthesis. Great supervision on the structure of the thesis and guidance on the proper writingstylehavehelpedalot. Iwouldalsoliketothankmyfamilyandfriendsfortheirsupport. Espe- ciallyathankstoyouthoseofwhohavehelpedmeproofreadingthethesis. HåvardStigenAndersen UniversityofOslo May2012 3 4 Abstract Nowadays, individuals are surrounded by several personal multimedia capable devices. This can leverage ubiquitous computing. Yet, in recent years, multimedia applications have increased their popularity and demand. Thesetwofactorshavebeenthemainmotivationforcestoretake process migration research. We focus on process migration to enable ubiquitous computing with multimedia application requirements, such as bandwidth andtime constrains. We call applicationsdesigned for process migration mobile applications. This thesis addresses the connection mobilitychallengesinprocessmigrationbetweennetworkeddevices,while fulfillingmultimediaapplicationsrequirements. We present the design, implementation andevaluation of a user-space socketmigrationsolutioncalledSOCKMAND.SOCKMANDenablesmobile applications to resume their connections on other remote nodes after a migration. The work is motivated by research on process migration for regular consumers within their own Migration Community, an overlay of personaldevices. SOCKMANDsupportslegacycorrespondinghosts,hosts which do not include any logic concerning the socket migration. This is achieved by introducing a Migration Community Access Point (MCAP). An MCAP acts as a proxy server between the two endpoints of a socket. SOCKMANDusesIPinUDPtunnelstotransferpacketsbetweenthe node with the mobile application and the MCAP. We utilize libpcap and raw sockets to achieve a user-space implementation. Libpcap and raw sockets can capture and send raw IP packets from user-space. TCP and UDP are implemented in user-space. UNIX domain sockets provide the inter- processcommunicationbetweenmobileapplicationsandSOCKMAND. WedoourevaluationofSOCKMANDbothbyusinganalyticalmodeling as well as measurements on our implementation. The measurements are done on heterogeneous devices to determine if these devices are capable of running SOCKMAND with multimedia applications, like video conferencing. Our evaluation shows that SOCKMAND is capable of utilizing the full bandwidth of various devices given a large enough packet size. We show that CPU load in MCAP and endpoints correlate to the number of packets per second, and not the bandwidth. This shows that application programmersshoulduselargerpacketsizes,whenpossible,toreduceCPU load. The round-trip time overhead introduced by Migration Community Access Points is negligible. SOCKMAND is able to support multimedia applicationsbasedonourrequirements. 5 6 Contents 1 Introduction 17 1.1 BackgroundandMotivation . . . . . . . . . . . . . . . . . . . . . 17 1.2 ProblemStatement . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 Background 19 2.1 MobileApplications . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 TheTRAMPProject . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 TRAMPReal-timeApplicationMobilityPlatform . . . 20 2.2.2 MigrationCommunities . . . . . . . . . . . . . . . . . . . 21 2.2.3 Real-TimeMultimediaApplications . . . . . . . . . . . 21 2.3 OperatingSystemAbstractions . . . . . . . . . . . . . . . . . . . 22 2.4 UserDatagramProtocol . . . . . . . . . . . . . . . . . . . . . . . 24 2.5 TransmissionControlProtocol . . . . . . . . . . . . . . . . . . . 24 2.6 IPFragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.7 ConnectionHandover . . . . . . . . . . . . . . . . . . . . . . . . 26 2.8 RequirementAnalysisofBackgroundKnowledge . . . . . . . . 26 3 RelatedWork 29 3.1 SocketMigration . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.1 MIGSOCK . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.2 SockMi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.1.3 MigratoryTCP . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.4 ReliableSockets. . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.5 SocketlessTCP . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2 TransportLayerMobility . . . . . . . . . . . . . . . . . . . . . . 31 3.2.1 UPMT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.2 TCP-R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3 Emerald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.4 AnalysisofRelatedWork . . . . . . . . . . . . . . . . . . . . . . 32 4 Design 35 4.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 SOCKMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2.1 MigrationCommunityAccessPoint. . . . . . . . . . . . 36 4.2.2 IPinUDPTunnels . . . . . . . . . . . . . . . . . . . . . . 37 4.2.3 SOCKMANDArchitecture . . . . . . . . . . . . . . . . . 37 7 4.2.4 DifferentPacketFlowsThroughSOCKMAND . . . . . 39 4.3 UUIDofaSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4 MigratingaSocket . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.5 MessagePassingDuringMigration . . . . . . . . . . . . . . . . 41 4.6 IPFragmentationandSOCKMAND . . . . . . . . . . . . . . . . 42 4.7 DetailedDesign . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.7.1 SOCKMANDAPI . . . . . . . . . . . . . . . . . . . . . . . 44 4.7.2 SOCKMANDLibrary . . . . . . . . . . . . . . . . . . . . . 45 4.7.3 UDPController . . . . . . . . . . . . . . . . . . . . . . . . 47 4.7.4 TCPController . . . . . . . . . . . . . . . . . . . . . . . . 47 4.7.5 IPController. . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.7.6 SOCKMANDCore . . . . . . . . . . . . . . . . . . . . . . 48 4.7.7 LibpcapHandler . . . . . . . . . . . . . . . . . . . . . . . 48 4.7.8 RawsocketHandler . . . . . . . . . . . . . . . . . . . . . 48 4.7.9 TunnelHandler . . . . . . . . . . . . . . . . . . . . . . . . 49 4.7.10 SignalHandler . . . . . . . . . . . . . . . . . . . . . . . . 49 4.7.11 MigratorAPI . . . . . . . . . . . . . . . . . . . . . . . . . 49 5 Implementation 51 5.1 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3 SOCKMANDcomponents . . . . . . . . . . . . . . . . . . . . . . 51 5.3.1 EventHandler. . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3.2 SOCKMANDCore . . . . . . . . . . . . . . . . . . . . . . 53 5.3.3 SOCKMANDAPI . . . . . . . . . . . . . . . . . . . . . . . 58 5.3.4 Libsockmand . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.3.5 UDPController . . . . . . . . . . . . . . . . . . . . . . . . 61 5.3.6 TCPController . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3.7 LibpcapHandler . . . . . . . . . . . . . . . . . . . . . . . 67 5.3.8 MigratorAPI . . . . . . . . . . . . . . . . . . . . . . . . . 68 6 Evaluation 69 6.1 EvaluationGoals. . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.2 AnalysisApproach. . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.3 EvaluationMetrics . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3.1 CPULoad . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3.2 Round-TripTime . . . . . . . . . . . . . . . . . . . . . . . 72 6.3.3 SocketMigrationTime . . . . . . . . . . . . . . . . . . . 72 6.3.4 PacketLossintheMCAP . . . . . . . . . . . . . . . . . . 72 6.4 EvaluationFactors . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.4.1 PacketSizes . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.4.2 PacketsperSecond . . . . . . . . . . . . . . . . . . . . . . 73 6.4.3 NodeSpecifications . . . . . . . . . . . . . . . . . . . . . 73 6.4.4 PacketDirectionThroughtheMCAP . . . . . . . . . . . 73 6.5 EvaluationSetups . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.5.1 CPULoadofSOCKMANDandMobileApplication . . 74 6.5.2 CPULoadandPacketLossonMCAP . . . . . . . . . . . 76 6.5.3 SocketMigrationTime . . . . . . . . . . . . . . . . . . . 77 8

Description:
achieved by introducing a Migration Community Access Point (MCAP). can capture and send raw IP packets from user-space. user experience acceptable end to end delay when using video conferencing is 100 ms [2]. of such abstractions are file system management, memory access, inter-.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.