SYSC 5306: Mobile Computing Systems (Winter 2015)


·         It was pointed out to me that the course handout had two (different) due dates for the course project: April 16 and April 20. The version posted below has this fixed: the final report is due Monday, April 20, at noon, to be submitted via e-mail.

·         I posted four sample final exams (with sample solutions) further down that page. Remember that not all course offerings cover necessarily the exact same set of topics though when going through these sample exams.

·          General comments on Assignment 2:

1.      Very few bothered to formally define FAIRNESS. But without a definition of that term (and ideally a quantification – i.e., assigning a value to fairness as in Jain’s fairness index) it is really difficult to compare different scenarios.

2.      Despite of my comments on Assignment 1, you did not specify the simulation scenarios to such an extent that anyone could repeat your results.

3.      The key task in the assignment was to compare fairness in static scenarios with fairness under mobility. So it would have been a good idea to repeat the static scenarios and confirm that you can in fact regenerate the identified fairness issues. Your setup may differ in a number of ways from the results reported in the literature. Therefore, comparing your results under mobility with someone else’s results under a static scenario may be very misleading.

In the Winter 2015 term, Thomas Kunz is teaching a graduate course on Mobile Computing (course description can be found here). As more information becomes available, it will be posted on this page.

Some humorous links with information loosely connected to the course:

·         A funny list of irreverent cellular acronyms

·         For a funny take on computers and mobile devices, check out My Blackberry isn’t working, which uses very British humour, so look at it at your own risk… To understand one of the puns: Orange is a cellular service provider in the UK.

·         Here is another little fun fact: some academic colleague was successful publishing a journal paper with very little content. Even better, some 33 years later or so, others managed to publish a follow-up paper. However, in this course, I’ll expect a bit more content J.

·         In the category of funny academic papers, here is another one. It is probably funnier once you had experience with the academic review process yourself though.

·         We touch on security/encryption quite a bit in this course, if you want to learn the basic terminology, check out Bob and Alice (in particular this external link, which has a humorous description/introduction to the topic).

·         Here is a link to the humorous description of Kerberos, a widely popular distributed authentication protocol

·         Another topic we talk about in class are standards. Here is a funny story about the consequences of standards.

·         There is also a whole slew of RFCs to describe IP over Avian Carriers (goes to show that the IETF can have some fun as well J)


Some more factual/technical links:

·         The Google project to provide wireless broadband services to underserviced regions is called Loon.

·         We talked about spectrum auctions earlier in the term. Here is an article from The Globe and Mail (January 27) that touches on that topic as well, and how the rules for the upcoming auction have been set to advantage smaller players.

·         According to Wikipedia, IPv4 address space is exhausted in some regions of the world: Three of the five RIRs have exhausted allocation of all the blocks they have not reserved for IPv6 transition; this occurred for the Asia-Pacific on 15 April 2011, for Europe on 14 September 2012, and for Latin America and the Caribbean on 10 June 2014.

·         IEEE Computer November 2010 had two interesting short articles related to the course: Gigabit WiFi and FCC Decision on Whitespace (3rd page of the file)

·         IEEE Spectrum (January 2012) has an interesting overview article on LTE. One of the more interesting tidbits of information is right up front: smartphones can require as much as 115 MB/hour of bandwidth!

·         An interesting networking paper is "End-to-End Arguments in System Design" by Saltzer et al. (which, according to Google Scholar, has been cited over 2400 times as of November 2014), and the key argument/principle also has its own Wikipedia entry

·         And in terms of writing papers, here is a great blog entry about why some employers at least care about grammar/writing skills

As usual in a graduate course, no single textbook covers all the topics we will touch on. However, fairly complete coverages of the course content can be found in:

·         Mobile Communications, 2nd edition, by Jochen Schiller, Pearson Education Limited 2003, ISBN 0-321-12381-6.

·         Ad Hoc Wireless Networks: Architectures and Protocols, by C. Siva Ram Murthy and B.S. Manoj, Prentice Hall 2004, ISBN 0-13-147023-X (despite the title, it also covers many cellular/WLAN topics briefly).

Also, in particular as a starting point for the course project, you may want to look at the following books (in addition to the references provided in the Appendix section on the website):

