Client Server

34
Chap. 5 Naming BIN3233/ BTECH3541 | Client/Server Architecture Prepared by Noris Bt. Ismail

Transcript of Client Server

Chap. 5 NamingBIN3233/ BTECH3541 | Client/Server Architecture

Prepared by Noris Bt. Ismail

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Objectives• Discuss the importance of naming methods that are used in DS

(Client/Server Architecture)• General issues with respect to naming e.g. file system, WWW.• How to locate entities that is independent of their current

location.• Name resolution.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Names, Identifiers, And Addresses

• Name – A string of bits/characters that is used to refer to an entity

• Entity – Refers to processes, users, mailboxes, newsgroup, web pages, hosts, printers, disks, files and etc.

• Addresses – To operate and entity we need an access point. E.g. tel. num for a particular person.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Names, Identifiers, And AddressesProperties of a true identifier:

• 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

• E.g. ISBN numbers for books, identification numbers for software and hardware products, employee numbers within a single organization

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Forwarding Pointers (1)

Figure 5-1. The principle of forwarding pointers using (client stub, server stub) pairs to locate mobile entities.

When an entity moves, from A to B, it leaves behind in A - a reference to its new location in B

Reference to its new location

New Location

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Forwarding Pointers (2)

Figure 5-2. Redirecting a forwarding pointer by storing a shortcut in a client stub.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Forwarding Pointers (3)

Figure 5-2. Redirecting a forwarding pointer by storing a shortcut in a client stub.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Home-Based Approaches

Figure 5-3. The principle of Mobile IP.

Broadcasting and Forwarding Pointers imposes scalability problems.

Solution – Home Location - To keep track of the current location of an entity and often chosen to be the place where an entity was created.IPv6 - Request a temporary add. care-of-add.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Approaches (1)

Figure 5-5. Hierarchical organization of a location service into domains, each having an associated directory node.

Single TD - spans the Entire network

Knows all about entities

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Approaches (2)

Figure 5-6. An example of storing information of an entity having two addresses in different leaf domains (replication).

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Approaches (3)

Figure 5-7. Looking up a location in a hierarchically organized location service.

Client issues a lookup request to the directory node of leaf domain D

-The location record which is stored in the leaf node will contain the address of E in that leaf domain - This add. will be returned to the clients.

Entity E

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Approaches (4)

Figure 5-8. (a) An insert request is forwarded to the first node that knows about entity E.

Entity E has created a replica in domain D needs to insert its add.

Request is forwarded to its parents node.

-Bottom up approach – Create a location record before passing the insert request to parent node.-Advantage:- Address is available for lookups ASAP.

Entity E

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Approaches (5)

Figure 5-8. (b) A chain of forwarding pointers to the leaf node is created.

-Node M will store a pointer in the location record for E containing a pointer to the lower-level node – installing a chain of pointers to lower node. - Top-down approach.Entity E

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Name Spaces – A structured way in which names are organized. E.g. in the Internet

Figure 5-9. A general naming graph with a single root node.Node n5 can be referred to by two different path names

Leaf node – Stores info. on the entity it is representing e.g. its address, state of the entity.

Directory node – has a number of outgoing edges.A dir. node-stores a table in which an outgoing edge is represented in pair (edge label, node identifier) – Directory Table

Root Node – Has only outgoing NO incoming edges.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Linking and Mounting - Multiple Absolute path name to refer to the same node in a naming graph

Figure 5-11. The concept of a symbolic link explained in a naming graph. The path name /home/steen/keys refer to a node containing the absolute path name /keys, a symbolic link to node 5.

Name resolution (Process of looking up a name)e.g. node n5 can be referred to by two different path names (hard links to node n5)

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Name Spaces – E.g. in a file sytem – UNIX

Figure 5-10. The general organization of the UNIX file system implementation on a logical disk of contiguous disk blocks. The way that files in traditional UNIX file system are named.

• Boot Block – Load the OS into main memory• Superblock – Contains info. on the entire file system e.g. its size which blocks on disk are not yet allocated.• Inodes – Contains info. on where the data of its associated file can be found on disk.• Disk block - Data

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Linking and Mounting (2)Consider a collection of name spaces that is distributed across different machines. E.g. NS1 and NS2 running on different machine.

Information required to mount a foreign name space in a distributed system

•The name of an access protocol e.g. NFS protocol. Network File System (NFS) is a distributed file system protocol allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed.

•The name of the server .

•The name of the mounting point in the foreign name space.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Linking and Mounting (3)- Name resolution

Fig 5-12. Mounting remote name spaces through a specific access protocol.

Root directory - has a number of user defined entries including a subdirectory called remote./remote – include mount point for foreign name space i.e. User home directory.

Directory node – store the url NFS://flits.cs.vu.nl//home /steen.NFS protocol to resolve the server name to its add. using DNS.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Name Space Distribution (1)

Figure 5-13. An example partitioning of the DNS name space, including Internet-accessible files, into three layers.

Zone – Part of the name space that is implemented by a separate name server.

Name of the file within an organization that can be accessible through the Internet.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Name Space Distribution (2)

Figure 5-14. A comparison between name servers for implementing nodes from a large-scale name space partitioned into a global layer, an administrational layer, and a managerial layer.

Due to the low rate of change of nodes in the global layer, the results lookup operation generally remain valid for a long time therefore the result can be cached(stored locally) by the clients.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Implementation of Name Resolution (1)

Figure 5-15. The principle of iterative name resolution.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Implementation of Name Resolution (2)

Figure 5-16. The principle of recursive name resolution.Caching is used to enhance performance. Since changes in global and administrational layer do not occur often, the root name server can effectively cache the returned address.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Implementation of Name Resolution (3)

Figure 5-17. Recursive name resolution of <nl, vu, cs, ftp>. Name servers cache intermediate results for subsequent lookups.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Example: The Domain Name System

Figure 5-18. The comparison between recursive and iterative name resolution with respect to communication costs. Cost may be roughly three times that of recursive name resolution.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

The DNS Name Space

Figure 5-19. The most important types of resource records forming the contents of nodes in the DNS name space.

Primary name Mac. Type / OS

Start of Authority

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

DNS Implementation (1)

Figure 5-20. An excerpt from the DNS database for the zone cs.vu.nl. (cs.vu.nl domain)

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

DNS Implementation (2)

Figure 5-20. An excerpt from the DNS database for the zone cs.vu.nl.

Two services – FTP / web Server

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Implementations: LDAP (Lightweight Directory Access Protocol)

Figure 5-22. A simple example of an LDAP directory entry using LDAP naming conventions.

LDAP – Consists of a number of records referred to as directory entries. - Structured naming in DS to describe an entity

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

DNS Implementation (3)

Figure 5-21. Part of the description for the vu.nl domain which contains the cs.vu.nl domain.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Implementations: LDAP (Lightweight Directory Access Protocol)

Figure 5-23. (b) Two directory entries having Host_Name as RDN(Relative Distinguished Name).

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Hierarchical Implementations:LDAP (2)

Figure 5-23. (a) Part of a directory information tree. Hierarchy of the collection of directory entries.

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

References

These slides are taken from Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

Sub Point #3Home-Based Approaches

Sub Point #4Hierarchical Approaches

Sub Point #1Names, Identifiers,

And Addresses

KEY POINTS Sub Point #2Forwarding Pointers

ALL RIGHTS RESERVEDNo part of this document may be reproduced without written approval from Limkokwing University of Creative

Technology Worldwide

FACULTY OF INFORMATION & COMMUNICATION TECHNOLOGY

BIN3233 / BTECH3541 | Client/Server Architecture

End of Lecture