CS 179i: Project in Computer Science (Networks)jiasi/teaching/cs179i_winter16/slides/lec1... · CS...
Transcript of CS 179i: Project in Computer Science (Networks)jiasi/teaching/cs179i_winter16/slides/lec1... · CS...
CS179i:ProjectinComputerScience (Networks)
Jiasi ChenLectures:Monday3:10-4pminSpieth 1307
TA:Shikhar GargLab:Wednesday6:10-9pminWinstonChung132
http://www.cs.ucr.edu/~jiasi/teaching/cs179i_winter16/1
WhyNetworks?
3
Videostreaming
Socialmedia
NumberofInternetusers• 97%ofAmericansbetween18-29• 40%oftheworldpopulationà
scopeformoreusers
http://www.pewinternet.org/data-trend/internet-use/latest-stats/https://en.wikipedia.org/wiki/List_of_countries_by_number_of_internet_users
Supportstheapplicationsthatweusetoday…
WhyNetworks?
4
Butalsoasourceofconflict.
NetworkneutralityCybersecurity
http://www.huffingtonpost.com/eric-dezenhall/a-look-back-at-the-target_b_7000816.htmlhttp://www.nytimes.com/2015/11/12/technology/t-mobile-video-plan-could-test-fccs-new-net-neutrality-rules.html
MajorAreasinNetworking
• Wireless• Howtoprovideaone-to-one communicationpipeinaninherentlybroadcastenvironment?
• Layering• Howtomodularizethedesigntoenableeasyinnovation?
• Protocols• Howtointeractwithineachlayer,andtalktoother layers?
• Resourceallocation• Howtosharelimitedresourcesbetweencompetingusers?
5
Application(e.g.video streaming)
Transport(e.g.TCP,UDP)
Network(e.g.routing)
Link(e.g.scheduling)
Physical(e.g.OFDM)
OSI5-layermodeloftheInternet
6
Howtodesignthenetworktobestsupporttheseapplications?
Howtodesignapplicationsthatmakethebestuseofthenetwork?
WhatYouWillLearninthisCourse
• Knowledge:Commonnetworkingtools/protocols,dependingonyourchoiceofproject• Androidprogramming• MPEG-DASHvideostreaming• Kernelandsocketprogramming
• Skills• Howtoworkinteams• Howtoleadyourownproject• Howtolearnonyourown
8
Logistics• Lecture:Jiasi Chen
• Slidesavailableoncoursewebsite• Officehours:Thursday3-5pm,orbyappointment
• Lab:Shikhar Garg• Officehours:TBA
• Requiredtoattendlecturesandlabs• Nolabsession thisweek(1/6)
• SubmitassignmentsoniLearn
• Checkclasswebsiteforlatestupdates• http://www.cs.ucr.edu/~jiasi/teaching/cs179i_winter16/
9
Grading
• Project:75%total• Proposal:10%• Progressupdate:10%• Finalreport:20%• Finalpresentation:15%• Technicalmeritandoriginality:20%
• 4essays:15%• ABETrequirement• Onefreelatedayduringthequarter
• Participation: 10%• Attending lectureandlab• Givingfeedbackduringotherteams’finalpresentations
10
CalendarDate Lecture Assignment Due
Jan.4 IntroductionJan.11 Project details I Group formationJan.18 (holiday) Project proposalJan.25 Project details IIFeb.1 Ethics Newtrends essayFeb.8 Progress update Brieforalpresentation fromeach teamFeb.15 (holiday)Feb.22 Guest lecture Ethics essayFeb.27 Final presentationsMarch7 Final presentations Presentation essayMarch14 (examsweek) Teamwork essay, final report due
Iftheclass agrees,wemaycombine Feb.27+March 7final presentations ontoasingle day,e.g.,oneday during theweekend ofMarch5/6.
11
ProjectOutline
• Formgroupsof3
• Iwillprovidesomeprojectideas,ordesignyourown1. GoogleCardboard2. Adaptivevideostreaming3. Downloadbooster
• Goal:open-endedprojectsandtherelevantresourcestosucceed
• Suggestion:chooseyourprojectwithyourfuturecareer/jobinterviewsinmind
13
1.GoogleCardboard
• Virtualreality(VR)usingcommodityhardware• $20cardboardviewertouseyoursmartphone asaVRdisplay
• Demo• https://www.youtube.com/watch?v=29uXoePowzQ
• Existingappsarerudimentary• E.g.,WhiteHouseChristmas tour,findtheball• Singleuser,singleview
14
1.GoogleCardboard• StreetView
• Single viewà multiple views• User interface for navigation• Tour of alocation ofyour choice• Request viewsfrom server with lowlatency
• Periscope• Single useràmultiple users• Simple version: Copy the currently viewed screen toanother user, with audio voiceover (e.g.,campus tour)• More challenging: livestreaming with camera passthrough
• Your imagination?
• RequiresAndroidphone (emulationdoesn’tworkL )
• Resources• Cardboard Android API:https://developers.goog le.com/cardboard/android/
15
2.AdaptiveVideoStreamingUsingMPEG-DASH• MPEG-DASH
• Application-layer protocolforadaptingvideoqualitytonetworkconditions
• Client-driven: clientestimates networkconditions andrequests appropriatevideoquality
• Standarddoesn’tspecifyadaptationalgorithm, justthecommunication protocolbetween clientandserver
• Whousesit?
16
time
rate
end-to-end capacityvideo rate
2.AdaptiveVideoStreamingUsingMPEG-DASH• Currentapproaches
• Numerousapproaches proposed inresearchliterature andinpractice• Needaapples-to-apples comparisonundercommonsetoftestconditions
• Resources• MPEG-DASHvideoplayer:https://github.com/Dash-Industry-Forum/dash.js/wiki
17
3.DownloadBoosterUsingMultipleInterfaces
• Wanttospeedupdownloadsoflargefilesbyusingmultipleinterfacessimultaneously(e.g.,WiFi,4G,Ethernet)
• SamsungintroducedDownloadBooster,butitgotblockedbymajorcarriers
• Multipath-TCPisanothermajorstandardizationefforttoenablemultiplenetworks
18
3.DownloadBoosterUsingMultipleInterfaces• Transportlayer:multipath-TCP
• ExtensiontoTCPtosplitasingleflowintomultiplesubflows
• Eachsubflow canuseadifferentinterface
• Problems:requiresserverandclientkernelmodifications,difficultforwidespreaddeployment
• Applicationlayer:HTTPclientproxy• ImplementintheapplicationlayerusingcommonHTTPprotocol• UseHTTPGETrequeststorequestdifferentpiecesofthecontentoverdifferentinterfaces
• Transportvsapplicationlayer• Whichversionisbetter?Whataretheprosandcons?• Whatimprovementscanbemadetoeitherprotocol?
• Resources• MPTCPkernel:http://www.multipath-tcp.org/
19
Client
Internet
Applica
tion
Virtualinterface
Remote server
Do-It-Yourself
• Haveacoolideaforaproject?Pursueit!
• Potentiallymorepointsfortechnicalmeritandoriginality(20%)
• PleasescheduleameetingwithmeandtheTAassoonaspossibletodiscussthis
• Resources• Datasetsofwirelesstraces:http://www.crawdad.org/• PreviousseniordesignprojectsatStanford:http://web.stanford.edu/class/cs210/2013SoftwareFaireProgramDraft.pdf
20