Some relevant links to get you started thinking about your research project:

Finally, here are links to three open access books on wireless networks/wireless sensor networks that also may be of interest to you:

·         Mobile Ad Hoc Networks: Applications

·         Mobile Ad Hoc Networks: Protocol Design

·         Wireless Sensor Networks

Reading papers, preparing presentations: the course will require you to (among other things) read papers, prepare a presentation, and engage in a course project, training your research skills. To prepare for these tasks, you should consult a number of online references on how to go about this (preparing a GOOD presentation or project report takes substantial effort):

·         A short sequence of PPT transparencies from Nitin Vaidya on how to read, write, and present papers (postscript or HTML document).

·         IEEE Computer, September 2005, had an interesting article on Presentation Skills.

·         Another useful reference is the website Advice on Research and Writing and the Graduate Study in the Computer and Mathematical Sciences: A Survival Manual website.

·         On the other hand, avoid the pitfalls identied in How to Have a Bad Career in Research/Academia.

·         A (tongue-in-cheek) dictionary of "useful" research phrases.

·         A lengthy but very interesting talk by Richard Hamming on what it takes to be a great researcher.

·         An interesting editorial on what higher education should be about.

Plagiarism is unfortunately a not too infrequent problem in academia. I expect all submissions to clearly identify what sources/references have been used for what part of your submission. If you are unsure as to what constitutes plagiarism, please check this website.

Course handouts and other information, including assignments (all very much work in progress):

·         Course handout, as PDF file or as HTML page

·         A guide to installing a Linux Virtual Machine on Windows PCs

·         An alternative step-by-step description can be found here

·         Some comments on installing NS2

·         Working with NS2

·         Sample Final Exam 1, as PDF file or as HTML document

·         Sample Final Exam 1 Solution, as PDF file or as HTML document

·         Sample Final Exam 2, as PDF file or as HTML document

·         Sample Final Exam 2 Solution, as PDF file or as HTML document

·         Sample Final Exam 3, as PDF file or as HTML document

·         Sample Final Exam 3 Solution, as PDF file or as HTML document

·         Sample Final Exam 4, as PDF file or as HTML document

·         Sample Final Exam 4 Solution, as PDF file or as HTML document

·         Assignment 1 handout, as PDF file or as HTML document

·         Avoid the pitfalls documented in this paper, in particular (but not only) the comments on output analysis

·         When writing your report, ensure that you use proper English. For starters, there is little gained if you have a lot of data and insights, but cannot explain your results. Also, the careful editing and proofreading of your work is also an indication of how careful you are in your work, see here for an argument why this matters outside academia as well.

·         Mathematical analysis for IEEE 802.11 throughput: Bianchi’s 2000 paper.

·         Assignment 1 comments: I started going through the assignment submissions and noticed a few repeated issue. So here is a high-level summary of these more common issues. I recognize that this was the first time many of you planned experiments and wrote a report, so I will consider it in marking the assignment. At the same time, I certainly hope to see an improvement in the second assignment, addressing these concerns (and the ones I will communicate individually to each group once I am done):

·         Make sure you focus on the assignment task. Both on the course handout and in class I repeated that from IEEE 802.11’s perspective, there is not multi-hop networking. So do not create scenarios/think about parameters that only matter once we introduce multi-hop networks (which we haven’t yet). In particular, do not create scenarios where nodes move out of communication range and you end up evaluating the routing protocol, not the MAC protocol. Also, once you move nodes far enough away, they do not participate in the “shared” channel anymore.

·         Another common issue was that the assignment handout asked about “channel utilization”. This is NOT the same as throughput. In particular, it is an aggregate metric: what percentage of time is the channel busy transmitting user data (which includes protocol headers of upper-layer protocol such as IP, UDP, etc.). And specifically it is not a “per-node” metric. So arguing that throughput will go down as the number of transmitters increases as more nodes now share the network is wrong in this context – we are not exploring per-transmitter performance this in this assignment.

·         The assignment handout asked to explain, for each factor you identified, its impact on channel utilization. Simply listing a number of them is not good enough. And simply stating what you expect without any justification/rationale for why you think a specific relationship exists is not great either. Ideally, you would link your prediction to a specific feature of either the protocol you study or something well-known about MAC protocols in general and random-access MAC protocols specifically.

