トップページへ

2025 (Current Year) Faculty Courses School of Computing Department of Mathematical and Computing Science Graduate major in Mathematical and Computing Science

Distributed Systems

Academic unit or major
Graduate major in Mathematical and Computing Science
Instructor(s)
Ryuichi Sakamoto
Class Format
Lecture (Face-to-face)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
7-8 Tue (M-B43(H106)) / 7-8 Fri (M-B43(H106))
Class
-
Course Code
MCS.M429
Number of credits
200
Course offered
2025
Offered quarter
3Q
Syllabus updated
Sep 29, 2025
Language
Japanese

Syllabus

Course overview and goals

This year, this lecture will be given in Japanese.
This lecture will introduce the architecture, communication, process, naming, consistency, security, and fault tolerance that are the foundations of distributed systems. Students will learn practical aspects of building and operating distributed systems using microservices as examples. Learn about orchestration tools and service meshes for efficient operation of microservices, and experience microservices by introducing Kubernetes and Istio. Furthermore, the course introduces the details of container and network configuration.

Course description and aims

You will be able to acquire the following skills:
1. You will learn about the architecture, processes, communications, security, etc. that support distributed systems.
2. You will be able to operate microservices.
3. You will be able to evaluate and improve the performance of distributed systems.
4. You will be able to debug and analyze distributed systems using service meshes.
5. You will be able to understand and correctly use the container virtualization and network configuration that support microservices.

Keywords

Distributed systems, microservices, fault tolerance, autoscaling, distributed tracing, Kubernetes

Competencies

  • Specialist skills
  • Intercultural skills
  • Communication skills
  • Critical thinking skills
  • Practical and/or problem-solving skills

Class flow

Lectures will be based on slides. Network programming exercises will be conducted using VMs

Course schedule/Objectives

Course schedule Objectives
Class 1

Introduction
Learn the overview of distributed systems

Not specified

Class 2

Distributed architecture
Learn the basics of distributed systems

Not specified

Class 3

Processes
In distributed systems, there are various ways to use processes depending on the purpose. Learn the details of processes that communicate efficiently.

Network Basics Exercises

Class 4

Communication
Introduce communication in distributed systems and learn how multiple distributed elements work together.

Not specified

Class 5

Introduction to network programming
Learn about network programming. Create a simple server and client.

Not specified

Class 6

Name resolution
Name resolution is necessary to uniquely recognize distributed resources, and learn about naming in distributed systems.

Name Resolution Exercise

Class 7

Consistency and replicas
Copying and distributing data can improve reliability and performance, but it is important to ensure consistency. Learn about the placement of replicas, which are copies of data, in distributed systems and how to ensure consistency.

Not specified

Class 8

Network programming, part 2
Learn about web servers and L4 LB

Report on network programs

Class 9

Fault tolerance
Introduce failures that can occur in distributed systems and learn how to deal with them.

Not specified

Class 10

Security
Learn about security in distributed systems.

Not specified

Class 11

Microservices
Learn about containers and microservices

Not specified

Class 12

Monitoring, management, and control of distributed systems
Learn about monitoring and management of distributed systems

Distributed Systems Exercises

Class 13

Network programming, advanced 1/2
Learn about tracing

Report for Microservice

Class 14

Network programming, advanced 2/2
Learn about tracing

Study advice (preparation and review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.

Textbook(s)

M. van Steen and A.S. Tanenbaum, Distributed Systems, 4th ed., distributed-systems.net, 2023.
https://www.distributed-systems.net/index.php/books/ds4/

Reference books, course materials, etc.

Not specified

Evaluation methods and criteria

- Small practices
- 2 reports

Related courses

  • MCS.T233 : Computer Systems
  • MCS.T314 : Operating Systems

Prerequisites

Have basic knowledge of network