EECS-395/495 Distributed Systems in Challenging Environments, Spring 2013


Remember to check this regularly!

  • Check Piazza for last meeting logistics!
  • All slides are posted!
  • Midterm presentation changed to May 13th!
  • Please enter your paper preferences (for reviews) at DSCE13
  • If you haven't yet, please register in Piazza for DSCE!
  • Note the change in the schedule for next week papers
  • Look for each paper's question in the schedule page; you need to create your own login for now.
  • Our first meeting (Tue Apr. 2) will be in Ford 3-340!

Administrative Information


Fabián E. Bustamante
Technological Institute, L465
+1 847 491-2745
This email address is being protected from spambots. You need JavaScript enabled to view it.

Location and Time

Lectures: Mondays and Wednesdays 11:00-12:20PM
Ford 3-340.

Professor Office Hours: by appointment

Course Description

This seminar will review cool ideas and ongoing projects that are pushing distributed systems into new and challenging domains. The class will be structured as a traditional seminar with readings, class discussion and a quarter-long research project.

In compliance with Section 504 of the 1973 Rehabilitation Act and the Americans with Disabilities Act, Northwestern University is committed to providing equal access to all programming. Students with disabilities seeking accommodations are encouraged to contact the office of Services for Students with Disabilities (SSD) at +1 847 467-5530 or This email address is being protected from spambots. You need JavaScript enabled to view it. . SSD is located in the basement of Scott Hall. Additionally, I am available to discuss disability-related needs during office hours or by appointment.

Course Prerequisites

  • Please contact me if you would like to take this course.

Communication Channels

There are a number of communication channels set up for this class:

  • We will use the course web site to post announcements related to the course. You should check this regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.
  • We will use Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on our Piazza for DSCE.
  • There is always email for questions that would be inappropriate to post on the newsgroup/discussion-board. When using email to contact the staff please start your subject line with "DSCE: helpful-comment" to ensure a prompt response.

Course Organization

The course is organized as a series of paper discussions and a single term-long project.

Most class meetings will be centered around a paper presentation and discussion. You should read each paper before coming to class and be prepared to discuss it.

I will post a question about each paper 24hr before class. Your answer need only be long enough to demonstrate that you understand the paper; a paragraph or two should be enough. I will check your answers to make sure they make sense and they will count for part of the paper discussion grade.

This year we will try an alternative to paper summaries by running a mini-conference. We will use the papers included in the schedule as our set of submissions. Each of you will write reviews for 3-4 of them. We will discuss the papers in a two-part PC meeting (around midterm and during final weeks) to decide what paper "should be accepted" for publication.


I use a criterion-referenced method to assign your grade; in other words, your grade will be based on how well you do relative to predetermined performance levels, instead of in comparison with the rest of the class. Thus, if a test has 100 possible points, anyone with a score of 90 or greater will get an A, those with scores of 80 or greater will get a B, those with scores of 70 or greater will get a C, and so on. Notice that this means that if everyone works hard and gets >90, everyone gets an A.

Total scores (between 0 and 100) will be determined, roughly, as follows:

  • Paper discussion participation (and questions) 15%
  • Paper review and PC meeting participation 20%
  • Paper presentation 15%
  • Project 50%
Week Date Topic
1 04/02 Introduction
Slides [pdf]
04/03 CarSpeak: A content-centric network for autonomous driving,
S. Kumar, L. Shi, N. Ahmed, S. Gil, D. Katabi and D. Rus, SIGCOMM 2012.
Presenter: Fabián Bustamante
Slides [.pdf]

Additional reading:
Networking named content, V. Jacobson et al., CoNEXT 2009.

2 04/08 Video stream quality impacts viewer behavior: inferring causality using quasi-experimental design,
S. Krishnan and R. Sitaraman, IMC 2012.
Presenter: Zachary Bischof
Slides [.pdf]

Additional reading:
A quest for an Internet video quality-of-experience metric, A. Balachandran et al., HotNets 2012.

04/10 Computing while charging: Building a distributed computing infrastructure using smartphones,
M. Arslan, I. Singh, S. Singh, H. Madhyastha, K. Sundaresan and S. Krishnamurthy, CoNEXT 2012.
Presenter: John Rula
Slides [.pdf]

Additional reading:

3 04/15 Adaptive decentralized control of underwater sensor networks for modeling underwater phenomena,
C. Detweiler, M. Doniec, M. Jiang, M. Schwager, R. Chen and D. Rus, SenSys 2010.
Presenter: Christopher Moran
Slides [.pdf]

Additional reading:
Underwater sensor networks: applications, advances and challenges, J. Heidemann et al., Phil. Trans. of the Royal Society, 370:158-175, 2012

