You are on page 1of 17

TR NG I H C CNG NGH B mn M ng v Truy n Thng My Tnh

Cc h th ng phn tn
Chapter 1: Characterization of Distributed Systems
Ng i trnh by: TS. Hong Xun Tng tunghx@vnu.edu.vn

TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Examples of DS
www.google.com Web servers www.cdk3.net www.w3c.org File system of www.w3c.org Protocols http://www.w3c.org/Protocols/Activity.html Internet http://www.cdk3.net/ http://www.google.comlsearch?q=kindberg Browsers

Activity.html

TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Examples of DS
email server print and other servers Local area network

Desktop computers

Web server

email server File server print other servers the rest of the Internet router/firewall

TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Examples of DS
Internet

Host intranet

Wireless LAN

WAP gateway

Home intranet

Printer Camera

Mobile phone Laptop

Host site

TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Concepts
Distributed System
A collection of autonomous computers Linked by a computer network Run distributed system software Form an integrated computing facility

Autonomous computer:
Fully control its own resources
Memory/harddisk/networking bandwidth

Integrated computing facility:


Same purpose
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Characteristics
Resource sharing Openness Concurrency Scalability Fault tolerance And Transparency

TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Resource Sharing
Resource = things that can be used
Can be hardware: disk, printer, network, Or software: files, windows, databases, sockets, software objects, Resource are usually limited

Resource sharing in DS
By sending message
Remote procedure call Remote method invocation
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Why resource sharing ?


Make different computers doing something for the same purpose Example:
Separation between computation and presentation Network file system Shared database servers
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Openness
Ability in extending features or capabilities
Hardware:
Peripheral devices Network printers Computational units

Software:
Software features (kernel modules, software modules, communication protocols, resource sharing services )

Openness is achieved by standardized interfaces


Standardization !!!
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Openness
Standards and specifications
Programming languages:
ANSI (C) JSR (Java Specification Request)

System API
BSD System calls IEEEs POSIX

Communication protocols
IETF RFC/Internet Draft
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Concurrency
Multiple and relatively independent systems working at the same time
Processes Threads

They possibly dont know all information about each other.


Lack of information sharing Unreliability of computer networks

Resource access can be in arbitrary patterns.


TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Scalability
DS can be in different scale
Very big system require scalability

Scalability:
The ability to operate efficiently when system is at large scale

Scalability is NOT matter of hardware Scalability is a matter software and system design
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Fault tolerance
Faults:
Computer crashes Disconnection of networks

Detect fault and the reason of fault are not easy But people want high availability system Fault tolerance = ability of a system that can work event when faults happen.
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Fault tolerance
Hardware redundancy
Using redundant hardware component

Software redundancy
Designs of software that can recover from faults. Example ???

TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

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 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.
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

Transparency
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.
TR NG I H C CNG NGH B mn m ng v truy n thng my tnh

You might also like