·         I had provided a link to a paper that talks about common mistakes people make in reporting on simulation studies, here is the link again. You have to provide enough information to allow a reader to fully understand and, if needed, replicate the experiments. Most submissions fell far short of this: what nodes send data, how much data, using what packet size and rate? When do nodes start transmitting and stop? How long did you run your simulation? How did you define throughput or channel utilization and what did you measure from your simulations to calculate that value and how? If nodes move, what mobility model do they follow or alternatively what trajectories?

·         Also, it is not enough to have some results, draw a graph, and then simply discuss the shape of the curve. Most of you did not repeat measurements, even if your curves are obviously noisy/show quite random fluctuations. In particular where a curve lacks a clear trend by swings widely as you change your underlying parameter, you should clue in to the fact that you probably need to run more repetitions to get a clearer picture (along the lines of what we discussed in class). Also, if you have results, are they believable/plausible? Is a channel utilization of 8% a realistic value? An aggregate throughput of 250 kbps if the channel rate is 2 Mbps? It is quite essential to keep a critical mind when collecting even your own experimental results.

·         Course project: here are some comments from my reading of project proposals:

·         References should not simply be websites/links. The majority should be academic papers (i.e., they were published in an academic journal or conference proceedings). Also, please provide all necessary bibliographic info (name of journal, page numbers, month/year or volume/issue, etc.). If you are unclear what constitutes a complete reference, please consult either the IEEE Style Guide or, as an example, this page (the list of my own publications).

·         In the text, you need to provide (in the final version) references to your references. It is not a paper you reference if you do not REFER to it in the text. So only list papers in the “Reference” section that you referred to in the body of the document. You can choose to order your references either in the order of occurrence or by ordering them alphabetically, sorted by last name of the first author.

·         The project does NOT require you to actually run any simulations. If you do so, it would be a bonus, but that should not be the focus of your efforts.

·         The project does, however, expect you to identify a research problem and review and evaluate the state-of-the-art solutions to that problem. Once you know the strengths and weaknesses of existing solutions, PROPOSE a new solution that would arguable advance the current state-of-the-art. You have to explain in what way you think your proposal would improve on the existing work. So a generic project structure/outline would be

1.      Problem Statement

2.      Review of State-of-the-Art

1.      Evaluation Criteria

2.      Brief Description of Selected Solutions that claim to address the problem

3.      Evaluation: strengths, weaknesses, shortcomings, gaps. Note that one possible outcome is that certain approaches may be quite good/cover most of the researched problem and should therefore be used as a basis for future work. Another outcome of course could be that none of the proposals is really satisfactory. And then there are all the possibilities in between.

3.      Research Proposal

1.      Outline of your proposal

2.      Discussion of expected benefits over previously reviewed solutions (based on the evaluation criteria defined earlier)

3.      Description of research plan: how would you demonstrate that your proposal does indeed have the expected benefits? Simulations? Testbed implementations? Provide some details such as specific scenarios, tools to use in a testbed implementation, etc.

4.      References

·         In selecting the points of comparison, you should try to beat/compare with the strongest possible existing solution. Do not pick an obvious straw man case (a solution that everyone knows is weak). The latter is only advisable IF that weak solution is an established standard way of solving the research problem. And in that case you would include it PLUS whatever you deem to be the best existing proposed solution…..

·         Assignment 2 handout, as PDF file or as HTML document

·         Papers for Assignment 2: Paper1, Paper2, Paper3

·         Please make sure that you take the feedback from Assignment 1 into consideration when working on this assignment.

Course material (password-protected, will be updated throughout the term):

As the slides will be updated, I will post them here for download and review, as PDF files in an easy-to-print 2 slides per page format. The set of slides includes some I adapted from Prof. Schiller's slides for his textbook, a few slides are from the Tutorial on Wireless Sensor Networks by Deborah Estrin, Akbar Sayeed, and Mani Srivastava, and some slides are prepared by Nitin Vaidya for his tutorials on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues and TCP for Wireless and Mobile Hosts:

Thomas Kunz