CS293B -- Cloud Computing, Edge Computing, and IoT

The purpose of the class is ostensibly to explore current research topics and technological developments pertaining to the subject of "Cloud Computing." This quarter, we will expand the subject of study to encompass "edge" or "fog" computing, and the role it will play in enabling "The Cloud" to be used to implement "The Internet of Things."

Winter Quarter, 2019

The course meets

  • Piazza sign up link for this class
  • CS293B Course Project Page for 2019

    and the instructor's coordinates are

    Course Outline

    The course itself will combine, lectures, assigned reading, and in-class discussion with a quarter-long software development project that attempts to familiarize the student with the strengths and weaknesses of current approaches to cloud computing. In addition, students will be expected to describe the research challenges they have identified as a result of their experiences in the course in both written and oral presentation formats.

    Specific topics the course will cover include

    as well as other applications and subsystems that have applicability to cloud computing.


    The course will be graded as Class participation will be based on discussions of the reading material that is slated for each lecture period.

    Course Project

    There will be a class project that requires individuals or small teams to build a working prototype of either an application that uses edge and cloud computing technologies or a new edge/cloud technology itself. As will become clear from the lectures, IoT applications are often the motivation for edge and cloud systems but you are not required to use an IoT application to demonstrate the effectiveness of your prototype.

    A more complete description of the requirements (e.g. project deliverabvles) for the project is available from the course project page. Here are a few of the highlights:

    There can be some confusion about the workload associated with student-defined projects. We will attempt to alleviate some of this confusion through a review of the project plan, but you should communicate with your instructor early and often if and when questions of suitability arise. The goal of the project is to expose you to some significant aspects of the subject matter in a "hands-on" and/or "real-world" setting. As a rule of thumb, a good project will require 4-6 hours of work per team member per week but this heuristic is only meant as a guideline.

    Course Lecture Schedule

    Like most research courses, the reading lecture schedule for this course is somewhat tentative. The specific set of topics is rapidly evolving even within the relatively new subdiscipline of cloud computing which is, itself, a new and dynamically aspect of computer science. Each lecture will take the form of a discussion about a paper or research topic for which material will be available beforehand. Please prepare for each lecture to make the discussion as fruitful as possible. Your class participation grade will be based on these discussions.

    Course Schedule

    Jan. 7

    Course Introduction.

    Jan. 9

    Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, and Matei Zaharia. 2010. A view of cloud computing. Commun. ACM 53, 4 (April 2010), 50-58. DOI=http://dx.doi.org/10.1145/1721654.1721672 PDF

    Eric Brewer's PODC 2000 Keynote introducing CAP theorem: PDF

    Jan. 14

    Vogels, Werner. "Eventually consistent." Communications of the ACM 52.1 (2009): 40-44.PDF

    Jan. 16

    Vaquero, Luis M., and Luis Rodero-Merino. "Finding your way in the fog: Towards a comprehensive definition of fog computing." ACM SIGCOMM Computer Communication Review 44.5 (2014): 27-32. PDF

    Jan. 21

    There is no lecture today. Please enjoy the holiday.

    Jan. 23

    Class is cancelled. Please use the time to work on your respective projects.

    Jan. 28

    Elias, Andy Rosales, et al. "Where's the Bear?-Automating Wildlife Image Processing Using IoT and Edge Cloud Systems." Internet-of-Things Design and Implementation (IoTDI), 2017 IEEE/ACM Second International Conference on. IEEE, 2017. PDF

    Jan. 30

    Huang, Qi, et al. "An analysis of Facebook photo caching." Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. ACM, 2013. PDF

    Feb. 4

    OS Virtualization: Fear and Loathing in the Intel Architectural Design. I'll try and lecture from these notes.

    Feb. 6

    Eucalyptus : A Technical Report on an Elastic Utility Computing Archietcture Linking Your Programs to Useful Systems UCSB Computer Science Technical Report Number 2008-10 PDF

    Feb. 11

    Raghavan, Barath, et al. "Software-defined internet architecture: decoupling architecture from infrastructure." Proceedings of the 11th ACM Workshop on Hot Topics in Networks. ACM, 2012. PDF

    I've also prepared some lecture notes to which I'll refer during the lecture.

    Feb. 13

    Hunkeler, Urs, Hong Linh Truong, and Andy Stanford-Clark. "MQTT-S publish/subscribe protocol for Wireless Sensor Networks." Communication systems software and middleware and workshops, 2008. comsware 2008. 3rd international conference on. IEEE, 2008. APA PDF

    Feb. 18

    There is no lecture today. Please enjoy the holiday.

    Feb. 20

    Stoica, Ion, et al. "Chord: A scalable peer-to-peer lookup service for internet applications." ACM SIGCOMM Computer Communication Review 31.4 (2001): 149-160. PDF

    Van Renesse, Robbert, and Fred B. Schneider. "Chain Replication for Supporting High Throughput and Availability." OSDI. Vol. 4. No. 91–104. 2004. PDF

    Feb. 25

    Hendrickson, Scott, et al. "Serverless computation with openlambda." Elastic 60 (2016): 80. PDF

    Feb. 27

    CSPOT: A Serverless Platform of Things PDF

    March 5

    Satyanarayanan, Mahadev, et al. "The case for vm-based cloudlets in mobile computing." IEEE pervasive Computing (2009). PDF

    March 7

    Chun, Byung-Gon, et al. "Clonecloud: elastic execution between mobile device and cloud." Proceedings of the sixth conference on Computer systems. ACM, 2011. PDF

    March 11

    Demonstration period -- no lecture.

    May 13

    Demonstration period -- no lecture.