04/17 MicroCast: Cooperative video streaming on smartphones,
L. Keller, A. Le, B. Cici, H. Seferoglu, C. Fragouli and A. Markopoulou, MobiSys 2012.
Presenter: Moritz Gellner
Slides [.pdf]

Additional reading:
COMBINE: Leveraging the power of wireless peers through collaborative downloading, G. Ananthanarayanan et al., MobiSys 2007.

4 04/22 Switchboard: A Matchmaking System for Multiplayer Mobile Games,
J. Manweiler, S. Agarwal, M. Zhang, R. Choudhury, P. Bahl, MobiSys 2011.
Presenter: Byungjin Jun
Slides [.pdf]

Additional reading:
Matchmaking for online games and other latency-sensitivity P2P systems, S. Agarwal et al., SIGCOMM 2009.

04/24 Analysis of Country-wide Internet Outages caused by censorship,
A. Dainotti, C. Squarcella, E. Aben, K. Claffy, M. Chiesa, M. Russo and A. Pescap&eacyte;, IMC 2011
Presenter: Andrew Lee
Slides [.pdf]

Additional reading:
The collateral damage of Internet censorship by DNS injection, Anonymous, SIGCOMM 2012.

5 04/29 Inside Dropbox: Understanding personal cloud storage services,
I. Drago, M. Mellia, M. Munafo, A. Sperotto, R. Sadre and A. Pras, IMC 2012.
Presenter: David Tuber
Slides [.pdf]

Additional reading:
CloudCmp: Comparing Public Cloud Providers, A. Li et al.,, IMC 2010.

05/01 First PC meeting
6 05/06 Air-dropped Sensor Network for Real-time High-fidelity Volcano Monitoring,
W-Z. Song, R. Huang, M. Xu, A. Ma, B. Shirazy and R. LaHusen, MobiSys 2009
Presenter: Christopher Yungmann
Slides [.pdf]

Additional reading:
Fidelity and Yield in a Volcano Monitoring Sensor Network, G. Wener-Allen et al., OSDI 2006.

05/08 Can they hear me now? A case for a client-assisted approach to monitoring wide-area wireless networks,
S. Sen, J. Yoon, J. Hare, J. Ormont and S. Banerjee, IMC 2011.
Presenter: Marcel Flores
Slides [.pdf]

Additional reading:
Listen to me if you can: Tracking user experience of mobile network on social media, T. Qiu et al., IMC 2010.

7 05/13 Video telephony for end-consumers: Measurement study of Google+, iChat and Skype,
Y. Xu,C. Yu, J. Li and Yong Liu, IMC 2012.
Presenter: Angela Jiang
Slides [.pdf]

Additional reading:
Quantifying Skype user satisfaction, K.T. Chen, C.Y. Huang, P. Huang, and C.L. Lei, SIGCOMM 2006.

05/15 Programming Micro-Aerial Vehicle Swarms with Karma,
K. Dantu, B. Kate, J. Waterman, P. Bailis and M. Welsh, SenSys 2011
Presenter: John Hudson
Slides [.pdf]

Additional reading:
The first takeoff of a biologically inspired at-scale robotic insect, R. Wood, IEEE Transactions on Robotics 2008.

8 05/20 BOSS: Building Operating Systems Services,
S. Dawson-Haggerty, A. Krioukov, J. Tanja, S. Karandikar, G. Fierro, N. Kitaev and D. Culler, NSDI 2013.
Presenter: Jacob Sherin
Slides [.pdf]

Additional reading:
An operating system for the home, C. Dixon et al., NSDI 2012.

05/22 ExerLink: enabling pervasive social exergames with heterogeneous exercise devices,
T. Park, I. Hwang, U. Lee, S. Lee, C. Yoo, Y. Lee, H. Jang, S. Choe, S. Park and J. Song, MobiSys 2012.
Presenter: Zhenfei Wang
Slides [.pdf]

Additional reading:
Game design principles in everyday fitness applications, T. Campbell et al., CSCW 2008.

9 05/27 Memorial day
05/29 Dissent in numbers: Making strong anonymity scale,
D. Wolinsky, H. Corrigan-Gibbs and B. Ford, OSDI 2012
(No question)
Presenter: Maciej Swiech
Slides [.pdf]

Additional reading:
Tor: the second generation onion router, R. Dingledine et al., USENIX Security 2004

10 06/03 Making middle-boxes someone else’s problem: network processing as a cloud service,
J. Sherry, S. Hasan, C. Scott, A. Krishnamurthy, S. Ratnasamy and V. Sekar, SIGCOMM 2012.
Presenter: Angela Jiang
Slides [.pdf]

Additional reading:
The middlebox manifesto: enabling innovation in middlebox deployment V. Sekar et al., HotNets 2011.

