Title: CDA 6506 Network Architecture and ClientServer Computing
1CDA 6506 Network Architecture and Client/Server
Computing
Peer-to-Peer Computing and Content
Distribution Networks by Zornitza Genova
Prodanoff
09/13/04
2Lecture Outline
- Client/Server Model
- Peer-to-Peer Model
- Content Distribution Networks
ZGP002
3Client/Server Communication
- The client (process)
- Runs on a desktop
- Makes requests for services
- Executes a portion of the application code
- The server (process)
- Executes a set of functionally related services
- Never initiates a message exchange with a client
- Implements a queue to hold client requests as
they arrive - Request-reply protocol client sends requests and
server replies - Queue of client requests at the server
- Server throughput is the number of requests
served per unit time
ZGP003
4Client/Server Communication (continued)
- Server Types
- File servers
- Database servers
- Application servers
- Groupware servers
- Object servers
- Web servers
- Software servers
ZGP004
5C/S Example Hyper Text Transfer Protocol (HTTP)
- Hypertext Markup Language (HTML)
- Integrate images and other multimedia objects, as
well as software applications - Application layer protocol
- Runs on top of TCP/IP
ZGP005
6C/S Example Hyper Text Transfer Protocol (HTTP)
- HTTP 1.0 vs. HTTP 1.1
- HTTP 1.0
- Allows for embedded documents in the HTML file
- The client browser opens a separate connection
with the server for each requested file html,
image, etc. - Client does not need to wait for connection
termination before another connection request is
sent - Images are downloaded transparent to user HTTP
response, containing the URL for the image is
parsed before a new connection request is made -
ZGP006
7C/S Example Hyper Text Transfer Protocol (HTTP)
- HTTP 1.1
- Allows for embedded documents in the HTML file
- Persistent connections The client browser
opens a (single) connection with the server for
the html file. Then, embedded documents are
requested within this same TCP connection - Pipelined requests multiple requests are sent
without waiting for response (ACK) - Pipelined HTTP 1.1 outperforms parallel
connection based HTTP 1.0 -
ZGP007
8 ZGP008
9Peer-to-Peer Model
- Problems with C/S model
- Server seen as a central node
- Scalability
- Reliability
- Peer-to-Peer model a collaborative and
distributed approach to computing - A study conducted at a major company with 10,000
workstations - 75 of CPU cycles in the workstations or network
nodes such as routers are idle - 50 of disk space is free
ZGP009
10Peer-to-Peer Model (continued)
- 10 billion MHz 10,000 TB not utilized at the
edges of the Internet (see openP2P.com) - The size of the networks and the
complexity/requirements from the protocols
steadily increase - Bandwidth consumption attributed to popular file
sharing applications reaches 60 of the total
Internet traffic - Must be able to locate the resources efficiently
ZGP0010
11Peer-to-Peer Model (continued)
- Peer-to-Peer model sharing of resources
available at the edges of the Internet - In a P2P system, distributed computing nodes of
equal roles or capabilities exchange information
directly with each other - Resources could be content, storage, CPU-cycles,
bandwidth - P2P paradigm has many plausible characteristics
- Scalability
- No centralized authority,
- Robustness
- Cooperation, sharing
- Anonymity
ZGP0011
12 13Peer-to-Peer Model (continued)
- Routing Indexes
- No-indexing (Gnutella)
- Centralized index (Napster)
- Distributed index (FreeNet)
-
ZGP0013
14Peer-to-Peer Model (continued)
- Advantages of Peer-to-Peer model
- Performance gain with much less cost
- Self-organization
- Load balancing
- Adaptation
- Fault-tolerance
- Mobile devices
ZGP0014
15Peer-to-Peer Model (continued)
- Open problems
- Locating and addressing
- Caching of passing through objects
- How to identify an Object
- Network usage and participation
-
ZGP0015
16Peer-to-Peer Model (continued)
- Queries propagate across nodes, each node does
some processing and uses resources - Bandwidth The average over a set of
representative queries of the aggregate BW
consumed (in bytes) over each edge on behalf of
the query - Processing The average over a set of
representative queries of the aggregate
processing power consumed at each node on behalf
of the query -
ZGP0016
17Peer-to-Peer Model (continued)
- Gnutella BFS technique is used with depth limit
of D, where D TTL of the message. At all levels
lt D query is processed by each node and results
are sent to source and at level D query is
dropped. - Freenet uses DFS with depth limit D. Each node
forwards the query to a single neighbor and waits
for a definite response from the neighbor before
forwarding the query to another neighbor (if the
query was not satisfied), or forwarding the
results back to the query source (if query was
satisfied). -
ZGP0017
18Content Distribution Networks
- Next generation Internet - Content Distribution
Networks - A CDN is an overlay network on the Internet
- A CDN co-locates content throughout the world
- CDNs are of a great commercial and research
interest - 15 million in NSF funding for Web services
research - Akamai is one major CDN provider
ZGP0018
19Content Distribution Networks
Global content distribution in a CDN
http//214.29.2.15/page
http//www.some.com/page
http//334.249.2.8/page
ZGP0019
20Content Distribution Networks
- HTTP redirection in a CDN
- (1) HTTP request and redirect
- (2) HTTP re-request and response
Reverse cache
Origin site
Proxy cache
Clients
Distributed server
ZGP0020
21 Content Distribution Networks
- Caching
- reduces both Internet traffic and server load
- implemented
- local to the client
- as a caching hierarchy in the Internet
- at the server site
- content information best shared as compressed
digests - update interval - seconds to minutes in length
ZGP0021
22 Content Distribution Networks
- Selection of the best server with
- satisfactory response time to the user and
- minimized network traffic.
- (Selection criteria server load, server
contents, and network path characteristics)
ZGP0022
23 Content Distribution Networks
- Scaling from local to distributed cluster
- internet connections constrained by bandwidth and
delay - state information shared with less frequency
- state information smaller in size
- herd effect
- chose least-loaded server
- unbalanced and oscillating loads.
ZGP0023
24Content Distribution Networks
Architecture of a new URL router
One armed URL router
HTTP requests and redirects
Network links
Layer 3 switch
ZGP0024