What is Name Service? (WNS)

Hi young scholars, I'm sure those of you who are reading this are IT students who are interested in studying computer networks or distributed systems, and unfortunately you don't know what NAME SERVICE is, okay here I will try to give a little explanation based on what I have learned on campus.

First, we need to know that accessing resources in a distributed system requires:

  1. Resource name (for calling).
  2. Address (location of the resource).
  3. Route (how to reach the location).

What is meant by RESOURCE is things like computers, services, remote objects, files, users.

Naming functions as an identifier in the system. Here are some examples of distributed system application naming:

  • URL to access a web page.
  • Email address for communication between users.

The purpose of Naming is

  • Identification, so that a user who wants object/service A, is not confused with object/service B.
  • Allows sharing, meaning more than one user can identify a resource with an appropriate name (not necessarily the same name).
  • Allows location independence, so changing location does not require changing name, as long as the location is not part of the resource name.
  • Provides Reliable Security, so that if a name is chosen randomly from a large set of integers, then the name can only be known from a legitimate resource, not from guessing. In other words, if someone knows the name of the object, it is because he was told, not the result of guessing, because that is difficult to do.

Examples of naming that provide security capabilities

  • The names are chosen randomly from a 128 bit integer, there are about 3 x 1038 different names.
  • If a set of objects requires a unique name, and is generated 1 million in 1 second for 100 years, then in the end there will be about 3 x 1015 objects (names).
  • The proportion of names used is much smaller than the total number of names available.
  • The probability of correctly guessing the name of the object is 1:1023. If 1 million guesses are made in 1 second, it will take about 1010 years to guess the correct name.

Illustration of name service work
Illustration of name service work

Naming Types

User Names:

  • created by user
  • refers to an object or service
  • consists of strings of characters

Example: hp201 for the printer,  bettyp /tmp/test.c for the file.

System Names

  • consists of bit strings
  • internal to the system, not intended for humans
  • more compact than user names, so they can be compared more efficiently.

Structure Names

Primitive/flat names (Unique Identifiers = UIDs):

  • no internal structure, just a string of bits
  • used for comparison with other UIDs
  • does not carry any other information -> pure names
  • very useful and widely used because of location and application independence, so it is not a problem for object mobility, because it is uniform, fixed size, because it is compact (easy to store, pass, and if large enough it becomes difficult to guess)

Partitioned Names (PN)

  • composition of several primitive names, usually arranged hierarchically. Example: www.example.com/download/mysigsag.apk
  • carry information (impure names)
  • usually does not uniquely identify an object, multiple names can be mapped to a single object. Example: UNIX file links.

Descriptive Names (DN)

  • a list of attributes simultaneously uniquely identifies an object
  • carry information (impure names)
  • DN is a superset of PN.

Purpose of Naming Facility

  1. Efficiency, because naming facilities are fundamental to distributed systems and are used continuously.
  2. Distributed, think about what would happen if UIDS were generated by a centralized generator: vulnerable to bottlenecks and the node where the generator is located would fail.
  3. Unlike global space, it means that it does not depend on connectivity, topology, and location of objects.
  4. Supports 1:many mapping between names and objects, to allow multicast.
  5. Supports dynamic relocation of objects, if the object/process is potentially mobile. So dynamic binding is needed between name and address, also between address and route.
  6. Allows local aliases, so that users can express their semantic interpretation of an object. Of course, a mapping between aliases and full names is required.

Source

NAME SERVICE.ppt, by Kemal Ade SEkarwati, Gunadarma University.


Post a Comment

Previous Next

نموذج الاتصال