0% found this document useful (0 votes)
3 views

Chapter 1 - Characterization of Distributed Systems

ok

Uploaded by

Chan Vibaksanna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Chapter 1 - Characterization of Distributed Systems

ok

Uploaded by

Chan Vibaksanna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

DISTRIBUTED SYSTEM

Characterization of distributed systems

1
Prepared by: Khem Thay
WHAT IS DISTRIBUTED SYSTEM
▪ Distributed system refers to the system that its components locate
at networked computers, communicate and coordinate their actions
by passing only messages.
▪ Characteristics of distributed systems include:
▪ Concurrency of components
▪ Lack of a global clock
▪ Independent failures of components

2
WHAT IS DISTRIBUTED SYSTEM
▪ The trends of distributed systems include:
▪ The pervasive nature of networking
▪ The emergence of mobile and ubiquitous computing
▪ The increasing importance of distributed multimedia systems
▪ Distributed systems as a utility
▪ Distributed systems mainly rely on resource sharing. Resource refer
to things that can be shared in a networked computer system
▪ Resources are managed by servers and accessed by clients, or
they can be encapsulated as objects and accessed by other client
objects.
3
Pervasive networking and the modern Internet
The modern Internet is a vast interconnected collection of computer networks of
many different types, with the range of types increasing all the time, for example, a
wide range of wireless communication technologies

intranet
ISP

backbone

satellite link

desktop computer:
server:
network link:

4
Mobile and ubiquitous computing
Ubiquitous computing is the harnessing of many small, cheap computational devices
that are present in users’ physical environments, including the home, office and even
natural settings.

The figure shows the user’s


home intranet and the host
intranet at the site that the
user is visiting. Both intranets
are connected to the rest of
the Internet.
5
WHAT IS DISTRIBUTED SYSTEM
▪ The challenges of distributed systems include:
▪ Heterogeneity of components
▪ Openness (components to be added or replaced)
▪ Security
▪ Scalability (the ability to work well when the load increases)
▪ Failure handling
▪ Concurrency of components
▪ Transparency
▪ Quality of service (QoS)

6
INTRODUCTION
CONCURRENCY
▪ In a network of computers, concurrent program execution is important.
▪ The capacity of a system to handle shared resources can be increased by adding
more resources (EX: more servers) to the network
NO GLOBAL CLOCK
▪ Programs cooperate by coordinating their actions by exchanging messages.
▪ The accuracy that computers in a network can synchronize their clocks is very limited
– there is no exact global notion of the correct time
INDEPENDENT FAILURES
▪ All computer systems (software, OS, hardware, network, etc.) can fail anytime.
▪ The failure of a computer, or the unexpected termination of a program in the system
isn’t immediately known by other components with which it communicates.
▪ Each component of system can fail independently, and the others still be running
7
RESOURCE SHARING
▪ What we normally can share:
▪ Hardware resources, EX: printers
▪ Data resources, EX: files
▪ Specific-functionality resources, EX: search engines

▪ Higher-level resources, Ex: shared database


▪ The pattern of sharing and the geographic distribution of users determines
what mechanisms the system must supply in order to coordinate users’ actions.
▪ The term service to refer to a part of computer system that manages a collection
of related resources, and presents their functionality to users and applications.
EX: we access to shared files via file service; send document to printer via
printing service

8
RESOURCE SHARING
▪ Resources can be accessed from other computers by means of communication.
▪ Each resource is managed by a program that offers a communication interface
enabling that resource to be accessed and updated consistently.
▪ The term server refers to a running program (a process) that accepts requests from
programs running on other computers to perform service and responds back.
▪ The requesting processes are referred to as clients. And the overall approach is
known as client-server computing. In this approach, requests are sent in messages
from clients to a server; replies are sent in messages from the server to the clients
▪ When a client sends a request for an operation to be performed, we say that the client
invokes an operation upon the server. A complete interaction from the time a client
sends its request until it receives back the response, is called remote invocation
▪ Some distributed systems can be constructed just by interacting Clients and servers
9
CHALLENGES
HETEROGENEITY
▪ Heterogeneity applies to the following components:
▪ Networks: the Internet has many different kinds of network, but all devices
attached to the Internet must use IP to communicate with each other.
▪ Computer hardware: data types such as integers may be represented in different
ways on different kinds of hardware
▪ Operating systems: all OS implement IP, but they may have different API to access
IP.
▪ Programming languages: different programming languages use different
representations of characters and data structures, such as arrays and records.
▪ Implementations by different developers: programs written by different
developers can communicate with one another only if they use common
standards.

