Web++ A system for fast and reliable web service
- 格式:pdf
- 大小:447.41 KB
- 文档页数:29
THE ADVANCED COMPUTING SYSTEMS ASSOCIATION
The following paper was originally published in theProceedings of the USENIX Annual Technical ConferenceMonterey, California, USA, June 6-11, 1999
Web++: A System For Fastand Reliable Web Service
Radek Vingralek, Yuri BreitbartBell Laboratories - Lucent TechnologiesMehmet Sayal, Peter ScheuermannNorthwestern University
© 1999 by The USENIX AssociationAll Rights ReservedRights to individual papers remain with the author or the author's employer. Permission is granted for noncommercialreproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper.USENIX acknowledges all trademarks herein.For more information about the USENIX Association:Phone: 1 510 528 8649FAX: 1 510 548 5738Email: office@usenix.orgWWW: http://www.usenix.orgWeb++:ASystemForFastandReliableWebService
RadekVingralekYuriBreitbart
InformationScienceResearchCenterBellLaboratories-LucentTechnologies600MountainAvenueMurrayHill,NJ07974rvingral,yuri@research.bell-labs.comCurrentaffiliation:STARLab,InterTrustTechnologies,460Oak-meadParkway,Sunnyvale,CA94086,rvingral@intertrust.com.MehmetSayalPeterScheuermann
NorthwesternUniversityECEDepartment2145SheridanAvenueEvanston,IL60208mehmet,peters@ece.nwu.edu
AbstractWedescribethedesignofasystemforafastandreliableHTTPservicetermedWeb.Webachieveshighre-liabilitybydynamicallyreplicatingWebdataamongmul-tipleWebservers.Webselectsaserverwhichisavail-ableandthatisexpectedtoprovidethefastestresponsetime.Furthermore,Webguaranteesdatadelivery,pro-videdthatatleastoneservercontainingtherequesteddataisavailable.Afterdetectingaserverfailure,Webclientrequestsaresatisfiedtransparentlytotheclientbyanotherserver.WebisbuiltontopofthestandardHTTPprotocolanddoesnotrequireanychangeseitherinexistingWebbrowsers,ortheinstallationofanysoftwareontheclientside.WeimplementaWebprototype;performanceexperimentsindicatethatWebimprovestheclientresponsetimeonaverageby36.6%,andinmanycasesbyasmuchas59%,whencomparedwiththecurrentWebperformance.
1Introduction1.1MotivationThesuccessoftheWebhasproventhevalueofsharingdifferenttypesofdatainanautonomousmanner.ThenumberofWebusers,servers,andtotalInternettraf-fichavebeengrowingexponentiallyinthepast5years[1].ThescaleofWebusageisstressingthecapacityoftheInternetinfrastructureandleadstopoorperfor-manceandlowreliabilityofWebservice.Multisecondresponsetimesfordownloadinga1KBresourcearenotunusual[35].Furthermore,recentstudies[29]indicatethatservermeantimetofailure(MTTF)is15days,thusaclientaccessing10serversmayexperienceafailureevery36.4hours.SuchafailurerateisnotacceptableformanyimportantWebapplicationssuchaselectroniccommerceandonlinestocktrading.Recently,severaltechniqueshavebeenadoptedtoreduceWebresponsetime,improveitsreliability,andbalanceloadamongWebservers.Amongthemostpopularapproachesare:Proxyservercaching.Proxyserversinterceptclientrequestsandcachefrequentlyreferenceddata.Re-questsareinterceptedeitheratanapplicationpro-tocollevel(non-transparentcaches)[20,30]oranetworkprotocollevel(transparentcaches)[13].Cachingimprovestheresponsetimeofsubsequentrequeststhatcanbesatisfieddirectlyfromtheproxycache.ServerclustersAsingledispatcherinterceptsallWebrequestsandredirectsthemtooneoftheserversinthecluster.Therequestsareinterceptedatthenet-workprotocollevel[12,16].SinceaserverclustertypicallyislocatedwithinasingleLAN,theserverselectionismostlybasedonserverloadandavail-abilitywithinthecluster.DNSaliasingAsinglehostnameisassociatedwithmul-tipleIPaddresses.AmodifiedDNSserverselectsoneoftheIPaddressesbasedeitheronround-robinscheduling[26],routingdistance,orTCP/IPproberesponsetime[14].Eachoftheproposedsolutions,however,improvesre-questresponsetime,reliability,orloadbalancingamongservers,butdoesnotaddressalltheseissuestogether.Fur-thermore,manyoftheproposedsolutionsoftenintroduceadditionalproblems.Proxyservercachingimprovesre-questresponsetime,butitintroducespotentialdatain-consistencybetweenthecacheddataandthesamedatastoredattheserver.Non-transparentproxycachescreateasinglepointoffailure.Serverclustersimproverelia-bilityattheserverend,butdonotaddressthereliabilityofthenetworkpathbetweentheclusterdispatcherandaclient.ServerclustersarenotsuitableforbalancingaloadamonggeographicallyreplicatedWebserversbecauseallrequestsmustpassthroughasingledispatcher.Conse-quently,serverclustersonlyimprovetheloadbalanceamongthebackendWebservers.Finally,althoughDNSaliasingimprovesbothrequestresponsetimeandservicereliability,itforcesdataproviderstoreplicatetheentireWebsite.Thisisimpracticalfortworeasons:(1)sincemostWebserversexhibitskewedaccesspattern[32],replicatingtheentireWebservercouldbeanoverkill;(2)insomecasesitisnotpossibleordesirabletoreplicatealldynamicservices.Inaddition,theDNSaliasingim-plementationbecomesproblematicwhenclient-sideDNSagentscacheresultsofDNSqueriesorsubmitrecursiveDNSqueries.1.2PaperPreviewOnewaytoimproveWebperformanceandreliabilityistoreplicatepopularWebresourcesamongdifferentservers.Ifoneoftheserversfails,clientssatisfytheirrequestsfromotherserversthatcontainreplicasofthesamere-source.Clientrequestscanbedirectedtothe“closest”serverthatcontainstherequestedresourceandtherebyimprovetherequestresponsetime.Replicationalsoal-lowsthebalancingofclients’requestsamongdifferentserversandenables“cost-consciousscalability”[9,42]oftheWebservicewherebyasurgeinaserverloadcanbehandledbydynamicallyreplicatinghotdataonadditionalservers.InthispaperwepresentanoverviewofdesignofourWebsystemforreplicationoftheHTTPservice.Un-likeothersimilarsystemsreportedinliterature,WebiscompletelytransparenttothebrowseruserandrequiresnochangestotheexistingWebinfrastructure.Webclientsaredownloadedascryptographicallysignedap-pletstocommerciallyavailablebrowsers.Thereisnoneedforend-userstoinstallaplug-inorclient-sideproxy.Thereisnoneedforanymodificationofthebrowser;theWebappletcanexecuteinbothNetscapeNavigator4.xandMicrosoftExplorer4.xbrowsers.WebserversthatsupportservletscanbedirectlyextendedwithWebservlets.Otherserversareextendedwithaserver-sideproxythatsupportsservlets.Allclient-to-serverandserver-to-servercommunicationiscarriedontopofHTTP1.1.OthersalientfeaturesofWebare:ReliabilityResourcesarereplicatedamongmultipleWebservers.Ifoneoftheserversfails,clientstransparentlyfail-overtoanotherserverthatrepli-catestherequestedresource.Afterafailurerepair,theservertransparentlyreturnstoservicewithoutaffectingclients.Furthermore,Webguaranteesdatadeliveryifatleastoneoftheserversholdingtherequestedresourceisavailable.FastresponsetimeUser’srequestsaredirectedbyWebtotheserverthatisexpectedtoprovidethefastestresponsetimeamongallotheravailableserverswheretheresourceisreplicated.Thisisdonetransparentlytotheuserandtheuserisnotrequiredtoknowwhichserverhasdeliveredtheresource.DynamicreplicationIfthereisahighdemandforare-source,theresourcecanbedynamicallyreplicatedonanotherserverthatislightlyloadedorclosetotheclientsthatfrequentlyrequesttheresource.Furthermore,whendemandforaresourcedrops,someserversmaydroptheresourcecopy.Addi-tionalserversmayberecruitedfromapoolofunder-utilizedserverstohelpsustainaloadpeak.Light-WeightClientsTheclientappletsmaintainverylittlestateinformation.Infact,theonlyinformationthattheymaintainistheHTTPlatencyofthevariousservers.Thisallowsoursystemtoberunonmanyhardwareconfigurationswithlimitedresources.