Decentralized Data Sync

A solution addressing the need for social applications to work with occasional and unpredictable network connections

Jan 2011 - Nov 2012
InSTEDD, Databases, Mobile, Open Source
3 min

1 /3

Client

Mesh4X was developed for InSTEDD, addressing the need for social applications in low-resource environments or crisis to work with occasional and unpredictable network connections, and share data across platforms, allowing changes to flow between different datasources bi-directionally.

2 /3

Approach

Mesh4X keeps track of the user’s data and its changes, and reconciles the differences whenever two data sources are connected to each other. Discovery within a network is automated, making it easy for multiple sources to sync their data in a distributed environment.

It currently has adapters for CSV files and Excel spreadsheets, and can be easily extended with new ones to other data sources, such as SQLite, Access or MySql. It supports the execution of Google Refine scripts for cleaning, normalizing and organizing the user’s data.

3 /3

Results

The initial version of Mesh4x, developed in collaboration with Clarius Consulting, was a set of libraries, services and applications, developed for .NET, Java and J2ME; whereas the current version, much easier and more intuitive to use, is entirely coded in JRuby, using a local Rails server as front-end and making heavy use of CouchDB for synchronizing data and managing conflicts.

Meshes

Meshes and synchronization history listing.

Mesh overview

Overview of the initial state of a mesh with shortcuts to setup for its main features.

Sources

Listing of sources with make up the mesh with its corresponding settings.

Conflicts

Conflict resolution system.

Open source

This project is Open Source, we invite you to collaborate and join us in the development of a better world through the use of technology.


https://code.google.com/archive/p/mesh4x/
 

Let's work together




Start your project