10
CHALLENGES
HETEROGENEITY
▪ MIDDLEWARE
▪ Middleware is a software layer that provides a programming abstraction, and
hides the heterogeneity of underlying networks, hardware, OS and programming
languages, EX: Common Object Request Broker (CORBA), and Java Remote
Method Invocation (RMI).
▪ Most middleware is implemented over IP, which hide the differences of the
underlying networks, OS and hardware.
▪ Middleware also provides a uniform computational model and distributed
applications.
▪ HETEROGENEITY AND MOBILE CODE
▪ Mobile code is the program code that can be transferred from 1 computer to
another and run at the destination, EX: Java applets.
▪ The virtual machine approach provides a way of making code executable on a
variety of host computers by using compiler.
11
CHALLENGES
OPENNESS
▪ The openness of distributed systems is determined by the degree to which new
resource-sharing services can be added and be available to different client
programs
▪ Open distributed systems focus on extensibility. They can be extended at:
▪ Hardware level: by adding more computers to the network.
▪ Software level: by adding new services and reimplementation of old ones

12
CHALLENGES
SECURITY
▪ Security for information resources has 3 components:
▪ Confidentiality: protection against disclosure of data to unauthorized individuals
▪ Integrity: protection against alteration or corruption of data
▪ Availability: protection against interference which about to access the resources

▪ Clients send requests to access data managed by servers, which involves sending
information in messages over a network. The challenge is to send sensitive
information in a message over a network in a secure manner.

13
CHALLENGES
SCALABILITY
▪ A system is described as scalable if it will remain effective when there is a significant
increase in the number of resources and the number of users.
▪ The design of scalable distributed systems face with the following challenges:
▪ Controlling the cost of physical resources
▪ Controlling the performance loss
▪ Preventing software resources running out
▪ Avoiding performance bottlenecks

▪ The issue of scalable is a dominant theme in the development of distributed systems,


and the solutions include:
▪ The use of replicated data
▪ The technique of caching
▪ The deployment of multiple servers to handle commonly performed tasks
▪ Enabling several similar tasks to be performed concurrently 14
CHALLENGES
FAILURE HANDLING
▪ Failures in a distributed system are partial – some components may fail while others
continue to function.
▪ The techniques for dealing with the failures are:
▪ Detecting failures: EX: checksums can be used to detect corrupted data in message or file.
▪ Masking failures: some failures that have been detected can be hidden or made less
severe. 2 EX of hiding failures are:
▪ Messages can be retransmitted when they fail to arrive
▪ File data can be written to a pair of disks
▪ Tolerating failures: the internet clients can be designed to tolerate failures, which generally
involves the users tolerating them as well.
▪ Recovery from failures: recovery involves the design of software so that the state of
permanent data can be recovered or rolled back after a server has crashed.
▪ Redundancy: services can be made to tolerate failures by the use of redundant components.

▪ Distributed systems provide a high degree of availability in the face of hardware


faults. When 1 of the components fails, only the work using the failed component is
affected. A user may move to another computer automatically 15
CHALLENGES
CONCURRENCY
▪ In distributed systems, several clients will attempt to access a shared resource at the
same time.
▪ Services and applications generally allow multiple client requests to be processed
concurrently. EX: each resource is encapsulated as an object and the invocations are
executed in concurrent threads.
▪ It is possible that several threads may be executing concurrently within an object, and
their operations may conflict with one another and produce inconsistent results.
Therefore, any object that represents a shared resource in a distributed system must
be responsible for ensuring that it operates correctly in a concurrent environment.
▪ This applies not only to servers but also to objects in applications.
▪ For an object to be safe in a concurrent environment, its operations must be
synchronized in a way that its data remains consistent. This can be achieved by
standard techniques such as semaphores. 16
CHALLENGES
TRANSPARENCY
▪ Transparency is the concealment from the user and the application programmer of the
separated components in a distributed system, so that the system is perceived as a whole rather
than as a collection of independent components.
▪ 8 forms of transparency are:
▪ 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.
▪ 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 making changes to the
system structure or the application algorithms.
17
CHALLENGES
QUALITY OF SERVICE
▪ The main nonfunctional properties of systems that affect the QoS experienced by
clients and users are reliability, security and performance. Performance in here
refers to the ability to meet timeliness guarantees, EX: multimedia applications.
▪ Adaptability to meet the changes of system configurations and resource
availability is the most important aspect of QoS.
▪ Normally, QoS refers to the ability of systems to meet such deadlines. It depends on
the availability of the computing and network resources at the appropriate times

18
TP 1
▪ What happen if the request need to be forwarded from a server to another server?
▪ What is peer-to-peer computing, give an example?
▪ Explain client-server program between web browser and web server, give an EX
▪ Explain the 2 alternative ways for byte ordering of integers.
▪ Find 1 EX of each transparency
▪ Find functional and nonfunctional properties of a system with EX (QoS)

19
REFERENCE

From Coulouris, Dollimore, Kindberg and Blair


Distributed Systems:
Concepts and Design
Edition 5, © Addison-Wesley 2012

20

You might also like