Chapter 4 - Naming Flashcards
What is the fundamental difference between a name and an address in a distributed system?
A name is a string of characters used to refer to an entity, while an address tells you how to locate that entity.
Location independence means a name is independent of its address, providing flexibility for entity migration, replacement, and easier addressing.
What is name resolution?
Name resolution is the process of finding an entity’s address given its name.
A naming system maintains name-address bindings.
How does broadcasting work for resolving flat names?
Broadcasting involves sending a message with the desired name to every machine in the network, where each machine checks if the name matches a local entity and replies if it does.
Limitations include wasted network bandwidth, interruption of unnecessary hosts, and lack of global knowledge.
How do forwarding pointers work for name resolution with remote objects (RPC)?
When an entity moves, it leaves behind a client stub on the old location that points to a server stub on the new location.
Pros: Simplicity once the initial entity is found. Cons: Long and expensive chains, need for intermediaries to maintain links, vulnerability to broken links.
What is a home-based approach for flat naming?
A home location is designated for an entity, which tracks the entity’s current address.
It is often the creation point of the entity and is useful when mobility is common in large-scale systems.
What is a Distributed Hash Table (DHT)?
A DHT is a decentralized and fault-tolerant distributed system that stores key-value pairs, operating on a P2P model.
Nodes have random m-bit identifiers, and data is hashed to an m-bit key and stored on the successor node.
Briefly describe the naive name resolution approach in Chord.
The naive approach involves each node keeping track of its successor and predecessor in the ring, leading to a linear search.
A finger table at each node contains entries pointing to other nodes in the ring for efficient lookups.
How does a new node join a Chord network?
A joining node contacts an existing node to find the successor of its own ID and then inserts itself into the ring by informing its successor of its presence.
Keeping finger tables updated is crucial, especially the first entry which points to the immediate successor.
How do hierarchical approaches address scalability concerns in flat naming?
The network is divided into domains organized in a hierarchy with a single root domain, each having a directory node tracking entities within it.
Pros: Efficient lookup caching, separate authorities. Cons: May require contacting many nodes for resolution.
What is a namespace in structured naming?
A namespace is an organization of names, represented as a naming graph.
This graph contains directory nodes and leaf nodes representing entities.
What is a path name?
A path name is a sequence of edge labels separated by a slash, used to refer to a node in the naming graph.
Absolute path names start from the root, while relative path names do not.
What is an alias in a naming system?
An alias is another name for the same entity.
Hard links allow multiple absolute path names, while soft links require resolving the name contained within.
How can different namespaces be merged?
Different namespaces can be merged by mounting the node identifier of one namespace into a node in the current namespace.
For network mounting, you need the access protocol, server name, and mount point.
What is a closure mechanism in name resolution?
A closure mechanism selects the implicit starting context for name resolution based on the name itself.
For example, a URL starts at a DNS server, while a file path starts at the root of the local filesystem.
Describe the process of iterative name resolution.
In iterative resolution, the resolver sends the complete name to the root name server, which resolves as much as it can and returns the next name server to contact.
Pros: Intuitive and load balanced. Cons: Heavy work for the client.
Describe the process of recursive name resolution.
In recursive resolution, the client sends the request to a name server, which contacts other servers to fully resolve the name and return the result.
Advantages: Effective caching, reduced communication costs for the client. Disadvantage: Increased load on name servers.
What is DNS?
DNS is a hierarchically organized and structured namespace using labels to form domain names.
Each node contains resource records with information about the domain.
How is DNS implemented in terms of name servers?
Each zone is implemented by one or more name servers, typically replicated for availability, with a primary server handling updates.
Secondary servers perform zone transfers to replicate data.
What is the main idea behind attribute-based naming?
Attribute-based naming allows entities to be discovered by searching for entities that possess certain attributes.
This is done using key-value or attribute-value pairs.
What is LDAP?
LDAP (Lightweight Directory Access Protocol) is a protocol for distributed directory services.
It combines structured naming with attribute-based naming for queries.
How are entities named in LDAP?
Each LDAP record has a unique Distinguished Name (DN), a sequence of naming attributes forming a hierarchical path.
Queries can be performed using search filters based on attribute values.