8

For my code which is running on different devices, i need to determine the ordering of messages which are sent between those devices. Therefore I would like to use vector clocks since I read vector clocks allow for the ordering of events.

Is there any established framework/public API which I can use for that? Or a reference implementation= Or do I have to code it from scratch?

Thanks for any references and hints

mbx
  • 6,292
  • 6
  • 58
  • 91
  • 1
    Here's a similar question: http://stackoverflow.com/questions/939633/is-there-an-off-the-shelf-clock-synchronization-solution-for-java – Gilbert Le Blanc Jun 17 '10 at 13:27

2 Answers2

8

A VectorClock implementation is available from Google Code.

You could also look at the patches to add vector clock support in Cassandra.

You should also read the wiki [1] [2] for limitations of the technique and other alternatives.

the_void
  • 5,512
  • 2
  • 28
  • 34
5

I found this vector clock written in Java as a part of project voldemort.

Here's a link to the source code. You'll need to also pull down the class and interface references.

Here's a link to the Javadoc.

Here's a Wikipedia article on vector clocks.

Gilbert Le Blanc
  • 50,182
  • 6
  • 67
  • 111