Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih Chang, From Coulouris, Dollimore.

Similar presentations


Presentation on theme: "CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih Chang, From Coulouris, Dollimore."— Presentation transcript:

1 CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih Chang, chang@cs.twsu.edu From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001

2 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Introduction Networks of computers are everywhere. A distributed system is one in which components at networked computers communicate and coordinate their actions only by passing messages. Characteristics of a distributed system:  Concurrency - concurrent execution and sharing resources.  No global clock – Programs coordinate actions only by exchanging messages.  Independent failures - Components can fail independently of one another.

3 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Examples of Distributed Systems To place distributed systems in a realistic context through examples: the Internet, an intranet and mobile computing. The Internet (Figure 1.1) :  a vast interconnected collection of computer networks of many different types.  passing message by employing a common means of communication (Internet Protocol).  The web is not equal to the Internet.

4 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 1.1 A typical portion of the Internet

5 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Examples of Distributed Systems Intranets (Figure 1.2):  An intranet is a private network that is contained within an enterprise.  It may consist of many interlinked local area networks and also use leased lines in the Wide Area Network.  It separately administrated and enforces local security policies.  It is connected to the Internet via a router  It uses firewall to protect an Intranet by preventing unauthorized messages leaving or entering  Some are isolated from the Internet  Users in an intranet share data by means of file services.

6 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 1.2 A typical intranet

7 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Examples of Distributed Systems Mobile and Ubiquitous Computing (Figure 1.3)  Distributed systems techniques are equally applicable to mobile computing involving laptops, PDAs and wearable computing devices.  Mobile computing (nomadic computing) - perform of computing tasks while moving (nomadic computing)  Ubiquitous computing - small computers embedded in appliances oharness of many small, cheap computation devices oIt benefits users while they remain in a single environment such as home.

8 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Examples of Distributed Systems Distributed In Figure 1.3 user has access to three forms of wireless connection:  A laptop is connected to host's wireless LAN.  A mobile (cellular) phone is connected to Internet using Wireless Application Protocol (WAP) via a gateway.  A digital camera is connected to a printer over an infra-red link.

9 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 1.3 Portable and handheld devices in a distributed system

10 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Resource Sharing Equipments are shared to reduce cost. Data shared in database or web pages are high-level resources which are more significant to users without regard for the server or servers that provide these. Patterns of resource sharing vary widely in their scope and in how closely users work together:  Search Engine: Users need no contact between users  Computer Supported Cooperative Working (CSCW): Users cooperate directly share resources. Mechanisms to coordinate users' action are determined by the pattern of sharing and the geographic distribution.

11 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Resource Sharing For effective sharing, each resource must be managed by a program that offers a communication interface enabling the resource to be accessed and updated reliably and consistently. Server is a running program (a process) on a networked computer that accepts requests from programs running on other computers to perform a service and responds appropriately. The requesting processes are referred to as a client.

12 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Resource Sharing An executing web browser is a client. It communicates with a web server to request web pages from it. When a client invokes an operation upon the server, it is called the remote invocation. Resources may be encapsulated as objects and accessed by client objects. In this case a client object invokes a method upon a server object.

13 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 The World Wide Web (WWW) WWW is an evolving system for publishing and accessing resources and services across Internet. Web is an open system. Its operations are based on freely published communication standards and documents standards. Key feature: Web provides a hypertext structure among the documents that it stores. The documents contain links - references to other documents or resources. The structures of links can be arbitrarily complex and the set of resources that can be added is unlimited.

14 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 The World Wide Web (WWW) Three main standard technological components:  HTML (Hypertext Makeup Language) specify the contents and layout of web pages. oContents: text, table, form, image, links, information for search engine,...; oLayout: text format, background, frame,...  URL (Uniform Resource Location): identify a resource to let browser find it. oscheme : scheme-specific-location ohttp://web.cs.twsu.edu/ (HyperText Transfer Protocol)http://web.cs.twsu.edu/

