Professional Documents
Culture Documents
(0,0,0)
P1
VP1( __ , __ )
(0,0,0)
P2
M1
M2 M3 a
VP2( __ , __ )
(0,0,0)
P3
VP3( __ , __ )
Initially Vector Time is (0,0,0) at all sites Vector at each site is empty. Note here we have taken size of vector at each site as 2. If You want you can extend it easily upto 3.
VP1
( __ , __ )
VP2
( __ , __ )
VP3
( __ , __ )
1.
Send Step at P2
P2 Sends Message M1 to P1 [ Vector accompanying Message will be represented as VM ( __, __) i.e. empty ]. So P2 sends the Message {( __, __), (0,1,0)} to P1. After Sending Message it updates its own vector VP2. Now P1s corresponding entry in VP2 (i.e. Vector of Process P2) is empty so the pair {P1,(0,1,0)} will be inserted in VP2. So before sending message M1, VP2 is ( __,__) but after sending message M1 , P2s vector VP2 will be updated as {(P1,(0,1,0)), __)}.
2.
Important Point : Message M1 is sent with Earlier VP2 (as VM )i.e. VP2 existing at P2 before sending message M1. VP2 gets updated with new entry after sending Message M1.
2.
3.
For Figure 1 only Step1 is fulfilled that is why M1 is received at point y at P1. [Assume M3 has not been received at x]
1.
2.
STEP B. Update P1s logical clock so time at P1 will be (1,1,0) STEP C. Check for Buffered Messages at P1 . There is no buffered Messages at P1.
is shown as follows
Process
P1 P2
Vector
VP1 ( __, __) [Empty]
Time
(1,1,0) at y (0,1,0)
P3
(0,0,0)
2.
Process
Vector
Time
P1
P2 P3
(1,1,0) at y
(0,2,0) (0,0,0)
2.
3.
For Figure 1 only Step1 is fulfilled that is why M2 is received at point a at P3.
1.
2.
[Note VM contains entry for P1. Step1 condition ] SO VP3 after Merge will be [{P1,(0,1,0)} , __ ]
STEP B. Update P3s logical clock so time at P3 will be (0,2,1) STEP C. Check for Buffered Messages at P3 . There is no buffered Messages at P3.
Process
P1 P2
Vector
VP1 ( __, __) [Empty]
Time
(1,1,0) at y (0,2,0)
P3
(0,2,1) at a
2.
Process
Vector
Time
P1
P2 P3
(1,1,0) at y
(0,2,0) (0,2,2) at b
1.
2.
1.
2.
[Note VM contains entry for P1. Step1 condition ] SO VP3 after Merge will be [{P1,(0,1,0)} , __ ]
STEP B. Update P3s logical clock so time at P3 will be (0,2,1) STEP C. Check for Buffered Messages at P3 . There is no buffered Messages at P3.
Process
P1 P2
Vector
VP1 ( __, __) [Empty]
Time
(1,1,0) at y (0,2,0)
P3
(0,2,1) at a