Figure 15.1 A distributed multimedia system

Download Report

Transcript Figure 15.1 A distributed multimedia system

COSC3657:Distributed Systems
Haibin Zhu, PhD.
Assistant Professor
Department of Computer Science
Nipissing University
(C) 2002
1
Instructor
 Haibin Zhu, Ph. D.
 Assistant Professor
 Department of CS and Math
 Nipissing University
 Room: A124A
 Ext.: 4434
 Email: [email protected]
 URL: http://www.nipissingu.ca/faculty/haibinz
 Office Hour: Mon.-Fri. 2:30pm-4:30pm, and by appointment
2
Course
Introduction to computer networks and computer
systems interconnected by networks, including both
the hardware and software of selected LANs and
WANs, the issues of reliable and secure
communication, layered models, distributed file
systems and concurrency will be discussed.
In this course, we will study some of the most
important concepts in the design of distributed
operating systems.
3
Introduction to Distributed Systems
Distributed Systems
Network OSs vs distributed OSs
Research and design issues
Reading: CDK, chapters 1
4
What is a distributed system?
CDK’s Definition:
A system in which hardware and software components
located on networked computers communicate and
coordinate their actions only by passing messages.
Galli’s Definition
A distributed system is a collection of heterogeneous
computers and processors connected via a network. This
collection works closely together to accomplish a common
goal.
5
To understand the definition
This definition allows for concurrent execution of
programs, but prevents the possibility of a global
clock and means that components can fail
independently of one another.
6
Problems
Why do we require distributed systems?
How does this compare with a traditional operating
system such as Unix?
What implications does this definition have on
implementation?
7
Distributed Operating Systems
Requirements:
 Provide user with convenient virtual computer.
 Hide distribution of resources.
 Mechanisms for protecting resources.
 Secure communication.
Definition
Distributed OS looks to user like ordinary centralized
OS, but runs on multiple, independent CPUs.
 Use of multiple processors is invisible.
 User views system as virtual uniprocessor.
8
Distributed vs Centralized Systems
Advantages of Distributed Systems:
 Reliability.
 Sharing of resources.
 Aggregate computing power.
 Openness/Scalability
Disadvantages of distributed systems:
 Security.
 Physical distribution of resources vs demand.
 Computing power per node is limited.
9
Distributed vs Networked OS
Transparency:
 How aware are users of the fact that multiple computers
are being used?
Network OS:
 Users are aware where resources are located
 Network OS is built on top of centralized OS.
 Handles interfacing and coordination between local OSs.
Distributed OS:
 Designed to control and optimize operations and
resources in distributed system.
10
Network OSs
Definition:
A network OS is a collection of OSs of computers
connected through a network incorporating modules to
provide access to remote resources.
Characteristics:
 Each computer has a private OS.
 A user works on his own machine and remotely logs in to
other computers.
 Users are aware of location of files.
 Limited fault tolerance.
11
Internet
The Internet is a very large distributed system
that allows users throughout the world to
make use of its services.
12
Figure 1.1
A typical portion of the Internet
intranet
ISP
%
%
%
%
backbone
satellite link
desktop computer:
server:
network link:
13
Intranet
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.
14
Figure 1.2
A typical intranet
email s erv er
Desktop
computers
print and other servers
Web server
Local area
netw ork
email s erv er
File s erv er
print
other servers
the rest of
the Internet
router/firew all
15
Mobile computing
Distributed systems techniques are equally
applicable to mobile computing (involving
laptops, PDAs and wearable computing
devices) as well as ubiquitous computing
(involving the small computers embedded in
appliances).
16
Fig. 1.3 Portable and handheld devices in
a distributed system
Internet
Host intranet
WAP
gatew ay
Wireles s LAN
Mobile
phone
Laptop
Printer
Camera
Home intranet
Host site
17
Fig. 1.4 Web servers and web browsers
www.google.com
http://www.google.comlsearch?q=kindberg
Browsers
Web servers
Internet
www.cdk3.net
http://www.cdk3.net/
www.w3c.org
File system of
www.w3c.org
http://www.w3c.org/Protocols/Activity.html
Protocols
Activity.html
18
Figure 1.5
Computers in the Internet
Date
Web servers
Computers
1979, Dec.
188
0
1989, July
130,000
0
1999, July
56,218,000
5,560,866
2003
171, 638, 297
35, 424, 956
2004
605, 600, 000
???
19
Figure 1.6
Computers vs Web servers in the Internet
Date
1993, July
1995, July
1997, July
1999, July
2001
2003
Computers
Web servers
Percentage
1,776,000
130
0.008
6,642,000
19,540,000
56,218,000
23,500
1,203,096
6,598,697
0.4
6
12
125, 888, 197
31, 299, 592
25
42, 298, 371
20
World Wide Web
 Ultimate distributed system.
 Developed in 1989 in CERN Switzerland for document
