1 / 35

Chapter 1 Characterization of Distributed Systems

Chapter 1 Characterization of Distributed Systems Choe, Hyun Jong Dept. of Computer Education Korea National Univ . Of Education Chapter Overview Definition & Motivation of Distributed Systems Properties of Distributed Systems Examples of Distributed Systems

omer
Télécharger la présentation

Chapter 1 Characterization of Distributed Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 1Characterization ofDistributed Systems Choe, Hyun Jong Dept. of Computer Education Korea National Univ. Of Education

  2. Chapter Overview • Definition & Motivation of Distributed Systems • Properties of Distributed Systems • Examples of Distributed Systems • Challenges of Distributed Systems • Pros & Cons of Distributed Systems

  3. Definition of D.S. • One in which components located at networked computers communicate & coordinate their actions only by passing messages • A system that consists of 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 • A collection of autonomous computers linked by a network with software designed to produce an integrated computing facility

  4. Motivation for D.S. (1) • Resource Sharing • Hardware components • Software-defined components • Functional distribution: computers have different functional capabilities • Client/Server • Host/Terminal • Data gathering/data processing • Sharing of resources with specific functionalities

  5. Motivation for D.S. (2) • Load distribution/balancing • Assign tasks to processors such that the overall system performance is optimized • Replication of processing power • Distributed systems consisting of collections of microcomputers may have processing powers that no supercomputer will ever achieve

  6. Motivation for D.S. (3) • Economics • Collections of microprocessors offer a better price/performance ration than large mainframes

  7. Computer Network vs. • Computer network: the autonomous computers are explicitly visible • Distributed system: existence of multiple autonomous computers is transparent

  8. Characteristics of D.S. • Concurrency of components • Lack of a global clock • Independent failures of components

  9. Problems with D.S. • Software: how to design & manage it in a distributed system • Dependency on the underlying network infrastructure • Easy access to shared data raises security concerns

  10. Examples of D.S.(1): Internet • Internet • Heterogeneous network of computers and applications • Implemented through the internet protocol stack

  11. Examples of D.S.(2): intranet

  12. What’s intranet? • Locally administered network • Usually proprietary • Interfaces with the internet • Gateway/router with firewalls • Provides services internally & externally

  13. Examples of D.S.(3) • Mobile & ubiquitous computing

  14. Ubiquitous computing • The goal of pervasive computing, which combines current network technologies with wireless computing,voice recognition, Internet capability and artificial intelligence, is to create an environment where the connectivity of devices is embedded in such a way that the connectivity is unobtrusive and always available

  15. Mobile & ubiquitous • Cellular phone systems • Laptop computers • Handheld devices like PDA • Home automation/car/TV/video etc… • Ubiquitous computing = Mobile + ?

  16. Trends in Computing

  17. Resource sharing(1) • Resource sharing • Hardware resources • Software resources • Resources with specific functionality • Search engine, CGI, communication modules

  18. Resource sharing(2) • Service & Server • Service • is a distinct part of a computer system that manages a collection of related resources and represent their functionality to users and applications • Via the set of operations that it exports • Ex. Accessing a shared file • Server • A running program(process) that serves a service to users and application programs • Client-server model • Remote invocation • Active(client) vs. passive(server) – not fixed..

  19. The Web(1) • Web of network links • Publishing & accessing resources andservices across the internet • Began at CERN, Switzerland in 1989 • For exchanging documents among physicists • A key feature • Hypertext structure • However, hypertext structure was developed in mind in 1945 and realized with the development of the internet

  20. The Web(2) • Open system • WWW can be extended and implemented in new ways without disturbing its existing functionality • Based on communication/document standard • Many kinds of web browsers & web servers • Variety types of resources • Any kind of contents: plug-ins and helper application

  21. The Web(3) • Main components of the Web • HTML(hypertext markup language) • A language for specifying the contents and layout of pages as the are displayed by web browsers • URL(uniform resource locator) • An anchor which identities documents and other resources stored as part of the web • HTTP(hypertext transfer protocol) • Standard rules for interaction between client & server

  22. HTML • To specify the contents of a web page • To specify how they are laid out and formatted • Structured items as headings, paragraphs, tables, images, and links • HTML tags • Construction • Using text editor • Using wysiwyg editor which awares HTML

  23. URL • To identify a resource • Two top-level components • Schema: schema-specific-location mailto:blueland@blue.knue.ac.kr telnet://comedudb.knue.ac.kr • General HTTP URL • http://servername[:port][/pathname][?argument]

  24. HTTP • A protocol for clients to interact with web servers • Features • Request-reply interaction • Content type(MIME types) Text/html, image/gif, audio/x-mpegurl, application/zip.. • One resource per request N embedded resources in a web page requires n distinct request(connection) • Simple access control Simple restriction using challenge (authentication)

  25. Advanced features of the web • Services • Web form for user input • CGI(common gateway interface) • An interface between a program on server and the web • Running on the server side • Method: POST & GET • Dynamic pages • Inside the browser at the client computer • Javascript • An application downloaded from a server • Applet

  26. Issues/Challenges of D.S. • Heterogeneity • Openness • Security • Scalability • Failure handling • Concurrency • Transparency

  27. Heterogeneity • Variety and difference • Networks, computer hardware, OS, P. language • So, Middleware is needed • Software layer that provides a programming abstraction • CORBA(common object request broker architecture) • Java RMI(remote method invocation) • Mobile code • Code that can be send from one computer to another • Ex) Java applet: JVM(java virtual machine) provides an abstract a way of making code executable on any hardware

  28. Openness • Ensure extensibility and maintainability(H/W, S/W) • System is extended & re-implemented in various way • Adherence to standard interface • Ex 1) RFC(request for comments) http://www.ietf.org - Open systems - Open distributed systems • Ex 2) CORBA http://www.omg.org

  29. Security • Three components • Confidentiality: protection to unauthorized individuals • Integrity: protection against corruption • Availability: protection against interference with the means to access the resources • Cryptography can enhance confidentiality & integrity • However • DOS(denial of service) attack • Security of mobile code

  30. Scalability(1) Computers in the internet Computers vs. web servers in the internet

  31. Scalability(2) • A system is scalable if it will remain effective when there is a significant increase in the number of resources and the number of users • Controlling the cost of physical resources : User n-> physical resource O(n) • Controlling the performance loss : data size n -> time to access O(log n) • Preventing software resources running out : IPv4 -> IPv6 • Avoiding performance bottlenecks : one DNS table -> several DNS tables

  32. Failure handling • In the domain of network & server • How to deal with partial failures? • Techniques for failure handling • Detecting failures • may be possible with checksums • Masking(hiding) failures • Retransmission • Tolerating failures • Exception handling(clients) • Recovery from failures • Roll-back • Redundancy in hardware/software

  33. Concurrency • Attempt to access a shared resource at the same time • Consistent scheduling of concurrent threads • So that dependencies are preserved • Ex) accounts in a bank(preserves transaction) • Synchronization is needed for resource sharing • Ex) semaphores in OS

  34. Transparency(concealment) • Concealing(hiding) the heterogeneous and distributed nature of the system so that it appears to the user like one system • Eight forms of transparency(ISO’s RM-ODP): page 23 • Access transparency • Location transparency • Concurrency transparency • Replication transparency • Failure transparency • Mobility transparency(migration) • Performance transparency • Scaling transparency

  35. Eight forms of 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.

More Related