ECI-M-811 Distributed Systems and Internetworking

Slides:



Advertisements
Similar presentations
CS-495 Distributed Systems Fabián E. Bustamante, Winter 2004 Introduction Distributed Systems Goals of Distributed Systems Hardware and Software Concepts.
Advertisements

Distributed Computing Systems Overview of Distributed Systems Andrew Tanenbaum and Marten van Steen, Distributed Systems – Principles and Paradigms, Prentice.
Distributed Systems 1 Topics  What is a Distributed System?  Why Distributed Systems?  Examples of Distributed Systems  Distributed System Requirements.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
1 Distributed Systems Alexis Delis Monday 6:00-9:00 Spring 2002
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Distributed components
Introduction Chapter 1.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
City University London
REK’s adaptation of Prof. Claypool’s adaptation of
Chapter 1  Introduction 1 Introduction Chapter 1.
Based on last years lecture notes, used by Juha Takkinen.
Introduction Dr. Ying Lu CSCE455/855 Distributed Operating Systems.
CS4513 Distributed Computer Systems Introduction (Ch 1: , )
SKR 4401 Distributed Systems
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Introducing … Distributed Systems.
1 Introduction Chapter 1. 2 Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its.
Tutorials 1 1.What is the definition of a distributed system? 1.A distributed system is a collection of independent computers that appears to its users.
EECE 411: Design of Distributed Software Applications What is a Distributed System? You know when you have one … … when the failure of a computer you’ve.
Computer Science Lecture 1, page 1 CS677: Distributed OS Distributed Operating Systems Spring 2005 Prashant Shenoy UMass Computer Science
Distributed Systems CS 3850 Soufiane Noureddine Lectures MWF 14:00 – 14:50 (PE207D) Office Hours MW 11:00 – 12:00 (C520)
DISTRIBUTED COMPUTING
Dr. Kalpakis CMSC621 Advanced Operating Systems Introduction.
Massively Distributed Database Systems Spring 2014 Ki-Joune Li Pusan National University.
Introduction Chapter 1. Definition of a Distributed System A distributed system [Tannenbaum & Steen] can be defined as a collection of independent computers.
Introduction to DISTRIBUTED SYSTEMS Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Advanced Operating Systems Welcome to this course, in Fall Semester Main TextBooks 1- Tanenbaum’s book 2- Chow’s Book 3- Singhal’s Book Other extra.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Distributed Systems: Concepts and Design Chapter 1 Pages
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Introduction to DISTRIBUTED COMPUTING Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
1 CS 6823 ASU Chapter 2 Architecture.
Distributed Systems COEN 317 Introduction Chapter 1,2,3.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
SUMAN K REDDY BURJUKINDI. Evolution of Modern Operating Systems 1 st Generation: Centralized Operating System 2 nd Generation: Network Operating System.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Distributed Computing Systems CSCI 4780/6780. Distributed System A distributed system is: A collection of independent computers that appears to its users.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 19/09/2007.
1 MSCS 237 Communication issues. 2 Colouris et al. (2001): Is a system in which hardware or software components located at networked computers communicate.
Introducing … Distributed Systems Paul Barry Muhammed Cinsdikici.
1 Introduction Chapter 1. 2 The Textbook  Andrew S. Tanenbaum & Maarten van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall, 2002.
OS2- Sem1-83; R. Jalili Introduction Chapter 1. OS2- Sem1-83; R. Jalili Definition of a Distributed System (1) A distributed system is: A collection of.
Distributed Systems: Principles and Paradigms By Andrew S. Tanenbaum and Maarten van Steen.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Distributed Computing Systems CSCI 6900/4900. Review Distributed system –A collection of independent computers that appears to its users as a single coherent.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
CS551 - Lecture 2 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)
1 Distributed Processing Chapter 1 : Introduction.
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
TEXT: Distributed Operating systems A. S. Tanenbaum Papers oriented on: 1.OS Structures 2.Shared Memory Systems 3.Advanced Topics in Communications 4.Distributed.
Primitive Concepts of Distributed Systems Chapter 1.
Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.
Objektorienteret Netværkskommunikation Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Introduction Chapter 1. Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Definition of Distributed System
Advanced Operating Systems
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Introduction To Distributed Systems
Introduction Chapter 1.
Presentation transcript:

