On the validity of client-side vs server-side web log data analysis
Client Server
-
Upload
independent -
Category
Documents
-
view
2 -
download
0
Transcript of Client 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
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