chapter 1n2 characterization and design goals
TRANSCRIPT
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
1/48
Topic 1:
Introduction to Distributed Systems,Characterization and Design Goals
Dr Ahmad Suki Che Mohamed Arif
School of ComputingUUM CAS, Universiti Utara Malaysia
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
2/48
1. What is a Distributed System
2. Examples of Distributed
Systems3. Common Characteristics
4. Basic Design Issues
5. Design Requirements6. Summary
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
3/48
Fully
Distributed
D
ata
Processors
Control
Fully replicated
Not fully replicated
master directory
Local data,
local directory
Master-slave
Autonomous trans-
action based
Autonomousfully cooperative
Homog.special
purpose
Heterog.
special
purpose
Homog.general
purpose
Heterog.
general
purpose
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
4/48
A programming languageis/was only compatible withcertain operating systems.
VB is only for MS Windows.
http://en.wikipedia.org/wiki/List_of_operating_systems
http://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systems -
8/3/2019 Chapter 1n2 Characterization and Design Goals
5/48http://en.wikipedia.org/wiki/List_of_operating_systems
http://en.wikipedia.org/wiki/List_of_operating_systemshttp://en.wikipedia.org/wiki/List_of_operating_systems -
8/3/2019 Chapter 1n2 Characterization and Design Goals
6/48
A client that is set to server A, will only usethat server resources.Event though many other computers are idle.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
7/48
A client that is set to server A, has to bereplaced if the server is not scalabled.Certain application can only be implemented in
certain types of machines.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
8/48
Certain database application/server mightnot able to be implemented if cantsupport a huge data.
It definitely needs to be distributed
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
9/48
Mobile devices and computer/databaseservers are not connected.Computer applications are not accessible from
a mobile device.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
10/48
Computing in computer networksplatform?
Computing components are not in a single
computer (distributed across multiplecomputers on the network).
Resource sharing cloud computing.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
11/48
Definition: A distributed system is one in whichcomponents located at networked computerscommunicate and coordinate their actions only bypassing messages. This definition leads to the
following characteristics of distributed systems:concurrency of components
lack of a global clock
independent failures of components
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
12/48
One component with non-autonomousparts
Component shared by users all the time
All resources accessible
Software runs in a single process
Single point of control
Single point of failure
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
13/48
Multiple autonomous components
Components are not shared by allusers
Resources may not be accessible
Software runs in concurrent processeson different processors
Multiple points of control
Multiple points of failure
14
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
14/48
14
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
Finance and commerce eCommerce e.g. Amazon and eBay, PayPal,online banking and trading
The information society Web information and search engines, ebooks,Wikipedia; social networking: Facebook and MySpace.
Creative industries and entertainmentonline gaming, music and film in the home, user-generated content, e.g. YouTube, Flickr
Healthcare health informatics, on online patient records,
monitoring patients
Education e-learning, virtual learning environments; distancelearning
Transport and logistics GPS in route finding systems, map services:Google Maps, Google Earth
Science The Grid as an enabling technology forcollaboration between scientists
Environmental management sensor technology to monitor earthquakes, floodsor tsunamis
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
15/48
The emergence of pervasive networkingtechnologyDevices can be connected at any time and in
any place.
The emergence of ubiquitous computingcoupled with the desire to support usermobility in distributed systems.
The increasing demand for multimediaservices Including various real-time and on-demand
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
16/48
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
intranet
ISP
desktop computer:
backbone
satellite link
server:
network link:
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
17/48
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
18
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
18/48
8
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
19/48
What are we trying to achieve when weconstruct a distributed system?
Challenges in distributed systemsHeterogeneity: variety and differences in computing
components Openness: uniform communication mechanism and
published interfaces for access to shared resources. Security Scalability
Failure Handling ConcurrencyTransparency
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
20/48
Variety and differences in Networks Computer hardware Operating systems Programming languages
Implementations by different developers Middleware as software layers to provide a
programming abstraction as well as maskingthe heterogeneity of the underlying networks,hardware, OS, and programming languages(e.g., CORBA).
Mobile Code to refer to code that can be sentfrom one computer to another and run at thedestination (e.g., Java applets and Java virtual
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
21/48
Openness is concerned with extensionsand improvements of distributed systems.
Detailed interfaces of components need to
be published.New components have to be integrated
with existing components.
Differences in data representation ofinterface types on different processors (ofdifferent vendors) have to be resolved.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
22/48
In terms of CONFIDENTIALITY, INTEGRITY &AVAILABILITY.
In a distributed system, all open resources need tobe allowed, while confidential data has to be
restricted to authorized users only. Security is required for Concealing the contents of messages: security and
privacy Identifying a remote user or other agent correctly:
authentication New challenges:
Denial of service attack Security of mobile code
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
23/48
Adaptation of distributed systems toaccommodate more users
respond faster (this is the hard one)
Challenges:Controlling the cost of physical resources.
Controlling the performance loss
Preventing software resources running outAvoiding performance bottlenecks
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
24/48
Hardware, software and networks mightfail independently.Example: DNS fail & web server limitation
cases
Solution & Challenge Issues:Detecting failures
Masking failures retransmitted when failure
occursTolerating failures informs user about the
problem
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
25/48
Components in distributed systems areexecuted in concurrent processes.
Components access and update shared
resources (e.g. variables, databases,device drivers).
Integrity of the system may be violated ifconcurrent updates are not coordinated.Lost updates
Inconsistent analysis
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
26/48
Distributed systems should be perceivedby users and application programmers as awhole rather than as a collection ofcooperating components.
Transparency has different aspects.
These represent various properties that
distributed systems should have.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
27/48
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
Access transparency: enables local and remote resources to be accessed using identical
operations.Location transparency: enables resources to be accessed without knowledge of their physical
or network location (for example, which building or IP address).
Concurrency transparency: enables several processes to operate concurrently using shared
resources without interference between them.
Replication transparency: enables multiple instances of resources to be used to increase
reliability and performance without knowledge of the replicas by users or application
programmers.
Failure transparency: enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or software components.
Mobility transparency: allows the movement of resources and clients within a system
without affecting the operation of users or programs.
Performance transparency: allows the system to be reconfigured to improve performance
as loads vary.Scaling transparency: allows the system and applications to expand in scale without change
to the system structure or the application algorithms.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
28/48
Enables local and remote informationobjects to be accessed using identicaloperations.
Example: File system operations inNFS.
Example: Navigation in the Web.
Example: SQL Queries
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
29/48
Enables information objects to beaccessed without knowledge of theirlocation.
Example: File system operations in NFS
Example: Pages in the Web
Example: Tables in distributeddatabases
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
30/48
Enables several processes to operateconcurrently using shared informationobjects without interference betweenthem.
Example: NFS
Example: Automatic teller machinenetwork
Example: Database management system
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
31/48
Enables multiple instances of informationobjects to be used to increase reliabilityand performance without knowledge of thereplicas by users or application programs
Example: Distributed DBMS
Example: Mirroring Web Pages.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
32/48
Enables the concealment of faultsAllows users and applications to complete
their tasks despite the failure of other
components.Example: Database Management System
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
33/48
Allows the movement of informationobjects within a system without affectingthe operations of users or applicationprograms
Example: NFS
Example: Web Pages
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
34/48
Allows the system to be reconfigured toimprove performance as loads vary.
Example: Distributed make.
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
35/48
Allows the system and applications toexpand in scale without change to thesystem structure or the applicationalgorithms.
Example: World-Wide-Web
Example: Distributed Database
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
36/48
Case of the World Wide Web (refer tosection 1.6 pg 42 of the text book)
Networking and internetworking (Chapter
3).
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
37/48
What are the entities that arecommunicating in the distributed systems?
How do they communicate, or, more
specifically what communication paradigmis used?
What (potentially changing) roles andresponsibilities do they have in the overall
architecture?How are they mapped on to the physical
distributed infrastructure (what is their
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
38/48
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
39/48
Client-serverPeer-to-peer
Services provided by multiple servers
Proxy servers and cachesMobile code and mobile agents
Network computers
Thin clients and mobile devices
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
40/48
Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
Server
Client
Client
invocation
result
Serverinvocation
result
Process:Key:
Computer:
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
41/48
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
42/48
Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
Server
Server
Server
Service
Client
Client
A service provided by multiple servers
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
43/48
Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
Client
Proxy
Web
server
Web
server
serverClient
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
44/48
Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
a) client request results in the downloading of applet code
Web
server
ClientWeb
server
Applet
Applet code
Client
b) client interacts with the applet
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
45/48
ThinClient
ApplicationProcess
Network computer or PCCompute server
network
a computeror a computer programwhich depends heavily on some
other computer (itsserver) to fulfill its traditional computationalroles.
The most common type of modern thin client is a low-end
computer terminalwhich concentrates solely on providing a
graphical user interfaceto the end-user.
http://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Computer_terminalhttp://en.wikipedia.org/wiki/Computer_terminalhttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Graphical_user_interfacehttp://en.wikipedia.org/wiki/Computer_terminalhttp://en.wikipedia.org/wiki/Computer_programhttp://en.wikipedia.org/wiki/Computer -
8/3/2019 Chapter 1n2 Characterization and Design Goals
46/48
Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
Applications, services
Computer and network hardware
Platform
Operating system
Middleware
47
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
47/48
Instructor s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
Pearson Education 2012
-
8/3/2019 Chapter 1n2 Characterization and Design Goals
48/48
Definitions of distributed systems andcomparisons to centralized systems.
The characteristics of distributed
systems.The eight forms of transparency.
The basic design issues.
Typical design requirements.Read Chapter 1 and Chapter 2 of the
textbook.