Chapter 04
(version 15th May 2006)
01 Introduction
02 Communication
03 Processes
04 Naming
05 Synchronization
06 Consistency and Replication
07 Fault Tolerance
08 Security
09 Distributed Object-Based Systems
10 Distributed File Systems
11 Distributed Document-Based Systems
12 Distributed Coordination-Based Systems
00 – 1 /
Naming Entities
Data stored in n1 n0
n2: "elke" home keys
n3: "max"
n4: "steen" "/keys"
n1 n5
"/home/steen/keys"
elke steen
max
n2 n3 n4 keys
Leaf node
.twmrc mbox
Directory node
"/home/steen/mbox"
Observations:
The name resolution process determines that we
read the content of a node, in particular, the name
in the other node that we need to go to.
One way or the other, we know where and how to
start name resolution given /89
Data stored in n1 n0
n2: "elke" home keys
n3: "max"
n4: "steen" n1 n5 "/keys"
elke steen
max
n2 n3 n4
Data stored in n6
Leaf node
.twmrc mbox keys "/keys"
Directory node
n6 "/home/steen/keys"
keys
remote home
vu
"nfs://flits.cs.vu.nl//home/steen"
Z steen
mbox
Y OS
Network
Reference to foreign name space
m0 home
n0 vu
home
vu
NS1 NS2
n0 m0
"m0:/mbox"
elke max steen
d b [
Global
layer ` com ] edu
gov mil org net \ jp us
nl
Z sun
^ yale _ acm ieee
_ ac
` co
[ oce
a vu
] ` ] \ \ `
c Adminis-
eng cs eng jack jill keio nec cs
trational
layer
_ ai linda
` cs ` csl
ftp www
pc24
robot pub
b
b
globe
Mana-
gerial
layer
e Zone
index.txt
1. <nl,vu,cs,ftp>
Root
2. #<nl>, <vu,cs,ftp> name server
nl
3. <vu,cs,ftp> Name server
nl node
Client's 4. #<vu>, <cs,ftp>
name vu
resolver 5. <cs,ftp> Name server
vu node
6. #<cs>, <ftp>
cs
7. <ftp> Name server
8. #<ftp> cs node
<nl,vu,cs,ftp>
#<nl,vu,cs,ftp> ftp
Nodes are
managed by
the same server
1. <nl,vu,cs,ftp>
Root
8. #<nl,vu,cs,ftp> name server 2. <vu,cs,ftp>
<nl,vu,cs,ftp>
#<nl,vu,cs,ftp>
04 – 15 Naming/4.1 Naming Entities
04 – 16
Caching in Recursive Name
Resolution
Server Should Looks up Passes to Receives Returns
for node resolve child and caches to requester
cs ftp # ftp — — # ftp
vu cs,ftp # cs ftp # ftp # cs
# cs, ftp
nl vu,cs,ftp # vu cs,ftp # cs # vu
# cs,ftp # vu,cs
# vu,cs,ftp
root nl,vu,cs,ftp # nl vu,cs,ftp # vu # nl
# vu,cs # nl,vu
# vu,cs,ftp # nl,vu,cs
# nl,vu,cs,ftp
Z Naming
service
Entity ID
Z Location
Address Address
Address
Address
Address
Address
service
(a) (b)
Host's home
location 1. Send packet to host at its home
2. Return address
of current location
Client's
location
3. Tunnel packet to
current location
4. Send successive packets
to current location
Host's present location
Directory node
A subdomain S
dir(S) of domain S
of top-level domain T
(S is contained in T)
Location record
with only one field,
containing an address
Domain D1
Domain D2
Basic principles:
Start lookup at local leaf node
If node knows about the entity, follow downward
pointer, otherwise go one level up
Upward lookup always stops at root
Node knows
about E, so request
Node has no is forwarded to child
record for E, so
that request is M
forwarded to
parent
Look-up
Domain D
request
dress) can be done directly at
j m
i x
Note: assuming that E generally stays in
,
it does make sense to cache a pointer to
Domain D
Cached pointers
to node dir(D) Ethemoves regularly between
two subdomains
Reference counting
Reference listing
Scalability issues
1
+1
Skeleton (maintains reference counter)
Process P
2 ACK
Object O
ACK is lost
3 +1
Proxy p
4 ACK Proxy p is now counted twice
Y O
-1 removed
Y O
-1
ACK
+1
Time
Y Time
_
P2 P2
P2 informs O it P1 sends O acks it knows
has a reference reference to P2 about P2's reference
(a) (b)
Partial weight at
Partial
Skeleton skeleton is halved
Process P
Total weight
Object O
weight 128
128 of proxy 64 64
Partial weight 128
Proxy
(a) (b)
Process P2
P2 gets half
of the weight 32
of proxy at P1 Total and partial
128 weight at skeleton
P1 passes 64 remain the same
reference to P2
Process P1
32
(c)
04 – 35 Naming/4.3 Reclaiming References
Reference Listing
Observation: We can avoid many problems if we can
tolerate message loss and duplication
Observations:
Refreshing may fail in the face of message loss
Refreshing can tolerate message duplication
Does not solve problems related to cyclic refer-
ences