CS 680 Internet Systems Research Sami Rollins srollins@cs.usfca.edu Spring 2007 Administrative Information • Class web page • Introductions – What do you hope to get out of this class? What is the Internet? History of the Internet • 1960s – circuit switched phone network – not useful for timesharing computers • 1961 – Kleinrock publishes paper on packet switching • 1967 – Roberts publishes plan for ARPAnet • 1969 – first node (UCLA) on ARPAnet followed by SRI, UCSB, and Utah • 1972 – Kahn demonstrates ARPAnet which uses the network-control protocol (NCP) to communicate • 1972 – Tomlinson writes first e-mail program History of the Internet • early to mid-70s – other networks introduced • 1973 – Metcalfe begins work on Ethernet • 1974 – Kahn and Cerf explore how to connect several networks – begin development of TCP/IP History of the Internet • early 80s – many efforts, including NSFNET, to build networks to link universities • 1983 - “flag day” for transition from NCP to TCP/IP • late 80s – DNS maps IP address to name History of the Internet • 90s – ARPAnet ceases to exist, NSFNET decommissioned and Internet backbone traffic carried by commercial ISPs • 1989 – Berners-Lee invents WWW based on ideas by Bush (1945) and Nelson (60s) Research • What is research? • How is research different from what you do in your other classes? – New ideas – Proof that they work Research in CS • Traditionally, three areas in CS – Theory – Systems – Applications/AI Systems Research • Motivation – What's the problem and why is it interesting? • Design – What is your solution and how is it new and interesting? • Implementation – How do you make your solution actually solve a problem? Provides proof-of-concept, though there are likely to be other implementations. • Evaluation – Is your solution really better than other solutions? How do you measure its performance (metrics)? What affects its behavior (parameters)? Example: A New Algorithm/Architecture • Examples: routing for P2P search, ranking of web search results, back-end cluster architecture • Motivation – old algorithms are too slow, use too many resources, don't work for a particular scenario • Design – how does your algorithm/architecture work, how do components interact in your system • Implementation – how do you prove your algorithm/architecture is feasible? • Evaluation – compare to other existing algorithms or to a naive approach, may evaluate via simulation Example: A Measurement Study • Examples: gather data about traffic on P2P networks • Motivation – understand how people use applications/systems/networks to facilitate better design • Design – anything interesting about how data is gathered? • Implementation – how is your data gathering tool implemented? • Evaluation (Results) – lots of graphs classifying data Example: Totally New System • Examples: Turducken • Motivation – can be hard to define, often “cool to have” • Design/Implementation – were you about to actually build it? • Evaluation – can be really hard! nothing to compare to Related Work • Very important! • Anything you think of has been thought of before • Don't do work that's already been done • Find out what other people are doing! Related Work • Conferences are main publication venue for CS – Sigcom, Infocom, Mobicom, OSDI, NSDI, SOSP, Usenix, MobiSys, WWW, Ubicomp, Pervasive, SigIR, ACM Multimedia, Mobihoc, Sigmetrics, ICDCS • Journals – Transactions on X Reading Papers • Once is never enough • Identify contribution – How is this work new? • How could you improve upon this work? Summary Format (Benson) • What are the most important points made in the paper (at least 3)? • What are the main weaknesses of the paper? Do you believe the assumptions and results? If not, why not? • If possible, compare this work with other work that you have heard about. If you chased down additional information on this topic, what was it? • List three questions or points that you plan to bring up in the discussion. • Place a number for each item below corresponding to your evaluation. – Quality of presentation, Technical contribution, Novelty of ideas, Overall Latex • Lots of on-line tutorials • Miktex for windows • To compile into pdf document: pdflatex eval.tex