chapter 1: distributed systems overview. objectives to be aware of the characteristics of...
TRANSCRIPT
![Page 1: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/1.jpg)
Chapter 1: Distributed
Systems Overview
![Page 2: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/2.jpg)
Objectives To be aware of the characteristics of
concurrency, independent failure of components and lack of a global clock, which necessarily arise in a distributed systems.
To place distributed systems in a realistic context through examples: the Internet, an intranet and mobile computing.
To motivate the benefits of resource sharing and to introduce the Web as an example.
To gain a good understanding of the challenges which apply to distributed systems.
![Page 3: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/3.jpg)
Introduction
![Page 4: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/4.jpg)
What is “Distributed System”?
Distributed system (DS) – Components at networked computers communicate & coordinate their actions only by passing messages.
Allows for concurrent execution of programs, but prevents the possibility of a global clock - means that components can fail independently of one another.
![Page 5: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/5.jpg)
Introduction (cont.) Computer that are connected by a
network maybe spatially separated by any distance.
DS definition has significant consequence: - Concurrency - No global clock - Independent failure
![Page 6: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/6.jpg)
Concurrency ~ In a network of computer, concurrent program execution of the norm. ~ “I can do my work on my computer while you do your work on yours”~ Sharing resources such as web pages, file etc.~ The capacity of the system to handle shared resources can be increased by adding more resources (example: computers) to the network.
Introduction (cont.)
![Page 7: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/7.jpg)
No global clock ~ there are limits to the accuracy with which the computer in a network can synchronize their clock – there is no single global nation of the correct time.
Introduction (cont.)
![Page 8: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/8.jpg)
Independent failure ~ All computer system can fail and it is the responsibility of system designers to plan for the consequences of possible failure. ~ Each component of the system can fail independently, leaving that other still running. This leaves a computer running in isolation.~ The programs running on the isolated computer may not detect immediately that network has failed or become slower.
Introduction (cont.)
![Page 9: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/9.jpg)
Examples of DS 3 examples of DS:
~ internet~ intranet - a portion of internet
managed by organization
~ mobile and ubiquitous computing
![Page 10: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/10.jpg)
Internet
• Internet is a very large distributed system
• It enables users to make use of services such as World Wide Web, email and file transfer.
• The set of services is open-ended – it can be extended by addition of server computers and new types of services.
![Page 11: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/11.jpg)
Figure 1.2: A typical intranet
the rest ofthe internet
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
• Intranet is a part of Internet • Separately administered• Uses firewall to enforce its own local security policies. • Users share data by means of file services.
![Page 12: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/12.jpg)
Figure 1.3: Portable and handheld devices in DS
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP Wireless LAN
phone
gateway
Host site
DS applicable to:a) mobile computing - laptop, mobile phones, GPRS, webcamsb) ubiquitous computing - small comp. embedded in appliances
![Page 13: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/13.jpg)
Main motivation for constructing DS: ~ Sharing of resources
Resource may be managed by servers & access by clients
Resource sharing and the
Web
![Page 14: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/14.jpg)
Examples of hardware sharing in DS
a) CPU: compute server (executes processor-intensive applications for clients), remote object server (executes methods on behalf of clients), worm program (shares cpu capacity of desktop machine with local user)
b) memory: cache server (holds recently-accessed web pages in its RAM, for faster access by other local computers)
c) disk: file server, virtual disk server, video on demand server.
d) screen: Network window systems, such as X-11, allow processes in remote computers to update the content of windows.
e) printer: networked printers accept print jobs from many computers. Managing them with a queuing system.
d) network capacity: packet transmission enables many simultaneous communication channels to be transmitted on the same circuits.
![Page 15: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/15.jpg)
a) web page: web servers enable multiple clients to share read-only page content.
b) file: file servers enable multiple clients to share read-write files.
c) object: possibilities for software objects are limitless. E.g. shared whiteboard, shared diary, room booking system, etc.
d) database: intended to record definitive state of some related sets of data. They shared ever since multi-user computers appeared.
e) newsgroup content: netnews system makes read-only copies of recently-posted news items available to clients throughout Internet. A copy of newsgroup content is maintained at each netnews server. Each server makes its data available to multiple clients.
Examples of data/software sharing in DS
![Page 16: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/16.jpg)
Resource sharing and the Web (cont.)
Shared resources are managed by server processes.
A service of a computer system manages a collection of related resources. For example – we access shared files through a file service, we send documents to printer through printing service, we buy goods through electronic payment service
A service is accessed via the well-defined set of operations. For example- a file service provides read, write and delete operations on files.
![Page 17: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/17.jpg)
The term server refers to a running program (service) on a networked computer system that accepts request from programs running on other computers (client) .
A Request is sent in the form of a message from client to server. A Client sends request to invoke an operation. When the client recieves the server’s response, it is called as remote invocation.
In DS written an object-oriented language, resources may be encapsulated as objects whose methods are invoked by client objects.
Resource sharing and the Web (cont.)
![Page 18: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/18.jpg)
World Wide Web -> example of resource sharing. -> 3 main standard technological components: a) HTML (HyperText Markup Language), is a language for specifying the contents and layout of the pages.b) URLs (Uniform Resource Allocators) identify documents and other resources stored as part of web, c) HTTP (HyperText Transfer Protocol) by which web browsers and other clients fetch documents and other resources from web servers.
Resource sharing and the Web (cont.)
![Page 19: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/19.jpg)
Figure 1.4: Web servers and web browsers
File system of
Internet
BrowsersWeb servers
www.google.com
www.cdk3.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://www.google.comlsearch?q=kindberg
http://www.cdk3.net/
www.w3c.org
![Page 20: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/20.jpg)
Challenges Challenges arising for construction DS:
heterogeneity openness security scalability failure handling concurrency transparency
![Page 21: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/21.jpg)
Challenges (cont.) heterogeneity
- A DS is constructed from variety different network, OS, computer hardware and programming language, implementation by different developers. - Internet communication protocols mask the difference in network, and middleware can deal with the other differences. Some middlewares are CORBA, JAVA RMI.
openness - allows components to be add or replaced (re-implemented) - DS should be extensible: publish key interfaces of components and integrate components written by different programmer
![Page 22: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/22.jpg)
Challenges (cont.) security
- Security has three components:Confidentiality (Protection against disclosure to
unauthorized individual)Integrity (Protection against alteration or corruption)Availability (Protection against interference with the
means to access the resources) - encryption can be used to provide protection of shared resources & keep sensitive information secret when is transmitted in messages over a network.
![Page 24: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/24.jpg)
Challenges (cont.) scalability
- ability to work when num. of users ↑ - algorithms used to access shared data should avoid performance bottlenecks - data should be structured hierarchically to get the best times - Web illustrates some approaches to address it (e.g. the use of hierarchic naming, partitioned data, caching & replication).
Figure 1.5: Computers in the Internet
Date Computers Web servers
1979, Dec. 188 0
1989, July 130,000 01999, July 56,218,000 5,560,8662003, Jan. 171,638,297 35,424,956
![Page 25: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/25.jpg)
Figure 1.6: Computers vs. Web servers in the
InternetDate 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 122001, July 125,888,197 31,299,592 25
42,298,371
![Page 26: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/26.jpg)
Challenges (cont.) failure handling
- any process, computer or network may fail independently - each component need to be aware of possible ways its components may fail
concurrency - multiple users is a source of concurrent request to resources - each resources must be designed to be safe
Transparency - make certain aspects of distribution invisible to the application
![Page 27: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/27.jpg)
TransparenciesAccess transparency: enables local and remote
resources to be accessed using identical operations.
Location transparency: enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address).
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.
![Page 28: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a](https://reader034.vdocuments.us/reader034/viewer/2022051621/5697bf821a28abf838c85da6/html5/thumbnails/28.jpg)
Transparencies (cont.)
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.