1 / 27

Naming

Naming. Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming is that a name can be resolved to the entity it refers to. To resolve names, it is necessary to implement a naming system.

marja
Download Presentation

Naming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Naming • Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming is that a name can be resolved to the entity it refers to. To resolve names, it is necessary to implement a naming system. • In distributed system, the implementation of a naming system is itself often distributed across multiple machines. Two things need to be considered for naming system are efficiency and scalability. • Contents for this section: • Discussing some general issues with respect to naming • Organization & implementation of human friendly names, for example DNS

  2. Naming Entities • Names, Identifiers, and Addresses • A name in a distributed system is a string of bits or characters that is used to refer to an entity. • An entity here can be anything practical: process, printer, mailbox, webpage, hosts, disk….. It can be operated on. • The name of an access point is called an address • An identifier for entities is a name that has the following properties: • An identifier refers to at most one entity • Each entity is referred to by at most one identifier • An identifier always refers to the same entity (i.e. it is never reused).

  3. Name space • Names in distributed system are organized into name space. A name space can be represented as a labelled, directed graph with two types of nodes: • A leaf node represents a named entity and has the property that it has no outgoing edges. • A directory node has a number of outgoing edges, each labelled with a name. A directory node stores a directory table in which an outgoing edges is represented as a pair (edge label, node identifier) • Each path in a naming graph can be referred to by the sequence of labels corresponding to the edges in that path such as: N:<label-1, label-2, …, label-n> • If N is the root of the naming graph, it is called an absolute path name. Otherwise, it is called a relative path name. • global name and local name.

  4. Name Spaces (1) • A general naming graph with a single root node.

  5. Name Spaces (2) • The general organization of the UNIX file system implementation on a logical disk of contiguous disk blocks.

  6. Name Resolution • The process of looking up a name is called name resolution • To explain how name resolution works, consider a path name such as N:<label-1, label-2, …, label-n>. Resolution of this name starts at node N of the naming graph, where the name label-1 is looked up in the directory table, and which returns the identifier of the node to which label-1 refers. Resolution continues to label-n by returning the content of that node. • Name Resolution includes topics: • Closure Mechanism • Linking and Mounting

  7. Closure Mechanism • Knowing how and where to start name resolution is generally referred to as a closure mechanism. Essentially, a closure mechanism deals with selecting the initial node in a name space from which name resolution is to start • 00442078156340 • HOME in UNIX

  8. Linking • Strongly related to name resolution is the use of aliases. An alias is another name for the same entity. • Two approaches to implement alias: • The first approach is to simply allow multiple absolute paths names to refer to the same node in a naming graph. (Fig 4.1) (hard links). • The second approach is to represent an entity by a leaf node, say N, but instead of storing the address or state of that entity, the node stores an absolute path name. (Fig 4.3) (path name /home/steen/keys, which refers to a node containing the absolute path name /keys, is a symbolic link to node n5.

  9. Name Spaces (1) • A general naming graph with a single root node.

  10. Linking and Mounting (1) • The concept of a symbolic link explained in a naming graph.

  11. Mounting • Mounting is one way to merge different name spaces • Mount point and mounting point • The directory node storing the node identifier is called a mount point. • The directory node in the foreign name space is called a mounting point. • To mount a foreign name space in distributed system requires at least the following information: • The name of an access protocol • The name of the server. • The name of the mounting point in the foreign name space.

  12. Linking and Mounting (2) • Mounting remote name spaces through a specific process protocol.

  13. The implementation of a Name Space • A name space forms the heart of a naming service, that is, a service that allows users and processes to add, remove, and look up names. A naming service is implemented by name server. • The contents of this part includes: • Name Space Distribution • Implementation of Name Resolution

  14. Name Space Distribution • why name spaces should be arranged hierarchically? • Decrease possibility of name conflicts • reduce the size of naming contexts • make name bindings more meaningful • make lookups more efficient and enable federation of name servers.

  15. Name Space Distribution • Name spaces for a large-scale, possibly worldwide distributed system, are usually organized hierarchically. The name space is partitioned into three logical layers: • The name space is partitioned into three logical layers: • The global layer is formed by highest-level. This layer is often characterized by its stability; the directory tables in this layer are rarely changed (19) • The administrational layer is formed by directory nodes that together are managed within a single organization. A characteristic feature of the directory nodes in the administrational layer is that they represent groups of entities that belong to the same organization or administrational unit. • The managerial layer consists of nodes that may typically change regularly. The nodes in this layer are maintained not only by system administrators, but also by individual end users of a distributed system.

  16. Name Space Distribution • The name space is divided into nonoverlapping parts, called zones in DNS. A zone is a part of the name space that is implemented by a separate name server. • Name servers in each layer have to meet different requirements

  17. Name Space Distribution (1) • An example partitioning of the DNS name space, including Internet-accessible files, into three layers.

  18. Name Space Distribution (2) • A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, as an administrational layer, and a managerial layer.

  19. Implementation of Name Resolution • Each client has access to a local name resolver, which is responsible for ensuring that the name resolution process is carried out. • Assume the (absolute) path name root:<nl,vu,cs,ftp,pub,globe,index.txt> is to be resolved. Using a URL notation, this path name would correspond to ftp://ftp.cs.vu.nl/pub/globe/index.txt, there is two ways to implement name resolution: • In iterative name resolution, a name resolver hands over the complete name to the root name server. • With recursive name resolution, a name server passes the result to the next name server it finds. • The drawback of recursive name resolution is that it puts a higher performance demand on each name server. Its two important advantages are: • caching result is more effective compared to iterative name resolution; • the communication costs may be reduced.

  20. Implementation of Name Resolution (1) • The principle of iterative name resolution.

  21. Implementation of Name Resolution (2) • The principle of recursive name resolution.

  22. Implementation of Name Resolution (3) • Recursive name resolution of <nl, vu, cs, ftp>. Name servers cache intermediate results for subsequent lookups.

  23. Example: The Domain Name System • The DNS Name Space • The DNS name space is hierarchically organized as a rooted tree. A label is a case-insensitive string made up of alphanumeric characters. A label has a maximum length of 63 characters; the length of a complete path name is restricted to 255 characters. • The label attached to a node’s incoming edge is also used as the name for that node. A subtree is called a domain; a path name to its root node is called a domain name. • The contents of a node is formed by a collection of resource records.

  24. The DNS Name Space • The most important types of resource records forming the contents of nodes in the DNS name space.

  25. DNS Implementation (1) • An excerpt from the DNS database for the zone cs.vu.nl.

  26. Google File System

  27. Google File System

More Related