15 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 The World Wide Web (WWW)  URL (continued): oftp://ftp.twsu.edu/ (File Transfer Protocol)ftp://ftp.twsu.edu/ otelnet://kirk.cs.twsu.edu (log into a computer)telnet://kirk.cs.twsu.edu omailto:chang@cs.twsu.edu (identify a user's email address)mailto:chang@cs.twsu.edu  HTTP (HyperText Transfer Protocol) defines a standard rule by which browsers and any other types of client interact with web servers. Main features: oRequest-reply interaction oContent types may or may not be handled by browser - using plug-in or external helper

16 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 The World Wide Web (WWW)  HTTP (continued): oOne resource per request - Several requests can be made concurrently. oSimple access control oServices and dynamic pages -form - Common Gateway Interface program on server (Perl) -JavaScript (download from server and run on local computer) -Applet (download from server and run on local computer)

17 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 1.4 Web servers and web browsers Internet Browsers Web 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/ File system of www.w3c.org

18 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 The World Wide Web (WWW) Web success depends on:  Resources can be published  Suitability of its hypertext structure for organizing many types of information  Openness of its system architecture Problems:  Dangling links and lost in hyperspace can be solved by Resource Description Framework.  HTML is not extensible to applications beyond information browsing. XML (Extensible Makeup Language) is a meta- language for describing data.  A web page is not always a good user interface.

19 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Challenges Heterogeneity (variety and difference):  It applies to all the following: oNetworks oComputer hardware oOperating systems oProgramming languages oImplementation by different developers  Data representation and programming interface are different.  Middleware provides a programming abstraction as well as masking the heterogeneity. CORBA, Java RMI  Mobile code is sent from one computer and run at the destination (Java Applet) on a Java virtual machine.

20 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Challenges Openness  Key interfaces are published.  It is based on a uniform communication mechanism and published interfaces for access to shared resources.  It can be constructed from heterogeneous hardware and software. Security  For private or sensitive information - commercial secret  Encryption provides protection of shared resources, keeps sensitive information secret when transmitted.  Problems: denial of service attacks, security of mobile code

21 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Challenges Scalability  A scalable system remains effective when there is a significant increase in the number of resources and users.  Controlling the cost of physical resources - servers and users  Controlling the performance loss - DNS hierarchic structures scale better than linear structures and save time for access structured data.  Preventing software resources running out - Internet 32 bit addresses run out soon. 128 bit one gives extra space in messages.  Avoiding performance bottlenecks - DNS name table was kept in a single master file partitioning between servers.

22 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 1.5 Computers in the Internet Date Computers Web servers 1979, Dec. 1880 1989, July130,0000 1999, July56,218,0005,560,866

23 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Figure 1.6 Computers vs. Web servers in the Internet DateComputersWeb serversPercentage 1993, July 1,776,0001300.008 1995, July6,642,00023,5000.4 1997, July19,540,0001,203,0966 1999, July56,218,0006,598,69712

24 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Challenges Failure handling  Fail independently - Dependent components should know and deal with the fails.  Detecting failures  Masking failures - Failures are hidden or made less sever. Messages could be retransmitted. Files can be duplicated on different place.  Tolerating failures  Recovery from failures

25 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Challenges Failure handling (continued):  Redundancy (to tolerate failures): oThere should be at least 2 routes between any 2 routers in the Internet. oIn DNS, every name table is replicated in at least 2 servers. oA database can be replicated in several servers. Clients are redirected from the failure one to working one.

26 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 Challenges Concurrency  Multiple users make requests on same resource (read, write, update).  Each resource must be safe in a concurrent environment. Transparency  To make certain aspects of distributed system invisible to the application programmer so that they need only be concerned with the design of their particular application.  The implication of transparency is a major influence on the design of the system software.  8 forms of transparency - Access, Location, Concurrency, Replication, Failure, Mobility, Performance, Scaling.  Network transparency – Access and Location

27 Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000 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.


Download ppt "CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih Chang, From Coulouris, Dollimore."

Similar presentations


Ads by Google