0% found this document useful (0 votes)
234 views35 pages

Characterization of Distributed Systems (Chapter-1)

This document discusses key concepts in distributed systems including definitions, characteristics, examples, and challenges. It defines a distributed system as one where components located at networked computers coordinate through message passing. Key characteristics are concurrency, lack of a global clock, and independent failures. Examples include the internet, local networks, mobile/ubiquitous computing, databases, and ATM networks. Major challenges are heterogeneity, openness, security, scalability, failure handling, and concurrency.

Uploaded by

Melvin Jacob
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
234 views35 pages

Characterization of Distributed Systems (Chapter-1)

This document discusses key concepts in distributed systems including definitions, characteristics, examples, and challenges. It defines a distributed system as one where components located at networked computers coordinate through message passing. Key characteristics are concurrency, lack of a global clock, and independent failures. Examples include the internet, local networks, mobile/ubiquitous computing, databases, and ATM networks. Major challenges are heterogeneity, openness, security, scalability, failure handling, and concurrency.

Uploaded by

Melvin Jacob
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

Characterization of Distributed Systems (Chapter-

1)

Distributed Systems - Concepts and Design


(Fourth Edition)
George Coulouris
Jean Dollimore
Tim Kindberg
Unit 1: DISTRIBUTED SYSTEM ARCHITECTURE:
Characterization of Distributed Systems:
• Introduction
• Examples of distribute systems
• Challenges
System Models:
• Introduction,
• Architecture models
• Fundamental models

(Chapter 1 Sections 1.1, 1.2, 1.4 , Chapter 2 Sections 2.1, 2.2, 2.3 of Text Book 1)
What is distributed system?

• DS is the one in which components located at networked


computers communicate and coordinate their actions only
by passing messages.
In other words…..
• DS consists of a collection of autonomous computers,
connected through a network and distributed middleware,
which enables computers to coordinate their activities and
to share the resources of the system, so that users perceive
the system as a single integrated computing facility.
Continued…
These definitions lead to the following
characteristics of distributed systems:

• Concurrency
• No global clock
• Independent failures of components
Consequences of Distributed Systems
Concurrency
 Multiple activities executed at the same time.
E.g. a server may create two threads running concurrently to service
two client requests.
No global clock
 Programs cooperate not by any shared idea of time but by passing
or exchanging messages
 Thus there is no single global notion of time and only
communication is by sending messages thru network .
Independent failures
 Each component of a distributed system can fail independently,
leaving the others still running .
EXAMPLES OF DISTRIBUTED SYSTEMS:

• Internet/World-Wide Web
• Local Area Network and Intranet
• Mobile Computing and Ubiquitous Computing
• Database Management System
• Automatic Teller Machine Network

 
EXAMPLES OF DISTRIBUTED SYSTEMS:
• Internet/World-Wide Web

  intranet %
%
% ISP

backbone

satellite link

desktop computer:
server:
network link:

the largest distributed system in the world…...


EXAMPLES OF DISTRIBUTED SYSTEMS:
• Local Area Network and Intranet
email server Desktop
computers
print and other servers
 
Local area
Web server network

email server
print
File server
other servers

the rest of
the Internet
router/firewall
EXAMPLES OF DISTRIBUTED SYSTEMS:
• Mobile and Ubiquitous Computing

  Internet

Host intranet GSM/GPRS


Wireless LAN gateway Home intranet

Mobile
phone
Printer Laptop
Camera Host site
EXAMPLES OF DISTRIBUTED SYSTEMS:
• Database Management System

 
EXAMPLES OF DISTRIBUTED SYSTEMS:
• Automatic Teller Machine Network

 
CHALLENGES:

• Heterogeneity Why do we bother about


• Openness constructing distributed
• Security systems?
Why not centralized
• Scalability systems….
• Failure handling
• Concurrency
• Transparency
• Heterogeneity applies to
– Network
– Computer Hardware
– Operating Systems
– Programing Language
– Implementations by different developer

 Middleware as software layers to provide a programming abstraction


as well as masking the heterogeneity of the underlying networks,
hardware, OS, and programming languages (e.g., CORBA).

 Some of the uniform computational models provided by middleware


