Distributed Systems - Naming and Name Service

Naming in Distributed Systems

  • Name: Unique identifier for an entity in a system.
  • Naming Space: Closed/open space where names hold meaning, ensuring no ambiguity.
  • Name Resolution: Process of mapping a name to its respective entity.

Common Naming Methods

  • Address: Access point entity; can be static/dynamic (1:1 or 1:M).
  • Identifier: Integer/binary string; identifies one entity uniquely.
  • Textual Name: Human-friendly string independent of location; e.g., file names, DNS names.

Name Spaces

  • Example tree structure:
    • Leaf nodes containing user data
    • Directory nodes organizing hierarchy

Path Names

  • Absolute Path: Full path from root (e.g., UNIX: /nfs/server1/u1/book/Chapter5/).
  • Relative Path: Path based on current directory (e.g., book/Chapter5).

Naming Space Topologies

  • Global Name: Same entity, regardless of context (absolute path).
  • Local Name: Meaning varies with context (relative path).
  • Root: Node with no incoming edges.

File System Structure Components

  • Boot Block: Loaded to setup OS in main memory.
  • Super Block: Info about the file system.
  • Index Node: Details about associated file.
  • Disk Block: Contains file data chunks.

Linking and Mounting

  • Linking: Allows multiple paths to the same node.
  • Mounting: Makes external nodes accessible in different name spaces.

NFS (Network File System)

  • Maps absolute paths to physical files across the network.
  • NFS RPC: Handles operations like open/close, read/write, etc.

DNS (Domain Name System)

  • Global Layer: Highest-level nodes (e.g., .com, .edu).
  • Administrative Layer: Organization-specific nodes.
  • Managerial Layer: Frequently changing nodes (e.g., user accounts).

DNS Name Resolution Methods

  • Iterative Resolution: Client requests and resolves through layers.
  • Recursive Resolution: Client sends request, and local server queries until resolved.

DNS Resource Record Types

  • SOA: Zone info.
  • A: IP address of a host.
  • MX: Mail server info.
  • CNAME: Alias for a node.

Naming vs Locating Entities

  • Direct mapping (names to addresses) vs Two-level mapping (using identities).

Locating Mobile Entities

  • Broadcasting: Querying machines for entities in local networks.
  • Forward Pointer: References location of entity after moving.
  • Home Based: Central tracking for current entity location, managing movements efficiently.