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