Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 35

Definition of Distributed System

 A distributed system is:


 Components located at networked computers
communicate and coordinate their actions by
passing messages
 A distributed system is:
 Collection of independent computers that
appear to the users of the system as a single
computer [Tanenbaum]

1
Definition of Distributed System

Machine A Machine B Machine C

Distributed applications

Middleware service

Local OS Local OS Local OS

Network

2
Definition of Distributed System
 "a collection of autonomous computers linked by a
computer network with distributed system software"
 "a collection of processors interconnected by a
communication network in which each processor has
its own local memory and other peripherals and the
communication between any two processors of the
system takes place by message passing over the
communication network"
 "one in which hardware or software components
located at networked computers communicate and
coordinate their actions only by passing messages"

3
Definition of Distributed System
 In other words, to the user, a DS looks like a single system
 a virtual uniprocessor
 The user doesn't know (or care)
 - where (on what machine) files are located
 - where a job is executed
 A Distributed System is made of several computers which
 have no shared memory
 have no shared clock
 communicate with each other via messages
 have their own operating systems

4
Advantages
 Why distributed systems
 Resource sharing
 Communication
 Inherent distribution
 Speed
10000 CPU running at speed of 50 MIPS
500000 MIPS
 Economy
 Incremental growth
 Reliability

5
Characteristics of DS
 Concurrency
 Distributed systems are concurrent systems
 Every software or hardware components is autonomous
 Process
 Concurrent tasks
 A and B are concurrent if either A can happen before B or B
can happen before A
 Synchronization and coordination by message passing
 Lack of global clock
 Coordination and time
 Independent failure
 Failures of individual processes may remain undetected

6
Examples of Distributed Systems
1. The internet
 Heterogeneous network of computers and
applications
 Implemented through Internet protocol

intranet 

 ISP

backbone

satellite link

desktop computer:
server:
network link:
7
Internet
 Public Network
 Very large Distributed system.
 Collection of computer networks
 Enables programs to communicate over arbitrary distance
 Makes available services
– mail, file transfer, documents, telephony, ...
 Communication via message passing according to Internet protocols
- (IP, UDP, TCP, ICMP, SMTP, FTP, ...)
 A back bone is a network link with high transmission capacity,
employing satellite connections ,fibre optic cables and other fibre optic
circuits.
 Infrastructure: backbones, routing, naming
 Open ended services -Extensible (new services, new protocols)
 Open communication channels (security!)
 Technology applicable to other distributed systems
 Multimedia services such as music , radio and TV ,video conferences
8
available in the internet.
Examples of Distributed Systems
2. Distributed multimedia
•Often use the Internet infrastructure
•Characteristics
•Heterogeneous data sources that need to be synchronized
in real time
•Video, Audio, Text
•Often: distribution services
•multicast

•Examples
•Tele teaching, Video conferencing

9
Examples of Distributed Systems
3. Intranet
•Private network
•Locally administered network
•Interfaces with the Internet via router
•Firewall (protects from unauthorized access and harmful
programs) email server Desktop
computers
print and other servers

Local area
Issues Web server network

File services need to share


data email server
Firewall impede Legitimate File server
print
access
other servers
Cost of software installation
the rest of
& support the Internet
router/firewall
10
Examples of Distributed Systems (1)
4. Mobile and Ubiquitous computing
 Mobile: Resource Sharing while on the move
 computing devices are being carried around
 Ubiquitous: little computing devices are all over the place
- Portable devices
– laptops
– handheld devices-personal digital assitants (PDA s),mobile phones ,
pagers,video cameras and digital cameras.
– wearable devices-smart watches with the functionality similar to PDA
– devices embedded in appliances-as washing machines, Hi-fi systems,
car and refrigerator.

Primary concerns:
• resource discovery
• efficient use of limited bandwidth
• security (privacy)
11
Mobile and Ubiquitous
computing
 Difference between mobile and ubiquitous computing:
Ubiquitous computing used in single environment such as
home or hospital.
Mobile computing has advantage when using different devices
such as laptops and printers

Internet

Host intranet WAP


Wireless LAN gateway Home intranet

Mobile
phone
Printer Laptop
Camera Host site
12
Resource Sharing
 It is easy to overlook the significance of:
 – printer sharing
 – disk/file sharing
 – application sharing (search engines)

 The pattern of resource sharing vary widely in


their scope & how closely the users work
together.

13
Resource sharing and the Web
Resource sharing pattern
Service
•Software that manages a collection of resources
and presents them to users and applications via
a well-defined interface
Server
-a running program (process) on a networked
computer that accepts requests from programs
running on other computers to perform a service
and respond appropriately.

A client invokes an operation upon a server (often referred to


as a "remote invocation") .The terms "client" and "server"
apply only to the roles played in a single request.

14
World Wide Web
• The World Wide Web

•"An evolving system for publishing and


accessing resources and services across the
Internet“

• Through browsers users can view and retrieve


the documents, listen audio streams , view video
streams and interact with unlimited set of
services,

15
The Web is "Open"
•Can be extended and implemented in new
ways without disturbing its existing functionality

•Based on freely published and widely


implemented (and adhered to!) communication
standards and documents

•The types of resources that can be published


and shared on it.
ex: web page , program files, media files, PS,
PDF etc
16
Evolving Web
● HTML

● Client/ Server Architecture(HTTP)

● URL

17
Advantages of Distributed
Systems
Performance: very often a collection of processors can provide higher
performance (and better price/performance ratio) than a centralized computer.

Distribution: many applications involve, by their nature, spatially separated


machines (banking, commercial, automotive system).

Reliability (fault tolerance): if some of the machines crash, the system can
survive.

