Course Description

Introduction

A distributed system is a collection of independent computers and related software that appears to its users as a single coherent system. In the Internet/Web/Mobile/Cloud/IoT era, almost all our daily used net-related applications or services can be considered as provided by distributed systems. It is one of the central knowledge that all computer science students must possess in order to be competitive in the fast changing world. The purpose of this course is to investigate the theory and practice underlying the design, construction and operation of distributed systems. We will discuss the fundamental principles such as distributed processes, addressing and naming, communication mechanisms, synchronization and coordination, replication and consistency, fault tolerance, distributed algorithms, transactions and concurrency control, security, mobile/pervasive computing, cloud services, big data processing, Internet of Things(IoT), etc.. In addition to the lecture part of the course, students are also required to conduct an independent study on selected topics and present papers in class. Students will also learn how to build distributed applications through assignments and term project. Visit the corresponding Web pages for more information.

The topics to be covered in the lecture can be divided into several parts:

  1. Foundations
  2. Architectures and middlewares
  3. Networking and internetworking
  4. Distributed processes
  5. Communication
  6. Addressing and naming
  7. Synchronization and coordination
  8. Distributed algorithms and computation
  9. Distributed programming and application development
  10. Distributed file systems
  11. Replication and consistency
  12. Fault tolerance*
  13. Security*
  14. Distributed transactions and concurrency control*
  15. Advanced Topics*
    • Service computing(Web services, SOA, microservices)
    • Mobile and ubiquitous computing
    • Grid, cloud, fog and edge Computing
    • Big data systems
    • Peer-to-peer systems
    • Wireless sensor networks(WSN)
    • Internet of Things(IoT)
    • Distributed data stream processing
    • Crowd computing
    • Social networks and computing
*: Topics to be covered when time permits. Visit the syllabus page for detail information about the lecture schedule.

Semester Theme

A different theme topic is selected for each offerring of this class. All independent study and paper presentation should be on state-of-the-art research and technologies of the theme. The theme of this semester is Artificial Intelligence of Things (AIoT). AIoT is the combination of AI and IoT to get Edge Intelligence (Edge AI) . AIoT market size is expected to grow exponentially from $7.52 billion in 2023 to?$9.98 billion?in 2024. We will learn the principles, challenges and opportunities of AIoT. Students are strongly encouraged to start looking for research papers and new projects.

Administrative Information