are remote Object Invocation, Remote event Notification, Remote
SQL Access, Distributed Transaction Processing.
 Mobile code – Virtual Machine approach helps to execute the code
on any hardware….
Continued….. Challenges in heterogeneity….
• Differences of heterogeneous components in a
distributed system have to be resolved
• Differences in data type representation regarding, for
example, byte ordering of integers
• Different APIs of different operating systems for the
implementation of the Internet protocols
• Different programming languages use different
representations for characters and data structures
such as arrays and records
• Different programmers have to use common
standards for communication purpose
Openness in H/w and S/w:
• The openness of a computer system is the characteristic that
determines whether the system can be extended and reimplemented
in various ways. The openness of distributed systems is determined
primarily by the degree to which new resource-sharing services can be
added and be made available for use by a variety of client programs.

• H/w level : addition of computers to n/w.

• S/w level : Introducing new services , reimplementation of old ones,


enabling application programs to share resources.
To summarize….
• Open systems are characterized by the fact that their key
interfaces are published.
• Open distributed systems are based on the provision of a
uniform communication mechanism and published interfaces for
access to shared resources.
• Open distributed systems can be constructed from
heterogeneous hardware and software, possibly from different
vendors.
• But the conformance of each component to the published
standard must be carefully tested and verified if the system is to
work correctly.
Security – 3 Components
Security for information resources has 3 components
• Confidentiality(protection against unauthorized individuals)
In a distributed system, clients send requests to access data
managed by servers, resources in the networks:
– Doctors requesting records from hospitals
– Users purchase products through electronic commerce
– In banking, users send their credit card numbers across the
Internet.
• Integrity (protection against alteration or corruption)
Security is required for:
– Concealing the contents of messages: security and privacy
– Identifying a remote user or other agent correctly
(authentication)
• Availability (protection against interference while accessing the
resources ie. Systems and data are usable when needed…)
New challenges:
– Denial of service attack : Another security problem is that a user
may wish to disrupt a service for some reason. This can be achieved
by bombarding the service with such a large number of pointless
requests that the serious users are unable to use it.
– Security of mobile code : Mobile code (agents ) are software codes
(agents ) that have the ability to travel from one place to another to
do the work assigned to them autonomously. Security of mobile
code is emerging as one of the most important challenges facing
computer research today.
– The challenge includes, protecting the host from a malicious Mobile
Code and protecting Mobile Code from the Execution Environment.
Scalability
• A system is described as scalable if it remain
effective , when there is a significant increase
in no. of resources and no. of users.
Design of scalable DS presents following
challenges:
• Controlling the cost of physical resources
• Controlling Performance Loss
• Preventing s/w resources running out
• Avoiding performance bottlenecks.
Controlling the cost of physical resources:
• As the demand for a resource grows, it should be possible to
extend the system, at reasonable cost, to meet it.
• For example, the frequency with which files are accessed in an
intranet is likely to grow as the number of users and computers
increases.
• It must be possible to add server computers to avoid the
performance bottleneck that would arise if a single file server had
to handle all file access requests.
• for a system with n users to be scalable, the quantity of physical
resources required to support them should be at most O(n) – that
is, proportional to n.
Controlling the performance loss:
• Consider the management of a set of data whose size is
proportional to the number of users or resources in the system.
• For example, the table with the correspondence between the
domain names of computers and their Internet addresses held by
the Domain Name System, which is used mainly to look up DNS
names such as www.amazon.com.
• Algorithms that use hierarchic structures scale better than those
that use linear structures. But even with hierarchic structures an
increase in size will result in some loss in performance: the time
taken to access hierarchically structured data is O(log n), where n
is the size of the set of data.
Preventing software resources running out:
• An example of lack of scalability is shown by the numbers used as Internet
(IP) addresses (computer addresses in the Internet).
• But larger Internet addresses will occupy extra space in messages and in
computer storage.

Avoiding performance bottlenecks:


• In general, algorithms should be decentralized to avoid having performance
bottlenecks.
• We illustrate this point with reference to the predecessor of the Domain
Name System, in which the name table was kept in a single master file that
could be downloaded to any computers that needed it.
• That was fine when there were only a few hundred computers in the
Internet, but it soon became a serious performance and administrative
bottleneck.
• The Domain Name System removed this bottleneck by partitioning the name
table between servers located throughout the Internet and administered
locally.
Failure Handling
• In DS failure is partial
Techniques for dealing with failures:
• Detecting Failures – (Eg. Checksum)
• Masking Failures – (Eg. retransmitting msgs)
• Tolerating Failures – (Eg. Error Msg web
browser cannot contact web server)
• Recovery from failures
• Redundancy
Concurrency
• Resource sharing is the main motivation of DS.

