cs431 distributed systems chapter 1 characterization of distributed systems distributed systems...

24
CS431 Distributed CS431 Distributed Systems Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Upload: adele-mckenzie

Post on 11-Jan-2016

269 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

CS431 Distributed SystemsCS431 Distributed Systems

CHAPTER 1

Characterization of Distributed Systems

Distributed Systems Concept & Design

Page 2: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

OUTLINE OUTLINE

Distributed System Definitions.

Distributed Systems Examples:

◦ The Internet.

◦ Intranets.

◦ Mobile and Ubiquitous Computing.

Resource Sharing.

The World Wide Web.

Distributed Systems Challenges.

2

Page 3: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed System Distributed System DefinitionsDefinitions

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

◦ Concurrency of components.

◦ No global clock.

◦ Independent failures.

A collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing.

A collection of independent computers that appear to the users of the system as a single computer.

3

Page 4: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ExamplesDistributed Systems Examples(The Internet)(The Internet)

The Internet is a vast interconnected collection of computer networks of many types.

Its design enabling a program running anywhere to address messages to programs anywhere else.

Allowing its users to make use of many services as: WWW, E-Mail, Web hosting, and File transfer.

Its services can be extended by adding new types of service (open-ended services).

Small organizations and individual users can to access internet services through Internet Service Providers (ISPs).

Independent intranets are linked together by high transmission capacity circuits called backbones.

4

Page 5: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ExamplesDistributed Systems Examples(The Internet)(The Internet)

5

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

A typical portion of the Internet

Page 6: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ExamplesDistributed Systems Examples(Intranets)(Intranets)

An Intranet is a portion of the internet that is administrated separately and its local security policies are enforced by a configured boundary.

Composed of several local area networks (LANs) linked by backbone connections to allow its users to access the provided services.

Connected to the Internet via a router which allows its users to make use of the internet services elsewhere.

Many organization protect their own services from unauthorized use by filtering incoming and outgoing messages using a firewall.

6

Page 7: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ExamplesDistributed Systems Examples(Intranets)(Intranets)

7

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

A typical Intranet

Page 8: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ExamplesDistributed Systems Examples (Mobile and Ubiquitous Computing) (Mobile and Ubiquitous Computing)

The portability of many computing devices and the ability to connect to networks in different places makes mobile computing possible.

Mobile computing is the performance of computing tasks while the users are on the move and away from their residence intranet but still provided with access to resources via the devices they carry with them.

Ubiquitous computing is the harnessing of many small cheap computational devices that are present in user’s physical environments.

Ubiquitous and mobile computing overlap but they are generally distinct.

8

Page 9: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ExamplesDistributed Systems Examples (Mobile and Ubiquitous Computing) (Mobile and Ubiquitous Computing)

9

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host sitePortable and

handheld devices in a distributed system

Page 10: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Resource SharingResource SharingResources in a distributed system are:

◦ Encapsulated within computers.◦ Can only accessed from other computers by communication.◦ Managed by a program that offers a communication interface.

The term service is used for a distinct part of a computer system which manages a collection of related resources and presents their functionality to users and applications via a well-defined set of operations.

Server refers to a running program on a networked computer that accepts request messages from programs, clients, running on other computers to perform a service and responds appropriately by reply messages.

A complete interaction between a client and a server is called a remote invocation.

10

Page 11: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

The World Wide Web (WWW)The World Wide Web (WWW)An executing web browser is an example of a client

communicates with a web server to request web pages from it.

WWW is an open client-server architecture implemented on top of the Internet.

Users use the Web through available web browsers to retrieve and view documents of many types and interact with unlimited set of services.

Web provides a hypertext structure among the documents that it stores. (i.e., the documents contain references, links, to other related documents and resources stored also in the web).

11

Page 12: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

The World Wide Web (WWW)The World Wide Web (WWW)

12

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.com/search?q=kindberg

http://www.cdk3.net/

File system ofwww.w3c.org

Web servers and web browsers

Page 13: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

The World Wide Web (WWW)The World Wide Web (WWW)Web is an open system and can be extended and

implemented in new ways without disturbing its existing functionality.◦ Its operation is based on communication standards and document

standards that are freely published and widely implemented.◦ Types of resources that can be published and shared on it is open (plug-

ins handle new document formats without changing the web browser).Web is based on three main standard technological

components:◦ The HyperText Markup Language (HTML) specifies the contents and

layout of pages as they are displayed by web browser.◦ Uniform Resource Locators (URLs) identify documents and other

resources accessible via the web.◦ The HyperText Transfer Protocol (HTTP) determines the standard rules

for interaction between browsers and web servers to fetch documents and other resources.

13

Page 14: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

World Wide Web ComponentsWorld Wide Web Components(HTML)(HTML)

HTML is used to specify:◦ The text and images that make up the contents of a web page,◦ How web page components are formatted for presentation to the user, and◦ Links and which resources are associated with them.

HTML is produced using a standard text editor or an HTML tool.HTML uses tags to specify content:

<IMG SRC = “http://www.cdk3.com/WebExample/Images/earth.jpg”><P> Welcome to Earth! Visitor may also be interested in taking a look at the<A HREF = “http://www.cdk3.com/WebExample/Moon.html”> Moon </A> </P> ………………………

