A Personal Note on How to Start Research in Computer Networks:
Seven Steps on the Road to Success

This is a short note on how to start defining your topic of interest and zooming in on specific research problems and challenges. This note is geared towards graduate (M.S. and Ph.D.) students interested in computer networks related topics for their directed research (DR), M.S. thesis, or Ph.D. dissertation. The general guidelines, however, may apply to a larger class of students (e.g., in Electrical Engineering or Computer Science disciplines):
[Note: This is only a starting point. There's a lot more to research than what's here!]
  1. Pick a direction or area of interest based on your background in netwoking (e.g., courses you have taken, readings, conferences, talks to Professors, etc.). Try to be as specific as possible. For example, do not pick 'multicast' (it is too general), but perhaps 'congestion control for reliable multicast' or 'multicast routing in ad hoc networks'. Do not pick 'wireless networks' (too general), but perhaps 'systematic testing of wireless MAC layer' or 'efficient handoff for IP mobility', for instance. There could be a list of topics that interest you (related or unrelated). I do not recommend a list of more than three topics.

  2. Compile a set of 'keywords' to start searching for high quality readings for each of the previously selected topics. Good places to start your search are IEEE library on-line and ACM library on-line. Pick one research topic at a time.
    You can also search on the web (e.g., Google, or Google scholar) but please double check the publication details for quality (there are a lot of papers out there!).
    Another literature-rich scientific digital library is citeseer.com, but again, please double check details for quality.

  3. Out of the search hits, select around 15-20 papers that you think are most related to what you had in mind and are of the highest quality. Do NOT read all these papers yet!
    Check the title, abstract, names of authors, their affiliations, and most importantly the conference or journal. Many IEEE and ACM conferences/Journals are of high quality. Some, however, are more selective and competitive than others. Examples of well-known conferences/journals include, but are not limited to: Some gathered statistics about conference/workshop acceptance rates can be found through Kevin Almeroth's website. Note, however, that this is only one possible indication of quality.
    [Note: try to refine your set of keywords and perform multiple searches to cover most related quality work.]
    Another hint is to use references and citations. Usually the most cited work by high quality papers is also of high quality. If you like a specific paper look at the list of references, this will give you a good direction to follow.

  4. For the selected 15-20 papers read only the abstract, introduction and conclusion in detail (you may skim the rest of the paper for a general idea). Identify the emphasis of each paper: Out of these 15-20 papers, and based on your reading and understanding, pick a list of 4-6 papers that you think are the highest quality and that address your research interests and the challenges in the field most appropriately.

  5. Read those 4-6 papers from beginning to end, identifying in detail: (I) the main approaches, (II) methods of analysis: (a) metrics, (b) evaluation tools, and (c) analysis and interpretation of resulting simulation or measured data, and (III) conclusions. At the same time, try to keep a list of what you think the authors may have missed in the paper/study, gaps or limitations that could be improved upon and any ideas on how to accomplish these improvements. Some questions to ask include: Did all/some papers use similar approaches? Have they used the same evaluation criteria, or method of analysis? If not, then what are the strengths/weaknesses of each method? Also, keep a list of ideas that you want to explore further, or background material you want to brush upon. This will create another list of readings for you in later stages.

  6. Write a two page proposal defining, as clearly as possible, the following items: Have some knowlegeable (trustworthy) friends review the proposal for you and give feedback (mainly on presentation and clarity, leave technical remarks for the reserach advisor). For example, have them read the 2 pages and tell you (in their own words) what they think you are proposing. If/when you think it is clear, then discuss the proposal with your research advisor. If you do not think it is clear, go back and re-write. If you think you have missed some other work, then go back to the 15-20 list and pick another 3-5 good papers to read in detail, and re-write parts of your proposal.

    Try to focus... it is hard, and there are a lot of good ideas out there, and the more your read, the more you want to read (which is good), but you have to focus and write those 2 pages. [Remember that having a strategy is sometimes more important than dispersed ideas. More readings will come at a later phase. It is more important to focus at this point and not get confused, so be very selective in your readings.]

    For an outline and sample instructions on how to write those two initial pages click here.

  7. If you have done a good job at the above, I think you are at a good 'starting' point to pursue research! Good luck with the rest...
    The next step is to write a 10 page proposal elaborating on the 2 pages above, adding your own twist on the problem, outlining your initial thoughts, results and findings, and outlining a clear plan to continue the work.

    For a suggested outline and instructions on how to write the ~10 page report click here.
[Hint for advisors: I find it quite effective to define 'four' milestones for the students per semester (e.g., for term projects) based on the above steps: (1) initial proposal (~2 pages, due around the 5th week of the semester), (2) final proposal (~2-4 pages, due around the 8th week of the semester), (3) initial report (~8 pages, due around the 11th week of the semester), (4) final report (~10 pages, due around the 14th week of the semester).
After each milestone the advisor would provide the student(s) with feedback on the work and guidance to reach the next milestone.]


Ahmed Helmy
Associate Professor of Computer Networks
Department of Computer and Information Science and Engineering (CISE)
University of Florida