Chapter 1n2 Characterization and Design Goals
Chapter 1n2 Characterization and Design Goals
1. What is a Distributed System 2. Examples of Distributed Systems 3. Common Characteristics 4. Basic Design Issues 5. Design Requirements 6. Summary
Control
Fully Distributed
Autonomous fully cooperative Autonomous transaction based Master-slave Homog. Homog. general special purpose purpose Heterog. Heterog. special general purpose purpose
Local data, local directory Not fully replicated master directory Fully replicated
Processors
Da ta
http://en.wikipedia.org/wiki/List_of_operating_systems
http://en.wikipedia.org/wiki/List_of_operating_systems
client that is set to server A, will only use that server resources.
Event
client that is set to server A, has to be replaced if the server is not scalabled.
Certain
Certain
database application/server might not able to be implemented if cant support a huge data.
It
Mobile
Computing
in computer networks
platform? Computing components are not in a single computer (distributed across multiple computers on the network). Resource sharing cloud computing.
Definition: A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. This definition leads to the following characteristics of distributed systems: concurrency of components lack of a global clock independent failures of components
One
component with non-autonomous parts shared by users all the time resources accessible runs in a single process point of control point of failure
Component All
Multiple
Components
users
14
eCommerce e.g. Amazon and eBay, PayPal, online banking and trading
Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.
Creative industries and entertainmentonline gaming, music and film in the home, usergenerated content, e.g. YouTube, Flickr Healthcare Education Transport and logistics Science Environmental management health informatics, on online patient records, monitoring patients e-learning, virtual learning environments; distance learning GPS in route finding systems, map services: Google Maps, Google Earth The Grid as an enabling technology for collaboration between scientists sensor technology to monitor earthquakes, floods or tsunamis
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
The
The
emergence of ubiquitous computing coupled with the desire to support user mobility in distributed systems. The increasing demand for multimedia services
Including
intranet ISP
backbone
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
18
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
What
are we trying to achieve when we construct a distributed system? Challenges in distributed systems
Heterogeneity: variety and differences in computing components Openness: uniform communication mechanism and published interfaces for access to shared resources. Security Scalability Failure Handling Concurrency Transparency
Middleware as software layers to provide a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, OS, and programming languages (e.g., CORBA). Mobile Code to refer to code that can be sent from one computer to another and run at the destination (e.g., Java applets and Java virtual
Openness
is concerned with extensions and improvements of distributed systems. Detailed interfaces of components need to be published. New components have to be integrated with existing components. Differences in data representation of interface types on different processors (of different vendors) have to be resolved.
In terms of CONFIDENTIALITY, INTEGRITY & AVAILABILITY . In a distributed system, all open resources need to be allowed, while confidential data has to be restricted to authorized users only. Security is required for
Concealing the contents of messages: security and privacy Identifying a remote user or other agent correctly: authentication
New challenges:
Denial of service attack Security of mobile code
Adaptation
of distributed systems to
accommodate
the cost of physical resources. Controlling the performance loss Preventing software resources running out Avoiding performance bottlenecks
Hardware,
Example:
Solution
Detecting
failures Masking failures retransmitted when failure occurs Tolerating failures informs user about the problem
Components
in distributed systems are executed in concurrent processes. Components access and update shared resources (e.g. variables, databases, device drivers). Integrity of the system may be violated if concurrent updates are not coordinated.
Lost
Distributed
systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. has different aspects. represent various properties that distributed systems should have.
Transparency These
Access 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. 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.
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Enables
local and remote information objects to be accessed using identical operations. File system operations in Navigation in the Web. SQL Queries NFS.
Example:
Example: Example:
Enables
information objects to be accessed without knowledge of their location. File system operations in NFS Pages in the Web
Enables
several processes to operate concurrently using shared information objects without interference between them. NFS Automatic teller machine Database management system
Example: Example:
network
Example:
Enables
multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs Distributed DBMS Mirroring Web Pages.
Example: Example:
Enables Allows
users and applications to complete their tasks despite the failure of other components. Database Management System
Example:
Allows
the movement of information objects within a system without affecting the operations of users or application programs NFS Web Pages
Example: Example:
Allows
Example:
Allows
the system and applications to expand in scale without change to the system structure or the application algorithms. World-Wide-Web Distributed Database
Example: Example:
Case
of the World Wide Web (refer to section 1.6 pg 42 of the text book) Networking and internetworking (Chapter 3).
What
are the entities that are communicating in the distributed systems? How do they communicate, or, more specifically what communication paradigm is used? What (potentially changing) roles and responsibilities do they have in the overall architecture? How are they mapped on to the physical distributed infrastructure (what is their
provided by multiple servers Proxy servers and caches Mobile code and mobile agents Network computers Thin clients and mobile devices
Client
invocation result
invocation result
Server
Server
Client
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Service
Server Client
Server
Client Server
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Web server
Client
Web server
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Web server
Client
Applet
Web server
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
a computer or a computer program which depends heavily on some other computer (its server) to fulfill its traditional computational roles.
Network computer or PC Thin Client network Compute server
Application Process
The most common type of modern thin client is a low-end computer terminal which concentrates solely on providing a graphical user interface to the end-user.
Applications, services
Middleware
47
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012
Definitions
of distributed systems and comparisons to centralized systems. The characteristics of distributed systems. The eight forms of transparency. The basic design issues. Typical design requirements. Read Chapter 1 and Chapter 2 of the textbook.