Solutions Architecture Blog

Unreliable Network Connections

by Daan De Brouckere 07.13.07

Can you believe there are still places in this world where an always-on connection to the internet is not a given?

I was recently working on a project for a company that was in the process of finding a new system for their mining operations. This system would need to support employees in their field offices as well as management in their headquarters. As they were going through the selection process, they quickly eliminated systems based on their performance. The systems performed very well in “demo-in-a-box” situations. However, when a pilot was attempted at one of the field offices, network issues made all of the “web-based” contenders nearly unusable. Beyond terrible response time, the network would just plain drop off at random points during the day.

The easy answer that came to mind was: FIX THE NETWORK! After several meetings with business and IT senior leadership, it became clear that this easy answer was not feasible due to the dynamics of the organization. Why would IT improve the network for one business unit?

The next alternative that came to mind was: REPLICATION! Why not put a server at each of the field offices and replicate? Although much marketing material is written around replication by the major relational database vendors, basic concerns still need to be addressed such as uniqueness and conflict resolution. If the same item is edited by two users at different locations, is it ok for one of those users to lose their changes? Should a system administrator manually resolve this conflict? How quickly should users in other offices see changes? How do you assign a unique “business-relevant” identifier to an item?

We decided to go down the replication path. A master database was implemented at headquarters and slave databases at each of the field offices. We started with a replication period every 24 hours but quickly changed that to every 5 minutes when we discovered the importance of sharing the latest, greatest data with all sites. We currently have automatic conflict resolution configured so that the master database always wins in case of a conflict. Combined with the 5 minute replication, we’re seeing very few conflicts!

The key to a successful replication solution is ensuring these technical concerns are evaluated in light of the business requirements and expected customer experience.

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required)