Naming in Distributed Naming in Distributed SystemsSystems
OutlineOutline
• Introduction Introduction
• Some basic Concepts Some basic Concepts
• INS :)INS :)
• Yet another naming Scheme. Yet another naming Scheme.
Why Name? Why Name?
Convenience in Accessing/Sharing Objects (Files)
Fundamental concept in Communication (mailboxes, remote nodes)
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
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.
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!
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.
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.
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.
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.
• 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)
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.
• Support for 1->N mapping between Support for 1->N mapping between names & addresses : names & addresses : – Fault ToleranceFault Tolerance
– Group Communication.Group Communication.
INSINS
• LCS, MIT. 1999LCS, MIT. 1999
• Part of self-organizing adaptive Part of self-organizing adaptive networks research.networks research.
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.
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.
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.
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.
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.
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!
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.
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.
Naming & Addressing Naming & Addressing withoutwithoutUnique IdentifiersUnique Identifiers
• Sony CSL.Sony CSL.
• Muse operating system. Muse operating system.
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.
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.
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.
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
CloseClose
•