DBAS:ADeployableBandwidth AggregationSystem KarimHabak†,MoustafaYoussef†,andKhaledA.Harras‡ †Egypt-JapanUniversityofSc.andTech.(E-JUST) ‡CarnegieMellonUniversityinQatar IFIPNTMS‘12 Motivation • Theproliferationofmulti-homed ormulti-interfaceenableddevices SocketAPI Motivation • • Theproliferationofmulti-homed ormulti-interfaceenableddevices Theseinterfacesareutilized oneatatime SocketAPI Motivation • • • Theproliferationofmulti-homed ormulti-interfaceenableddevices Theseinterfacesareutilized oneatatime Exponentialincrease inmobiledata demand SocketAPI BandwidthAggregationSystems • Availabilityofmanysolutionforutilizingthe availablemultipleinterfaces • Theavailablesolutionsfaceasteep deploymentbarrier – Why?? SolutionsShortcomings • Requiringupdatingthelegacyapplication – Ex:Applicationhastoquantifyitsrequirements • Requiringupdatingthenetworkinfrastructure andintroducenewcomponents – Ex:Proxiesandrouters • Requiringupdatingthelegacyservers • IntroduceKernellevelmodificationstotheend nodes – Requiresrecompilingthekernel DesignGoals • Goal1:Avoidmodifyingthelegacyapplications whilemakinguseoftheircharacteristics • Goal2:Avoidnetworkinfrastructureupdates • Goal3:Avoidlegacyserversupdateswhilemaking useofthisopportunityifavailable • Goal4:Avoidkernellevelmodificationstothe clients • Goal5:Utilizetheavailableinterfacestotheir maximum • Goal5:Capturetheuserpreferences SystemArchitecture • End-to-End communication – Noinfrastructure updates SystemArchitecture • Application Characteristics Estimator – Qualitative measurements – Quantitative measurements SystemArchitecture • Modedetection module – Aserverlistening onspecificport – Specifieseitherthe serverDBASenabledornot SystemArchitecture • Interface Characteristics Estimator – Estimatesthe available bandwidthateach interface – Usesdestination basedestimatesin caseofDBASEnabledservers SystemArchitecture • Scheduler – Schedulesthe packetsand/orthe connectionsonthe differentnetwork interfaces SystemArchitecture • ReceivedData ReorderingModule – Usedonlyinpacket orientedmode – Reorderthepackets beforegivingthem totheapplication SystemArchitecture • UserInterface Module – Obtainsuser’s preferencesand interfaceusage policies SchedulingTechniques • Only-One: – ReflectsthecurrentOS’sschedulingtechnique whichselectsonlyoneoftheavailablenetwork interfaces • CORoundRobin – Assignstheconnectionstothedifferentnetwork interfacesinarotatingbasis – Doesnottakeintoaccounttheinterfaces characteristicsandapplicationscharacteristics SchedulingTechniques • COWeightedRoundRobin – Assignstheconnectionstothedifferentnetwork interfacesinarotatingbasisweightedbythe interfaceestimatedbandwidthsuchthathigher bandwidthinterfacesgetassignedmore connections – Takestheinterfacescharacteristicsintoaccount whilenottakingtheapplicationscharacteristics SchedulingTechniques • COMaximumThroughput – Assignstheconnectionstothedifferentnetwork interfacessuchthatitminimizesthetimeneedto finishthecurrentsystemloadinadditiontothe newconnection’sload – Takesboththeinterfacescharacteristicsandthe applicationcharacteristicsintoaccount SchedulingTechniques • PORoundRobin – Assignsthepackets/chunkstothedifferentnetwork interfacesinarotatingbasis – Doesnottakeintoaccounttheinterfacescharacteristics andapplicationscharacteristics • COWeightedRoundRobin – Assignsthepackets/chunkstothedifferentnetwork interfacesinarotatingbasisweightedbytheinterface estimatedbandwidth – Takestheinterfacescharacteristicsintoaccountwhile nottakingtheapplicationscharacteristics Implementation • DBASMiddleware – ItisimplementedasaLayeredService Provider(LSP) – ItisinstalledasapartoftheTCP/IP stackinWindowsOS – Itinterceptssocket-basedconnection requestsandassignpropernetwork interfacestothemordistributetheir dataacrossthedifferentinterfaces Network Application (e.g.Firefox) Winsock2 API WS2_32.DLL SPI DBAS Middleware BaseProtocol (e.g.TCP/IP) Implementation • DBASMonitoringApplication – Itisusedtocapturestheuserpreferencesand interfaces’usagepolicies – ItisalsousedtomonitorDBASmiddlewareandits estimates Evaluation • NetworkTopology – Clientnodeequippedwithmultiplenetwork interfaces(IF1andIF2) – Servernode – IntermediatenodewithNIST-NETnetwork emulatorisusedtochangethenetworkinterfaces characteristics Evaluation • ApplicationsModels – SmallloadapplicationrepresentsInternetbrowsing • Generateconnectionswithlengthfollowsexponential distributionwithmean22.38KB • GenerateconnectionsfollowingaPoissonprocesswithmean 13connection/sec – LargeloadapplicationrepresentsP2PandFTP • Generateconnectionswithlengthfollowsexponential distributionwithmean285KB • GenerateconnectionsfollowingaPoissonprocesswithmean 1connection/sec Results(InterfacesHeterogeneity) Usinginterfacescharacteristicsestimatesachievesupto 396%throughputgains Results(InterfacesHeterogeneity) Withoutusinginterfacescharacteristicsschedulingmayachieve lowerperformancethansingleinterfaceeveninPOscheduling Results(ApplicationsHeterogeneity) Usingapplicationscharacteristicsestimatesachievesupto130% throughputgains POSchedulingisnotaffectedbyapplicationscharacteristics