OHJ-5016 Introduction to Distributed Systems, 5 cr


Course catalog
Main page
Lectures
Projects
Examination

Institute of Software Systems courses
EnglishAll

Examination

Exam times

20.5.2008 (Location unknown) 1700-2000

Mock exam paper

Here is a mock exam paper that will give you some idea of the upcoming exam.

Previous exam papers

Here are two exam papers from last year. The exam paper for this year will have the same "style" but obviously not the same questions.

Other papers in Finnish for the main OHJ-5010 course can be found on the Tite Archive.

Examination topics

Here are the sections of the textbook that you should study for the exam. (Those that start with "+" should be studied; those that start with "-" can be ignored.)

    Ch 1 Introduction
    -----------------
    + 1.1 Definition of a distributed system
    + 1.2 Goals
    + 1.3 Types of distributed systems
    + 1.4 Summary
    
    Ch 2 Architectures
    ------------------
    + 2.1 Architectural styles
    + 2.2 System architectures
          + 2.2.1 Centralized architectures
          - 2.2.2 Decentralized architectures
          + 2.2.3 Hybrid architectures
    + 2.3 Architectures versus middleware
    - 2.4 Self-management in distributed systems
    - 2.5 Summary
    
    Ch 3 Processes
    --------------
    + 3.1 Threads
    + 3.2 Virtualization
    + 3.3 Clients
    + 3.4 Servers
          + 3.4.1 General design issues
          + 3.4.2 Server clusters
          - 3.4.3 Managing server clusters
    - 3.5 Code migration
    - 3.6 Summary
    
    Ch 4 Communication
    ------------------
    + 4.1 Fundamentals
    + 4.2 Remote procedure call
          + 4.2.1 Basic RPC operation
          + 4.2.2 Parameter passing
          + 4.2.3 Aynchronous RPC
          - 4.2.4 Example: DCE RPC
    + 4.3 Message-oriented communication
          + 4.3.1 Message-oriented transient communication
          + 4.3.2 Message-oriented persistent communication
          - 4.3.3 Example: IBM's WebSphere message-queueing system
    - 4.4 Stream-oriented communication
    - 4.5 Multicast communication
    - 4.6 Summary
    
    Ch 5 Naming
    -----------
    + 5.1 Names, identifiers, and addresses
    + 5.2 Flat naming
    + 5.3 Structured naming
          + 5.3.1 Name spaces
          + 5.3.2 Name resolution
          - 5.3.3 The implementation of a name space
          - 5.3.4 Example: the Domain Name System
    - 5.4 Attribute-based naming
    - 5.5 Summary
    
    
    Ch 6 Synchronization
    --------------------
    + 6.1 Clock synchronization
    + 6.2 Logical clocks
    - 6.3 Mutual exclusion
    - 6.4 Global positioning of nodes
    - 6.5 Election algorithms
    - 6.6 Summary
    
    Ch 7 Consistency and replication
    --------------------------------
    + 7.1 Introduction
    + 7.2 Data-centric consistency models
    + 7.3 Client-centric consistency models
    - 7.4 Replica management
    - 7.5 Consistency protocols
    - 7.6 Summary
    
    Ch 8 Fault tolerance
    --------------------
    - 8.1 Introduction to fault tolerance
    - 8.2 Process resilience
    - 8.3 Reliable client-server communication
    - 8.4 Reliable group communication
    - 8.5 Distributed commit
    - 8.6 Recovery
    - 8.7 Summary
    
    Ch 9 Security
    -------------
    + 9.1 Introduction to security
    + 9.2 Secure channels
          + 9.2.1 Authentication
          + 9.2.2 Message integrity and confidentiality
          + 9.2.3 Secure group communication
          - 9.2.4 Example: Kerberos
    - 9.3 Access control
    - 9.4 Security management
    - 9.5 Summary
    
    Ch 10 Distributed object-based systems
    --------------------------------------
    + 10.1 Architecture
           + 10.1.1 Distributed objects
           - 10.1.2 Example: Enterprise Java Beans
           - 10.1.3 Example: Globe distributed shared objects
    + 10.2 Processes
           + 10.2.1 Objects servers
           - 10.2.2 Example: the Ice runtime system
    + 10.3 Communication
           + 10.3.1 Binding a client to an object
           + 10.3.2 Static versus dynamic remote method invocations
           + 10.3.3 Parameter passing
           - 10.3.4 Example: Java RMI
           - 10.3.5 Object-based messaging
    - 10.4 Naming
    - 10.5 Synchronization
    - 10.6 Consistency and replication
    - 10.7 Fault tolerance
    - 10.8 Security
    - 10.9 Summary
    
    Ch 11 Distributed file systems
    ------------------------------
    + 11.1 Architecture
    + 11.2 Processes
    + 11.3 Communication
           + 11.3.1 RPCs in NFS
           - 11.3.2 The RPC2 subsystem
           - 11.3.3 File-oriented communication in Plan 9
    + 11.4 Naming
    + 11.5 Synchronization
           + 11.5.1 Semantics of file sharing
           + 11.5.2 File locking
           - 11.5.3 Sharing files in Coda
    + 11.6 Consistency and replication
           + 11.6.1 Client-side caching
           + 11.6.2 Server-side replication
           - 11.6.3 Replication in peer-to-peer file systems
           - 11.6.4 File replication in grid systems
    - 11.7 Fault tolerance
    - 11.8 Security
    - 11.9 Summary
    
    Ch 12 Distributed web-based systems
    -----------------------------------
    + 12.1 Architecture
    + 12.2 Processes
    + 12.3 Communication
    - 12.4 Naming
    - 12.5 Synchronization
    - 12.6 Consistency and replication
    - 12.7 Fault tolerance
    - 12.8 Security
    - 12.9 Summary
    
    Ch 13 Distributed coordination-based systems
    --------------------------------------------
    - 13.1 Introduction to coordination models
    - 13.2 Architecture
    - 13.3 Processes
    - 13.4 Communication
    - 13.5 Naming
    - 13.6 Synchronization
    - 13.7 Consistency and replication
    - 13.8 Fault tolerance
    - 13.9 Security
    - 13.10 Summary

http://www.cs.tut.fi/OHJ-5016/exams.html