Figure 15.1 A distributed multimedia system

Chapter 1
Characterization of Distributed Systems
From Coulouris, Dollimore, Kindberg and Blair
Distributed Systems:
Concepts and Design
Distributed System
A number of networked computers communicate and
coordinate actions only by passing massages
Computing
Networking
Storage
More power to execute jobs that cannot be done in a
single machine, achieving pervasive computing 2
Selected applications on distributed systems
Finance and commerce
eCommerce e.g. Amazon and eBay, PayPal,
online banking and trading
The information society
Web information and search engines, ebooks,
Wikipedia; social networking: Facebook and MySpace.
Creative industries and
entertainment
online gaming, music and film in the home, usergenerated content, e.g. YouTube, Flickr
Healthcare
health informatics, on online patient records,
monitoring patients
Education
e-learning, virtual learning environments;
distance learning
Transport and logistics
GPS in route finding systems, map services:
Google Maps, Google Earth
Science
The Grid as an enabling technology for
collaboration between scientists
Environmental management
sensor technology to monitor earthquakes,
floods or tsunamis
3
Characteristics of Distributed System
 Concurrency
Concurrent execution of jobs
 No global clock
Coordinate actions
Synchronization
 Independent failure
Hardware/software failure
Protection, recovery and availability
4
Trends of Distributed System




Pervasive networking and modern Internet
Distributed computing as a utility
Mobile and ubiquitous computing
Distributed multimedia systems
5
Pervasive networking and modern Internet
intranet
☎
ISP
☎
☎
☎
backbone
satellite link
desktop computer:
server:
network link:
6
Distributed computing as a utility
7
Mobile and ubiquitous computing
8
Distributed multimedia systems
9
Resource sharing
Resource allocation in a physical infrastructure
Computing, networking and storage resources
Efficiency, scalability and reliability/availability
Distributed system’s perspective
Sharing a service, e.g., web search engine
Read, write and delete operations on files
An interface that provides and manages these operations
Remote invocation through communication
10
Challenges of Distributed System








Heterogeneity
Openness
Security
Scalability
Failure handling
Concurrency
Transparency
Quality of Service
11
Heterogeneity





Networks
Computer hardware
Operating systems
Programming languages
Implementation by different developers
12
Openness
 Interoperability
Implementation from different manufacturer can work
together relying on standard rules
 Portability
Application from one distributed system can be
executed on another system that implements the same
service
 Extensibility
Easy to add/remove new features and functions
 Flexibility
Separating policy from mechanism
13
Security
 Confidentiality
Against disclosure to unauthorized ones
 Integrity
Against alteration or corruptions of the shared
resources
 Availability
Against interference with the means to access the
shared resources
14
Scalability





Control the cost of the physical resources
Control the performance loss
Prevent software resource running out
Avoid performance bottlenecks
Another perspective
Size scalable
Geographical scalable
Administration scalable
15
Failure handling






Detecting failures
Masking failures
Tolerating failures
Recovering failures
Redundancy
Availability
availability = available time / (available time + down time)
 Other SLA requirements
16
Concurrency






A shared resources is invoked by different clients
Time, clocks, events and process states
Logical time and physical time
Transactions and synchronization
Mutex and locks
Deadlocks
17
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.
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.
18
QoS






Latency
Performance loss
Reliability
Security
Adaptability and robustness
Scalability
19
Case Study: The World Wide Web
Browsers
Web servers
http://www.google.comlsearch?q=obama
www.google.com
Internet
www.cdk5.net
http://www.cdk5.net/
www.w3c.org
File system of
www.w3c.org
standards
faq.html
20
Case Study: Mobile eHealth system
 Challenges:
What infrastructure is needed?
How can we monitor the data in a robust way?
How to transmit data to the external storage?
How to provide security and privacy?
21
Summary
 Distributed system is an operating system that
manages multiple computer through networks.
 It serves as a middleware that provides interface
for multiple applications across multiple machines
22