Professional Documents
Culture Documents
Cc h th ng phn tn
Chapter 1: Characterization of Distributed Systems
Ng i trnh by: TS. Hong Xun Tng tunghx@vnu.edu.vn
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
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
Examples of DS
Internet
Host intranet
Wireless LAN
WAP gateway
Home intranet
Printer Camera
Host site
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
Characteristics
Resource sharing Openness Concurrency Scalability Fault tolerance And Transparency
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
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
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
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 ???
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