chapterw1

globedeepΚινητά – Ασύρματες Τεχνολογίες

24 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

76 εμφανίσεις

Learning Objectives

1.
Identify the major categories and trends of
distributed system

2.
Identify the essential processes of an e
-
commerce system, and give examples of
how they are implemented in e
-
commerce
applications.

3.
Identify and give examples of several key
factors and Web store requirements needed
to succeed in e
-
commerce.

Learning Objectives

4.
Identify and explain the business value of
several types of e
-
commerce marketplaces.

5.
Discuss the benefits and trade
-
offs of
several e
-
commerce clicks and bricks
alternatives.



Chapter 1: Characterization of Distributed
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


A distributed system is one in which
hardware or software components
located at networked computers
communicate and coordinate their
actions only by passing messages.




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

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.

Chapter 1: Characterization of Distributed
Systems


Introduction


Examples of distributed systems


Resource sharing and the web


Challenges


Summary

Familiar and widely used computer networks


The Internet


Intranet


Mobile computing



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.

Internet

The Internet

intranet

ISP

desktop computer:

backbone

satellite link

server:

%

network link:

%

%

%


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

Intranet

A typical Intranet

the rest of
email server
Web server
Desktop
computers
File serv er
router/firewall
print
and other serv ers
other servers
print
Local area
network
email server
the Internet

File services


Firewall


The cost of software installation and
support

Three main issues in the design of
components for the use in intranet


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


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

Mobile and ubiquitous computing …
continued

Portable and handheld devices in a
distributed system

Lapt op
Mobile
Print er
Camera
I nt ernet
Host intranet
Home int ranet
WAP
Wireless LAN
phone
gat eway
Host site

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

Issues in the design of components for the
use in Mobile and ubiquitous computing

Chapter 1: Characterization of Distributed
Systems


Introduction


Examples of distributed systems


Resource sharing and the web


Challenges


Summary


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


Resource sharing


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

Some definitions

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.

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


HTML


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.


<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)

URL


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


Scheme: scheme
-
specific
-
location

e.g:


mailto:joe@anISP.net


ftp://ftp.downloadIt.com/software/aProg.exe


http://net.pku.cn/



….

Web servers and web browsers

Internet

Browsers

Web servers

e.pku.cn

www.cdk3.net

www.w3c.org

Protocols

Activity.html

http://www.w3c.org/Protocols/Activity.html

http://e.pku.cn/cgi
-
bin/allsearch?word=distributed+system

http://www.cdk3.net/

File system of

www.w3c.org

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

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

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



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

Chapter 1: Characterization of Distributed
Systems


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


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


Heterogeneity

continued

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(
log
n)


Prevent software resources running out, e.g., IP address


Avoid performance bottlenecks, e.g., partitioning name table of DNS,
cache and replication

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

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

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

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