CS179i:ProjectinComputerScience(Networks)
Jiasi Chen
Lectures:Monday1:10-2pminSproul2343
TA:RyanHolt
Lab:TBD
http://www.cs.ucr.edu/~rholt002/cs179i_winter17/1
Outline
• Whynetworks?
• CourseOrganization
• Project
2
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.html
http://www.nytimes.com/2015/11/12/technology/t-mobile-video-plan-could-test-fccs-new-net-neutrality-rules.html
MajorAreasinNetworking
• Wireless• Howtoprovideaone-to-onecommunicationpipeinaninherentlybroadcastenvironment?
• Layering• Howtomodularizethedesigntoenableeasyinnovation?
• Protocols• Howtointeractwithineachlayer,andtalktootherlayers?
• Resourceallocation• Howtosharelimitedresourcesbetweencompetingusers?
5
Application(e.g.videostreaming)
Transport(e.g.TCP,UDP)
Network(e.g.routing)
Link(e.g.scheduling)
Physical(e.g.OFDM)
OSI5-layermodeloftheInternet
6
Howtodesignthenetworktobestsupporttheseapplications?
Howtodesignapplicationsthatmakethebestuseofthenetwork?
ProjectIdeas
7
ProjectOutline
• Formgroupsof2+
• Iwillprovidesomeprojectideas,orcomeupwithyourown1. Virtualreality
2. Adaptivevideostreaming
3. Downloadbooster
4. Smarthome
5. Kidslearning
• Goal:open-endedprojectsandtherelevantresourcestosucceed
• Suggestion:chooseyourprojectwithyourfuturecareer/jobinterviewsinmind
8
1.VirtualReality
• Differenttypesofhardware• Low-end:GoogleCardboard• High-end:OculusRift,HTCVive
• Demo
• https://www.youtube.com/watch?v=29uXoePowzQ
• Existingappsarerudimentary
• E.g.,WhiteHouseChristmastour,FantasticBeastspromo
• Singleuser,singleview
9
1.VirtualReality
• IndoorStreetView• Singleviewàmultipleviews
• Touravirtuallocation• Challenge:storingthecontentontheserver(longlatency)vsclient
(highstorage)
• SocialVR• Singleuseràmultipleusers
• Interactwithothers’avatars• Challenge:synchronizingtheusersoverthenetwork
10
Resources: CardboardAndroidAPI:https://developers.google.com/cardboard/android/
Unityprogramming
2.AdaptiveVideoStreaming
• MPEG-DASH
• Application-layerprotocolforadaptingvideoqualitytonetworkconditions
• Client-driven:clientestimatesnetwork
conditionsandrequestsappropriatevideo
quality
• Standarddoesn’tspecifyadaptationalgorithm,justthecommunicationprotocol
betweenclientandserver
• Whousesit?
11
time
rate
end-to-endcapacity
videorate
2.AdaptiveVideoStreaming
• Currentapproaches• Numerousapproachesproposedinresearchliteratureandinpractice
• Currentbufferlevel
• Predictedbandwidth
• Needaapples-to-applescomparisonundercommonsetoftestconditions
• Resources• MPEG-DASHvideoplayer:https://github.com/Dash-Industry-
Forum/dash.js/wiki
12
3.DownloadBoosterUsingMultipleInterfaces
• Wanttospeedupdownloadsoflargefilesbyusingmultipleinterfacessimultaneously(e.g.,WiFi,4G,Ethernet)
• SamsungintroducedDownloadBooster,butitgotblockedbymajorcarriers
• Multipath-TCPisanothermajorstandardizationefforttoenablemultiplenetworks
13
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/
14
Client
Internet
Application
Virtualinterface
Remoteserver
4.SmartHome
• Measurementstudy
• Howmuchdothesedevicesusethenetwork?
• Whatprotocolsdotheyuse?
• Controlhouseholdappliances• Complexlogictointegratedifferentdevices
15
5.HelpingKidsLearn
• Creatinggamesfortohelpyoungkidslearn
• Understandinghowwellchildrenlearnfromrealisticvsfantasticalenvironments• Forexample,cartoonanimalsvshumanfigures
• Canthelearningexperiencebeimprovedthrough:• Virtualreality?
• VirtualassistantslikeAlexa?
• Collaborationwithapsychologyprofessor• Userstudyinthepsychologydepartment
• Potentialforrealimpact!
16
Do-It-Yourself
• Haveacoolideaforaproject?Pursueit!
• Potentiallymorepointsfortechnicalmeritandoriginality(20%)
• PleasescheduleameetingwithmeandtheTAassoonaspossibletodiscussthis
• Resources• Datasetsofwirelesstraces:http://www.crawdad.org/• PreviousseniordesignprojectsatStanford:http://web.stanford.edu/class/cs210/2013SoftwareFaireProgramDraft.pdf
17
Wait...Howdoesthisrelatetomynetworkingclass?• Whataboutyourfavoritenetworkingtopics?
• ALOHA• TCPretransmission
• 802.11backoff• …
18
CourseOrganization
19
WhatYouWillLearninthisCourse
• Knowledge:Commonnetworkingtools/protocols,dependingonyour
choiceofproject
• Androidprogramming
• MPEG-DASHvideostreaming
• Kernelandsocketprogramming
• Skills• Howtoworkinteams
• Howtoleadyourownproject• Howtolearnonyourown
20
Logistics
• Lecture:Jiasi Chen• Slidesavailableoncoursewebsite• Officehours:Fridays2-4pm,orbyappointment
• Lab:RyanHolt
• SubmitassignmentsoniLearn
• Checkclasswebsiteforlatestupdates• http://www.cs.ucr.edu/~rholt002/cs179i_winter17/
21
Grading
• Project:75%total• Proposal:10%
• Progressupdate:10%
• Finalreport:20%
• Finalpresentation:15%
• Technicalmeritandoriginality:20%
• 4essays:10%• ABETrequirement
• Onefreelatedayduringthequarter
• Participation:15%• Attendinglectureandlab
• Givingfeedbackduringotherteams’finalpresentations
22
CalendarWeek Lecture AssignmentDue
1 Introduction
2 (holiday) Groupformation
3 Projectdetails I Projectproposal
4 ProjectdetailsII
5 Ethics Newtrendsessay
6 Progressupdate Brief(10minute)presentation
7 (holiday)
8 Guestlecture Ethicsessay
9 Finalpresentations
10 Finalpresentations Presentationessay
Finals week (examsweek) Teamworkessay,finalreportdue
23
Conclusions
• Nextlecture(in2weeks):Projectdetails
• TodobynextMonday
• FormgroupsandsendoneemailpergrouptomyselfandTA
• Signupforlabtimeavailability
• Questions?
24