PhD Candidate!


A week ago I finally managed to complete my qualifying exam at Guelph. It was a rocky road getting here, and the exam wasn’t easy but thankfully it’s done and I passed. The biggest criticism I received was regarding my focus. I was too ambitious with my proposal and need to pare down what I want to accomplish so that I finish in a reasonable amount of time.

So it looks like instead of an entire working implementation, I’ll just be focused on a very small subset of my grand dreams from when I started my PhD. On the upside – I’ll still have lots of ideas to continue with when I’m finished and hopefully I can get a job that lets me continue to work away at them 🙂


Technical Reviewing as Grad Student?

As I’ve published more and more, I’ve been invited to become a reviewer for many conferences and journals. Some are by people I’ve met while presenting at conferences, but others come randomly in my inbox from people who have read my papers. There’s something that seems weird about being an “expert reviewer” while still not completed my studies myself – but I’ve always accepted when I’ve had time to do them because I feel like it’s good to volunteer back some time after other people have done the same work to review my papers.

Generally, I stick to accepting review requests for papers which are very closely related to my area of study. In the cases where I’m not sure of something, I ask for advice from other grad students in the areas I am lacking in expertise. I also usually give a comment to the editor letting them know I am just a PhD student, and to take my opinion with less weight than more qualified reviewers. That being said, I think I usually am thorough and give useful feedback to the authors’ of papers I review.

Getting invited to review so often has also made me question the whole review and acceptance process. It would be nice if journals and conferences disclosed how many of the reviewers have PhDs – although I guess it wouldn’t really tell much because I’ve also been handed papers by professors I work with and been told to review them and give them a report which I assume they use to submit the review themselves. In some respects it makes sense to have grad students review papers since they are often very connected to the current research, but I am still not confident about the process if it is possible for papers to be accepted without even being looked at by a real PhD. Maybe I just don’t know enough about how it all works yet to know for sure. After all, there’s always layers of editors and committees and everything else.

In any event, here’s a couple of links about how to review a paper for any other grad students who find themselves in the same boat:

Notes on NS3 – IEEE 802.11 Wi-Fi Association

For some of my research I have been delving into the details on how exactly station devices in an IEEE 802.11 network associate with an access point. As far as I understand from the standard station nodes have two possibilities.

1. Active
In this case the station nodes send out probe requests to see if any access points respond during a timeout period

2. Passive
In this case the station nodes just sit and listen over a timeout period to see if any aps send out beacons.

In either case, according to the standard, the station node is supposed to rank the APs according to received signal strength (RSS). While this is recognized as a bad method for various reasons – it is a simple and quick way to select an AP.

In NS3 (3.16), as far as I can tell, there is no measure of RSS. The station node simply associates with the first AP that it receives either a probe response or beacon from (depending on active or passive). Usually this ends up being the closest AP to the user station because it has the lowest propagation delay due to the lower distance. However, depending on when the stations start up, a farther station is sometimes selected – at least initially until enough beacons are missed that an AP disassociation occurs, and the process starts over with the closer AP being selected.

In NS 3.16, the code which controls AP association is located in src/wifi/model/

Looking at the code details, and confirming with some extra logging I added – a Wi-Fi station when starting, broadcasts a probe request (in active probing mode). It then waits for a probe response.

If you look in the “StaWifiMac::Receive (Ptr packet, const WifiMacHeader *hdr)” function, you can see that immediately when it receives one of these responses, it sends an association request to the AP. This is one place where changes must occur if one wishes to make a smarter decision for selecting an AP. In my case, instead of immediately sending an association request, I record the probe response and continue to wait for more until the probe timeout occurs.

If you look at “StaWifiMac::ProbeRequestTimeout (void)” you can see this is where you can now implement the association decision. After the timeout has occured, we now have a list of all of the received probe packets and can make the decision and associate like before.

Second Times a Charm?

After what seems like eternity, I have completed my second (and a half?) qualifying exam document at Guelph. For people who know me, or who have read a bit of my blog, you may know that I am on my third advisor for my PhD. The advisor I came to the University for suddenly passed away and the second advisor after that resigned right before my last QE was supposed to happen. So after starting with my third (and hopefully final) advisor, I decided to start my QE fresh so that it was something I was proud of and confident in before I presented it. For those of you who don’t know, a QE document is a sort of research proposal (<= 50 pages) of the work you intend to do for you PhD. It contains the literature review, motivation and sometimes initial results, as well as the planned methodology for the research. So anyway, I have completed the document and after several rounds of edits with my advisor it is ready and off to the committee. Here's hoping I'll make it to the exam stage this time and pass quickly so I can move on with the real work! Stay tuned for some posts that are more technical instead of these boring updates on my progress. Now that things are moving along I think I'll actually have something to post 🙂