cs 179i: project in computer science (networks)jiasi/teaching/cs179i_winter16/slides/lec1... · cs...

21
CS 179i: Project in Computer Science (Networks) Jiasi Chen Lectures: Monday 3:10-4pm in Spieth 1307 TA: Shikhar Garg Lab: Wednesday 6:10-9pm in Winston Chung 132 http://www.cs.ucr.edu/~jiasi/teaching/cs179i_winter16/ 1

Upload: buiphuc

Post on 06-Apr-2018

223 views

Category:

Documents


1 download

TRANSCRIPT

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

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.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?

CourseOrganization

7

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

Project

12

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

Conclusions

• Nextlecture:Tipsaboutsuggestedprojects

• Todobynextclass(1/11)• Formgroupsandsendoneemail pergrouptomyselfandTA,CC-ing allgroupmembers

• Questions?

21