A library for synchronizing remote data with minimum communication.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
include
src
tests
.DS_Store
.cproject
.dep.inc
.gitignore
.project
BUGS.txt
CMakeLists.txt
LICENSE
README.md

README.md

cpisync

This is the source code for set reconciliation from the CPISync project (http://nislab.bu.edu). Current Version - 2.0.3


References:

The code, explanation, references, API, and a demo can be found on this web page. If you use this work, please cite any relevant papers below.

The main theoretical bases for the approaches in this work are:

Relevant applications and extensions can be found at:

  • D. Starobinski, A. Trachtenberg and S. Agarwal, "Efficient PDA synchronization" IEEE Transactions on Mobile Computing 2:1, pp. 40-51 (2003) http://ipsit.bu.edu/documents/efficient_pda_web.pdf

  • S. Agarwal, V. Chauhan and A. Trachtenberg, "Bandwidth efficient string reconciliation using puzzles" IEEE Transactions on Parallel and Distributed Systems 17:11,pp. 1217-1225 (2006) http://ipsit.bu.edu/documents/puzzles_journal.pdf

  • M.G. Karpovsky, L.B. Levitin. and A. Trachtenberg, "Data verification and reconciliation with generalized error-control codes" IEEE Transactions on Information Theory 49:7, pp. 1788-1793 (2003).

  • More at http://people.bu.edu/trachten.

Elements of the CPISync project code have been worked on, at various points, by:

@ Ari Trachtenberg

@ Sachin Agarwal

@ Paul Varghese

@ Jiaxi Jin

@ Jie Meng

@ Alexander Smirnov

@ Eliezer Pearl


Compilation:

This project has the following dependencies:


Acknowledgments: NSF

Ari Trachtenberg, trachten@bu.edu, Boston University