exchange among physicists.
 Documents have a hypertext structure.
 New resources are located by following these hypertext links.
 Uses a client-server model.
 A browser (client) on a user machine makes requests and
handles the displayNew document formats can be handled by
plug-ins or helpers without changing the browser software.
.The web server only delivers documents and is not concerned with user
interfaces or document format.
21
World Wide Web Components
HTML (HyperText Markup Language) - specifies the
format for the documents delivered by the server
URL (Uniform Resource Locator) - specifies a
resource that is accessible via the web.
HTTP (HyperText Transfer Protocol) - specifies the
interaction between browsers and web servers
22
HTML format for web documents
Text format can be created using Text editor or
HTML tool.
Uses tags to specify content:
<P> A paragraph </P>
<IMG SRC=“Book.gif”>
<A HREF=“http://www.nipissingu.ca”>NU</A>
The <A HREF…..> X</A> specifies a link identified
by X in the text.
23
URLS
Format
scheme: scheme-specific-location
Format of scheme-specific-location when scheme is
HTTP:
http://servername[:port][/pathOnServer][/arguments]
Examples
http://www.nipissingu.ca
http://www.nipissingu.ca/faculty/haibinz
http://www.google.ca/search?q=distributed+systems
24
HTTP
 Built using TCP socket connections.
 Request-reply protocol:
Client initiates with a request (GET)
Server responds with requested document or an error
 Content types identify document types for browser.
 HTTP 1.0 - need a separate request for each resource
 HTTP 1.1 - requests pipelined and served by a single
connection.
 Executables:
CGI (Common Gateway Interface) executes on server
Java Applets execute on browser
25
Research and Design Issues
Communication model
Paradigms for process interaction
Transparency
Heterogeneity
Autonomy and/or interdependence
Reliable distributed computing
Replication
26
Challenges
 Heterogeneity
Networks
Hardware
OS
Programming languages
Different implementations
 Openness
System can be extended and re-implemented
interfaces published
uniform mechanism to access resources
heterogeneous h/w and software, provided that they conform to the
specification.
 Security
naming
capacity, e.g., factor of 105 for Web servers
27
Challenges cont’d
Failure handling
hardware redundancy
software recovery
Concurrency
Many users, hence many concurrent pieces of work
Servers need to be responsible to many clients, so they
need to be concurrent
Many computers, hence many resources available for
parallelism
Concurrency ?parallelism
Transparency
28
Transparency
Transparency: Make the network invisible to
user/applications.
Various degrees of transparency:
Access Transparency
Location Transparency
Name Transparency
Data Transparency
Execution Transparency
Performance Transparency
Scaling transparency
29
Figure 1.7
Transparencies
Access transparency: enables local and remote resources to be accessed using identical
operations.
Location transparency: enables resources to be accessed without knowledge of their
location.
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.
30
Autonomy and Interdependence
Disadvantage generated by interdependence:
 cannot work stand-alone
 globally controlled
 difficult to identify source of authority and responsibility
 what about mutual suspicion?
Reasons for autonomy:
 policy freedom
 robustness
 cooperation between mutually suspicious users
31
Summary
 Distributed Systems Definitions
One system
Many computers
Connected by network
Cooperate on the same task
 Internet and World Wide Web
 Challenges
Heterogeneity
Openness
Security
Failure handling
Concurrency
Transparency
32