commit | e246b62b1b249e1c19f620fd5871fabf1721ad86 | [log] [tgz] |
---|---|---|
author | Qiuhan Ding <dingqiuhan@gmail.com> | Wed Dec 03 21:57:48 2014 -0800 |
committer | Qiuhan Ding <dingqiuhan@gmail.com> | Mon Jan 05 09:50:40 2015 -0800 |
tree | 02060e8f2d78e812220d8e2ee378501241d5ee7a | |
parent | d71a08a9ba23b67358de43b28e18ae33399f280d [diff] |
socket: allow manipulating multiple nodes in single logic Change-Id: I61241f4c3d92703e975d988d593957d445942ad0
In supporting many distributed applications, such as group text messaging, file sharing, and joint editing, a basic requirement is the efficient and robust synchronization of knowledge about the dataset such as text messages, changes to the shared folder, or document edits. This library implements ChronoSync protocol, which exploits the features of the Named Data Networking architecture to efficiently synchronize the state of a dataset among a distributed group of users. Using appropriate naming rules, ChronoSync summarizes the state of a dataset in a condensed cryptographic digest form and exchange it among the distributed parties. Differences of the dataset can be inferred from the digests and disseminated efficiently to all parties. With the complete and up-to-date knowledge of the dataset changes, applications can decide whether or when to fetch which pieces of the data.
ChronoSync uses ndn-cxx library as NDN development library.
ChronoSync is an open source project licensed under GPL 3.0 (see COPYING.md
for more detail). We highly welcome all contributions to the ChronoSync code base, provided that they can licensed under GPL 3.0+ or other compatible license.
Please submit any bugs or issues to the ChronoSync issue tracker:
Required:
protobuf
library--with-log4cxx
configure option)To build ChronoSync from the source:
./waf configure ./waf sudo ./waf install
If configured with tests: ./waf configure --with-tests
), the above commands will also generate unit tests in ./build/unit-tests