What is the architecture solution for a synchronization file with distribution systems?

Posted on 2014-12-20
Last Modified: 2014-12-24
I understand the complexity of the question. This is for self-study. So if you can suggest which resources I can learn from. it also would help.

I want to architect for a system like dropbox. I have never work with distribution system before, So could you give me a  full solution for this problem.
How to sync when servers distribute around the world
How to handle Conflict and file version.
What should have in back-end side?

I am very appreciated if somebody can help.
Question by:Dao Nguyen
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +3

Author Comment

by:Dao Nguyen
ID: 40512001
I understand the complexity of the question. This is for self-study. So if you can suggest which resources I can learn from. it also would help.

LVL 39

Expert Comment

by:Aaron Tomosky
ID: 40512187
I'd suggest you look at some open source solutions and see how they do it. Start with owncloud:
LVL 63

Accepted Solution

btan earned 500 total points
ID: 40512207
i believe key factor for this focus is elasticity for scaling with client agent, and push notification cum real time messaging of distributed object. You can check out stacksync using ObjectMQ (as abstraction layer doing bulk of the work focus stated) as it compared to Dropbox and scheme of similarity. the former is treated as personal cloud in the study. You may want to consider looking at openstack and owncloud as well
Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

LVL 17

Expert Comment

by:Gerald Connolly
ID: 40512365
@btan - you might want to leave questions open a bit longer before awarding points, this one has only been open barely 24 hours, and the extra zones only a few hours, the Experts on this forum do come from all around the globe, and live in different times zones
LVL 51

Expert Comment

by:Keith Alabaster
ID: 40512426
Dao Nguyen was the question asker, Btan gave the accepted solution so good luck to him. Just because the points have been awarded already doesn't mean you can't post additional comments to make the answer more rounded or more beneficial :)

I would have been interested to understand which aspect of the architecture you were pursuing - was it as a reference architecture? Solution architecture?

Enterprise Architect
LVL 24

Expert Comment

ID: 40513512
A truly distributed system is inherently problematic, for reasons you seem to be aware of.

Timing, stamping, requires synchronization. This often done by each one getting clock update to atomic clock, UTC/GMT. Then they can further synchronize clock (for assessing most recent update) by comparing clocks with each other, adjusting towards average, such as for the two with the closest value. (Those over an hour or two off can be eliminated from averaging algorithm). Once their time is synchronized, then they can be trusted again.

For data receipt, of more than a single packet, packets are numbered, such as "#1 of 10". Now they can be received out of order until all are present and ready for processing. If one or more are missing after time-out period, request for retransmission of (only the missing) packet is made.

Updates are made via queuing principle (FIFO - first in first out, like line at bank or store checkout lane) as opposed to stacking (LIFO - last in last out - like for food trays). Method to insert into queue used to manage updates arriving out-of-sync. Separate queues for incorporating priority such as first control, then update/writes, then reads (including printing requests).

End result though, is that need usually remains for having a single source being the sole trusted repository for backup and restore.
LVL 24

Expert Comment

ID: 40513529
(thought it was open, got 'neglected' alert', but type slow, missed some earlier comments, got interrupted..
Asked by: Dao Nguyen (not btan)

It would be nice to have closing remark (datestamped) by asker

re: > you might want to leave questions open a bit longer

- Alternatively, close here for part of some questions, open new questions to address other question. Can leave pointers in each to connect the parts.

Author Comment

by:Dao Nguyen
ID: 40516093
Sorry for late response. I am really appreciated all help from experts here.
My question is to solve How is the architecture work to implement the system in real life with lastest technology we having?
There are a number of question will be a part of big question.
What distribution framework can be use for this case or we have to manually implement a framework?
How to handle conflict when there are multiple distribution servers there?
It's pretty problematic. I guess I need time to come up more questions.
LVL 51

Expert Comment

by:Keith Alabaster
ID: 40516139
Not a problem  - most often its just a terminology thing. Sounds like you are after a solution architecture.

Featured Post

Create the perfect environment for any meeting

You might have a modern environment with all sorts of high-tech equipment, but what makes it worthwhile is how you seamlessly bring together the presentation with audio, video and lighting. The ATEN Control System provides integrated control and system automation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
MySQL HA and DR solution. 5 37
Assigning Database Principals to Database Roles 3 39
Question about Common Table Expressions 3 43
t-sql left join 2 31
Most of the applications these days are on Cloud. Cloud is ubiquitous with many service providers in the market. Since it has many benefits such as cost reduction, software updates, remote access, disaster recovery and much more.
This article shows the steps required to install WordPress on Azure. Web Apps, Mobile Apps, API Apps, or Functions, in Azure all these run in an App Service plan. WordPress is no exception and requires an App Service Plan and Database to install
Sending a Secure fax is easy with eFax Corporate ( First, just open a new email message. In the To field, type your recipient's fax number You can even send a secure international fax — just include t…
Internet Business Fax to Email Made Easy - With  eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, f…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question