ECI-M-811 Distributed Systems and Internetworking Coordinator: Dr. Zhanfang Zhao Office: T409 Tel: 020 7815 6340 Fax: 020 7815 7051 Email: zhaoza@lsbu.ac.uk URL: http://ecce3.sbu.ac.uk/staff/zhaoza/dsi/ Blackboard: http://blackboard.lsbu.ac.uk/

Textbooks Core reading: Background reading: ‘Distributed Systems: Principles and Paradigms Tanenbaum AS. Prentice Hall 2002. Background reading: ‘Distributed Systems: Concept and Design’ Coulouris G etc, Addison Wesley, 2001.

Topics Introduction to DS Communication in DS Process in DS Naming System in DS Synchronization in DS New technologies

Outcomes (Distributed System Part) At the end of this unit the student will be able to: Familiar with the concepts of distributed systems hardware and distributed system facilities. Able to appreciate the capabilities and limitations of applications software running over local and wide area networks. Able to understand, design and implement simple client-server systems. Able to know how the World Wide Web system works

Introduction to Distributed System Contents of this lesson: Definition of the Distributed System The Goals when Building a Distributed System Basic Software Concepts The Middleware System Architecture & Client-Server Model

Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system. --Tanenbaum Two aspects of this definition: Hardware: The machines are autonomous. Software: The user think they are dealing with a single system. Important characteristics of DS: Differences between various computers and the ways in which they communicate are hidden from users Users and applications can interact with a DS in a consistent and uniform way Ds should also be easy to extend or scale To support heterogeneous computers and networks while offering a single system view, DS is often organized in certain layers called middleware

Definition of a Distributed System (2) A distributed system is a collection of autonomous hosts that that are connected through a computer network. Each host executes components and operates a distribution middleware, which enables the components to coordinate their activities in such a way that users perceive the system as a single, integrated computing facility. -----------Wolfgang Emmerich, 2000 We employ the (adapted) definition of Colouris, Dollimore and Kindberg of a distributed system. It requires autonomous computers to be interconnected through a network. Each computer has to be equipped with distributed operating system software, which enables the computers to coordinate activities and to share resources in a controlled way We also require transparency of distribution for the computer users. They shall not have to be aware of the fact that the system is distributed.

Definition of a Distributed System (3) Component1 Componentn Hostn-1 Hostn Host2 Host1 Middleware Network Operating System Hardware Network

Middleware Examples Transaction-oriented Procedural Object-oriented IBM CICS BEA Tuxedo IBM Encina Microsoft Transaction Server Message-oriented Microsoft Message Queue Sun Tooltalk Procedural Sun ONC Linux RPCs OSF DCE Object-oriented OMG CORBA Sun Java/RMI Microsoft COM .net Remote Sun Enterprise Java Beans

Centralised System Characteristics One component with non-autonomous parts Component shared by users all the time All resources accessible Software runs in a single process Single Point of control Single Point of failure

Distributed System Characteristics Multiple autonomous components Components are not shared by all users Resources may not be accessible Software runs in concurrent processes on different processors Multiple Points of control Multiple Points of failure

Goals Four important goals should be met to make it worth to build a distributed systems: Connecting users and resources Transparency Openness Scalability

Transparency in a Distributed System Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be replicated Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk Different forms of transparency in a distributed system. Definition: A DS that is able to present itself to users and applications as if it were only a single computer system is said to be transparent

Transparency Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. Transparency has different dimensions These represent various properties that distributed systems should have.

Distribution Transparency Scalability Transparency Performance Transparency Failure Transparency Migration Transparency Replication Transparency Concurrency Transparency Access Transparency Location Transparency

Access Transparency Enables local and remote information objects to be accessed using identical operations. Example: File system operations in NFS. Example: Navigation in the Web. Example: SQL Queries

Location Transparency Enables information objects to be accessed without knowledge of their location. Example: File system operations in NFS Example: Pages in the Web Example: Tables in distributed databases

Concurrency Transparency Enables several processes to operate concurrently using shared information objects without interference between them. Example: Automatic teller machine network Example: Database management system

