Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 2 ARCHITECTURES."— Presentation transcript:

1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 2 ARCHITECTURES DISTRIBUTED SYSTEMS (dDist) 2014

2 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Plan Software architecture –Architectural styles System architectures –Centralized architectures –Decentralized architectures –Hybrid architectures

3 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Architecture Software Architecture (“Logical”) –How our software components are organized –How is the software divided into logical entities and how information flows System Architecture (“Physical”) –How to realize our software architecture –How the logical entities are distributed onto physical machines

4 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Architectural Styles Architectural style describes –Component/element types –Connection types We will look at: –Layered architectures –Object-based architectures –Event-based architectures –Data-centered architectures

5 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Layered Figure 2-1. The (a) layered architectural style and … Example: ISO OSI

6 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Object-based Figure 2-1. (b) The object-based architectural style. Example: CORBA, Java (RMI)

7 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Event-based Figure 2-2. (a) The event-based architectural style and … Example: Java Swing

8 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Data-centered Figure 2-2. (b) The shared data-space architectural style. Examples: Oracle Calendar / Dropbox

9 System Architectures Centralized Decentralized Hybrid Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

10 Centralized System Architectures Client-Server organization Multitier organization –“Servers as clients” Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

11 Client-Server Organization (Two-Tier) Figure 2-3. General interaction between a client and a server. Example: HTTP & X-windows

12 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 X-Windows

13 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Multitiered Architecture Figure 2-6. An example of a server acting as client. Motivation: Performance and modifiability

14 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Layers versus Tiers It is customary to make a distinction between layers and tiers Layer = Logical layer –A software architectural term Tier = Physical layer –A system architectural term The book is not very clear on this distinction!

15 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Layers onto Tiers Figure 2-5. Alternative client-server organizations (a)–(e). X Windows Blog Facebook Oracle Calendar HTTP w/Caching

16 Decentralized System Architectures Peer-to-peer networks: –Distribution between equivalent peers –Called “horizontal distribution” –Opposed to the layered “vertical distribution” All peers being the same gives new problems: –Who should store a particular data item? –How is a message routed through the peer group? Sending to all peers all the time would flood the net Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

17 Decentralized System Architectures Overlay network = –How does the otherwise equivalent peers organize into a virtual network Typically each peer communicate only with a few other peers Structured Peer-to-peer –Deterministic overlay formation Unstructured Peer-to-peer –Overlay formed probabilistically Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

18 Structured Peer-to-Peer Architecture Figure 2-7. The mapping of data items onto nodes in Chord. Identifiers are hashed into the keys space, here 4 bits

19 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Unstructured Peer-to-Peer Architectures (1) Uses randomized algorithm for constructing overlay network Goal: Maintain random graph –Each peer has a connection to a random subset of a few other peers Motivation: A random graph, even with very low degree, is known provably to have very good connectivity (Graph Theory)

20 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Unstructured Peer-to-Peer Architectures (2) Since peer-to-peer networks typically are highly dynamic, the graph formation must be constantly on- going –To get rid of connections to dead peers –To allow new peers into the group The main technique is to exchange information about known peers with neighbors and pick new connections at random in the joint set

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

22

23

24

25 2 9 10

26 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Unstructured Peer-to-Peer Architectures (3) To avoid a too inefficient overlay network the connections might be formed with a view on closeness –Prefer to connect to peers which are only a few hops away in the physical network The book presents a generic algorithm for implementing different such view mixings

27 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Unstructured Peer-to-Peer Architectures (4) Resource location in a big peer- to-peer network can get very inefficient To combat this, one can let a small subset of the nodes organize in a peer-to-peer backbone and let the other nodes connect to these superpeers

28 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Superpeers Figure 2-12. A hierarchical organization of nodes into a superpeer network.

29 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Hybrid Architectures Most peer-to-peer systems are hybrid architectures For instance a client contacts a server to find the name of a peer it can contact to enter the peer group –This server has to collect information on the active peers and can often become a bottleneck

30 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Hybrid Architecture Figure 2-14. The principal working of BitTorrent [adapted with permission from Pouwelse et al. (2004)]. Opportunity for P2P

31 Summary Software Architecture defines how software is organized into components –Layered, Object based, Event-based, Data- centered System Architecture described how to realize the software architecture –Structured (n-tier) –Unstructured (peer-to-peer) –Hybrid Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5


Download ppt "Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Chapter 2 ARCHITECTURES."

Similar presentations


Ads by Google