Course: Internet-scale Distributed System and Computing

About the course

This course is opened for the first-year graduate students of computer science. In this course, we will firstly introduce some basic concepts, fundamental problems and research status of Internet-scale distributed systems. Then, we will learn the key technologies to build Internet-scale distributed systems, from practical cases of the Internet-scale distributed systems, including Cloud Computing, Mobile Internet Computing, Ubiquitous Computing and IoT. The aim of the course is to let the student know the principle and key technologies of Internet-scale distributed systems. Besides, the students are expected to get some engineering methodologies from the course.

Classes

  • Class 0 - Course Introduction
  • HW: review the paper [Lein+97] and [Lee+92]

  • Class 1 - Evolution of Computing System with the development of Internet and WWW (ppt)
  • HW: review the paper [Shaw+06] and [Emme+00]

  • Class 2 - Software Architecture and Infrastructure Software of Distributed System (ppt)
  • HW: review the paper [Hass+00] or [Lenz+02] or [Hale+06] or [Aulb+08] or [Dani+07] or [Yu+07],
          the paper [Aals+03] or [Pelt+03] or [Mila+04] or [Papa+05]

  • Class 3 - System Integration and Web Services Management (ppt)
  • HW: review any two papers of [Paut+08], [Burn+04], and [Yu+08]

  • Class 4 - RESTful Web Services, Web 2.0 and End User Programmming (ppt)
  • HW: review the papers [Fost+08] and [Armb+09]

  • Class 5 - Introduction to Cloud Computing (ppt)
  • HW: review any two papers of [Deca+07], [Dean+08], and [Zaha+12]

  • Class 6 - Data Center and Data-Intensive Computing (ppt)
  • HW: Prepare for your presentation

  • Class 7 part1- How to do a 50-minute Class Presentation? (ppt)
  • Class 7 part2 -How to write a basic technical paper? (ppt)
  • HW: Prepare for your presentation

  • Class 8 to 15 - Paper presentations (ppt)
  • HW: Doing your course project, and write an technical paper

  • Class 16 - Summary of the course (ppt)
  • HW: Complete writing the technical paper, and hand in before Jun. 23, 2019.

Paper/Book Readings

