Distributed and Mobile Systems
Keywords |
Classification |
Keyword |
OFICIAL |
Computer Science |
Instance: 2012/2013 - 1S
Cycles of Study/Courses
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.