Title: Chapter 1: Characterization of Distributed Systems
1Chapter 1 Characterization of Distributed Systems
- Introduction
- Examples of distributed systems
- Resource sharing and the web
- Challenges
- Summary
2Ubiquitous networks
- Internet
- Mobile phone networks
- Corporation networks
- Factory networks
- Campus networks
- Home networks
3Distributed 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.
4Characteristics 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
5Share 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.
6Chapter 1 Characterization of Distributed Systems
- Introduction
- Examples of distributed systems
- Resource sharing and the web
- Challenges
- Summary
7Familiar and widely used computer networks
- The Internet
- Intranet
- Mobile computing
8Internet
- 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.
9The Internet
10Intranet
- 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
11A typical Intranet
12Three main issues in the design of components for
the use in intranet
- File services
- Firewall
- The cost of software installation and support
13Mobile 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
14Mobile 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
15Portable and handheld devices in a distributed
system
16Issues 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
17Chapter 1 Characterization of Distributed Systems
- Introduction
- Examples of distributed systems
- Resource sharing and the web
- Challenges
- Summary
18Resource 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
19Some 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 servers response
20Case 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.
21Three 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
22HTML
ltIMG SRC http//www.cdk3.net/WebExample/Images/e
arth.jpggt ltPgt Welcome to Earth! Visitors may also
be interested in taking a look at the ltA HREF
http//www.cdk3.net/WebExample/moon.htmlgtMoonlt/Agt
. ltPgt (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.
23URL
Scheme scheme-specific-location e.g mailtojoe_at_
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
24Web servers and web browsers
25HTTP URLs
- http//servernameport//pathNameOnServer?argum
ents - e.g.
- http//www.cdk3.net/
- http//www.w3c.org/Protocols/Activity.html
- http//e.pku.cn/cgi-bin/allsearch?worddistributed
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
worddistributedsystem - --------------------------------------------------
--------------------------------------------------
--- - Publish a resource remains unwieldy
26HTTP
- 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
27More 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
28Discussion 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
29Chapter 1 Characterization of Distributed Systems
- Introduction
- Examples of distributed systems
- Resource sharing and the web
- Challenges
- Summary
30Heterogeneity
- 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
31Heterogeneity 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
32Openness
- 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
33Security
- 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
34Scalability
- 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
35Failure 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
36Concurrency
- 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
37Transparency
- 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 - 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/)
38Transparency continued
- 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 - 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
39Chapter 1 Characterization of Distributed Systems
- Introduction
- Examples of distributed systems
- Resource sharing and the web
- Challenges
- Summary
40Summary
- 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
41Backup
42OceanStore overview
43The JXTA Search network architecture