Here are some general steps, primarily for PhD students. The process for
MS students has to be shorter because of their time limitations.
Meet with me and discuss your interests, your training, your past experience, your skills, and your goals. I will try to make some initial helpful suggestions and observations. I will help you identify some good quality conferences or workshops or journals related to what we discussed. In some cases, I may also suggest an IETF working group that is actively developing new standards in a particular field.
Peruse the last year or two of the conference proceedings and journals. This
gives you a sense of what the current research topics are, what the required
background is, and what the standards for a research contribution are. It
also tells you whether you like the topic, have an aptitude for it, are
qualified to work in it, and are motivated enough to seek new, creative
[Note: When I say "peruse", I don't mean read every word of a 1500 page
conference proceedings. Rather, you are skimming the table of contents to
see what the scope of papers is, and what sessions or topics might be of
interest. Then, you are restricting your attention to those papers. You read
the title and abstract, possibly skim the figures, and the conclusions and
possibly references. Now you know something about the problem, the solution,
and how it was accomplished. If you do this for a conference, or for a
year's worth of a journal, you get a feeling for what is going on in
research, without being overwhelmed. ]
Tell me again what your interests are, now that you've got a better
perspective on current research. I will need awhile to consider your
interests and identify a handful of relevant, current papers for you to look
Read these papers in depth. Identify their limitations. Consider future
directions / extensions. Present to me your findings. We'll discuss your
choices and I'll make a recommendation. Read in depth whatever is known
about this specific problem.
At this point, you need to start writing and doing original work. Write a
5-10 page proposal that describes:
- The motivation for the problem
- The model of the system you are proposing to work on
- A precise problem statement (goals)
- The assumptions you are making
- What the criteria (metrics, tradeoffs, ...) for this problem are
- Sketch a potential method or methods of solution (if you have any in mind at this point)
- How you plan to evaluate this method or methods
- A few references
After I read your proposal, we can negotiate and refine it to our mutual satisfaction.
Identifying and defining the research problem is an essential part of the
graduate experience, particularly at the PhD level.
How to Pick a Research Topic
The following are the main criteria for picking a research topic:
- You like the topic. You are enthusiastic about this
problem, the techniques used to solve it, the potential impact of the work,
the intellectual challenge it presents, etc.
You have a good chance of success. You have the skills and
knowledge necessary to tackle this problem, or you are prepared and have
time to acquire them.
The scope of the problem is about right (comparable to
other MS or PhD theses), and the intellectual challenge is appropriate for
an advanced degree (must require more than just engineering /
It's novel. This precise problem has not been previously
The solution will be useful to someone. In my opinion, this
is the factor that consistently separates the top researchers from the next
rung. They tend to work on problems that again and again turn out to be
important to a lot of people, often before anyone else realizes they will be
The most important item is #1. If you don't like the subject it's going to
be a long, hard slog to get the degree. Only you can decide this point.
Deciding #2 is largely my job, based on my knowledge of you and my
experience of what is required to work on problems. You and I jointly
consider and negotiate #3. You must convince me that #4 is fulfilled, just
as you must convince anyone evaluating your work.
#5 is potentially the hardest issue. It requires insight into current needs
and practices, the prediction of technology trends, and an understanding of
what factors and tradeoffs are important in "the real world". If you go for
4 out of 5 (i.e., a problem satisfying #1-#4, but not #5), you are working
on something "of academic interest only". That is OK in some cases, if you
know this is the choice you are making and want to work on it regardless
(perhaps because of the beauty or elegance of the problem). Too often,
however, I see students who say "X has been worked on, and Y has been worked
on, but not the combination of X and Y, so I'll work on that", without even
considering whether X and Y together makes sense or not. This is elevating
novelty (#4) above everything else, which to me is the wrong priority.
Important Sources of Information on Networking and Security
Below are some resources in networking and security. The lists are under
development, and your suggestions / observations are welcome. There is no
attempt to be comprehensive; in fact, my aim is to be highly selective. To
find these papers:
- Hardcopies of previous issues / proceedings are in the library.
- All IEEE and ACM papers are available online to NCState faculty and
students. See http://www.lib.ncsu.edu/eresources/computer-science.html
for access to these and other databases.
- Programs (and often abstracts) of recent /upcoming issues and proceedings
are available online.
The actual papers can often be found on the author's web site by
searching on the paper title. Recently, the papers are being made available
through the conference web site in advance of the actual conference.
- Google Scholar
is an invaluable reference.
Top journals / conferences in the general field of networking
IEEE/ACM Transactions on Networking
IEEE Journal on Selected Areas in Communications
Top journals / conferences in security
ACM Conference on Computer and Communications Security
IEEE Symposium on Security and Privacy
Usenix Security Symposium
ACM Transactions on Information and System Security