School of Computer Science

Module 06-23644 (2012)

Networks and Distributed Systems

Level 3/H

Mirco Musolesi Semester 2 20 credits
Co-ordinator: Mirco Musolesi
Reviewer: Michael Mistry

The Module Description is a strict subset of this Syllabus Page.

Aims

The aims of this module are to:

  • Provide a sound understanding of the Internet architecture, protocols and technologies
  • Introduce the key concepts at the basis of the design of distributed algorithms and systems
  • Review the state-of-the-art of networked systems and analyse the current trends in research and industry

Learning Outcomes

On successful completion of this module, the student should be able to:

  • Demonstrate an understanding of the fundamental concepts and issues involved in computer networking
  • Demonstrate an understanding of the engineering principles of network and protocol design
  • Demonstrate an understanding of the layered organization and structuring of computer networks, distinguish the problems involved at each layer and understand the techniques and algorithms that have been devised to address these problems
  • Recognise and appreciate fundamental characteristics of distributed systems: geographical distribution, concurrency, lack of global time, delay in communication, heterogeneity and existence of failures
  • explain the main types of architectures and mechanisms of communication, such as client-server and communication protocols
  • demonstrate an understanding of fundamental issues in distributed systems design such as timing, coordination and consensus
  • apply the theoretical concepts and abstractions discussed in the module to the analysis of real-world case studies and design of novel and innovative networked systems
  • explain and analyze the design, organization and operation of state of the art technologies and systems such as cloud computing, mobile and ubiquitous computing, and online social networks

Taught with

  • 06-23640 - Networks and Distributed Systems (Extended)

Teaching methods

3 hours lectures a week, plus exercise classes


Assessment

  • Sessional: 2 hour examination (80%), coursework (20%)
  • Supplementary: 2 hour examination (100%)

Detailed Syllabus

  1. Intro to Distributed Systems and Networking
    • Basic Concepts and System Models
    • Protocols Layers and Service Models
    • Design Patterns of Networked Systems
    • The Internet Architecture
    • Delay Loss and Throughput in Packet-Switched Networks
  2. Application Layer
    • Principles of Network Applications
    • Web and HTTP
    • Electronic Mail
    • DNS
    • P2P Applications
  3. Transport Layer
    • UDP
    • Principles of Reliable Data Transfer
    • TCP
  4. Network Layer
    • Forwarding and Routing
    • Router Design
    • IP
  5. Routing in the Internet
    • The Link State Routing Algorithm
    • The Distance Vector Routing Algorithm
    • Intra-AS Routing in the Internet: RIP
    • Inter-AS Routing: BGP
  6. Link Layer
    • Link Layer Services
    • Examples of Multiple Access Protocols
    • Link Layer Addressing
  7. Wireless and Mobile Networks
    • WiFi
    • Cellular Networks
    • Cellular Internet Access
  8. Designing Distributed Applications
    • Interprocess Communication
    • Client-server Communication
    • Distributed Objects
    • Middleware Systems
    • Group Communication
    • Time and Global States
    • Clocks, Events and Process States
  9. Coordination and Agreement
    • Distributed Mutual Exclusion
    • Elections
    • Coordination and Agreement in Group Communication
    • Consensus
    • Replication
  10. Current Trends in Distributed and Networked Systems
    • Mobile and Ubiquitous Computing
    • Cloud Computing
    • Dealing with Big Data
    • Online Social Networks

Programmes containing this module