CSC - 406 - 2 - DS Architectures
CSC - 406 - 2 - DS Architectures
Client
Key:
Process: Computer:
Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms. Prentice‐Hall, Inc. 2002
Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms. Prentice‐Hall, Inc. 2002
1
Advantages of the Client-Server Problems with the Multiple Client /
Architecture Single Server Architecture
• Efficient division of labor.
• Server forms a bottleneck.
• Horizontal and vertical scaling of resources.
• Server forms a single point of failure.
• Better price/performance on client machines.
• System scaling is difficult.
• Ability to use familiar tools on client machines.
• Client access to remote data (via standards) .
• Full DBMS functionality provided to client
workstations.
• Overall better system price/performance.
Web
Client Applet server
2
Architecture of Application S/W 3-Tier C/S Architecture
• Client/server architectures
– single-physical tiered
– two-physical tiered
– multi-tiered
3
Unstructured Peer-to-Peer Peer-peer applications
• Rely on randomized algorithms for • File sharing
constructing overlay networks that resembles a – Napster, Gnutella, KaZaa.
– Second generation projects
random graph. • Oceanstore, PAST, Freehaven, FreeNet.
• Main idea: • Distributed Computation
– Each node maintains a list of neighbors, but that this – SETI@home, Entropia, Parabon, United Devices,
list is constructed in a more or less random way. Popular Power.
– Data items are assumed to be randomly placed on • Other Applications
nodes. – Content Distribution (BitTorrent).
– Instant Messaging (Jabber), Anonymous Email.
– Goal is that each node constructs a partial view of the
– Groupware (Groove).
graph.
– P2P Databases.
Hybrid Architecture
• Solution with client-server architectures are combined
with decentralized architectures.
• BitTorrent :
– A centralized server is needed to let the client know about
the nodes from which chuncks of the file can be
downloaded.
– Once the client joins the system as a node, a
Spring 2014 CS432: Distributed Systems 21
decentralized architecture will be used.