Replication between clusters

Please do not merge this pull request.
I would like to discuss some design issues which are commented by "TODO" in code.
Why do you check the incremental and decrement operation?