380 likes | 963 Views
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
E N D
Chapter 1Characterization ofDistributed 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 • Challenges of Distributed Systems • Pros & Cons of Distributed Systems
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
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
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
Motivation for D.S. (3) • Economics • Collections of microprocessors offer a better price/performance ration than large mainframes
Computer Network vs. • Computer network: the autonomous computers are explicitly visible • Distributed system: existence of multiple autonomous computers is transparent
Characteristics of D.S. • Concurrency of components • Lack of a global clock • Independent failures of components
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
Examples of D.S.(1): Internet • Internet • Heterogeneous network of computers and applications • Implemented through the internet protocol stack
What’s intranet? • Locally administered network • Usually proprietary • Interfaces with the internet • Gateway/router with firewalls • Provides services internally & externally
Examples of D.S.(3) • Mobile & ubiquitous computing
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
Mobile & ubiquitous • Cellular phone systems • Laptop computers • Handheld devices like PDA • Home automation/car/TV/video etc… • Ubiquitous computing = Mobile + ?
Resource sharing(1) • Resource sharing • Hardware resources • Software resources • Resources with specific functionality • Search engine, CGI, communication modules
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..
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
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
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
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
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]
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)
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
Issues/Challenges of D.S. • Heterogeneity • Openness • Security • Scalability • Failure handling • Concurrency • Transparency
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
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
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
Scalability(1) Computers in the internet Computers vs. web servers in the internet
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
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
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
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
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.