Go to:
Logótipo
You are in:: Start > CC435

Distributed and Mobile Systems

Code: CC435     Acronym: CC435

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2012/2013 - 1S

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~lblopes/aulas/sdm/index.html
Responsible unit: Department of Computer Science
Course/CS Responsible: Master's Degree in Network and Information Systems Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M:CC 16 PE do Mestrado em Ciência de Computadores 1 - 7,5 67 202,5
2
MI:ERS 23 Plano de Estudos a partir de 2007 4 - 7,5 67 202,5

Teaching language

Portuguese

Objectives

We aim to provide students with a deeper understanding of distributed systems, focusing on the principles, techniques and practices relevant to the design and implementation of these systems.

On completing this course, students must be able to:

* Explain what is a distributed system, why should an application be built as a distributed system, and what are the desirable properties of such systems;

* Describe the principles guiding the construction of distributed systems, the main problems and associated challenges, and perceive the efficiency and limitations of proposed solutions;

* Build systems that use basic OS mechanisms, as well as higher level middleware and programming languages;

Program

Introduction to distributed systems and mobility.

Fundamental concepts of distributed systems: architectural models; interprocess communication; distributed algorithms; resource and computational mobility.

Processes and communication: descriptors and streams; processes and threads; virtualization; clients and servers; code migration; remote procedure call; communication by message-passing, by streams and multicast. Sockets TCP and UDP, streams.

Coordination and synchronization: time and global states; clocks and time; event ordering; synchronization; models for mutual exclusion - centralized, decentralized, distributed and token ring; algorithms for leader election.

Middleware: remote procedure call; object request brokers (ORBs); remote method invocation; distributed object models; CORBA and Java RMI; name and directory services.

Name systems: names, identifiers and addresses; home-based, distributed hash tables and hierarchical approaches; name spaces; name resolution and implementation of name spaeces; DNS and LDAP.

Consistency and replication: data-centric consistency models; client-centric consistency models; replicas management; consistency protocols.

Fault tolerance: faults models, byzantine problems, failure masking by redundancy; process resilience; reliable client-server communication; reliable group communication; distributed commit; recovery.

Mobility of resources and computations; the mobile agent paradigm.

Mandatory literature

Andrew S. Tanenbaum, Maarten van Steen; Distributed Systems: Principles and Paradigms, Prentice-Hall, 2nd ed., 2007
G. Coulouris, J. Dollimore, T. Kindberg; Distributed Systems: Concepts and Design, Addison-Wesley 4ed., 2005
Elliotte Rusty Harold; ava Network Programming, O'Reilly & Associates.
G. Brose, A. Vogel, K. Duddy; Java Programming with CORBA, Wiley, 3rd ed., 2001
William Grosso; Java RMI, O'Reilly & Associates
G. Vigna; Mobile Code Technologies, Paradigms, and Applications, PhD Thesis Politecnico di Milano, Italy, 1998
G. Vigna; Mobile Agents: Ten Reasons For Failure, Proceedings of MDM 2004, pp. 298-299., 2004
A. Fuggetta, G.P. Picco, and G. Vigna.; Understanding Code Mobility, IEEE Transactions on Software Engineering 24(5), pp. 342-361., 1998

Teaching methods and learning activities

Presentation and practical classes.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Description Type Time (hours) Weight (%) End date
Attendance (estimated) Participação presencial 67,50
Total: - 0,00

Eligibility for exams

Students are required to obtain a mark of at least 50% in the practical assignments to be eligible to qualify in this course.

Calculation formula of final grade

Students are approved if they simultaneously satisfy the following conditions:

1. Have a minimum mark in the practical component of 50% of (P1+P2).

3. Have a final mark equal or higher to 9.5 out of 20 calculated as follows:

FinalMark = T1 + T2 + P1 + P2

or

FinalMark = T + P1 + P2

Examinations or Special Assignments

The assessment in this course takes in to account two components:

1. PRATICALs with two elements being assessed:

P1. Practical assignment: 4 points

P2. Practical assignment: 4 points

2. THEORY with two/one elements being assessed:

T1. Written mid-term exam: 6 points

T2. Written end-term exam: 6 points

or

T. Written final exam: 12 points

Classification improvement

Please contact the teacher.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2025-06-17 at 13:28:02 | Acceptable Use Policy | Data Protection Policy | Complaint Portal