COMP90015 Distributed Systems: Principles and
分布式系统考试代写 Considering the overall performance of the application, what would you say is the main limiting factor to obtaining a good quality
(a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.
(b) [1 marks] In the context of distributed systems, what is meant by the term independent failure?
(a) [4 marks] For each of the following distributed system challenges, explain why it is a challenge, giving an example for each case:
(b) [1 marks] What is middleware in the context of distributed systems?
(a) [4 marks] Draw a high level architecture diagram for each of the following architectural models and briefly explain each diagram:
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.
(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 invocation. 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:
(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 possible implementation, the main resources and the interactions between the threads and resources. Briefly explain the diagram, including an explanation 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.
(a) [3 marks] List and briefly explain three worst-case assumptions when designing 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 lectures. What popular security system did it affect and basically how did it work?
[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.
[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.
[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.