Top Banner
Design Challenges to Construct Distributed System Ajaykumar.M.V IT Department
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3. challenges

Design Challenges to Construct Distributed System

Ajaykumar.M.V

IT Department

Page 2: 3. challenges

The following are the Challenges to construct distributed system

1. Heterogeneity

2. Openness

3. Security

4. Scalability

5. Failure handling

6. Concurrency

7. Transparency

Page 3: 3. challenges
Page 4: 3. challenges

1. Heterogeneity

Variety and difference-Networks, computer hardware, OS, Programming language

– solutions: middleware is needed (i.e. corba), mobile code, virtual machines •Networks

–Ethernet, token ring, etc•Computer hardware

–big endian / little endian•Operating systems

–different API of Unix and Windows•Programming languages

–different representations for data structures•Implementations from different developers

–no application standards

Page 5: 3. challenges

• Middleware– applies to a software layer that provides a programming

abstraction as well as masking the heterogeneity of the underlying networks, hardware, OSs and programming languages

– CORBA(common object request broker architecture)– Java RMI(remote method invocation)

• Mobile code– is used to refer to code that can be sent from one computer to

another and run at the destination.– Ex) Java applet: JVM(java virtual machine) provides an abstract

a way of making code executable on any hardware

Heterogeneity… continued

Page 6: 3. challenges

2. Openness

– extended and re-implemented in various ways

• Openness of a computer system -- is the characteristic that determines whether the system

can be extended and re-implemented in various way. e.g. Unix

• Openness of distributed systems -- is determined by the degree to witch new resource sharing services can be added and be made available for

use by A variety of client programs.e.g. Web

Page 7: 3. challenges

3. Security

1. Confidentiality• protection against disclosure to unauthorized

individuals,

2. Integrity• protection against alteration or corruption, e.g.

checksum• Cryptography can enhance confidentiality &

integrity3. Availability

• protection against interference with the means to access the resources, • e.g. Denial of service• Security of mobile code

Page 8: 3. challenges
Page 9: 3. challenges

4. Scalability

– effective with significant increase in resources – cost and performance• 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

• A scalable example system: the Internet

Page 10: 3. challenges

5.Failure handlingIn the domain of network & server

How to deal with partial failures?Techniques for failure handling1.Detecting Failures : some failures can be detected

•e.g. checksums can be used to detect corrupted data in a message or a file.

2.Masking Failures : some failures that have been detected ,can be hidden.

two examples of hiding failures* messages can be retransmitted when they fail to

arrive.* file data can be written to pair of disks so that if

one is corrupted, they other may still be correct.3. Tolerating Failures :- ignore, timeout

•e.g. a web browser cannot contact a web server

Page 11: 3. challenges

4. Recovery Failures : Recovery involves the design of software so that the state of permanent data can be recovered or rollback after a server has crashed.• e.g. Roll back

5. Redundancy in hardware/software service can be made available by the use of redundant

components.

Page 12: 3. challenges

6. Concurrency

• Both services and applications provide resources that can be shared by client in a distributed system.

• Correctness– ensure the operations on shared resource correct in a

concurrent environment

• Performance– Ensure the high performance of concurrent operations

Page 13: 3. challenges

7. Transparency• how to make a collection of computers appear as a

single computer.

• Hiding all the distribution from the users as well as the application programs.

• Transparency is defined as the concealment from the user and the application programmer of the separation of components in a distributed system.

Page 14: 3. challenges

7. Transparency

1. Access Transparency2. Location Transparency3. Concurrency Transparency4. Replication Transparency5. Failure Transparency6. Mobility Transparency7. Performance Transparency8. Scaling Transparency

Page 15: 3. challenges
Page 16: 3. challenges

1. Access Transparency

• enables local and remote resources to be accessed using identical operations

• Example: SQL Queries • Example: File system operations in NFS.

Page 17: 3. challenges

2. Location Transparency

• enables resources to be accessed without knowledge of their physical or network location.

• Example: pages in the web• Example: File system operations in NFS• Example: Tables in distributed databases

Page 18: 3. challenges

3. Concurrency Transparency

• enables several processes to operate concurrently using shared resources without interference between them

• Example: NFS• Example: Automatic teller machine network• Example: Database management system

Page 19: 3. challenges

4. 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.

• Example: Distributed DBMS• Example: Mirroring Web Pages.

Page 20: 3. challenges

5. Failure Transparency

• enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components.

• e.g., email

• Example: Database Management System

Page 21: 3. challenges

6.Mobility Transparency

• allows the movement of resources and clients within a system without affecting the operation of users or programs.

• Example: NFS• Example: Web Pages• Example: mobile phone

Page 22: 3. challenges

7 .Performance Transparency

• Allows the system to be reconfigured to improve performance as loads vary.

• Example: Distributed make.

Page 23: 3. challenges

8. Scaling Transparency

• Allows the system and applications to expand in scale without change to the system structure or the application algorithms.

• Example: World-Wide-Web• Example: Distributed Database

Page 24: 3. challenges

Thank You