Network and Distributed Computing
This course introduces students to lower-level aspects of computer networking such as: wiring and protocols; LAN technologies; WAN protocols and techniques (e.g. routing, IP, TCP and UDP) underpinning internets. An examination of the concepts, theory and practice of software development in distributed environments follows. The basic foundations for distributed computing are presented. These topics are then expanded to cover the advanced distributed system programmer support provided by middleware. Examples involving commercial distributed computing environments are included to illustrate the decisions and techniques made by designers of distributed software systems.
- Semester 2 - 2016
On successful completion of the course students will be able to:
1. Describe the basic elements of low-level digital communication
2. Explain frame-based computer communication in local area networks.
3. Illustrate the notions of virtual networks and encapsulation that underpin internet-based wide area networks, with particular emphasis on the IP-based Internet.
4. Apply and evaluate rudimentary programming language-level abstractions that simplify the programming interface to computer networking.
5. Describe and analyse system concepts such as processes and threads, process management and scheduling as they relate to distributed software systems, extending these concepts to include issues such as heterogeneity, distributed file systems, transaction management and consistency models, distributed synchronisation and distributed security
6. Analyse and illustrate the use of at least one industry-standard environment for development of distributed software systems.
- Frames and Topologies
- LAN features
- Building WANs
- Internet Addressing
- IP Datagrams, Error Checking and UDP
- TCP, DHCP, NAT, VPNs
- RPC and Middleware
- Review of system concepts such as processes and threads, process management and scheduling
- Introduction to distributed systems
- Interprocess communication, memory management and concurrency
- Distributed process management
- Distributed file systems
- Transaction management and consistency models
- Distributed synchronisation
- Distributed security
Written Assignment: Assignment 1
Written Assignment: Assignment 2
Written Assignment: Assignment 3
Formal Examination: Formal Examination *
* This assessment has a compulsory requirement.
In order to pass this course, each student must complete ALL of the following compulsory requirements:
Course Assessment Requirements:
- Formal Examination: Minimum Grade / Mark Requirement - Students must obtain a specified minimum grade / mark in this assessment item to pass the course. - Students must obtain 40% in the final exam to pass the course.
Face to Face On Campus 3 hour(s) per Week for Full Term
Face to Face On Campus 2 hour(s) per Week for Full Term