lec2 project details - ucr computer science and engineering · lec2_project_details author: jiasi...
TRANSCRIPT
ProjectDetailsJiasi Chen
CS179i:ProjectinComputer Science(Networks)Lectures:Monday3:10-4pminSpieth 1307
http://www.cs.ucr.edu/~jiasi/teaching/cs179i_winter16/
1
Outline
• Virtualreality
• Videostreaming
• Downloadbooster
• Proposal
2
VirtualRealityUsingCommodityHardware
3
TwoDifferentPlatforms
• GoogleCardboard• $20cardboardviewertouseanysmartphone asaVRdisplay
• SamsungGearVR• OnlycertainSamsungphones (GalaxyS6,Note5)• Bettermotion-tracking, higherresolution screens• Passthrough-camera enabled
• Resources• CardboardAndroidAPI:https://developers.google.com/cardboard/android/• GearVRAndroiddevelopment: http://www.gearvrf.org/
4
VirtualRealityProjectIdeas
• StreetView• Createavirtualtourofalocation
• Livestreaming• Streamthescene fromyourVRdevicetoanotheruser
• AugmentedrealitywiththeSamsungGearVR• Haspassthrough camera,butnotpowerfulenoughforaugmented reality[1]• Whatifsomeprocessing couldbeoffloadedtonearbydevices?
5
MPEG-DASHVideoStreaming
6
MPEG-DASHProtocol
• MPEG-DASH• APP-layerprotocolforadaptingvideoqualitytonetworkconditions
• Client-driven: clientestimates networkconditions andrequests appropriatevideoquality
• Standarddoesn’tspecifyadaptationalgorithm, justthecommunication protocolbetween clientandserver
• Whousesit?
7
time
rate network bandwidth
video rate
ProjectGoal
• Currentapproaches• Numerousapproaches proposed inresearchliterature andinpractice• Needaapples-to-apples comparisonundercommonsetoftestconditions
• Resources• MPEG-DASHvideoplayer:https://github.com/Dash-Industry-Forum/dash.js/wiki
8
Server
ManifestFile Multiplebit-rate/resolutionvideosdivided
intomulti-second segments
HowDASHWorks
9
Clients
§ ClientsrequestanewvideosegmenteveryX seconds.§ Thebit-rateoftherequestedsegmentisbasedonthe
averageTCPthroughputoflastY segments.
HTTP
GET
VIDEOVIDEOVIDEO
GeneralVideoRateAdaptationAlgorithm
1. Estimatebandwidth1. Updatebandwidthestimate ofith chunk,B[i]2. Basedonpreviousbandwidthestimates B[1],B[2],...,B[i],predictnew
bandwidthB[i+1]
2. Makenewvideorateselection1. PickthenewvideorateR=f(videobitrate,networkbandwidth,buffersize)2. t++
3. Gotostep1
10
CurrentApproach1:Bandwidth-based
• Defaultapproach:R[t+1]=max{r:r<B[t+1]}
• Problem:higherbitratesà higherbandwidth estimateà unfaircompetition betweenclients• Loweroverheadforhigherbitrates
• R=f(previousvideobitrate,bandwidthestimate)=f(R[t],B[t+1])
• Compensate byrampingupquicklyforlowerbitrates,rampingupslowlyforhigherbitrates
11Reference:http://conferences.sigcomm.org/co-next/2012/eproceedings/conext/p97.pdf
current videobitrate
rateofincrease
CurrentApproach2:Buffer-based
• Insteadystate,R=f(buffersize)
12Reference:http://yuba.stanford.edu/~nickm/papers/sigcomm2014-video.pdf
CurrentApproach3:Bandwidth+Buffer-based• Lookintothefuture:makebandwidthpredictionsforthenextNtimeslots
• R=f(previousvideobitrate,bandwidthestimate,buffer)
=f(R[t],B[t],…,B[t+N],buffer size)
• Markovdecisionprocesswithonlinetablelookup• Multi-criterionobjective
13Reference:http://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p325.pdf
DownloadBooster
14
DownloadBooster• Wanttospeedupdownloadsoflargefilesbyusingmultipleinterfacessimultaneously(e.g.,WiFi,4G,Ethernet)
• SamsungintroducedDownloadBooster,butitgotblockedbymajorcarriers
• Multipath-TCPisanothermajorstandardizationefforttoenablemultiplenetworks
15
ReviewofTCPThroughput
• Controltransmissionratebysettingwindowsize• Windowsize=min{cwnd,rwnd}• cwnd =congestionwindow(setbysender)
• rwnd =receivewindow(setbyreceiver)
• Scheduler(multiplenetworksonly)• If#ofpkts tosend<windowsize,whichpipeshould Isendthepkts on?
16
time
cwnd
slow start congestion avoidance
IfACK received:cwnd ß cwnd +1/cwnd
Ifloss:cwnd ß cwnd/2
TCPcongestion avoidance:
TransportandApplicationLayerApproaches
Transportlayer:multipath-TCP• MPTCPcongestion control+(default,roundrobin)scheduler
• Fine-grained scheduler control(operateonpackets)
Applicationlayer:HTTPproxy• TCPcongestioncontrol+yourscheduler
• Coarse-grained scheduler control(operateonchunks)
17
Client
Internet
Applica
tion
Virtualinterface
Remote server
Multipath-TCP
• Congestioncontrol• Separatecongestionwindowforeachsubflow r
• Scheduler• Default:Sendpackets onthepipewiththelowestRTT• Round-robin:Mayleavespaceopenincongestionwindow
18[1] https://www.eecs.berkeley.edu/~sylvia/cs268-2014/papers/mptcp.pdf[2] http://conferences.sigcomm.org/co-next/2012/eproceedings/conext/p1.pdf
IfACK received:
cwndr ß cwndr +!"#%
&'()*+,,*
-
∑ /012*/* 455*-
Ifloss:cwnd ß cwnd/2
MPTCPdefault [1] Pareto-optimal [2]
IfACK received:
cwndr ß cwndr +/0126/4556-
∑ /012*/* 455*- +
89/0129
Ifloss:cwnd ß cwnd/2
HTTPProxy
• Congestioncontrol• StandardTCPcongestioncontroloneachpipe
• Scheduler• Howtoschedule packets ontoeachpipe?Yourdesign!• E.g.,schedule packetsproportional toestimated bandwidth
19
IfACK received:cwnd ß cwnd +1/cwnd
Ifloss:cwnd ß cwnd/2
Proposal
• 2-pagesummaryandplanofyourproject• Worth10%ofyourgrade
• Sections• Executivesummary• Comparisonagainstotherapproaches
• e.g.,startups,research papers,commercial products• Targetfeatures
• Milestone 0(oralprogressupdateon2/16/16)• Milestone 1
• Methodology (e.g.,tools,programminglanguages)• Evaluation(e.g.,testbed,metrics)
20
Proposal
• Makesuretoaddress• Whatmakesyourprojectinteresting?Doesitfulfilsomeunmetneed?Whoisitusefulfor?
• Atleastonefigureshowingsystemdesign/architecture
• Ifyou’rechoosinganexistingproject(MPEG-DASHorMPTCP)• Readthereferences,comparethem,anddiscusswhatyouexpecttofind/improve
• Ifyou’rechoosingyourownproject• Whyshouldsomeoneinvestinyour“startup”?
• Writtenfeedbackby1/22/1621
Conclusions
• Nextclass• Designtips
• Labthisweek• Workonyourproposal
• TodobynextMonday(1/18)• SubmitproposalviaiLearn by3:10pm(onepergroup)
22