Adhikari,V.K.,etal.,”UnreelingNetflix:UnderstandingandImprovingMulti-CDNMovieDelivery,”Proc.ofIEEEInfocom‘12,Mar.2012
Advanced!Computer Networks
NetflixArchitectureWhystudyNetflix?SandvineJune2016GlobalInternetPhenomenaReport:• 35.2%oftrafficonNorthAmerican(NA)fixednetworks• A/Vstreamingaccountsfor71%ofeveningtrafficinNA• CloudstoragesurpassedfilesharingasthetopsourceofupstreamtrafficinNA• Bittorrentaccountsfor< 5%ofdailytrafficinNAFortheamountofthird-partyservicesitemploys(orusedtoemploy)
NetflixAuthoritativeNameserverUsedtobeUltraDNSAfterOct.15,2015incidentthatpulleddownUltraDNS,it’snowhandledbyAmazon:% dig netflix.com ns ;; ANSWER SECTION: netflix.com. 171799 IN NS ns-659.awsdns-18.net. netflix.com. 171799 IN NS ns-1372.awsdns-43.org. netflix.com. 171799 IN NS ns-1984.awsdns-56.co.uk. netflix.com. 171799 IN NS ns-81.awsdns-10.com. ;; ADDITIONAL SECTION: ns-81.awsdns-10.com. 171799 IN A 205.251.192.81 ns-659.awsdns-18.net. 171799 IN A 205.251.194.147 ns-1372.awsdns-43.org. 171799 IN A 205.251.197.92 ns-1984.awsdns-56.co.uk.171799 IN A 205.251.199.192
BTW,netflix.comitselfresolvesto52.0.171.217,52.20.41.71,52.200.137.220,etc.
NetflixArchitectureKeyNetflixhostsandtheirmaintainers:discoveredbyDNSresolution(dig)andlookingupWHOISdatabase(whois)
Amazon
Netflix’s own OpenConnect
NetflixArchitecture
Netflix’sownOpenConnectLogistics, e.g.,
new userregistration
NetflixTimeline
1. Downloadplayer(everytime!)andauthenticateuser2. Downloadclient-capabilityspecificDASHmanifestfile3. Downloadaudio/videochunksortrickplaydata4. Userexperiencereporting
Dynamic,AdaptiveStreamingoverHTTP(DASH)Server-side:• dividesvideofileintomultiplechunks• eachchunkencodedandstoredatmultiplerates• manifestfile:providesURLsfordifferentchunks
Client-side:• requestchunksfrom“closest”server• periodicallymeasuresserver-to-clientbandwidth• choosesmaximumencodingratesustainablegivencurrentbandwidth• canchoosedifferentencodingratesatdifferentpointsintime
BitRateAdaptationEncodingbitrates:• SD:100and1750Kbps,in12differentrates• HD:2350and3600Kbps,in14differentratesPlayerstartsbyprobingforavailablebandwidthAdaptstolowerrateifavailablebandwidthdrops
URLRankingandSelectionURLrankingassignedtouseraccountisindependentofavailablebandwidthandremainsthesameregardlessofmovietypes,computers,time,locationsURLselectionchangesonlywhenbandwidthfromcurrentservergoesbelowtheminimalrequired(motivation?)
DataDownload
Morefrequentlyatthebeginning,thenbecomesperiodic,at~4secs.apart,theplaybacklengthofatypicalchunkTrickplay(FF,RW,Pause,Seek)ondigitalvideorequiresadifferent,sampledstream(can’tjustplaybackstreamatfasterrateorbackward)• trickplayinfoalsoincludedinmanifestfile
CDNPerformanceSomeCDNisbetterprovisionedthanothersSomeclientsarebetterconnectedthanothers(WhyhideCDNnames?)
CDNOne-dayAverageBandwidthat2ClientsNoCDNisconsistentlybetter
CDNSelection:CanWeDoBetter?BestCDN:staticselectionUpperbound:adaptive,optimalselection
CDNSelection:MeasuredBestStaticClientmeasuresforbestCDNatthestart,thenstayswithCDNfortherestofmovieApplicabletomultipleURLsofOpenConnect?
MultipleCDNsSimultaenousClientdownloads3differentchunksinparallelfrom3differentCDNs
ApplicabletomultipleURLsofOpenConnect?DifferentdownloadschedulesforthemultipleCDNs?