Professional Documents
Culture Documents
Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Ubiquitous networks
• Internet
• Mobile phone networks
• Corporation networks
• Factory networks
• Campus networks
• Home networks
• ……
Distributed System Definition
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Familiar and widely used computer networks
• The Internet
• Intranet
• Mobile computing
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.
The Internet
intranet ☎
☎
☎ ISP
backbone
satellite link
desktop computer:
server:
network link:
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
A typical Intranet
email server D e sk to p
co m p u te r s
print and other servers
Local area
Web server network
email server
print
File server
other servers
the rest of
the Internet
router/firewall
Three main issues in the design of
components for the use in intranet
• File services
• Firewall
• The cost of software installation and
support
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
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
Portable and handheld devices in a
distributed system
Internet
Mobile
phone
Printer Laptop
Camera Host site
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
Chapter 1: Characterization of Distributed
Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
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
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
Case study: the World Wide Web
• Motivation of WWW
– Documents sharing between physicists of CERN
http://e.pku.cn/cgi-bin/allsearch?word=distributed+system
e.pku.cn
www.cdk3.net Internet
http://www.cdk3.net/
www.w3c.org
Activity.html
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
-------------------------------------------------------------------------------------------------------
• 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
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
Discussion of Web
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
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
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
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
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
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
• 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
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
• 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/)
Transparency … 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
Chapter 1: Characterization of Distributed
Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
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
Backup
OceanStore overview
The JXTA Search network architecture