Challenges in Cloud and Mobile Computing

Challenges in Cloud and Mobile Computing (COMS E6998-7)

Instructor: Prof. Roxana Geambasu (instructor-first-name <at> cs <dot> columbia <dot> edu)
TA: Avner May (ta-full-name-no-spaces <at> gmail <dot> com)
Class time: Wednesday 2:10-4:00pm
Class room: 253 Engineering Terrace
Office hours: Roxana -- appointment-based; Avner -- Tuesdays 5:30-6:30pm in CEPSR 618

Overview

This systems seminar course explores a wide variety of challenges and opportunities raised by modern technology, such as cloud computing and mobile devices. These technologies, despite enormous advantages, are causing users and enterprises alike to lose control over various aspects of their data. For example, who really owns data uploaded to Facebook, how does a user control accesses to her data on a stolen mobile device, and how can an enterprise enforce uniform security and privacy policies when its data is stored in the cloud and on its employees' mobile devices?

In this course, we will focus on these and other data security, privacy, and management challenges and review techniques to address them. The goal of the class is two-fold: (1) to provide all students with a broad view of this hot research space and its many open problems and (2) to help interested students to dive deeply into one specific unsolved problem and think about a novel solution to it.

To meet these goals, this class has to components: (1) a literature review, which includes reading about 25 papers, such as surveys of challenges in cloud and mobile computing, papers describing techniques to address them, and papers pointing out the limitations of existing techniques; and (2) a research project on a topic of your choice related to cloud and mobile computing. The project is optional and only meant for students who are interested in doing research in this space. Following are brief discussions of each of these components.

Literature Review

We will discuss about two papers or product specs per class. Examples of covered topics include advanced cryptographic techniques, trusted hardware architectures, distributed-trust systems, and auditing systems. The latest reading schedule can be found here. You should expect some changes in the schedule, so please do not print out the papers more than a week in advance.

Each class is organized in roughly two activities. First, students will give a short presentation (15-25 minutes) of the papers for that week (as assigned). Second, we will discuss the papers in depth. The presenters for each class should email me the presentation at least two days in advance so that I can give them feedback. You can sign up to present papers here. See the Grading section before you decide whether you need to present in class or not.

All students, whether they present that day or not, should read all assigned papers before class and submit a review for one of them to my email address at least two hours before class (i.e., before 12:10pm on Wednesdays). You will choose which of the assigned papers to review. You can of course submit reviews for all assigned papers, but there's no extra credit for that. The review's structure and submission instructions are available here. A useful resource for writing effective reviews is David Wetherall's paper reviewing guidelines.

During class, you should participate in the discussions. I am hoping for highly interactive discussions during class, as I believe these are the most effective types of classes. All three elements -- reviews, presentations, and discussion participation -- will be part of your final grade for this class.

Research Project

You have the option to participate in a research project on a topic related to cloud and mobile computing. I will provide a list of suggested topics or you can choose your own (list is only readable from Columbia IPs). If you choose to do a project, you will working in teams of two or three people and will have the opportunity to meet with me regularly to discuss your direction and and progress.

The final product for this project will be a report describing the motivation and results of your work, plus a 20-minute presentation or a demo. For promising projects, I would be very interested to continue working with you to extend your results for subsequent publication or industrial deployment. Details about the project's milestone timeline and report formats can be found here.

Project Prerequisites: As you will see in the Grading section, you can choose to either do a project or to be more heavily involved in the literature review. Before you decide to do a project, please ensure that you fulfill the following requirements: (1) you have had significant coding experience and/or some research experience in the past and (2) you are genuinely interested in research in this space. If either of these is untrue -- e.g., if you are just interested in understanding a bit about cloud computing, a perfectly fine goal -- you should not choose to do a project.

Grading

There are two options in which you can earn your grade for this class:

  1. You can choose to write reviews for the papers we read in class (one review per class), briefly present the papers in class, and do a small set of homeworks; OR
  2. You can choose to work on a research project in a team and present your work in the end.

Option 1 will give you the opportunity to learn at a high level about cloud computing and mobile devices, while option 2 will give you the opportunity to dive deeply into one interesting research topic in this space and do the research yourself. Only people with some prior research experience or a lot of coding experience and who are genuinely interested in doing research in this space should sign up for the project option.

Accordingly, grading will be done as follows:

  1. People doing the research project:
    • 50% -- Project reports
    • 30% -- Project presentation/demo
    • 20% -- Class discussion participation
  2. People not doing the research project:
    • 30% -- Paper presentation (in class or submitted, for those who run out of papers to present in class)
    • 30% -- Two cloud and mobile coding homeworks (see the schedule for a preliminary, though not final description of these assignments)
    • 20% -- Paper reviews (one per class)
    • 20% -- Class discussion participation

Because the two options are a bit uneven in terms of load on the student, I will allow students who sign in for the research project to register for up to 3 extra credits with my project course. So, you can choose the project direction and register for 0, 1, 2, or 3 extra credits for it. The number of extra credits you register for will not have an impact on the amount of work you will need to dedicate to the project for a maximum grade.