Date post: | 19-Jan-2016 |
Category: |
Documents |
Upload: | trevor-scott |
View: | 218 times |
Download: | 1 times |
Chapter 1: Characterization of Distributed Systems
• Introduction• Examples of distributed systems• Resource sharing and the web• Challenges• Summary
Characteristics of Distributed System
• Ubiquitous networks• Internet, mobile phone network, corporate network,
campus network, home network, in-car network, personal network …
• Tremendous applications are based on these networks, e.g., Web, ICQ
• Distributed System Definition• a distributed system is one in which components located at networked
computers communicate and coordinate their actions only by passing messages.
• Characteristics• 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
Chapter 1: Characterization of Distributed Systems
• Introduction• Examples of distributed systems• Resource sharing and the web• Challenges• Summary
• A vast interconnected collection of computer networks of many different types– TCP/IP
• A very large distributed system– WWW, email, FTP, VOD, etc
The Internet
intranet
ISP
desktop computer:
backbone
satellite link
server:
network link:
• 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• Main issues arising in the design of components for use in intranets
– File services: enable users to share data– Firewalls: impede legitimate access to services– The cost of software installation and support: reduce cost by the use of system
architectures such as network computers and thin clients
Intranet
A typical intranet
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
• Mobile devices– Laptop computers– Handheld devices, including PDAs, cell phones, pagers, video cameras and digital
cameras– Wearable devices, such as smart watches– Devices embedded in appliances such as washing machines, hi-fi systems, cars
• Mobile computing (nomadic computing)– People can still access resources while he is on the move, or visiting places other th
an their usual environment– Location-aware computing: utilize resources that are conveniently nearby
• Ubiquitous computing (pervasive computing)– The harnessing of many small, cheap computational devices that are present in use
r’s physical environments, including the home, office and elsewhere• A example about portable and handheld devices in a distributed system
Mobile and ubiquitous computing
Portable and handheld devices in a distributed system
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
• Computational Grid– Meta Computing
• Idle computers are ubiquitous• Computers collaborate together as a whole system in the range of WAN• Transparently resource (process, storage, network, etc) sharing for the end use
rs– Examples: Globus, CERN Data Grid, ChinaGrid, Entropia.com
• Distributed Object Computing– Object Oriented Middleware for applications– Examples: CORBA, DCOM, EJB, Globe
• Peer to Peer applications– Distributed system architecture in contrast to Client/Server– Examples: Napster, Gnutella, FreeNet, OceanStore, JXTA
• Commercial giants’ perspective– Distributed Computing Environment– Examples: .NET, Autonomous Computing
What are people doing now? – Ongoing projects
OceanStore overview
The JXTA Search network architecture
Chapter 1: Characterization of Distributed Systems
• Introduction• Examples of distributed systems• Resource sharing and the web• Challenges• Summary
• Motivation of distributed computing: resource sharing• Resources types
– Hardware, e.g. printer, scanner, camera– Data, e.g. file, database, web page– Service, e.g. search engine, file
• Some definitions– Service: manages a collection of related resources and presents 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: interaction between client and server, from the point when the client sends its request to when it receives the server’s response
Resource sharing
Case study: World Wide Web
• Motivation of WWW– documents sharing between physicists of CERN
• WWW is an open system– be extended and be differently implemented based on standard protocols, different ser
ver & different browser– types of sharing resource can be extended, MIMES
• Basic technological components– HTML: HyperText Markup Language– URL: e.g. Ftp://ftp.cs.pku.edu.cn, http://net.cs.pku.edu.cn/~hh, http://
www.google.com/search?q=network– HTTP: Request-reply interactions, Content types, One resource per request, Simple ac
cess control• Advance Features
– Dynamic content: CGI, ASP, Servlet, etc– Dynamic web page: JavaScript, Applet, etc
• Discussion– 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
Chapter 1: Characterization of Distributed Systems
• Introduction• Examples of distributed systems• Resource sharing and the web• Challenges• Summary
Challenges (1)
1. Heterogeneity• networks: ethernet, token ring, etc• computer hardware: big endian/ little endian• operating systems: different message interfaces of Unix and Windows• programming languages: different representations for data structures• implementations by different developers: no command standardsMiddleware is a software layer that provides a programming abstraction as well as mask
ing the heterogeneity of the underlying platform. E.g., CORBA, DCOM, Java RMI, etc.
2. Openness• characterized by the fact that it can be extended and re-implemented in various wa
ys, e.g. Unix, InternetHow to deal with openness? key interfaces are published, e.g. RFC
3. Security• confidentiality: protection against disclosure to unauthorized individ
uals,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
Challenges (2)
Security challenges that are not yet fully met: Denial of service attacks, Security of mobile code, etc.
4. Scalability• A system is described as scalable if will remain effective when there is a sig
nificant increase in the number of resources and the number of users• The Internet is an example distributed system that is scalable
• design challenges– controlling the cost of physical resources. E.g., at most O(n)– controlling the performance loss. E.g., no worse than O(logn)– preventing software resources running out. E.g., IP address– avoiding performance bottlenecks. E.g., name table partitioned and cached in D
NS
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.008
1995, July 6,642,000 23,500 0.41997, July 19,540,000 1,203,096 61999, July 56,218,000 6,598,697 12
Challenges (3)
5. Failure handling• Detecting, e.g. checksum for corrupted data. Sometimes impossible so sus
pect, e.g. a remote crashed server in the Internet• Masking, e.g. Retransmit message, standby server• Tolerating, e.g. Inform problems• Recovery, e.g. Roll back• Redundancy, e.g. IP route, replicated name table of DNSAvailability: measure of the proportion of time that a system is available for us
e
6. Concurrency• ensure the operations on shared resource correct in a concurrent environme
nt
7. Transparency• Access transparency: using identical operations to access local and remote
resources, e.g. Hyperlink in web page• Location transparency: resources to be accessed without knowledge of the
ir location, e.g. URL• Concurrency transparency: several processed operate concurrently using s
hared resources without interference with between them
Challenges (4)
• 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. Web cache
• 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 main 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