06/05 Expanding rural cellular network with virtual coverage,
K. Heimerl, K. Ali, J. Blumenstock, B. Gawalt and E. Brewer, NSDI 2013.
Presenter: Chris Moran
Slides [.pdf]

Additional reading:
Yank: Enabling green data centers to pull the plug, R. Singh et al., NSDI 2013.

Finals 06/10 Second and last PC meeting


Reading Papers and Answering Questions

We will be reading two or more papers per week. The papers will be first presented to the group by one or more students and then discussed in a round-table manner.

To ensure lively discussions, you will be responsible for reading the assigned papers before each class. I will post a question about each paper 24hr before class. Your answer need only be long enough to demonstrate that you understand the paper; a paragraph or two should be enough. I will check your answers to make sure they make sense and they will count for part of the paper discussion grade.

You may find the following documents useful:

Writing reviews

At one time or another, every researcher is asked to review papers submitted for publication at a conference or journal; a process known as peer review. This quarter we will work on this skill by running a mini-conference - DSCE 2013 (Access is restricted to Northwestern).

All class members will be part of the "Programm Committee" for our mini-conference and we will consider all papers listed in our schedule as our submissions.

Each paper will receive three reviews and each PC member will be responsible for writing 3-4 reviews (you are welcome to write additional reviews). We will discuss all papers in a two-part PC meeting (around midterm and during final weeks) to decide what paper "should be accepted" for publication. Each paper discussion will be led by one of the reviewers (assigned by the PC chair).

You may find the following documents useful:

To enter your reviews go to DSCE 2013 (Access is restricted to Northwestern).

Presenting Papers

Most class meetings will be centered around a paper presentation and discussion. Each student will be responsible for presenting one of the papers in the schedule (so, if you haven't yet, please email me three ranked options).

Giving a good presentation is hard work. Please make sure to allocate enough time to prepare for yours. There are some good pointers around that you may want to look at.

Here is an incomplete list of dos and don'ts:

  • Don't try to present the whole work; remember the talk is just a taster.
  • Think of your primary audience to decide what/what not to expand on.
  • Use examples to motivate the work and approach, and illustrate the key points.
  • Don't put too much on a slide - prune and then prune again.
  • Don't put too much on a slide - just one figure/graph per slide!
  • Don't put too much on a slide - don't waste the header/slide title!
  • Careful with use of animation - not for show, just for clarity
  • Please put numbers in your slides
  • Seriously consider dropping the typical "overview/roadmap" slide
  • Saying enough without saying too much - enough depth to convey your ideas, not so much as to overwhelm your audience


There will be one single project on which you will work throughout the quarter - this is a critical component of the course. Your goal is to design, construct and evaluate an interesting distributed system - the crazier the better.

Projects must be written up in a term paper (due during finals week) and teams will present their results at the end of the course in a systems class mini-conference. Projects ideas will be suggested by the instructor, but you are strongly encouraged to come up with your own ideas. Based on the topic of your project, you will be assigned a project leader to help you through the quarter (you will meet weekly with them).

This is the schedule of meetings and deliverables (this is mainly to ensure steady progress):

  • Form a group. April 2-6.
  • Project meeting with instructor. April 8.
  • Project initial presentation (you should read the CSP project startup or look at the Questions that any project proposal should answer -- the Heilmeier "Catechism"). The presentation should be 4 slides long, including (1) Project name and team members, (2) What are the research contributions of the project? List of new/interesting concepts to be investigated, (3) Why do we care if you are successful?, and (4) Project milestones and schedule for the rest of the quarter.
    April 15
  • Midterm presentation and report. The presentation should be 4 slides long, including (1) Project name and team members, (2) Revised statement of project goals and list of new/interesting concepts to be investigated, (3) List of issues addressed and pending, and (4) Updated project milestones, highlighting accomplishments to date, and schedule for the rest of the quarter.
    May 6 May 13
  • Project meeting with instructor. June 6-7.
  • Final presentation. Scheduled final day (week of June 10-14).
  • Final report due. During finals week.

The final report has to conform to the format used by the Workshop on Hot Topics in Networks or the Workshop on Hot Topics in Operating Systems. Reports should be no longer than 6 pages (you can use appendices or a webpage to document details). The following structure is suggested:

  • Abstract: What did you do, why is important and what are your high-level results?
  • Problem statement: What is the problem you tried to solve?
  • Prior work: How others have addressed the problem before and why that was not enough?
  • Research approach: What was your approach to solving the problem? What did you design, build? What was your experimental methodology?
  • Results: What were your results? How did you evaluate your work? What were your figures of merit?
  • Lessons learned and future work: If you knew what you know now, what would you do differently? What questions are left for future work?
  • Summary and conclusions.



  • A set of research papers I will make available (see the schedule page for a full list).

Very Useful