The paper titled The Task of the Referee, which was written by Alan Jay Smith, is good paper for you to read before reading the following papers and writing the review comments.

  1. [Come+06] D. E. Comer. The Internet Book: Everything You Need to Know About Computer Networking and How the Internet Works (4th Edition), Prentice Hall; September 8, 2006.
  2. [Lein+97] B.M. Leiner, V.C. Cerf, D.D. Clark, R.E. Kahn, L. Kleinrock, D.C. Lynch, J. Postel, L.G. Roberts, and S.S. Wolff. The Past and Future History of the Internet. Communication of the ACM, 40(2):102-108, 1997.
  3. [Lee+92] T. Berners-Lee, R. Cailliau. World Wide Web. An Invited Talk at the Conference: Computing in High Energy Physics 92, Annecy, France, September 23-27, 1992.
  4. [Lee+01] T. Berners-Lee, J. Hendler, O. Lassila. The Semantic Web. Scientific American, 284(5):34-43, 2001.
  5. [Lee+06a] T. Berners-Lee, W. Hall, et al. A Framework for Web Science. Foundations and Trends in Web Science, 1 (1): 1--130, 2006.
  6. [Tane+02] A. S. Tanenbaum, M. van Steen. Distributed Systems: Principles and Paradigms, Prentice Hall. 2002.
  7. [Coul+08] G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems: Concepts and Design. Pearson, 5th Edition, 2011.
  8. [Bass+03] L. Bass and P. Clements, et al. Software Architecture in Practice, Addison-Wesley Professional, 2003.
  9. [Pres+04] R. S. Pressman. Software Engineering: A Practitioner’s Approach (Fourth Edition), McGraw-Hill, 2004.
  10. [Szyp+02] C. Szyperski et. al., Component Software: Beyond Object-oriented Programming (2nd Edition), 2002.
  11. [Alon+04] G. Alonso, F. Casati, H. Kuno, V. Machiraju. Web Services: Concepts, Architectures and Applications, 2004.
  12. [Shaw+06] M. Shaw, and P. Clements. The Golden Age of Software Architecture. IEEE Software, 23 (2): 31-39, 2006.
  13. [Emme+00] W. Emmerich. Software Engineering and Middleware: A Roadmap. The Future of Software Engineering, Anthony Finkelstein (Ed.), ACM Press 2000.
  14. [Krak+09] S. Krakowiak, Middleware Architecture with Patterns and Frameworks, 2009.
  15. [Hass+00] W. Hasselbring. Information System Integration. Communication of the ACM, 43(6): 33-38, 2000.
  16. [Cumm+02] F. A. Cummins. Enterprise Integration: An Architecture for Enterprise Application and Systems Integration, John Wiley & Sons, Inc. New York, NY, USA, 2002.
  17. [Lenz+02] M. Lenzerini, Data Integration: A Theoretical Perspective: 233—246, PODS 2002.
  18. [Hale+06] A. Halevy, and A. Rajaraman, et al. Data Integration: The Teenage Years: 9—16, VLDB 2006.
  19. [Aulb+08] S. Aulbach, T. Grust, D. Jacobs, A. Kemper, and J. Rittinger. Multi-Tenant Databases for Software as a Service: Schema-Mapping Techniques. SIGMOD 2008.
  20. [Dani+07] F. Daniel, M. Matera, J. Yu, B. Benatallah, R. Saint-Paul, F. Casati, Politecnico di Milano. Understanding UI Integration: A Survey of Problems, Technologies, and Opportunities. IEEE Internet Computing, 11(3):59-66, 2007.
  21. [Yu+07] J. Yu, B. Benatallah, F. Casati, F. Daniel. A Framework for Rapid Integration of Presentation. WWW 2007.
  22. [Chak+01] D. Chakraborty, A. Joshi. Dynamic Service Composition: State-of-the-Art and Research Directions. Technical Report TR-CS-01-19, CSEE, UMBC, December 2001.
  23. [Aals+02] W. M. P. van der Aalst, K. van Hee. Workflow Management: Models, Methods, and Systems, The MIT Press; 2002.
  24. [Aals+03] W.M.P. van der Aalst, and A.H.M. Hofstede, and M. Weske. Business Process Management: A survey. BPM 2003.
  25. [Han+09] Y. Han, J. Wang, P. Zhang. Business-Oriented Service Modeling: A Case Study, Simulation Modeling Practice and Theory, 2009.
  26. [Pelt+03] C. Peltz. Web Services Orchestration and Choreography. IEEE Computer, 36(10), 46-52, Oct. 2003.
  27. [Mila+04] N. Milanovic, M. Malek. Current Solutions for Web Service Composition. IEEE Internet Computing, 8:51-59, 2004.
  28. [Papa+05] M. P. Papazoglou, and H. W. Van. Web Services Management: A Survey. IEEE Internet Computing, 9 (6): 58-64, 2005.
  29. [Field+00] R.T. Fielding. Architectural Styles and the Design of Network-based Software Architectures. PhD Thesis, UCI, 2000.
  30. [Paut+08] C. Pautasso, O. Zimmermann, F. Leymann. RESTful Web Services vs. Big Web Services: Making the Right Architectural Decision. WWW 2008, pp. 805-814.
  31. [Burn+04] M. Burnett, C. Cook, G. Rothermel. End-user Software Engineering. Communications of the ACM. 47(9): 53-58, 2004.
  32. [Shu+06] C.-C. Shu, H.-Y. Yu, and H.-Z. Liu. BEAP: An End-User Agile Programming Paradigm for Business Applications. JCST, 21(4): 609-619, 2006.
  33. [Yu+08] J. Yu, B. Benatallah, F. Casati, and F. Daniel. Understanding Mashup Development. IEEE Internet Computing, 12(5): 44-52, Sep. 2008.
  34. [Fost+01] I. Foster, C. Kesselman, S. Tuecke. The Anatomy of the Grid Enabling Scalable Virtual Organizations. Intl J. Supercomputer Applications, 2001.
  35. [Fost+08] I. Foster, Y.Zhao, I. Raicu,, S. Lu. Cloud Computing and Grid Computing 360-Degree Compared, IEEE Grid Computing Environments (GCE08). pp.1-10, 2008.
  36. [Armb+09] M. Armbrust, A. Fox, R. Griffith, et al. Above the Clouds: A Berkeley View of Cloud Computing. Technical Report UCB/EECS-2009-28 February 10, 2009.
  37. [Sant+09] N. Santos, K. P. Gummadi, and R. Rodrigues. Towards Trusted Cloud Computing. Proceedings of the Workshop On Hot Topics in Cloud Computing (HotCloud09), San Diego, CA, June 2009.
  38. [Brya+07] R. E. Bryant. Data-Intensive Supercomputing: The Case for DISC. TR-CMU 2007.
  39. [Yang+09] F. Yang, J. Shanmugasundaram, and R. Yerneni. A Scalable Data Platform for a Large Number of Small Applications. CIDR 2009.
  40. [Deca+07] G. Decandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's Highly Available Key-value Store. SOSP 2007.
  41. [Dean+08] J. Dean, S. Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. Communications of The ACM, 51(1): 107-113, January 2008.
  42. [Zaha+12] Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave, Justin Ma, et al. Spark: Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing, NSDI 2012.

