DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S

Slides:



Advertisements
Similar presentations
Architectures. Architectural Styles (1)  Considering the logical organization of distributed systems into software components, also referred to as software.
Advertisements

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
CS 620 Advanced Operating Systems Lecture 4 – Distributed System Architectures Professor Timothy Arndt BU 331.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Based on last years lecture notes, used by Juha Takkinen.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Architectures for Distributed Systems
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Architectures. Software Architecture Describe how the various software components are to be organized and how they should interact. It describe the organization.
The Design Discipline.
Chapter 2 ARCHITECTURES
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
1 Distributed Systems Architectures Chapter 2. 2 Course/Slides Credits Note: all course presentations are based on those developed by Andrew S. Tanenbaum.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 2 ARCHITECTURES.
Architectures of distributed systems Fundamental Models
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Architectures for Distributed Systems Chapter 2. Definitions Software Architectures – describe the organization and interaction of software components;
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Architectures for Distributed Systems Chapter 2. Definitions Software Architectures – describe the organization and interaction of software components.
Distributed (Operating) Systems -Architectures- Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University.
ICS362 – Distributed Systems Dr. Ken Cosh Week 2.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Architectural.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
CHAPTER 3 Architectures for Distributed Systems
Prof. Leonardo Mostarda University of Camerino
Architectures of distributed systems Fundamental Models
Architectures of distributed systems Fundamental Models
Distributed Systems CS
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Architectures of distributed systems
Architectures of distributed systems Fundamental Models
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Presentation transcript:

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 2 ARCHITECTURES

2.1 Architectural Styles Architectural style of distributed systems is formulated on components how components are connected data exchanged between components how the above elements are configured

Architectural Styles Important styles of architecture for distributed systems Layered architectures Object-based architectures Data-centered architectures Event-based architectures

Figure 2-1. The (a) layered architectural style and … Architectural Styles Figure 2-1. The (a) layered architectural style and …

Figure 2-1. (b) The object-based architectural style. Architectural Styles Figure 2-1. (b) The object-based architectural style.

Figure 2-2. (a) The event-based architectural style and … Architectural Styles Decoupled in space Figure 2-2. (a) The event-based architectural style and …

Architectural Styles Also decoupled in time event-based + data-centered Figure 2-2. (b) The shared data-space architectural style.

2.2 System Architecture Centralized Architecture Decentralized Architecture Hybrid Architecture

Centralized Architectures Making the connectionless protocol resistant to occasional transmission failures is not trivial Figure 2-3. General interaction between a client and a server.

Application Layering (1) Recall previously mentioned layers of architectural style The user-interface level The processing level The data level

Application Layering (2) 2. DSS for stock brokerage 3.Office suites persistent consistent Figure 2-4. The simplified organization of an Internet search engine into three different layers.

Multitiered Architectures (1) The simplest organization is to have only two types of machines: A client machine containing only the programs implementing (part of) the user-interface level A server machine containing the rest, the programs implementing the processing and data level

Multitiered Architectures (2) Figure 2-5. Alternative client-server organizations (a)–(e).

Multitiered Architectures (3) Figure 2-6. An example of a server acting as client. (three-tiered architecture)

Decentralized Architecture Multitiered architecture is also called vertical distribution Placing logically different components on different machines Horizontal distribution A client or server may be physically split up into logically equivalent parts, but each on its own share of the complete data set, thus balancing the load Peer-to-peer is an example of horizontal distribution Interaction between processes is symmetric Overlay network: in which the nodes are formed by processes and the links represent the possible communication channels Structured Non-structured

Structured Peer-to-Peer Architectures (1) Its distributed hash table: A data item with key k is mapped to the node with the smallest id with id  k Membership management: how nodes organize themselves into an overlay network (entering and leaving) Figure 2-7. The mapping of data items onto nodes in Chord.

Structured Peer-to-Peer Architectures (2) D-dimensional Cartesian coordinate space Nodes keep track of their neighbors 訂正:p.46 倒數第9 列, P should be Q Figure 2-8. (a) The mapping of data items onto nodes in CAN (Content-Addressable Network).

Structured Peer-to-Peer Architectures (3) Periodic repartitioning is required due to less symmetric partition caused by leaving Figure 2-8. (b) Splitting a region when a node joins.

Unstructured Peer-to-Peer Architectures (1) Randomization: Each node maintains a list of neighbors, constructed in a random way Figure 2-9. (a) The steps taken by the active thread.

Unstructured Peer-to-Peer Architectures (2) Leaving is easy, but tend to have imbalanced workload P; Swap part of original view Discard old entries Figure 2-9. (b) The steps take by the passive thread

Topology Management of Overlay Networks (1) Figure 2-10. A two-layered approach for constructing and maintaining specific overlay topologies using techniques from unstructured peer-to-peer systems by carefully exchanging and selecting entries from partial views

Topology Management of Overlay Networks (2) distance = d1 + d2 di = min(N-|ai –bi|, |ai – bi|) In general, how to capture the semantic proximity of the data items? Figure 2-11. Generating a specific overlay network using a two-layered unstructured peer-to-peer system [adapted with permission from Jelasity and Babaoglu (2005)].

Superpeers Maintaining an index or Acting as a broker Problem: how to select a superpeer? Client-superpeer relation could be dynamic Figure 2-12. A hierarchical organization of nodes into a superpeer network, to avoid flooding lookups

2.3 Hybrid Architectures Could be used for replicating content Figure 2-13. Viewing the Internet as consisting of a collection of edge servers, which is to serve content, possibly after filtering and transcoding

Collaborative Distributed Systems (1) Client-server: to join Decentralized: after joining Where is the bottleneck? Figure 2-14. The principal working of BitTorrent [Pouwelse et al. (2004)].

Collaborative Distributed Systems (2) Components of Globule, which resembles the edge-server architecture, collaborative content distribution network: A component that can redirect client requests to other servers. A component for analyzing access patterns. A component for managing the replication of Web pages.

2.3 Architectures vs. Middleware Commonly, middleware systems follow a specific architectural style Easier to design applications No longer optimal for an application Specific solutions should be adaptable to application requirements One possible solution: make several versions of a middleware system Another solution: make the middleware easy to configure, adapt, and customize

Figure 2-15. Using interceptors to handle remote-object invocations. Modules to break usual flow control and allow other code to be executed Figure 2-15. Using interceptors to handle remote-object invocations.

General Approaches to Adaptive Software Three basic approaches to adaptive software: Separation of concerns Separate functionality implementation from other extra functionalities Computational reflection A program could inspect itself and adapt its behavior Component-based design Composition Generality vs. Simplicity with Restricted applicability

2.4 Self-Management in Distributed Systems Distributed systems should be adaptive in their execution behavior, not in the software component they comprise For automatic adaptation, we need to organize the components, and we need to decide where the processes are to be executed to handle the adaptation

The Feedback Control Model Figure 2-16. The logical organization of a feedback control system.

Example: Systems Monitoring with Astrolabe Figure 2-17. Data collection and information aggregation in Astrolabe.

Example: Differentiating Replication Strategies in Globule (1) Replication policy Figure 2-18. The edge-server model assumed by Globule.

Example: Differentiating Replication Strategies in Globule (2) Figure 2-19. The dependency between prediction accuracy and trace length.

Example: Automatic Component Repair Management in Jade Will work only when no crucial data has been lost Steps required in a repair procedure: Terminate every binding between a component on a non-faulty node, and a component on the node that just failed. Request the node manager to start and add a new node to the domain. Configure the new node with exactly the same components as those on the crashed node. Re-establish all the bindings that were previously terminated.