nullÀ la recherche des réseaux perdus. 9 décembre 2007. Le tutoriel sera donné par Jon Crowcroft,À la recherche des réseaux perdus. 9 décembre 2007. Le tutoriel sera donné par Jon Crowcroft,Jon Crowcroft, University of Cambridge
Currently CNRS/LIP6/UPMC
And Thomson Labs, Paris.
Jon.Crowcroft@cl.cam.ac.uk
http://www.cl.cam.ac.uk/~jac22This talk is in EnglishThis talk is in EnglishUnfortunately (desole) my French is insufficient1.4 Billion Indians and Chinese have chosen English (luckily we don’t have to learn mandarin or Urdu!)
Even British have to learn American English for science writing
We all use Greek for maths anyhow :-)There are 6 parts to this talkThere are 6 parts to this talkCold Topics in Networks
Reading a paper
Writing a paper
Giving a talk
Writing a proposal
Hot Topics in Networks
Acknowledgements to
Keshav
Simon Peyton Jones
Brad Karp and HT Kung
for materials used with permission. 1. Cold Topics in Networks1. Cold Topics in NetworksJon Crowcroft, CambridgeHot v. ColdHot v. ColdResearch goes in cycles - possibly Carnot CyclesTopics become hot
Initially, even, controversial
(active nets, social nets, etc)
Lots of people flock to the topic
Paradoxically, higher density of researchers reduces temperature
Topic goes cold.
Hot TopicsHot TopicsCan be detected by brainstorming
Socialising and off-the-wall thinking is good
Invert a traditional approach
Stretch one dimension to an extreme
Bisociation/lateral/interdisciplinary
Tennenhouse at DARPA (Active Nets) and as head of Intel Research deliberately indulged disruptive ideasSome measures of cold topicsSome measures of cold topicsNumber of low cited papers in low impact conferences
Fractional Performance delta in systems papers
Massive uptake of automatic tools for research (NS2, Planetlab, etc)Some examples of cold topicsSome examples of cold topics[DHT and Structured P2P]
Even bad guys like the Storm Botnet use them
[Internet Coordinate Systems]
now secured too!
[Faster packet classification]
If you aren’t working with cisco, juniper or huawei?
[BGP] The Border Gateway Protocol
We even have a meta-replacement. Now is the time to deploy.
More cold topicsMore cold topicsDDoS
Define the problem - DoS on a best effort doesn’t mean much - see Newarch.
Spam
Is not largely a technical problem (see social nets and closed user groups) see ddos
Overlays
Were made up as a tool for research, not a research goal!Even more cold topicsEven more cold topicsTINA
The Intelligent Network Architecture = Knowledge Plane = network management
TCP+AQM
Mostly wrong
Multicast
20 years without deployment?
Newarch
Not even wrong (see String Theory)Yet more cold topicsYet more cold topicsSelf similarity
Surely there is a horizon effect
MANETs
5000 protocols cannto be good
Self Organising WSNs
Unexpected behaviour may not be a plus
Small World Networks
Ask epidemiologistsNow you know what I don’t like…Now you know what I don’t like…For now :-)Your PhD topic will have been hot in Year 1. By year 3,4,5 this is unlikely to be still true - consider journals rather than conferences or workshops for later work:-).2. How to Read a Paper2. How to Read a PaperJon Crowcroft, Cambridge
Based on CCR Article by Keshav (Waterloo)Stand on the Shoulders of GiantsStand on the Shoulders of GiantsAnd do not stand on their toesYou read other papers so that
You are learning what papers are like
You are current in the field
You may be writing survey (literature review)
You want to find what to compare with
We propose a 3 pass reading approach
Pass 1Pass 1Structural overview of paper
Read abstract/title/intro
Read section headings, ignore bodies
Read conclusions
Scan references noting ones you knowPass 1 outputPass 1 outputYou can now say
Is this a system, theory or simulation paper (category defines methodology)
Check system measurement methodology
Check expressiveness/fit for purpose of formalism
Check simulation assumptions
What other papers/projects relate to this?
Are the assumptions valid?
What are the key novel contributions
Is the paper clear?
Takes about 5 minutes
95% of reviewers will stop at pass 1 :-(
See Section 3 of this (on writing papers)Pass 2Pass 2Check integrity of paper
Look at figures/diagrams/exes/definitions
Note unfamiliar references
Do not check proofs yet
Takes around 1 hour
You should be able to summarise the paper to someone else now
If it is unclear, you may need to pasuse overnight Pass 3Pass 3Virtually re-implement the paper
Challenge all assumptions
Think adversarially about experiments, proofs, simulation scenarios
Takes 4-5 hours
You should be able to reconstruct paper completely nowReading batches of papersReading batches of papersE.g. for literature survey excercise
pick topic (hot or cold), and search on google scholar or citeseer for 10 top papers
Find shared citations and repeated author names - key papers (look at citation count/impact too)
Go to venues for these papers and look at other papersSee alsoSee alsoTimothy Roscoe’s
Writing reviews for Systems Conferences
Writing Technical Articles
Henning Schulzrinne’s Now you can review papers…Now you can review papers…For me:)You will read 100 papers to every one you write. 90 of them will be much worse, some will be better. A few the same.3. How to write a
great research paper3. How to write a
great research paperSimon Peyton Jones
Microsoft Research, Cambridge
Writing papers is a skillWriting papers is a skillMany papers are badly written
Good writing is a skill you can learn
It’s a skill that is worth learning:
You will get more brownie points (more papers accepted etc)
Your ideas will have more impact
You will have better ideasIncreasing importanceWriting papers: model 1Writing papers: model 1IdeaDo researchWrite paperWriting papers: model 2Writing papers: model 2Forces us to be clear, focused
Crystallises what we don’t understand
Opens the way to dialogue with others: reality check, critique, and collaborationIdeaDo researchWrite paperIdeaWrite paperDo researchDo not be intimidatedDo not be intimidatedWrite a paper, and give a talk, about any idea, no matter how weedy and insignificant it may seem to youFallacy You need to have a fantastic idea before you can write a paper. (Everyone else seems to.)Do not be intimidatedDo not be intimidatedWrite a paper, and give a talk, about any idea, no matter how insignificant it may seem to youWriting the paper is how you develop the idea in the first place
It usually turns out to be more interesting and challenging that it seemed at first
The purpose of your paperThe purpose of your paperWhy
bother?Why
bother?Good papers and talks are a fundamental part of research excellenceFallacy
we write papers and give talks mainly to impress others, gain recognition, and get promotedPapers communicate ideasPapers communicate ideasYour goal: to infect the mind of your reader with your idea, like a virus
Papers are far more durable than programs (think Mozart)The greatest ideas are (literally) worthless if you keep them to yourselfThe IdeaThe IdeaFigure out what your idea is
Make certain that the reader is in no doubt what the idea is. Be 100% explicit:
“The main idea of this paper is....”
“In this section we present the main contributions of the paper.”
Many papers contain good ideas, but do not distil what they are.Idea
A re-usable insight,
useful to the readerOne pingOne pingYour paper should have just one “ping”: one clear, sharp idea
Read your paper again: can you hear the “ping”?
You may not know exactly what the ping is when you start writing; but you must know when you finish
If you have lots of ideas, write lots of papersThanks to Joe Touch for “one ping”The purpose of your paper is not...The purpose of your paper is not...To describe the WizWoz systemYour reader does not have a WizWoz
She is primarily interested in re-usable brain-stuff, not executable artefactsExamples of WizWozExamples of WizWozCrash Proof OS for Mobile Phones (singularity in F# on an iPhone)
Go Faster VM (Xen)
NimrodYour narrative flowYour narrative flowHere is a problem
It’s an interesting problem
It’s an unsolved problem
Here is my idea
My idea works (details, data)
Here’s how my idea compares to other people’s approachesI wish I knew how to solve that!I see how that works. Ingenious!Structure (conference paper)Structure (conference paper)Title (1000 readers)
Abstract (4 sentences, 100 readers)
Introduction (1 page, 100 readers)
The problem (1 page, 10 readers)
My idea (2 pages, 10 readers)
The details (5 pages, 3 readers)
Related work (1-2 pages, 10 readers)
Conclusions and further work (0.5 pages)
See section 2 (on reading!)The abstractThe abstractI usually write the abstract last
Used by program committee members to decide which papers to read
Four sentences [Kent Beck]
State the problem
Say why it’s an interesting problem
Say what your solution achieves
Say what follows from your solutionExampleExampleMany papers are badly written and hard to understand
This is a pity, because their good ideas may go unappreciated
Following simple guidelines can dramatically improve the quality of your papers
Your work will be used more, and the feedback you get from others will in turn improve your researchStructureStructureAbstract (4 sentences)
Introduction (1 page)
The problem (1 page)
My idea (2 pages)
The details (5 pages)
Related work (1-2 pages)
Conclusions and further work (0.5 pages)The introduction (1 page)The introduction (1 page)Describe the problem
State your contributions
...and that is all
ONE PAGE!Describe the problemDescribe the problemUse an example to introduce the probleme.g. of systems probleme.g. of systems problemMobile Phones crash a lot
Wireless media is vulnerable
Bad software on mobile phone can hurt user (cost money, time, pain)
Bad software on radio can hurt all users
We have a lot better tools to write safer software and have done so on desktops and servers
Can they work on small devices with limited resources, and if so, how well?State your contributionsState your contributionsWrite the list of contributions first
The list of contributions drives the entire paper: the paper substantiates the claims you have made
Reader thinks “gosh, if they can really deliver this, that’s be exciting; I’d better read on”State your contributionsState your contributionsBulleted list of contributionsDo not leave the reader to guess what your contributions are!E.g. of systems contributionsE.g. of systems contributionsWe encapsulate all the modules of software on a cell phone in F# behavioural description wrappers, and
Run a model checker on them (e.g. isobel)
And then try various well known attacks that fail on desk top but succeed on windows mobile and symbian phones
We then show our software is also smaller and faster….Contributions should be refutableContributions should be refutableNo “rest of this paper is...”No “rest of this paper is...”Not:
Instead, use forward references from the narrative in the introduction. The introduction (including the contributions) should survey the whole paper, and therefore forward reference every important part.“The rest of this paper is structured as follows. Section 2 introduces the problem. Section 3 ... Finally, Section 8 concludes”.StructureStructureAbstract (4 sentences)
Introduction (1 page)
Related work
The problem (1 page)
My idea (2 pages)
The details (5 pages)
Related work (1-2 pages)
Conclusions and further work (0.5 pages)No related work yet!No related work yet!Related workYour readerYour ideaWe adopt the notion of transaction from Brown [1], as modified for distributed systems by White [2], using the four-phase interpolation algorithm of Green [3]. Our work differs from White in our advanced revocation protocol, which deals with the case of priority inversion as described by Yellow [4].No related work yetNo related work yetProblem 1: the reader knows nothing about the problem yet; so your (carefully trimmed) description of various technical tradeoffs is absolutely incomprehensible
Problem 2: describing alternative approaches gets between the reader and your ideaI feel tiredI feel stupidRelated work and surveyRelated work and surveyObviously, if your paper is a survey…
…then it is all related work
Gap analysis is sometimes useful in an introduction, but it is not quite the same as related work
Taxonomies…are quite handy in that caseStructureStructureAbstract (4 sentences)
Introduction (1 page)
The problem (1 page)
My idea (2 pages)
The details (5 pages)
Related work (1-2 pages)
Conclusions and further work (0.5 pages)Presenting the ideaPresenting the idea3. The idea
Consider a bifircuated semi-lattice D, over a hyper-modulated signature S. Suppose pi is an element of D. Then we know for every such pi there is an epi-modulus j, such that pj < pi.Sounds impressive...but
Sends readers to sleep
In a paper you MUST provide the details, but FIRST convey the ideaPresenting the ideaPresenting the ideaExplain it as if you were speaking to someone using a whiteboard
Conveying the intuition is primary, not secondary
Once your reader has the intuition, she can follow the details (but not vice versa)
Even if she skips the details, she still takes away something valuablePutting the reader firstPutting the reader firstDo not recapitulate your personal journey of discovery. This route may be soaked with your blood, but that is not interesting to the reader.
Instead, choose the most direct route to the idea.The payload of your paperThe payload of your paperIntroduce the problem, and your idea, using
EXAMPLES
and only then present the general caseUsing examplesUsing examplesExample right awayThe Simon PJ question: is there any typewriter font?The details: evidence The details: evidence Your introduction makes claims
The body of the paper provides evidence to support each claim
Check each claim in the introduction, identify the evidence, and forward-reference it from the claim
Evidence can be: analysis and comparison, theorems, measurements, case studiesIn my safeOS for handset e.g.In my safeOS for handset e.g.One would give code fragments of unsafe code
And examples of threats…
…and examples of safe code
And some performance results…
Before launching in to the description of the small fast efficient compile and runtime checks possible in new system…StructureStructureAbstract (4 sentences)
Introduction (1 page)
The problem (1 page)
My idea (2 pages)
The details (5 pages)
Related work (1-2 pages)
Conclusions and further work (0.5 pages)Related workRelated workFallacy To make my work look good, I have to make other people’s work look badThe truth: credit is not like moneyThe truth: credit is not like moneyGiving credit to others does not diminish the credit you get from your paperWarmly acknowledge people who have helped you
Be generous to the competition. “In his inspiring paper [Foo98] Foogle shows.... We develop his foundation in the following ways...”
Acknowledge weaknesses in your approachCredit is not like moneyCredit is not like moneyFailing to give credit to others can kill your paperIf you imply that an idea is yours, and the referee knows it is not, then either
You don’t know that it’s an old idea (bad)
You do know, but are pretending it’s yours (very bad)StructureStructureAbstract (4 sentences)
Introduction (1 page)
The problem (1 page)
My idea (2 pages)
The details (5 pages)
Related work (1-2 pages)
Conclusions and further work (0.5 pages)Conclusions and further workConclusions and further workBe brief.The process of writingThe process of writingThe processThe processStart early. Very early.
Hastily-written papers get rejected.
Papers are like wine: they need time to mature
Collaborate
Use CVS to support collaborationGetting helpGetting helpExperts are good
Non-experts are also very good
Each reader can only read your paper for the first time once! So use them carefully
Explain carefully what you want (“I got lost here” is much more important than “Jarva is mis-spelt”.)Get your paper read by as many friendly guinea pigs as possibleGetting expert helpGetting expert helpA good plan: when you think you are done, send the draft to the competition saying “could you help me ensure that I describe your work fairly?”.
Often they will respond with helpful critique (they are interested in the area)
They are likely to be your referees anyway, so getting their comments or criticism up front is Jolly Good.Listening to your reviewersListening to your reviewersThis is really, really, really hard
But it’s really, really, really, really, really, really, really, really, really, really importantTreat every review like gold dust
Be (truly) grateful for criticism as well as praiseListening to your reviewersListening to your reviewersRead every criticism as a positive suggestion for something you could explain more clearly
DO NOT respond “you stupid person, I meant X”. Fix the paper so that X is apparent even to the stupidest reader.
Thank them warmly. They have given up their time for you.Language and styleLanguage and styleBasic stuffBasic stuffSubmit by the deadline
Keep to the length restrictions
Do not narrow the margins
Do not use 6pt font
On occasion, supply supporting evidence (e.g. experimental data, or a written-out proof) in an appendix
Always use a spell checkerVisual structureVisual structureGive strong visual structure to your paper using
sections and sub-sections
bullets
italics
laid-out code
Find out how to draw pictures, and use themVisual structureVisual structureUse the active voiceUse the active voiceThe passive voice is “respectable” but it DEADENS your paper. Avoid it at all costs.“We” = you and the reader“We” = the authors“You” = the readerUse simple, direct languageUse simple, direct languageSummarySummaryIf you remember nothing else:
Identify your key idea
Make your contributions explicit
Use examples
A good starting point:
“Advice on Research and Writing”http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/ mleone/web/how-to.html4. How to give a good research talk4. How to give a good research talkSimon Peyton Jones
Microsoft Research, Cambridge
1993 paper joint with John Hughes (Chalmers), John Launchbury (Oregon Graduate Institute)Research is communicationResearch is communicationThe greatest ideas are worthless if you keep them to yourselfYour papers and talks
Crystalise your ideas
Communicate them to others
Get feedback
Build relationships
(And garner research brownie points)Do it! Do it! Do it!Do it! Do it! Do it!Good papers and talks are a fundamental part of research excellenceInvest time
Learn skills
PracticeWrite a paper, and give a talk, about any idea, no matter how weedy and insignificant it may seem to youGiving a good talkGiving a good talkThis presentation is about how to give a good research talk
What your talk is for
What to put in it (and what not to)
How to present itWhat your talk is forWhat your talk is forYour paper = The beef
Your talk = The beef advertismentDo not confuse the two, even if you are vegetarianThe purpose of your talk…The purpose of your talk…..is not:
To impress your audience with your brainpower
To tell them all you know about your topic
To present all the technical detailsThe purpose of your talk…The purpose of your talk…..but is:
To give your audience an intuitive feel for your idea
To make them foam at the mouth with eagerness to read your paper
To engage, excite, provoke themYour audience…Your audience…The audience you would like
Have read all your earlier papers
Thoroughly understand all the relevant theory of cartesian closed endomorphic bifunctors
Are all agog to hear about the latest developments in your work
Are fresh, alert, and ready for actionYour actual audience…Your actual audience…The audience you get
Have never heard of you
Have heard of bifunctors, but wish they hadn’t
Have just had lunch or been skiing for 5 hours and are ready for a dozeYour mission is to
WAKE THEM UP
And make them glad they didWhat to put inWhat to put inWhat to put inWhat