| From | Sent On | Attachments |
|---|---|---|
| Thomas Müller | Oct 19, 2010 3:23 am | |
| Raffaele Sena | Oct 19, 2010 11:15 am | |
| Alexander Klimetschek | Oct 19, 2010 1:13 pm | |
| Justin Edelson | Oct 19, 2010 2:16 pm | |
| Jukka Zitting | Oct 19, 2010 3:04 pm | |
| Thomas Müller | Oct 20, 2010 2:21 am | |
| Alexander Klimetschek | Oct 21, 2010 7:57 am | |
| Alexander Klimetschek | Oct 21, 2010 7:59 am | |
| Michael Dürig | Oct 21, 2010 9:34 am | |
| Thomas Müller | Oct 21, 2010 12:02 pm | |
| Thomas Müller | Oct 21, 2010 12:23 pm | |
| Alexander Klimetschek | Oct 21, 2010 1:10 pm | |
| Thomas Müller | Oct 21, 2010 9:53 pm | |
| Ian Boston | Oct 22, 2010 4:01 am |
| Subject: | Re: [jr3] Clustering: Scalable Writes / Asynchronous Change Merging | |
|---|---|---|
| From: | Thomas Müller (thom...@day.com) | |
| Date: | Oct 21, 2010 12:23:09 pm | |
| List: | org.apache.jackrabbit.dev | |
Hi,
See section 7 "Vector Time". Also see [1] from slide 14 onwards for a more approachable reference. [1] http://www.cambridge.org/resources/0521876346/6334_Chapter3.pdf
Thanks! From what I read so far it sounds like my idea is called "Time Warp" / "Virtual Time".
On page 10 and 11 there is the notion of "Total Ordering": "The main problem in totally ordering events is that two or more events at different processes may have identical timestamp." - "A tie-breaking mechanism is needed to order such events." - "Process identifiers are linearly ordered and tie among events with identical scalar timestamp is broken on the basis of their process identifiers." This is what I meant with "+ clusterNodeId"
Vector time and Matrix time: I think it would need too much memory - if the dimension of vector clocks is the number of cluster nodes, then the number of dimensions would change whenever you add a cluster node.
Time Warp matches my suggestion: Page 33 says "Time Warp relies on the general lookahead-rollback mechanism where each process executes without regard to other processes having synchronization conflicts." - it sounds like my proposal (I specially like the term "Time Warp"). "If a conflict is discovered, the offending processes are rolled back to the time just before the conflict and executed forward along the revised path." "Virtual time is implemented a collection of several loosely synchronized local virtual clocks."
Regards, Thomas





