28
Naming in Naming in Distributed Systems Distributed Systems

Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Embed Size (px)

Citation preview

Page 1: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Naming in Distributed Naming in Distributed SystemsSystems

Page 2: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

OutlineOutline

• Introduction Introduction

• Some basic Concepts Some basic Concepts

• INS :)INS :)

• Yet another naming Scheme. Yet another naming Scheme.

Page 3: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Why Name? Why Name?

Convenience in Accessing/Sharing Objects (Files)

Fundamental concept in Communication (mailboxes, remote nodes)

Page 4: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

What does Naming get What does Naming get us?us?• Mapping between names->objectsMapping between names->objects

• Provide info on those objectsProvide info on those objects

• Locate/discover objects and their Locate/discover objects and their attributesattributes

Thus it directly affects :Thus it directly affects :• Sharing, migration, replication, Sharing, migration, replication,

securitysecurity

Page 5: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

NamesNames

• Most definitions are inadequate.Most definitions are inadequate.

• ISO : It is an identifier that ISO : It is an identifier that denotesdenotes an object.an object.

ClassificationClassification• Non-Ambiguous. 1->N (Name->Object)Non-Ambiguous. 1->N (Name->Object)

• Non-Unique. N->1Non-Unique. N->1

• Global.Global.

Page 6: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Names, Addresses And Names, Addresses And RoutesRoutes

• Name specifies WHAT, address WHERE, Name specifies WHAT, address WHERE, routes HOW to get there.routes HOW to get there.

• Each is a tighter binding of information.Each is a tighter binding of information.

• System names / Communication names.System names / Communication names.

• Name is usually user-friendly. Naming Name is usually user-friendly. Naming facility translates names-> addresses-> facility translates names-> addresses-> routes. Routing is part of naming!routes. Routing is part of naming!

Page 7: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Name StructureName Structure

• Flat : No internal structure.Flat : No internal structure.

• Partitioned : Usually hierarchical and Partitioned : Usually hierarchical and have a naming context.have a naming context.

• Descriptive : Descriptive : Attribute Based. Attribute Based. Partitioned name is subclass.Partitioned name is subclass.Non-unique Names. Non-unique Names. Std. Std. Structure & Semantics needed.Structure & Semantics needed.

Page 8: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Naming Context/DomainNaming Context/Domain

• A context can be defined as the A context can be defined as the environment in which a name is environment in which a name is valid. valid. (Global names have no context.)(Global names have no context.)

• Helps partition the name space.Helps partition the name space.

• Implicit Context : Relative naming Implicit Context : Relative naming conventions.conventions.

Page 9: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Naming schemesNaming schemes

• Hierarchical : Hierarchical : – Extensible/scalable.Extensible/scalable.

– Goes with logical view of the system. Goes with logical view of the system.

– Implicit context -> smaller names.Implicit context -> smaller names.

– Configuration is (usually) not simple.Configuration is (usually) not simple.

Page 10: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Naming Schemes (cont’d)Naming Schemes (cont’d)

• Descriptive : Descriptive : – Supports ‘services’. Supports ‘services’.

– Scalable. Scalable.

– Easily supports fault-tolerance, group Easily supports fault-tolerance, group communication. communication.

– Processing overhead is usually large.Processing overhead is usually large.

Page 11: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

• Flat : Flat : – No internal structure.No internal structure.

– Names remain same even if object moves.Names remain same even if object moves.

– Easily hashed and stored (no processing Easily hashed and stored (no processing overhead) : efficient. overhead) : efficient.

– Easier to implement? Easier to implement?

– Not scalable.Not scalable.

Naming Schemes (cont’d)Naming Schemes (cont’d)

Page 12: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Factors in Designing Naming Factors in Designing Naming FacilityFacility

• Ease of Name generation.Ease of Name generation.

• Location Transparency: Dynamic binding of Location Transparency: Dynamic binding of names->addresses. Object mobility.names->addresses. Object mobility.

• Two levels of identification : user-friendly, Two levels of identification : user-friendly, machine-friendly. machine-friendly.

• Efficient : Delay, #messages exchanged Efficient : Delay, #messages exchanged must be minimum.must be minimum.

Page 13: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

• Support for 1->N mapping between Support for 1->N mapping between names & addresses : names & addresses : – Fault ToleranceFault Tolerance

– Group Communication.Group Communication.

Page 14: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

INSINS

• LCS, MIT. 1999LCS, MIT. 1999

• Part of self-organizing adaptive Part of self-organizing adaptive networks research.networks research.

Page 15: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

MotivationMotivation• How to adapt to dynamicity in networks seamlessly - How to adapt to dynamicity in networks seamlessly -

mobility of devices and services.mobility of devices and services.

• Dynamic resource discovery and service location.Dynamic resource discovery and service location.

