The University of Melbourne
COMP90015 Distributed Systems: Principles and
Paradigms
Semester 1, 2014 Final Examination
Department of Computing and Information Systems
COMP90015 Distributed Systems: Principles and Paradigms
Reading Time: 15 minutes
Writing Time: 3 hours
Open Book Status: Closed Book
This paper has 3 pages including this page
Identical Examination Papers: none
Common Content: none
Authorized Materials:
No materials are authorized.
Instructions to invigilators:
No papers may be taken from the exam room.
Instructions to students:
All answers are to be written in the script book(s) provided.
Attempt all questions – partial credit is available.
The examination is worth 60% of the subject assessment.
Paper to be held by Baillieu Library: no
1 of 3 continued on next page
COMP90015 Distributed Systems FINAL EXAMINATION
Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is bene-
ficial.
(b) [1 marks] In the context of distributed systems, what is meant by the term
independent failure?
Q.2. (a) [4 marks] For each of the following distributed system challenges, explain
why it is a challenge, giving an example for each case:
i. Transparency
ii. Security
iii. Heterogeneity
iv. Openness
(b) [1 marks] What is middleware in the context of distributed systems?
Q.3. (a) [4 marks] Draw a high level architecture diagram for each of the following
architectural models and briefly explain each diagram:
i. Client/Server
ii. Peer-to-Peer
iii. A service provided by multiple servers
iv. Proxy server
(b) [4 marks] Draw an interaction diagram to explain the RRA protocol. Explain
the diagram. Explain what problem(s) the RRA protocol solves that the RR
protocol does not.
(c) [2 marks] Consider a client/server system where the server is sending a stream
of temperature readings to the client. Each temperature reading is a 32bit
floating point number. Design a format for the stream, using either a well
known data representation, or your own representation. Explain your design
exactly, so that a third person could implement it without ambiguity.
Q.4. (a) [4 marks] Answer the following questions about Java RMI :
i. Can objects be created remotely? Explain your answer.
ii. Explain the difference between a local invocation and a remote invoca-
tion. If two Java Virtual Machines are on the same physical machine, and
invocation is made between them, is this local or remote?
iii. What is a remote reference? Explain how an object obtains a remote
reference.
(b) [2 marks] Explain the following aspects of a publish subscribe system:
i. Event
ii. Notification
iii. Subscriber
iv. Publisher
2 of 3 continued on next page
COMP90015 Distributed Systems FINAL EXAMINATION
Q.5. (a) [2 marks] Explain what is a persistent asynchronous invocation and describe
an example application that would benefit from this technique.
(b) [2 marks] Explain what is meant by process migration. Explain two major
complications with process migration.
(c) [4 marks] Apart from actual network delay, list and briefly explain four factors
that contribute to the delay incurred when making an RMI call.
(d) [6 marks] Considering your second project, answer the following questions:
i. Draw an architectural diagram that shows the threads used in a possi-
ble implementation, the main resources and the interactions between the
threads and resources. Briefly explain the diagram, including an explana-
tion of each thread and resource, and any concurrency control needed.
ii. Considering the overall performance of the application, what would you
say is the main limiting factor to obtaining a good quality stream of
images? Explain your answer.
Q.6. (a) [3 marks] List and briefly explain three worst-case assumptions when design-
ing a secure system.
(b) [4 marks] Explain what is a digital certificate, including what is the basic
technique used to create a digital certificate, and what is a certificate chain.
(c) [2 marks] Briefly explain the infamous Heartbleed Bug, as discussed in lec-
tures. What popular security system did it affect and basically how did it
work?
Q.7. [3 marks] Consider a distributed file system that implements file replication. What
is file replication and what benefit(s) does it have? What problem(s) can occur in
a system that uses file replication? Explain your answers.
Q.8. [3 marks] Before DNS, a single file was used to store all name information for
computers on the Internet. This file was downloaded by everyone on the Internet
on a daily basis, from the well known host that provided it. List and briefly explain
three problems with this approach, that prompted people to develop DNS.
Q.9. [5 marks] Consider an image-resizing service. Clients submit an image to the
service along with a resize factor and the service returns the image scaled by the
resize factor. The service is expected to act in real time – e.g. for images of less
than 1 megabyte in size the service should respond in less than 500ms for 99% of the
requests. Also, the system should provide 99.9% availability in a month, meaning
that the system is rarely unavailable. Using your knowledge of distributed systems,
propose an overall approach for this system, draw an architecture diagram, and
explain the protocol that you propose. Your approach should address the common
challenges of a distributed system and specifically the challenges suggested above.
Explain how it does so. Your answer should be less than one page.
END OF EXAMINATION
3 of 3