Replication Transparency Enables multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs Example: Distributed DBMS Example: Mirroring Web Pages.

Failure Transparency Enables the concealment of faults Allows users and applications to complete their tasks despite the failure of other components. Example: Database Management System

Migration Transparency Allows the movement of information objects within a system without affecting the operations of users or application programs Example: NFS Example: Web Pages

Performance Transparency Allows the system to be reconfigured to improve performance as loads vary. Example: Distributed make.

Scaling Transparency Allows the system and applications to expand in scale without change to the system structure or the application algorithms. Example: World-Wide-Web Example: Distributed Database

Openness An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services. Openness means that the system can easily be extended and modified. To facilitate the openness, the system should have a well defined and well-documented interfaces. These interface must declare the services that a component offers. And these interfaces are often described in an Interface Define Language (IDL) A service is an operation that a component performs on behalf of a user or another component. The interface definition should be complete and neutral. Complete means that everything that is necessary to make an implementation has indeed been specified.

Scalability Adaption of distributed systems to accomodate more users respond faster (this is the hard one) Usually done by adding more and/or faster processors. Components should not need to be changed when scale of a system increases. Design components to be scalable!

Examples of scalability limitations. Scalability Problems Concept Example Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information Examples of scalability limitations.

Software Concepts An overview between System Description Main Goal DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency An overview between DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware

Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11

Multiprocessor Operating Systems (1) An important extension of MOS is that it supports multiple processors having access to a shared memory. These data in the shared memory must be protected against the concurrent access to guarantee consistency. Two synchronized primitives are used, one is semaphore, another is monitor monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count – 1;} } A monitor to protect an integer against concurrent access.

Multiprocessor Operating Systems (2) monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} void incr () { if (blocked_procs == 0) count = count + 1; else signal (unblocked); } void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs – 1; } else count = count – 1; A monitor to protect an integer against concurrent access, but blocking a process.

Multicomputer Operating Systems (1) 1.14 General structure of a multicomputer operating system

Multicomputer Operating Systems (2) Alternatives for blocking and buffering in message passing. 1.15

Network Operating System (1) General structure of a network operating system. 1-19

Network Operating System (2) Two clients and a server in a network operating system. File systems is supported by one or more machines called file servers 1-20

Positioning Middleware General structure of a distributed system as middleware. 1-22

Middleware and Openness 1.23 In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.

System Architecture & Client Server Model Important styles of architecture for distributed systems Layered architectures Object-based architectures Data-centered architectures Event-based architectures

Architectural Styles (1) The layered architectural style and …

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

Architectural Styles (3) The event-based architectural style ( Publish/Subscribe System)

Architectural Styles (4) The shared data-space architectural style.

Clients and Servers 1.25 General interaction between a client and a server. In the basic client server model, the process in a computing system are divided into two groups. A server is a process implementing a specific service, for example database service. A client is a process that requests a service from a server by sending it a request and subsequently waiting or the server’s reply

An Example Client and Server (1) Used for parameters The header.h file used by the client and server.

An Example Client and Server (2) A sample server.

An Example Client and Server (3) 1-27 b A client using the server to copy a file.

Application Layering For the web applications, the CS applications generally been organized into three levels: 1-28

Multitiered Architectures (1) Alternative client-server organizations (a) – (e). 1-29

Multitiered Architectures (2) An example of a server acting as a client. 1-30

Modern Architectures An example of horizontal distribution of a Web service. 1-31

Distributed System Paradigms World Wide Web Architecture Model: Traditional Web-based Systems Overall organization Web Documents Programming Languages: HTML, XML & MIME (Multipurpose Internet Mail Exchange) Multi-tiered Architectures Web Services

Traditional Web-Based Systems Figure 12-1. The overall organization of a traditional Web site.

Web Documents Six top-level MIME types and some common subtypes.

Multitiered Architectures The principle of using server-side CGI programs.

Web Services Fundamentals The principle of a Web service: WSDL (Web Services Definition Language) is a formal language very much the same as the interface definition languages of RPC SOAP ( Simple Object Access Protocol) is essentially a framework in which much of the communication between two process can be standardized UDDI ( Universal Description, Discovery and Integration)