Designing a Global Name Service written by Butler W. Lampson, - - PowerPoint PPT Presentation

designing a global name service
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Faculty of Computer Science Institute for System Architecture, Operating Systems Group

Designing a Global Name Service

pizza-reading-group, summer term 2007 written by Butler W. Lampson, presented by Thomas Knauth

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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* ?!

slide-11
SLIDE 11

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

tree into another?