Incremental growth: as requirements on processing power grow, new


machines can be added incrementally.

Sharing of data/resources: shared data is essential to many applications


(banking, computer supported cooperative work, reservation systems); other
resources can be also shared (e.g. expensive printers).

Communication: facilitates human-to-human communication.


18
Disadvantages of Distributed
Systems
Difficulties of developing distributed software:

How should operating systems, programming languages and


applications look like?

Networking problems:

Several problems are created by the network infrastructure, which


have to be dealt with: loss of messages, overloading.

Security problems:

Sharing generates the problem of data security.

19
Challenges
 A number of challenges arises:
• Heterogeneity
• Openness
• Security
• Scalability
• Failure handling
• Concurrency of components
• Transparency

20
Challenges
 Heterogeneity
 Network (Ethernet, token ring, ISDN,...)
 Computing hardware (data representation)
 Operating systems (different APIs to protocols)
 Programming languages (data structures, APIs)
 Applications by different developers (data exchange standards)

 Middleware
 Software layer which provides uniform computational model for use by
programmers of servers and distributed applications.
 Masks the heterogeneity of underlying networks, hardware, operating
systems and programming Languages.
 Ex: (CORBA, Java RMI, ODBC,Web Services...)
21
Heterogeneity and mobile code
 Mobile code refers to the code that can be sent from
one computer to another computer and run at the
destination.
 Ex: Java applets
 Usually code written for one computer is not suitable
to execute on another computer because the
instruction set depends on h/w and m/c code.
 Ex: windows executable file is not suitable for linux.
 Resolved by virtual machine concept.
 Virtual m/c approach provides a way of making the
code executable on any h/w. The compiler generates
code for virtual m/c instead for a particular h/w.
22
Challenges
 Openness
 This is a characteristic that determines whether the system can
be extended and reimplemented in various ways.

 It is determined by the degree to which new resource sharing


services can be added and made available.

 Ensures extensibility and maintainability of the system by


publishing specification and documentation of key software
interfaces of the components of DS.

 The challenge is to Tackling the complexity of distributed


systems consisting of many components engineered by different
people.
23
Challenges
Openness
 The designers of Internet introduced RFC (Request for
comments) specification for internet protocols. www. ietf.org

 ODS are the systems that supports resource sharing and the
services are extensible either at the h/w level or at the s/w
level.

 Key issues for ODS

 key interfaces are published

 uniform communication mechanisms and access to shared


resources

 Construction
 Heterogeneous components
24
Challenges
 Security
 Confidentiality
 Integrity
 Availability
 Example
 A doctor might request access to hospital patient
data
 In electronic commerce and banking, users send
their credit card numbers across the internet
 Current security challenges
 Denial of service attack
 Security of mobile code

25
Security
 Confidentiality
- Protection against disclosure to unauthorized individual.
E.g. ACLs (access control lists) to provide authorized access to
information.
 Integrity
-Protection against alternation or corruption.
E.g. changing the account number or amount value in a money order
 Availability
-Protection against interference targeting access to the resources.
E.g. denial of service (DoS, DDoS) attacks
 Non-repudiation
-Proof of sending / receiving an information E.g. digital signature
 Security Mechanism:
- Encryption E.g. Blowfish, RSA
- Authentication E.g. password, public key authentication
- Authorization E.g. access control lists 26
Challenges
 Scalability
 System should work efficiently at many different
scales, ranging from a small Intranet to the Internet.

 A DS is scalable if it remains effective when there is a


significance increase in the number of resources and
the number of users.
 Computers on the Internet
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.008
1995, July 6,642,000 23,500 0.4
1997, July 19,540,000 1,203,096 6
1999, July 56,218,000 6,598,697 12
2001, July 125,888,197 31,299,592 25
27
Challenges
Scalability
 Challenges in the design of DS are:
 Controlling the cost of the physical resources
 Cost should linearly increase with system size
 Controlling the performance loss
 For example, in hierarchically structure data, search
performance loss due to data growth should not be
beyond O(log n), where n is the size of data
 Preventing the software resources running out
 IP addressees :32 bits to 128
 Avoiding performance bottleneck
 Decentralization of data/information

28
Challenges
Scalability
 Difficult to achieve
Help Replicated Data
Help Caching
Help Multiple Servers
Help Tasks Performed Concurrently

29
Challenges
 Failure handling
 Detecting failure
Checksum can be used to detect corrupted
data
System crash (impossible)
 Masking
Retransmission
Redundant storage
 Tolerating failure
Exception handling (timeout when waiting for
web source)

30
Challenges
 Failure handling
 Recovery from failure
Roll back
 Redundancy
Redundant routes in network
Replication of name tables in multiple domain
name servers
Database replication
 Availability
Measure of the proportion of the time a server
is available

31
Challenges
 Concurrency
 There's always a possibility that 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

 For an object to be safe within a concurrent/distributed


environment, its operations must be synchronized in such a way
that its data remains consistent.

 Consistent scheduling of threads (so that dependencies are


preserved in concurrent transactions)

 Avoidance of deadlock 32
Challenges
 Transparency
 Defined as the concealment from the user
and the applications programmer of the
separation of components in a distributed
system, so that the system is perceived as a
whole rather than as a collection of
independent components

 ISO Reference Model for Open Distributed


Processing (ODP) identifies the following
forms of transparencies 33
Challenges :Transparency
 Access transparency: enables local and remote resources to be
accessed using identical operations.
 Location transparency: enables resources to be accessed without
knowledge of their 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 change to the system structure or the application
algorithms.
34
Distributed Systems
 Distributed Systems are Everywhere

 Resource Sharing is the Main Motivation

 A Number of Challenges Exist

35

You might also like