Slide 12
Slide 12 text
Coordinating (eg. Distributed Locks, Transactions)
f
u
n
c r
u
n
T
r
a
n
s
a
c
t
i
o
n
(
c
l
i
e
n
t *
c
o
n
s
u
l
a
p
i
.
C
l
i
e
n
t
, n
o
d
e
I
D s
t
r
i
n
g
) {
s
e :
= &
c
o
n
s
u
l
a
p
i
.
S
e
s
s
i
o
n
E
n
t
r
y
{
N
a
m
e
: "
k
e
y
L
o
c
k
"
,
C
h
e
c
k
s
: [
]
s
t
r
i
n
g
{
"
s
e
r
f
H
e
a
l
t
h
"
, "
s
e
r
v
i
c
e
:
" + n
o
d
e
I
D
}
,
}
s
e
s
s
i
o
n
I
D
, _
, e
r
r :
= c
l
i
e
n
t
.
S
e
s
s
i
o
n
(
)
.
C
r
e
a
t
e
(
s
e
, n
i
l
)
i
f e
r
r !
= n
i
l {
r
e
t
u
r
n
}
d
e
f
e
r c
l
i
e
n
t
.
S
e
s
s
i
o
n
(
)
.
D
e
s
t
r
o
y
(
s
e
s
s
i
o
n
I
D
, n
i
l
)
f
o
r {
p :
= &
c
o
n
s
u
l
a
p
i
.
K
V
P
a
i
r
{
K
e
y
: "
l
o
c
k
e
d
K
e
y
"
, V
a
l
u
e
: n
i
l
, S
e
s
s
i
o
n
: s
e
s
s
i
o
n
I
D
}
i
f o
k
, _
, e
r
r :
= c
l
i
e
n
t
.
K
V
(
)
.
A
c
q
u
i
r
e
(
p
, n
i
l
)
; e
r
r !
= n
i
l |
| !
o
k {
t
i
m
e
.
S
l
e
e
p
(
1 * t
i
m
e
.
M
i
l
l
i
s
e
c
o
n
d
)
c
o
n
t
i
n
u
e
}
d
e
f
e
r c
l
i
e
n
t
.
K
V
(
)
.
R
e
l
e
a
s
e
(
p
, n
i
l
)
s
l
o
w
T
r
a
n
s
a
c
t
i
o
n
(
n
o
d
e
I
D
)
r
e
t
u
r
n
}
} Run