Msg/Event | Meaning | Major actions at receiver | Em. | Ti. |
REGack | regular backup completed | update state | x | (−) |
STLack | steal backup completed | give tasks to all thieves | x | (−) |
TOack | taken-over backup completed, see Figure 3 | send RSTack | x | x |
IAack | inauguration backup completed, see Figure 3 | set Back to new value | x | - |
RSTack | handshaking, see Figure 3 | send IAreq | x | x |
BTack | handshaking, see Figure 2 | send Tend, for last thieve send BVend | x | x |
Tend | stealing completed at thief | update openTends | x | x |
BVend | transaction completed at victim | update state | x | x |
victimLink | discloses link to V, see Figure 2 | save link, send BTack | x | - |
delOpen | Back(T) has taken over copy, see Figure 2 | delete all tasks up to tan from Open(T) | x | - |
linkResolve | Back(T) needs saved tasks from V | send linkTasks | x | - |
linkTasks | discloses requested tasks | if R3 reached, send TOreq | x | x |
GOTcheck | Back(V) checks task arrival at T, see Figure 3 | send GOTok, abort program or wait | x | - |
GOTok | task group has arrived at T, see Figure 3 | if R3 reached, send TOreq | x | x |
deathNotice | backup place died | send restore, invalidate Back | x | - |
REGreq | regular backup requested | replace backup data, send REGack | x | - |
STLreq | steal backup received, see Figure 2 | replace backup data, send STLack | x | - |
TOreq | taken-over backup received, see Figure 3 | replace backup data, send TOack | x | - |
IAreq | inauguration backup received, see Figure 3 | replace backup data, send IAack | x | x |
monitor | ghost activation, see Section 3.1 | spawn ghost, send monitor to Back | x | - |
restore | restore requested, see Figure 3 | send linkResolve/GOTcheck, check ring | x | - |
give | task delivery, see Figure 2 | send victimLink, store tan in tanGOT, insert tasks | - | x |
isDead(Back) | regular isDead() call yields true | send restore | - | n/a |
trySteal | incoming steal request, see Figure 2 | send noTasks or form transaction and start with Figure 2 | - | - |
timeout | timeout detected by timeout control | check liveness, send deathNotice, specifics (see Section 3.4) | x | n/a |
k iters over | backup interval over | send REGreq | - | - |
noTasks | attempted victim has no tasks | send next trySteal or set stealFailed | - | x |
out of work | process(n) returned false | send first trySteal | - | n/a |