Faculty of Computer Science Institute for System Architecture, Operating Systems Group
Designing a Global Name Service written by Butler W. Lampson, - - PowerPoint PPT Presentation
Designing a Global Name Service written by Butler W. Lampson, - - PowerPoint PPT Presentation
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Designing a Global Name Service written by Butler W. Lampson, presented by Thomas Knauth pizza-reading-group, summer term 2007 Introduction What is a
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 2 of 11
Introduction
- What is a name service after all?
– maps names to values e.g. domain names to IP addresses
- What are the design challenges?
– size – lifetime – high availability – fault-tolerance – mistrust
- Where are name services used today?
– most prominent is probably DNS – in fact, this design uses the name service to look up server names
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 3 of 11
Directory tree
- basic element is the
directory
- directory identifier (DI)
- directory reference is
value of the name i.e. the DI
- directory maps
directory names to directory identifiers
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 4 of 11
Values in a directory
- directory maps names
to trees
- labels
- timestamps for
synchronization
- mark indicates
whether node is present or absent
- value of a path can be
– single leaf – set of leaves – sub-tree
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 5 of 11
Behind the scenes
- multiple directory
copies
- copies loosely
synchronized
– sync by sweeps, or – by messages
- copies linked into a
ring
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 6 of 11
Growing the name space
- adding is straightforward
- combining by creating a new root
– keep set of well-known directory identifiers
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 7 of 11
Restructuring
- making IBM subtree of DEC
– create a link if old name should still work
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 8 of 11
Caching
- directory reference upper bound on validity
called expiration time
- directory lookup can be safely cached for
t=minimum over all expiration times
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 9 of 11
What I left out
- intricacies of update/sweeping mechanism
- name service interface
– client/administrators way to interact with the service
- specification
– collection of predicates that must hold during execution
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 10 of 11
Rather closed questions
- “I expect that most updates will be
distributed in messages, but it is extremely difficult to make this method fully reliable. The sweep, [...], is quite easy to implement reliably.” Why?
- What is SRC/Birrell?
– l*/l where l* is empty? But it's not an only child ... – l*/li where li is a leaf node? But not all are leaf nodes ... – l* were the node where it ends is the value of l*; is there a node for l* ?!
TU Dresden, 2007-05-23 Designing a Global Name Service Slide 11 of 11
Open questions
- Would you expect anything else from a name
service? Does technological advance allow for some other design?
- What do current name services (e.g. DNS)
look like?
- Has this design proven practical?
- What about multiple roots and links from one