Part 1
Part 1
CS 434
The motivation for constructing and using distributed systems stems from a
desire to share resources.
Economics: distributed systems allow the pooling of resources, including
CPU cycles, data storage, input/output devices, and services.
– Distributed systems have a better price/performance ratio
Concurrency: we can solve the problem more quickly using several processors
concurrently.
Some applications are inherently distributed : In some problems the most natural
solution is to use separate parallel processes to perform the subtasks of the
given problem.
Computer Supported Cooperative Work
The following examples are based on familiar and widely used computer
networks: the Internet, intranets and the emerging technology of networks based
on mobile devices.
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
A firewall may allow only messages related to email and web access to pass into
or out of the intranet that it protects.
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
Internet
Mobile
phone
Printer Laptop
Camera Host site
Users who are away from their home intranet are still provided with
access to resources via the devices they carry with them.
Figure Next slide shows some web servers, and browsers making
requests of them.
It is an important feature that users may locate and manage their
own web servers anywhere on the Internet
http://www.google.comlsearch?q=kindberg
www.google.com
Browsers
Web servers
www.cdk3.net Internet
http://www.cdk3.net/
www.w3c.org
Activity.html
Heterogeneity
Or
You want to move your business and computers to the
Caribbean (because of the weather)?
Your client moves to the Caribbean (more likely)?
Distribution transparency
Distributed Computing Introduction 32
Challenges: Business Example
(Cont.)
What if
Two customers want to order the same item at the same time?
Concurrency
Or
The database with your inventory information crashes?
Your customer’s computer crashes in the middle of an order?
Failure handling
Security
Or
You are so successful that millions of people are visiting your
online store at the same time?
Scalability
Code suitable for running on one computer may not be suitable for
running on another. Executable programs are normally specific
both to the instruction set and to the host operating system.
The following two security challenges have not yet been fully met
Denial of service attack.
– Achieved by bombarding the service with such a large number of
pointless requests that the serious users are not able to use it.
Security of mobile code
– Receiving an executable program as an electronic mail
attachment.
Access transparency
Access to local or remote resources is identical
Location transparency
Resources can be accessed without knowledge of their physical or
network location (e.g. which building or IP address).
Distributed Computing Introduction 50
Transparency—Cont.
Concurrency transparency
Enables several processes to operate concurrently using shared resources
without interference between them.
Replication transparency
Enables multiples instances of resources to be used to enhanced reliability
and performance without knowledge of the replicas by users or application
programmers.
Failure transparency
Tasks can be completed despite failures
e.g. message retransmission
Scaling transparency:
Allows the system and applications to expand in scale without change to
the system structure or the application algorithms.