The University of Melbourne
The University of Melbourne
Examination
Authorized Materials:
• There is NO special authorized material for this examination.
Instructions to Invigilators:
• Please provide students with standard script books.
• Please collect the exam paper from students once they finished answering.
Instructions to Students:
• This examination is worth of 60% of your final mark.
• Answer any 6 out of 8 questions. Please note only first 6 answers will be marked.
• Each question carries 10 marks.
• The numbers in square bracket after each sub-question represents marks allocated to it.
• Start your answer to each question on a new page.
• Make sure your answers are readable. Any unreadable parts will be deemed incorrect.
Page 1 of 2
Question 1:
A) Identify various types of resources that can usefully be shared in computer networks. Give
examples of their sharing as it occurs in distributed systems. [5]
B) Discuss briefly key challenges that one needs to address in the design and development of
distributed applications. [5]
Question 2:
A) Discuss peer-to-peer architectural model for construction of distributed systems. [5]
B) Identify main types of security threats that might occur in the Internet with an example. [5]
Question 3:
A) Discuss difference between TCP/IP and UDP protocols for Socket-based communication. [5]
B) Write a multithreaded Java program that responds to remote clients’ requests for meaning of
words stored in a Dictionary. If a client program sends a message “King” to the server, the
server program responds back with the meaning of word “King” by retrieving it from the
dictionary (as a string). Use Java Sockets for communication between clients and the server. [5]
Question 4:
A) Write a simple CORBA program that demonstrates the invocation of remote object services.
For example, when a client sends a message “Hello”, the server responds with “Hi There!”. [5]
B) Write a simple RMI program that demonstrates the invocation of remote object services. For
example, when a client sends a message “Ping”, the server responds with “Pong”. [5]
Question 5:
A) Discuss important operating systems services that are essential for supporting the development
of concurrent and scalable distributed systems. [5]
B) Discuss architecture of Layered operating system. Comment on how well it supports the
development of extensible operating systems. [5]
Question 6:
A) Discuss techniques for achieving high-performance in distributed file systems. [5]
B) Discuss model architecture of distributed file system and its components. [5]
Question 7:
A) Discuss asymmetric (public/private key pair-based) cryptography technique and how it can be
used in supporting security in distributed systems. [5]
B) Discuss secure socket layer (SSL) architecture and its components. [5]
Question 8:
A) Discuss the role of naming services in distributed systems. List two navigation schemes that
can be used for name resolution in domain name systems. [5]
B) Discuss operation of a typical domain name server (DNS) with suitable example. [5]
Page 2 of 2