Question
How would you design such a service? A file synchronization and backup service such as Dropbox offers high availability of files for reading and writing
How would you design such a service?
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
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started