annotate final_main/images/paxos3.pu @ 8:0ad9752c0c85

add chapter5 and 6
author akahori
date Mon, 18 Feb 2019 18:35:32 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
1 @startuml
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
2 title Paxos 3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
3 /' ======= style ======= '/
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
4
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
5 skinparam sequence {
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
6 ArrowColor black
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
7 LifeLineBorderColor black
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
8
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
9 ParticipantBorderColor black
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
10 ParticipantBackgroundColor white
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
11 ParticipantPadding 20
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
12 }
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
13
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
14 /' ======= node name ======= '/
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
15
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
16 /' === proposers === '/
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
17 participant proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
18 activate proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
19 participant proposer2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
20 activate proposer2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
21
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
22 /' === acceptors === '/
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
23 participant acceptor1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
24 activate acceptor1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
25 participant acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
26 activate acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
27 participant acceptor3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
28 activate acceptor3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
29
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
30 /' === learners === '/
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
31 participant learner1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
32 activate learner1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
33
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
34 /' ======= uml ======= '/
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
35
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
36 proposer1 -> acceptor1:Prepare request \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
37 Proposal(7, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
38 proposer1 -> acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
39 proposer1 -> acceptor3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
40
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
41 acceptor1 --> proposer1:Promise Success\n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
42 Proposal(7, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
43 acceptor2 --> proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
44 acceptor3 --> proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
45
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
46 proposer1 -> acceptor3:Accept Request \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
47 Proposal(7, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
48 acceptor3 --> proposer1: Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
49 Proposal(7,1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
50 acceptor3 -> learner1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
51 Proposal(7, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
52
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
53
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
54 proposer2 -> acceptor1:Prepare request \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
55 Proposal(8, 2)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
56 proposer2 -> acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
57 proposer2 -> acceptor3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
58
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
59 acceptor1 --> proposer2:Promise Success\n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
60 Proposal(8, 2)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
61 acceptor2 --> proposer2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
62 acceptor3 --> proposer2:Promise Success \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
63 But Accepted \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
64 Proposal(7, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
65
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
66 proposer1 -> acceptor1:Accept request \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
67 Proposal(7, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
68 proposer1 -> acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
69
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
70 acceptor1 --> proposer1:Accept Fail\n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
71 Promised \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
72 Proposal(8, 2)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
73 acceptor2 --> proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
74
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
75
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
76 proposer1 -> acceptor1:Prepare request \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
77 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
78 proposer1 -> acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
79 proposer1 -> acceptor3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
80
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
81 acceptor1 --> proposer1:Promise Success\n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
82 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
83 acceptor2 --> proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
84 acceptor3 --> proposer1
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
85
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
86
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
87 proposer1 -> acceptor1:Accept request \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
88 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
89 proposer1 -> acceptor2
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
90 proposer1 -> acceptor3
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
91
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
92 acceptor1 --> proposer1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
93 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
94 acceptor1 -> learner1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
95 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
96
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
97 acceptor2 --> proposer1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
98 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
99 acceptor2 -> learner1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
100 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
101
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
102
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
103
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
104 acceptor3 --> proposer1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
105 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
106 acceptor3 -> learner1:Accept \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
107 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
108
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
109 learner1 -> learner1:chosen \n\
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
110 Proposal(13, 1)
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
111
0ad9752c0c85 add chapter5 and 6
akahori
parents:
diff changeset
112 @enduml