ECI-M-811 Distributed Systems and Internetworking - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

ECI-M-811 Distributed Systems and Internetworking

Description:

ECI-M-811 Distributed Systems and Internetworking Coordinator: Dr. Zhanfang Zhao Office: T409 Tel: 020 7815 6340 Fax: 020 7815 7051 Email: zhaoza_at_lsbu.ac.uk – PowerPoint PPT presentation

Number of Views:234
Avg rating:3.0/5.0
Slides: 55
Provided by: SteveA243
Category:

less

Transcript and Presenter's Notes

Title: ECI-M-811 Distributed Systems and Internetworking


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

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

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

4
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

5
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

6
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

7
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

8
Definition of a Distributed System (3)
9
Middleware Examples
  • Transaction-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

10
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

11
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

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

13
Transparency in a Distributed System
Transparency 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
14
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.

15
Distribution Transparency
Concurrency Transparency
Access Transparency
Location Transparency
16
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

17
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

18
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

19
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.

20
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

21
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

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

23
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

24
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.

25
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!

26
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.
27
Software Concepts
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

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

1.11
29
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.

30
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.

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

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

1.15
33
Network Operating System (1)
  • General structure of a network operating system.

1-19
34
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
35
Positioning Middleware
  • General structure of a distributed system as
    middleware.

1-22
36
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.

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

38
Architectural Styles (1)
  • The layered architectural style and

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

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

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

42
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 servers reply

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

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

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

46
Application Layering
  • For the web applications, the CS applications
    generally been organized into three levels

1-28
47
Multitiered Architectures (1)
  • Alternative client-server organizations (a) (e).

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

1-30
49
Modern Architectures
  • An example of horizontal distribution of a Web
    service.

1-31
50
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

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

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

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

54
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)
Write a Comment
User Comments (0)
About PowerShow.com