2. Universiti Utara Malaysia
Chapter 1: Characterization of Distributed
Systems
⢠Introduction
⢠Examples of distributed systems
⢠Resource sharing and the web
⢠Challenges
⢠Summary
3. Universiti Utara Malaysia
Ubiquitous networks
⢠Internet
⢠Mobile phone networks
⢠Corporation networks
⢠Factory networks
⢠Campus networks
⢠Home networks
4. Universiti Utara Malaysia
Distributed System Definition
⢠A distributed system is one in which
hardware or software components
located at networked computers
communicate and coordinate their
actions only by passing messages.
5. Universiti Utara Malaysia
Characteristics of Distributed System
⢠Concurrency
⢠concurrent programs execution â share
resource
⢠No global clock
⢠programs coordinate actions by exchanging
messages
⢠Independent failures
⢠when some systems fail, others may not know
6. Universiti Utara Malaysia
Share resources
⢠It characterizes the range of the things that can
usefully be shared in a networked computer
⢠It extends from hardware components to
software-defined entities.
⢠It includes the stream of video frames and
the audio connection.
7. Universiti Utara Malaysia
Chapter 1: Characterization of Distributed
Systems
⢠Introduction
⢠Examples of distributed systems
⢠Resource sharing and the web
⢠Challenges
⢠Summary
9. Universiti Utara Malaysia
Internet
ďśIt is a very large distributed system that
allows users throughout the world to make use
of its services.
ďśInternet protocols is a major technical
achievement.
10. Universiti Utara Malaysia
The Internet
intranet
ISP
backbone
satellite link
desktop computer:
server:
network link:
11. Universiti Utara Malaysia
Intranet
ďśWhat is Intranet?
ďA portion of the Internet that is separately
administered and has a boundary that can
be configured to enforce local security
policies
ďComposed of several LANs linked by
backbone connections
ďBe connected to the Internet via a router
12. Universiti Utara Malaysia
A typical Intranet
email server Desktop
computers
print and other servers
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
13. Universiti Utara Malaysia
Three main issues in the design of
components for the use in intranet
ďśFile services
ďśFirewall
ďśThe cost of software installation and
support
14. Universiti Utara Malaysia
Mobile and ubiquitous computing
ďśMobile devices
ďLaptop computers
ďHandheld devices
⢠PDA, mobile phone, pager, video camera, digital
camera
ďWearable devices
⢠e.g. smart watches, digital glasses
ďNetwork appliances
⢠e.g. washing machines, hi-fi systems, cars and
refrigerators
15. Universiti Utara Malaysia
Mobile and ubiquitous computing ⌠continued
ďśMobile computing (nomadic computing)
ďAccess resources while on the move or in an
unusual environment
ďLocation-aware computing: utilize resources
that are conveniently nearby
ďśUbiquitous computing (pervasive
computing)
ďThe harnessing of many small, cheap
computational devices
16. Universiti Utara Malaysia
Portable and handheld devices in a distributed
system
Internet
Host intranet WAP
Wireless LAN gateway Home intranet
Mobile
phone
Printer Laptop
Camera Host site
17. Universiti Utara Malaysia
Issues in the design of components for the use in
Mobile and ubiquitous computing
ďśDiscovery of resources
ďśEliminating the need for users to
reconfigure their mobile devices
ďśTo cope with limited connectivity as
they travel
ďśProvide privacy and other security
guarantees
18. Universiti Utara Malaysia
Chapter 1: Characterization of Distributed
Systems
⢠Introduction
⢠Examples of distributed systems
⢠Resource sharing and the web
⢠Challenges
⢠Summary
19. Universiti Utara Malaysia
Resource sharing
ďśIs the primary motivation of distributed
computing
ďśResources types
ďHardware, e.g. printer, scanner, camera
ďData, e.g. file, database, web page
ďMore specific functionality, e.g. search
engine, file
20. Universiti Utara Malaysia
Some definitions
ďśService
ď manage a collection of related resources and present their functionalities to
users and applications
ďśServer
ď a process on networked computer that accepts requests from processes on
other computers to perform a service and responds appropriately
ďśClient
ď the requesting process
ďśRemote invocation
ď A complete interaction between client and server, from the point when the
client sends its request to when it receives the serverâs response
21. Universiti Utara Malaysia
Case study: the World Wide Web
⢠Motivation of WWW
â Documents sharing between physicists of CERN
⢠Web is an open system: it can be extended
and implemented in new ways without
disturbing its existing functionality.
â Its operation is based on communication standards
and document standards
â Respect to the types of âresourceâ that can be
published and shared on it.
22. Universiti Utara Malaysia
Three main components of the Web
⢠HyperText Markup Language
â A language for specifying the contents and layout
of pages
⢠Uniform Resource Locators
â Identify documents and other resources
⢠A client-server architecture with HTTP
â By with browsers and other clients fetch
documents and other resources from web
servers
23. Universiti Utara Malaysia
HTML
<IMG SRC = http://www.cdk3.net/WebExample/Images/earth.jpg>
<P>
Welcome to Earth! Visitors may also be interested in taking a look at the
<A HREF = âhttp://www.cdk3.net/WebExample/moon.html>Moon</A>.
<P>
(etcetera)
ďŹHTML text is stored in a file of a web server.
ďŹ A browser retrieves the contents of this file from a web
server.
-The browser interprets the HTML text
-The server can infer the content type from the filename
extension.
24. Universiti Utara Malaysia
URL
Scheme: scheme-specific-location
e.g:
mailto:joe@anISP.net
ftp://ftp.downloadIt.com/software/aProg.exe
http://net.pku.cn/
âŚ.
ďŹ HTTP URLs are the most widely used
ďŹ An HTTP URL has two main jobs to do:
- To identify which web server maintains the resource
- To identify which of the resources at that server
25. Universiti Utara Malaysia
Web servers and web browsers
http://e.pku.cn/cgi-bin/allsearch?word=distributed+sys
e.pku.cn
Web servers Browsers
www.cdk3.net Internet
http://www.cdk3.net/
www.w3c.org
File system of http://www.w3c.org/Protocols/Activity.html
www.w3c.org Protocols
Activity.html
26. Universiti Utara Malaysia
HTTP URLs
⢠http://servername[:port]//pathNameOnServer][?arguments]
⢠e.g.
http://www.cdk3.net/
http://www.w3c.org/Protocols/Activity.html
http://e.pku.cn/cgi-bin/allsearch?word=distributed+system
----------------------------------------------------------------------------------------------------
Server DNS name Pathname on server Arguments
www.cdk3.net (default) (none)
www.w3c.org Protocols/Activity.html (none)
e.pku.cn cgi-bin/allsearch word=distributed+system
-------------------------------------------------------------------------------------------------------
⢠Publish a resource remains unwieldy
27. Universiti Utara Malaysia
HTTP
⢠Defines the ways in which browsers and
any other types of client interact with web
servers (RFC2616)
⢠Main features
â Request-replay interaction
â Content types. The strings that denote the type of
content are called MIME (RFC2045,2046)
â One resource per request. HTTP version 1.0
â Simple access control
28. Universiti Utara Malaysia
More features-services and dynamic pages
⢠Dynamic content
â Common Gateway Interface: a program that
web servers run to generate content for their
clients
⢠Downloaded code
â JavaScript
â Applet
29. Universiti Utara Malaysia
Discussion of Web
ďŹ Dangling: a resource is deleted or moved, but links
to it may still remain
ďŹ Find information easily: e.g. Resource Description
Framework which standardize the format of
metadata about web resources
ďŹ Exchange information easily: e.g. XML â a self
describing language
ďŹ Scalability: heavy load on popular web servers
ďŹ More applets or many images in pages increase in
the download time
30. Universiti Utara Malaysia
Chapter 1: Characterization of Distributed
Systems
⢠Introduction
⢠Examples of distributed systems
⢠Resource sharing and the web
⢠Challenges
⢠Summary
31. Universiti Utara Malaysia
Heterogeneity
⢠Networks
â Ethernet, token ring, etc
⢠Computer hardware
â big endian / little endian
⢠Operating systems
â different API of Unix and Windows
⢠Programming languages
â different representations for data structures
⢠Implementations from different developers
â no application standards
32. Universiti Utara Malaysia
Heterogeneity⌠continued
ďśMiddleware
ďapplies to a software layer that provides a
programming abstraction as well as masking the
heterogeneity of the underlying networks,
hardware, OSs and programming languages
ďśMobile code
ďis used to refer to code that can be sent from
one computer to another and run at the
destination
33. Universiti Utara Malaysia
Openness
⢠Openness of a computer system
-- is the characteristic that determines whether the system
can be extended and re-implemented in various way.
e.g. Unix
⢠Openness of distributed systems
-- is determined by the degree to witch new resource
sharing services can be added and be made available for
use by A variety of client programs.
e.g. Web
⢠How to deal with openness?
-- key interfaces are published, e.g. RFC
34. Universiti Utara Malaysia
Security
⢠Confidentiality
â protection against disclosure to
unauthorized individuals,
e.g. ACL in Unix File System
⢠Integrity
â protection against alteration or corruption,
e.g. checksum
⢠Availability
â protection against interference with the
means to access the resources,
e.g. Denial of service
35. Universiti Utara Malaysia
Scalability
⢠A system is described as scalable
â if will remain effective when there is a significant increase
in the number of resources and the number of users
⢠A scalable example system: the Internet
⢠design challenges
â The cost of physical resources, e.g., servers support users at
most O(n)
â The performance loss, e.g., DNS no worse than O(logn)
â Prevent software resources running out, e.g., IP address
â Avoid performance bottlenecks, e.g., partitioning name table
of DNS, cache and replication
36. Universiti Utara Malaysia
Scalability
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
37. Universiti Utara Malaysia
Failure handling
⢠Detecting
â e.g. checksum for corrupted data
â Sometimes impossible so suspect, e.g. a remote
crashed server in the Internet
⢠Masking
â e.g. Retransmit message, standby server
⢠Tolerating
â e.g. a web browser cannot contact a web server
⢠Recovery
â e.g. Roll back
⢠Redundancy
â e.g. IP route, replicated name table of DNS
38. Universiti Utara Malaysia
Concurrency
⢠Correctness
â ensure the operations on shared resource
correct in a concurrent environment
e.g. records bids for an auction
⢠Performance
â Ensure the high performance of concurrent
operations
39. Universiti Utara Malaysia
Transparency
⢠Access transparency
â using identical operations to access local and remote
resources, e.g. a graphical user interface with folders
⢠Location transparency
â resources to be accessed without knowledge of their
location, e.g. URL
⢠Concurrency transparency
â several processed operate concurrently using shared
resources without interference with between them
40. Universiti Utara Malaysia
Transparency
⢠Replication transparency
â multiple instances of resources to be used to increase
reliability and performance without knowledge of the replicas
by users or application programmers,
e.g. realcourse(http://vod.yf.pku.edu.cn/)
⢠Failure transparency
â users and applications to complete their tasks despite the
failure of hardware and software components, e.g., email
⢠Mobility transparency
â movement of resources and clients within a system without
affecting the operation of users and programs, e.g., mobile
phone
41. Universiti Utara Malaysia
Transparency ⌠continued
⢠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
42. Universiti Utara Malaysia
Chapter 1: Characterization of Distributed
Systems
⢠Introduction
⢠Examples of distributed systems
⢠Resource sharing and the web
⢠Challenges
⢠Summary
43. Universiti Utara Malaysia
Summary
⢠Distributed systems are pervasive
⢠Resource sharing is the primary motivation for constructing
distributed systems
⢠Characterization of Distributed System
â Concurrency
â No global clock
â Independent failures
⢠Challenges to construct distributed system
â Heterogeneity
â Openness
â Security
â Scalability
â Failure handling
â Concurrency
â Transparency
48. Universiti Utara Malaysia
Exercise 1.1
Give five types of hardware resource and
five types of data or software resource
that can usefully be shared. Give
examples of their sharing as it occurs in
practice in distributed systems.
49. Universiti Utara Malaysia
Exercise 1.2
How might the clocks in two computers
that are linked by a local network be
synchronized without reference to an
external time source? What factors limit
the accuracy of the procedure you have
described? How could the clocks in a
large number of computers connected by
the Internet be synchronized? Discuss
the accuracy of that procedure.
50. Universiti Utara Malaysia
Exercise 1.3
A user arrives at a railway station that she
has never visited before, carrying a PDA
that is capable of wireless networking.
Suggest how the user could be provided
with information about the local services
and amenities at that station, without
entering the stationâs name or attributes.
What technical challenges must be
overcome?
51. Universiti Utara Malaysia
Exercise 1.4
What are the advantages and
disadvantages of HTML, URLs and HTTP
as core technologies for information
browsing? Are any of these technologies
suitable as a basis for client-server
computing in general?
52. Universiti Utara Malaysia
Exercise 1.5
Use the World Wide Web as an example
to illustrate the concept of resource
sharing, client and server.
Resources in the World Wide Web
and other services are named by URLs.
What do the initials URL denote? Give
examples of three different sorts of web
resources that can be named by URLs.
53. Universiti Utara Malaysia
Exercise 1.6
Give an example of a URL.
List the three main components of a
URL, stating how their boundaries are
denoted and illustrating each one from
your example.
To what extent is a URL location
transparent?
54. Universiti Utara Malaysia
Exercise 1.7
A server program written in one language (for
example C++) provides the implementation of a
BLOB object that is intended to be accessed by
clients that may be written in a different
language (for example Java). The client and
server computers may have different hardware,
but all of them are attached to an internet.
Describe the problems due to each of the five
aspects of heterogeneity that need to be solved
to make it possible for a client object to invoke a
method on the server object.
55. Universiti Utara Malaysia
Exercise 1.8
An open distributed system allows new
resource sharing services such as the
BLOB object in Exercise 1.7 to be added
and accessed by a variety of client
programs. Discuss in the context of this
example, to what extent the needs of
openness differ from those of
heterogeneity.
56. Universiti Utara Malaysia
Exercise 1.9
Suppose that the operations of the BLOB object
are separated into two categories â public
operations that are available to all users and
protected operations that are available only to
certain named users. State all of the problems
involved in ensuring that only the named users
can use a protected operation. Supposing that
access to a protected operation provides
information that should not be revealed to all
users, what further problems arise?
57. Universiti Utara Malaysia
Exercise 1.10
The INFO service manages a potentially very
large set of resources, each of which can be
accessed by users throughout the Internet by
means of a key (a string name). Discuss an
approach to the design of the names of the
resources that achieves the minimum loss of
performance as the number of resources in the
service increases. Suggest how the INFO service
can be implemented so as to avoid performance
bottlenecks when the number of users becomes
very large.
58. Universiti Utara Malaysia
Exercise 1.11
List the three main software components
that may fail when a client process
invokes a method in a server object,
giving an example of a failure in each
case. Suggest how the components can
be made to tolerate one anotherâs
failures.
59. Universiti Utara Malaysia
Exercise 1.12
A server process maintains a shared information
object such as the BLOB object of Exercise 1.7.
Give arguments for and against allowing the
client requests to be executed concurrently by
the server. In the case that they are executed
concurrently, give an example of possible
âinterferenceâ that can occur between the
operations of different clients. Suggest how
such interference may be prevented.
60. Universiti Utara Malaysia
Exercise 1.13
A service is implemented by several
servers. Explain why resources might be
transferred between them. Would it be
satisfactory for clients to multicast all
requests to the group of servers as a way
of achieving mobility transparency for
clients?
Hinweis der Redaktion
copyright (c) 2008, CAS UUM
An intranet is a part of the Internet that is separately administered and uses a firewall to enforce its own local security policies. Users in an intranet share data by means of file services.
TCP/IP: connect different type computer networks A very large distributed system WWW, email, FTP, VOD, etc The Internet is a very large distributed system that allows users throughout the world to make use of its services.
An intranet is a part of the Internet that is separately administered and uses a firewall to enforce its own local security policies. Users in an intranet share data by means of file services.
An intranet is a part of the Internet that is separately administered and uses a firewall to enforce its own local security policies. Users in an intranet share data by means of file services.
The World Wide Web Consortium (W3C) develops interoperable technologies (specifications, guidelines, software, and tools) to lead the Web to its full potential.