HTML text is stored in a file accessible by a web server.A browser retrieves the file from the web server and interprets

its HTML text to display the web page in the familiar fashion.

14

Page 15: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

World Wide Web ComponentsWorld Wide Web Components(URLs)(URLs)Browsers examine URLs in order to fetch the

corresponding resources from web servers.A URL is typed by the user into the browser or

selected from their bookmarks.Also, the browser looks up the corresponding URL

when the user clicks on a link or fetches a resource embedded in a web page such an image.

Every URL in its full form has tow top-level components:

scheme : scheme-specific-locationURL examples:

http://www.cdk3.net/ http://www.google.com/search?q=kindberg. ftp://ftp.downloadIt.com/software/aProg.exe mailto:[email protected]

15

Page 16: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

World Wide Web ComponentsWorld Wide Web Components(HTTP)(HTTP)HTTP defines the ways in which browsers and any

other types of client interact with web server.HTTP is a request-reply protocol:

◦ The client sends a request message to the server containing the URL of the required resource,

◦ Then the server looks up the pathname and if it exists, sends back the file’s contents in a reply message to the client.

Browser are not necessarily capable of handling every type of the file’s contents:◦ A browser includes a list of preferred types when makes a

request.◦ The server take this into account when returns the file content

and includes the content type in the reply message so that the browser know how to process it.

HTTP allows the client to request one resource at a time.

16

Page 17: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges

A number of challenges are recognized in the design of distributed systems.

These challenges have been tackled with varying degrees of success in existing systems.

The list below gives some indication of measures that are employed to meet each challenge: ◦ Heterogeneity (التغاير): standards and protocols; middleware;

virtual machine; ◦ Openness: publication of services; notification of interfaces; ◦ Security: firewalls; encryption; ◦ Scalability: replication; caching; multiple servers; ◦ Failure Handling: failure tolerance; recover/roll-back;

redundancy; ◦ Concurrency: concurrency control to ensure data consistency; ◦ Transparency: middleware; location transparent naming;

anonymity (كتمان) 17

Page 18: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Heterogeneity)(Heterogeneity)

The internet enables users to access services over a variety and difference:◦ Networks.◦ Operating systems.◦ Implementations by different developers.

The different networks are masked by the fact that all of the attached computers are communicate to each other using standard internet protocols.

The middleware software layers (like CORBA) provide a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, operating systems and programming languages.

Virtual machines approach provides a way of making code executable on any hardware – mobile code.

18

Computer hardware. Programming languages.

Page 19: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Openness)(Openness)

The openness of distributed systems is determined by the degree to which new resource-sharing services can be added and be available for use by variety of client programs (services publication).

The specification and documentation of key software interfaces of the system components must be available to software developers (interfaces notification).

Systems that are designed to support resource sharing in this way are termed open distributed systems to emphasize the fact that they are extensible.

19

Page 20: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Security)(Security)

The security of many information resources available and maintained in distributed systems is importance.

Security for information resources has three components:◦ Confidentiality(سرية): protection against disclosure (كشف) to unauthorized

individuals. ◦ Integrity: protection against alteration or corruption.◦ Availability: protection against interference with the means to access the

resources.A firewall can be used to form a barrier around an intranet

to protect it from outside users but does not deal with ensuring the appropriate use of resources by users within the intranet.

Encryption can be used to provide adequate protection of shared resources and to keep sensitive information secret when is transmitted in messages over the internet.

Receiving of an executable program (mobile code) as an electronic mail attachment needs to be handled with care – effects of running the program are unpredictable!

20

Page 21: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Scalability)(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.

The design of scalable dist. systems presents many challenges:◦ Controlling the cost of physical resources.

◦ Controlling the performance loss.

◦ Preventing software resources running out.

◦ Avoiding performance bottlenecks.

21

Date Computers

Web servers

1979, Dec. 188 01989, July 130,000 01999, July 56,218,000 5,560,866

Computers in the internet

Page 22: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Failure Handling)(Failure Handling)

Failures in a distributed system are partial, therefore the handling of it is particularly difficult.

Some failures can be detected but others are difficult or impossible to detect it.

Some detected failures can be hidden or made less severe.Recovery from failures involves the design of software so

that the state of permanent data can be rolled back after a server has crashed.

Services can be made to tolerate failures by the use of redundant components:◦ At least two different routes between any two routers in the internet.◦ Databases and domain name tables must be replicated in several

servers.

22

Page 23: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Concurrency)(Concurrency)

Several clients in a distributed system can access a shared resource at the same time

Any object that represents a shared resource in a distributed system (a programmer that implement it) must be responsible for ensuring that it operate correctly in a concurrent environment.

Operations of objects in a concurrent environment must be synchronized in a way that its data remains consistent.

The synchronization of an object operations can be achieved by standard techniques such as semaphores.

23

Page 24: CS431 Distributed Systems CHAPTER 1 Characterization of Distributed Systems Distributed Systems Concept & Design

Distributed Systems ChallengesDistributed Systems Challenges(Transparency)(Transparency)

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.

Access and location transparency together provide network transparency.24