Title: Course Introduction
1Course Introduction
- Mikko Vapa
- mikko.vapa_at_jyu.fi
- TIES427 Distributed Systems
2Course Outline
- The extent of the course is 4 credit units
- Aim of the course
- know the basic terminology and technologies of
Distributed Systems - know the basic problems of a distributed design
and communication
3Course Outline
- Prerequisities
- ITKP104 Tietoverkot (Data Networks)
- ITKA203 Käyttöjärjestelmät (Operating Systems)
- Passing Requirements
- Open book answering of Distributed Systems
special questions and one of the following
written examination (Finnish/English), literature
review or programming work - Examination dates March 28th or April 25th at
12.00 in Agora Auditorium 1 - Registration in the Korppi system is required
- korppi.jyu.fi -gt TIES427 Distributed Systems
4Course Outline
- Course WWW pages under Cheese Factory web page
directoryhttp//www.mit.jyu.fi/cheesefactory/TIE
S427.htm - Lectures on weeks 3-8 at Wednesdays at 8-10 and
Thursdays at 12-14 (lectured in Finnish) - Lectured by research student Mikko Vapa
- email mikko.vapa_at_jyu.fi
- office Department of MIT, AgC417.2
5Course Outline
6Course Outline
- Course Material
- Lecture slides (in English)
- appears on the web page before each lecture
- Course book (covers only some topics)
- George Coulouris, Jean Dollimore, Tim Kindberg -
Distributed Systems Concepts and Design, 3rd
Edition, Addison-Wesley, 2001 (Amazon 100 85
) - Additional literature
- Andrew S. Tanenbaum, Marten van Steen
Distributed Systems Principles and Paradigms - Errol Simon Distributed Information Systems
7Course Book
Foundations (lectures 2-5)
Distributed algorithms
10
Time and Global States
1
Characterization of DS
11
Coordination and Agreement
2
System Models
3
Networking and Internetworking
4
Inter-process Communication
Middleware (lectures 6 and 7)
Shared data
5
Distributed Objects and Remote Invocation
12
Transactions and Concurrency Control
7
Security
13
Distributed Transactions
9
Name Services
14
Replication
17
CORBA Case Study
System infrastructure
Extra topics in our Distributed Systems -course
Peer-to-Peer Networks (lectures 9, 10, 12 and
13)Power-laws (lecture 11) Summary (lecture 14)
6
Operating System Support
8
Distributed File Systems
15
Distributed Multimedia Systems
16
Distributed Shared Memory
18
Mach Case Study
8Knowledge Goals
- Know definitions of distributed systems, as well
as the fundamental design challenges of such
systems - Know some of the models which can be used to
describe distributed systems, as well as their
leading areas of use
9Knowledge Goals
- Get the picture how networks are connected to
each other through internetworking technologies - Understand the differences between basic
transport protocols TCP and UDP
10Knowledge Goals
- Learn the application programming interface for
Internet protocols - Know the basic problems of inter-process
communication and data transfer between systems - Know how distributed component-based
communication is realized using Remote Procedure
Call and Java Remote Method Invocation
11Knowledge Goals
- Know the fundamentals of peer-to-peer
communication and applicability of peer-to-peer
models for different problem domains - Learn one example of realizing peer-to-peer
systems
12Knowledge Goals
- Understand the overall structure and formation of
many distributed systems - Learn some examples of how distributed systems
research can be carried out - Get an overview of the different aspects related
to distributed systems
13Passing Requirements
- There is a mandatory part Distributed Systems
special questions for everyone and three
alternative ways for passing the course - Examination,
- Literature review or
- Programming work
- You can select the one which is most suitable for
you
14Distributed Systems Special Questions
- Set of questions that needs to be answered at
free time - Covers different areas of distributed systems
- Graded as passed/not passed
- If some questions have not been passed then those
questions not passed needs to be answered again
15Examination
- Normal examination with 4questions
- 6 points per question withmaximum of 24 points
- Standard rating criteriasused in embedded
systemsand telecommunicationscourses - Examples of earlierexaminations can be
foundfrom the course web page - http//www.mit.jyu.fi/cheesefactory/TIES427.htm
16Literature Review
- Literature review is a scientific oriented
learning task - Knowledge can be accessed using digital libraries
e.g., ieeexplore.ieee.org
17Literature Review
- The aim is to
- identify and extract a certain distributed
systems related research problem from research
literature using about 5 scientific articles - review the approaches authors have used for
solving the problem - analyze, reflect and criticize the solutions used
- write a report
- pass the peer review process conducted by the
lecturer
Solution
Problem
Solution
Solution
Solution
Solution
18Literature Review
- Some examples of distributed systems research
problems - Distributed objects, distributed event
notification, external data representation and
serialization, security of mobile code, context
awareness, dynamic address allocation for mobile
devices, dynamic P2P network models, P2P grids,
P2P file systems, encrypted P2P networks,
resource discovery problem definitions,
computationally intelligent methods in
distributed systems, delay tolerant networks - The only requirement for the problem is that it
is related to distributed systems
19Literature Review
- The grading of literature review is based on
- How clearly the problem has been extracted from
literature - How difficult the problem is
- How well the selected articles have been
reflected to each other (fusion and creation of
new knowledge) - Examples of earlier literature reviews made on
the course can be found from the course web page
http//www.mit.jyu.fi/cheesefactory/TIES427.htm
20Programming Work
- Programming work is aimed for people that might
have own distributed system development project - Typically involves e.g. socket programming,
problems of concurrent behavior, multiple users
or/and development of a protocol - Helps to learn more thoroughly some of the
problems discussed in the course
21Programming Work
- As a passing requirement a documented description
of the distributed system and a quantitative or
qualitative analysis of the produced system is
needed - Quantitative analysis can be made by measuring
the behavior of the system - Qualitative analysis can be made by
characterizing the behavior of the system and
comparing the system to other systems - Examples of earlier programming works made in the
course can be found from the course web page
http//www.mit.jyu.fi/cheesefactory/TIES427.htm