Why this property of VC(a)<VC(b) ==> a->b of Vector Clocks always holds?

103 views Asked by At

According to Wikipedia page of Vector Clocks:

If VC(a) < VC(b) then a -> b

    VC - Vecor Clock
    -> - casually related

But if we have the following schema: Click Here For the Image

Now we can see the event with VC(1,0,1) and VC(0,2,2), they fullfill the condition:

sqrt(1+0+1) < sqrt(0+4+4) =>  sqrt(2) < sqrt(8)    //TRUE

But these two events (VC(1,0,1) and VC(0,2,2)) are not in the casual order relation!

Could someone tell me what is wrong here, am I missing something?

1

There are 1 answers

0
vasha On

Not sure what you mean by the event here!

If actor x has a vector clock VC(x) = VC(1, 0, 1) and actor y has vector clock VC(y) = VC(0, 2, 2) then. - There is an event that actor x knows that y is not aware of (or causality dependent on). This event happened when the first value of the clock changed from 0 to 1.
- Also, there are three events that y know and x is not aware of (or causality dependent on). These events happened when the second and third values incremented on the vector clock. So:

VC(x) is not <= VC(y) VC(y) is not <= VC(x)

These clock don't have causal dependency and can't be compared directly.