Presentation List

  1. Dinuni Fernando, Ping Yang and Hui Lu. SDN-based Order-aware Live Migration of Virtual Machines. INFOCOM 2020.
  2. Xiaojun Shang, Yaodong Huang, Zhenhua Liu and Yuanyuan Yang. Reducing the Service Function Chain Backup Cost over the Edge and Cloud by a Self-adapting Scheme. INFOCOM 2020.
  3. Yuwei Tu, Yichen Ruan, Satyavrat Wagle, Christopher G. Brinton, Carlee Joe-Wong. Network-Aware Optimization of Distributed Learning for Fog Computing. INFOCOM 2020.
  4. Yi-Hsuan Kao, Kwame-Lante Wright, Po-Han Huang, Bhaskar Krishnamachari, Fan Bai. MABSTA: Collaborative Computing over Heterogeneous Devices in Dynamic Environments. INFOCOM 2020.
  5. Junghoon Kim, Taejoon Kim, Morteza Hashemi, Christopher G. Brinton, David Love. Joint Optimization of Signal Design and Resource Allocation in Wireless D2D Edge Computing. INFOCOM 2020.
  6. Can Wang, Sheng Zhang, Yu Chen, Zhuzhong Qian, Jie Wu, Mingjun Xiao. Joint Configuration Adaptation and Bandwidth Allocation for Edge-based Real-time Video Analytics. INFOCOM 2020.
  7. How to Distribute Computation in Networks. Derya Malak, Alejandro Cohen and Muriel Médard. INFOCOM 2020.
  8. Weiwei Chen, Zhimeng Yin, Tian He. Global Cooperation for Heterogeneous Networks. INFOCOM 2020.
  9. Thad Benjaponpitak, Meatasit Karakate and Kunwadee Sripanidkulchai. Enabling Live Migration of Containerized Applications Across Clouds. INFOCOM 2020.
  10. Xiaowen Gong. Delay-Optimal Distributed Edge Computing in Wireless Edge Networks. INFOCOM 2020.
  11. Zhaofeng Zhang, Sen Lin, Mehmet Dedeoglu, Kemi Ding and Junshan Zhang. Data-driven Distributionally Robust Optimization for Edge Intelligence. INFOCOM 2020.
  12. Kwang Taik Kim, Carlee Joe-Wong, Mung Chiang. Coded Edge Computing. INFOCOM 2020.

Tips on presenting a paper

Extracted from https://www.cs.dartmouth.edu/~campbell/mobilephonesensing.html

  • What's the problem addressed in the paper and why is it important?
  • What's the proposed solution and why is it novel in comparison to the related work?
  • Are the assumptions made by the authors reasonable, is the methodology OK?
  • What are the design tradeoffs?
  • Present one or two of the more important results
  • What are your ideas for improving the ideas in the paper?
Last Updated on Feb. 28th, 2021