• Software and service mgmt cost > HWSoftware and service mgmt cost > HW

• E.g. : good ol’ printer, finding least loaded server, etc.E.g. : good ol’ printer, finding least loaded server, etc.

Page 16: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Design GoalsDesign Goals• Expressiveness : in finding/discovering Expressiveness : in finding/discovering

devices/services.devices/services.

• Responsiveness : adapt quickly to mobility.Responsiveness : adapt quickly to mobility.

• Robustness : Name service failures, Robustness : Name service failures, inconsistent state.inconsistent state.

• Easy Configuration : minimal manual Easy Configuration : minimal manual intervention, dynamic load distribution.intervention, dynamic load distribution.

Page 17: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

What is meant by INSWhat is meant by INS

• Describe ‘what’ (intent) to look for, Describe ‘what’ (intent) to look for, not where.not where.

• Intentional names implemented Intentional names implemented using name-specifiers :- Hierarchy of using name-specifiers :- Hierarchy of attributes and values.attributes and values.

• Message headers contain name-Message headers contain name-specifiers not IP addresses.specifiers not IP addresses.

Page 18: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

INS ArchitectureINS Architecture

• INRs form overlay network.INRs form overlay network.

• Services register with the INRs Services register with the INRs (periodic advertisement)(periodic advertisement)

• Clients send messages to INRs.Clients send messages to INRs.

• Early/Late binding.Early/Late binding.

• Intentional anycast/multicast.Intentional anycast/multicast.

Page 19: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

INR boot-upINR boot-up

• DSR (Domain Space Resolver) DSR (Domain Space Resolver) maintains list of active/candidate maintains list of active/candidate INRs. INRs.

• New INR : ping every other INR. New INR : ping every other INR. Establish neighbour relation. Establish neighbour relation.

• Spanning tree of INRs. Spanning tree of INRs.

Page 20: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Service RegistrationService Registration

• Soft State, Soft State, Soft State! :- Soft State, Soft State, Soft State! :- robustness.robustness.

• Periodically advertise intentional Periodically advertise intentional names to INR.names to INR.

• INR relays names to other INRs INR relays names to other INRs periodically :- All INRs know all periodically :- All INRs know all names!names!

Page 21: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Client sideClient side

• Intentional Anycast : Send to any server Intentional Anycast : Send to any server satisfying request.satisfying request.

• Intentional Multicast : All servers Intentional Multicast : All servers satisfying requestsatisfying request

• Early Binding : Similar to DNS.Early Binding : Similar to DNS.

• Late Binding : Message routing at name Late Binding : Message routing at name resolution time. resolution time.

Page 22: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Load Balancing, ScalingLoad Balancing, Scaling

• Spawn INRs on candidates. Kill if Spawn INRs on candidates. Kill if below threshold.below threshold.

• Divide name-space :Divide name-space :– Handle only part of name space.Handle only part of name space.

– Cache popular ones.Cache popular ones.

– Refer to root (DSR) otherwise. Refer to root (DSR) otherwise.

Page 23: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Naming & Addressing Naming & Addressing withoutwithoutUnique IdentifiersUnique Identifiers

• Sony CSL.Sony CSL.

• Muse operating system. Muse operating system.

Page 24: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

MotivationMotivation

• Scalability. Ability to generate Scalability. Ability to generate unique ids regardless how how big unique ids regardless how how big system grows.system grows.

• Mobility : Of hosts and dynamically Mobility : Of hosts and dynamically adapting to it.adapting to it.

Page 25: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

Design GoalsDesign Goals

• Uniqueness : One name should only Uniqueness : One name should only represent one object.represent one object.

• Location transparency. Location transparency.

• ScalabilityScalability

• Short repstn. to logically nearby objects.Short repstn. to logically nearby objects.

• Availability and fault tolerance of name Availability and fault tolerance of name service.service.

Page 26: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

AssumptionsAssumptions

• Ultra large scale : broadcast Ultra large scale : broadcast impossible.impossible.

• Communication with distant objects Communication with distant objects is rare compared to local ones.is rare compared to local ones.

• Local naming contexts with Local naming contexts with hierarchical structure.hierarchical structure.

Page 27: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

DesignDesign• One root naming contextOne root naming context

• Relative representation.Relative representation.

• OIDs, OADs, LIDs, LADs :OIDs, OADs, LIDs, LADs :– Format of OID.Format of OID.

– Interpretation of OIDInterpretation of OID

– Translation of OID/OADTranslation of OID/OAD– Message PassingMessage Passing– Object MigrationObject Migration

Page 28: Naming in Distributed Systems. Outline IntroductionIntroduction Some basic ConceptsSome basic Concepts INS :)INS :) Yet another naming Scheme.Yet another

CloseClose