Question: A file synchronization and backup service such as Dropbox offers high availability of files for reading and writing from any location and on any device.

A file synchronization and backup service such as Dropbox offers high availability of files for reading and writing from any location and on any device. The goals of these services are simple: (i) all replicas eventually become consistent and (ii) there are no lost updates, i.e., new versions are not replaced with older ones.

How would you design such a service?

Your report should describe the architecture of such a system, discussing any issues that might arise. You need to consider the following questions:

Will you employ a peer-to-peer architecture or a client-server one?

What will be the main entities in your system?

What consistency model will your system implement? How will synchronization happen?

How many replicas will you include in your system?

How will your system allow for updates to files without the clients being connected?

Does your system handle the following scenario: At location A you access one file doing reads and updates. You get on a plane, and arrive at location B seven hours later. At location B you continue your work, but unless you access the same server as the one at location A, you may detect inconsistencies. However, the only thing you really want is that the entries you updated and/or read at A, are in B the way you left them in A. What if somebody else, in the meantime, has edited the file you updated in A?

Step by Step Solution

3.51 Rating (158 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

For a file synchronization and backup service I would opt for a clientserver architecture to ensure ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Operating System Questions!