• These resources are shared by clients

• Several clients will attempt to access a shared resources at the same


time

• If it takes one client request at a time it limits throughput.

• It allows multiple clients request to be processed concurrently.

• Integrity of the system may be violated if concurrent updates are not


coordinated.
– Lost updates
– Inconsistent analysis
• As an example for a lost update, consider that you withdraw 50
dollars. This requires the bank´s account database to compute:
debitbalance = balance-50; /* Op1 */
balance = debitbalance; /* Op2 */
• If a clerk in the bank credits a check of 100 dollars the following
computation has to be done:
creditbalance = balance+100; /* Op3 */
balance = creditbalance; /* Op4 */
• If these two modifications to your account are done concurrently
the integrity of the account data may be violated in two ways:
1. your debit may not be recorded (bad luck for the bank) if the
schedule is (Op1, Op3, Op2, Op4).
2. the credit of your check may not be recorded (bad luck for
you) if the schedule is (Op3, Op1, Op4, Op2).
Transparency
• Access Transparency
• Location transparency -
• Concurrency Transparency
• Replication Tranparency
• Failure Transparency
• Mobility Transparency
• Performance Transparency
• Scaling Transparecy
• Most important transparencies are Access and Location
transparencies(called as network transparency)
Access Transparency
• Enables local and remote information objects to be
accessed using identical operations.

• Example: File system operations in NFS.


->same commands for copying, moving and deleting
files regardless whether the accessed files are local or
remote.
• Example: Navigation in the Web.
 Users of a web browser can navigate to another
page by clicking on a hyperlink, regardless whether the
hyperlink leads to a local or a remote page
Location Transparency
 Enables information objects to be accessed without
knowledge of their location.

 do not need to know whether the file resides on a


local or a remote disk.
 Users of a Web browser need not be aware where
the page physically resides.
 Programmers of a relational database application do
not need to worry where the tables physically reside
Concurrency Transparency
• Enables several processes to operate concurrently
using shared information objects without
interference between them.
• Example: Automatic teller machine network

- need not be aware of the fact that other


customers are using tellers at the same time
• Multiple users can access and update files on the
same file system…..
Replication Transparency

 Replication is the duplication of data on other hosts


 Enables multiple instances of information objects to be
used to increase reliability and performance.
 Example: Distributed DBMS

 Tables in a distributed relational database may be


replicated
 Often Web pages are replicated to increase performance
of their retrieval and to have them available also in
the presence of network failures.
Failure Transparency
 Enables the concealment of faults
 Allows users and applications to complete their tasks
despite the failure of other components.
 Components in distributed systems may fail, it is
important that users of the systems are not aware of
these failures
 Example: Database Management System
• Continued…
 Scenario – Remote Data Monitors Failed
 The local data monitor has to detect the failure of remote
monitors.
 Updates of local data then have to be buffered in the
local replicate.
 After the remote monitor has come up again, the
buffered updates have to be incorporated into the remote
databases and inconsistencies (if any) have to be
reconciled.
Mobility Transparency
 Allows the movement of information objects within a system
without affecting the operations of users or application
programs
 Migration denotes the fact that software and/or data is moved
to other processors
 Migration transparency is dependent on location transparency.

Example: Web Pages Migration transparency is dependent on


location transparency.
Performance Transparency
 Allows the system to be reconfigured to improve
performance as loads vary.
 In Load Balancing… processor with heavy load
delegate it to the fastest processor that has the
lowest load.
 Programmers do not see or choose which machine
performs which job. The way how the actual
performance is achieved is transparent for them.
Scaling Transparency
 Allows the system and applications to expand in scale
without change to the system structure or the application
algorithms.
 New network connections can be added in the Internet
 New Web sites can be added to the Internet
 Existing connections are replaced with higher bandwidth
connections to improve throughput
 Example: World-Wide-Web

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy