Distributed Computing
EG 3113 CT Diploma in Computer Engineering
5th Semester
Unit 3.2 Design Goals of Distributed System
Lecture by : Er. Ashish K.C(Khatri)
Design Goals of Distributed System:
• Resource sharing
• Openness
• Transparency
• Scalability
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 2
1. Resource Sharing
• The main goal of distributed system is to allow users to access remote resources
and to share them in controlled and efficient manner.
• The resources may be printer, database, data, files and so on.
• By sharing resources among the users, we can minimize the implementation cost
of the system.
• It is also necessary for easy collaboration and information exchange among the
users of the system.
• Making resource sharing and information exchange easier result in increasing
security related problems in the system which must be handled properly and
efficiently to protect data from being compromised.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 3
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 4
2. Openness
• A distributed system should be open. It must provides services with the standard rule following
some protocols defining syntax and semantic of that service.
• Services are specified through an interface defined in the Interface Definition Language (IDL).
• IDL must specify complete description of the service including function name, parameters, return
values, possible exceptions and what the service is used for.
• The interface specification should be complete (All the necessary things required to implement the
interface should be specified) and neutral (The structure of the implementation should not be
specified).
• Open distributed system helps to achieve interoperability (Ability for two implementations to work
together relying upon each other’s services) and portability (Ability of an application designed for
a distributed system, to execute correctly on other distributed systems with same implementations
without any modification to the application).
• It also helps in adding of new components or replacing current components without affecting the
system.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 5
3. Transparency:
• Transparency is the ability to hide the fact that the processes and the resources of
the distributed system are physically distributed across multiple computers or
machines and makes users to realize that it is a single coherent system.
• Transparency should be considered with other issues like performance.
• For eg: Let a person wants to print a file from the mobile device. Then it would be
great if he/she could print it from a nearby printer than from printer located far
from his current position. It is against the location transparency but provides
reliable outcome to the system.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 6
Types of Transparency:
• Access transparency:
Clients should be unaware of the distribution of the files.
The files could be present on a totally different set of servers which are physically
distant apart and a single set of operations should be provided to access these
remote as well as the local files.
Applications written for the local file should be able to be executed even for the
remote files.
The examples illustrating this property are the File system in Network File System
(NFS), SQL queries, and Navigation of the web
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 7
• Location Transparency:
Clients should see a uniform file namespace.
Files or groups of files may be relocated without changing their pathnames.
A location transparent name contains no information about the named object’s
physical location.
This property is important to support the movement of the resources and the
availability of services.
The location and access transparencies together are sometimes referred to as
Network transparency.
The examples are The File system in NFS and the pages of the web.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 8
• Concurrency Transparency:
Users and Applications should be able to access shared data or objects without
interference from each other.
This requires very complex mechanisms in a distributed system since there exists
true concurrency rather than the simulated concurrency of a central system.
The shared objects are accessed simultaneously.
The concurrency control and its implementation is a hard task.
The examples are NFS, Automatic Teller Machine (ATM) Network.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 9
• Replication Transparency:
This kind of transparency should be mainly incorporated for the distributed file
systems, which replicate the data at two or more sites for more reliability.
The client generally should not be aware that a replicated copy of the data exists.
The clients should also expect operations to return only one set of values.
The examples are Distributed DBMS and Mirroring of Web pages.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 10
• Failure Transparency:
Enables the concealment of faults, allowing user and application programs to
complete their tasks despite the failure of hardware or software components.
Fault tolerance is provided by the mechanisms that relate to access transparency.
The distributed system is more prone to failures as any of the components may fail
which may lead to degraded service or the total absence of that service.
As the intricacies are hidden the distinction between a failed and a slow running
process is difficult. Examples are Database Management Systems.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 11
• Migration Transparency:
This transparency allows the user to be unaware of the movement of information
or processes within a system without affecting the operations of the users and the
applications that are running.
This mechanism allows for the load balancing of any particular client, which
might be overloaded.
The systems that implement this transparency are NFS and Web pages.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 12
• Performance Transparency:
Allows the system to be reconfigured to improve the performance as the load
varies.
• Scaling Transparency:
A system should be able to grow without affecting application algorithms.
Graceful growth and evolution is an important requirement for most enterprises.
A system should also be capable of scaling down to small environments where
required, and be space and/or time-efficient as required.
The best-distributed system example implementing this transparency is the World
Wide Web.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 13
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 14
4. Scalability:
• A distributed system should be scalable with respect to size (Able to add any
numbers of users and resources), geography (Users and resources may be in any
locations) and administration (Easy management even if there are many
independent administrations).
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 15
Difficulties or Threats of Distributed System:
• Widely varying modes of use: The component parts of systems are subject to
wide variations in workload – for example, some web pages are accessed several
million times a day. Some parts of a system may be disconnected, or poorly
connected some of the time – for example, when mobile computers are included in
a system. Some applications have special requirements for high communication
bandwidth and low latency – for example, multimedia applications.
• Wide range of system environments: A distributed system must accommodate
heterogeneous hardware, operating systems and networks. The networks may
differ widely in performance – wireless networks operate at a fraction of the speed
of local networks. Systems of widely differing scales, ranging from tens of
computers to millions of computers, must be supported.
• Internal problems: Non-synchronized clocks, conflicting data updates and many
modes of hardware and software failure involving the individual system
components.
• External threats: Attacks on data integrity and secrecy, denial of service attacks.
8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 16

Design Goals of Distributed System

  • 1.
    Distributed Computing EG 3113CT Diploma in Computer Engineering 5th Semester Unit 3.2 Design Goals of Distributed System Lecture by : Er. Ashish K.C(Khatri)
  • 2.
    Design Goals ofDistributed System: • Resource sharing • Openness • Transparency • Scalability 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 2
  • 3.
    1. Resource Sharing •The main goal of distributed system is to allow users to access remote resources and to share them in controlled and efficient manner. • The resources may be printer, database, data, files and so on. • By sharing resources among the users, we can minimize the implementation cost of the system. • It is also necessary for easy collaboration and information exchange among the users of the system. • Making resource sharing and information exchange easier result in increasing security related problems in the system which must be handled properly and efficiently to protect data from being compromised. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 3
  • 4.
    8/16/2022 Distributed ComputingNotes © Er. Ashish K.C(Khatri) 4
  • 5.
    2. Openness • Adistributed system should be open. It must provides services with the standard rule following some protocols defining syntax and semantic of that service. • Services are specified through an interface defined in the Interface Definition Language (IDL). • IDL must specify complete description of the service including function name, parameters, return values, possible exceptions and what the service is used for. • The interface specification should be complete (All the necessary things required to implement the interface should be specified) and neutral (The structure of the implementation should not be specified). • Open distributed system helps to achieve interoperability (Ability for two implementations to work together relying upon each other’s services) and portability (Ability of an application designed for a distributed system, to execute correctly on other distributed systems with same implementations without any modification to the application). • It also helps in adding of new components or replacing current components without affecting the system. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 5
  • 6.
    3. Transparency: • Transparencyis the ability to hide the fact that the processes and the resources of the distributed system are physically distributed across multiple computers or machines and makes users to realize that it is a single coherent system. • Transparency should be considered with other issues like performance. • For eg: Let a person wants to print a file from the mobile device. Then it would be great if he/she could print it from a nearby printer than from printer located far from his current position. It is against the location transparency but provides reliable outcome to the system. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 6
  • 7.
    Types of Transparency: •Access transparency: Clients should be unaware of the distribution of the files. The files could be present on a totally different set of servers which are physically distant apart and a single set of operations should be provided to access these remote as well as the local files. Applications written for the local file should be able to be executed even for the remote files. The examples illustrating this property are the File system in Network File System (NFS), SQL queries, and Navigation of the web 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 7
  • 8.
    • Location Transparency: Clientsshould see a uniform file namespace. Files or groups of files may be relocated without changing their pathnames. A location transparent name contains no information about the named object’s physical location. This property is important to support the movement of the resources and the availability of services. The location and access transparencies together are sometimes referred to as Network transparency. The examples are The File system in NFS and the pages of the web. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 8
  • 9.
    • Concurrency Transparency: Usersand Applications should be able to access shared data or objects without interference from each other. This requires very complex mechanisms in a distributed system since there exists true concurrency rather than the simulated concurrency of a central system. The shared objects are accessed simultaneously. The concurrency control and its implementation is a hard task. The examples are NFS, Automatic Teller Machine (ATM) Network. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 9
  • 10.
    • Replication Transparency: Thiskind of transparency should be mainly incorporated for the distributed file systems, which replicate the data at two or more sites for more reliability. The client generally should not be aware that a replicated copy of the data exists. The clients should also expect operations to return only one set of values. The examples are Distributed DBMS and Mirroring of Web pages. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 10
  • 11.
    • Failure Transparency: Enablesthe concealment of faults, allowing user and application programs to complete their tasks despite the failure of hardware or software components. Fault tolerance is provided by the mechanisms that relate to access transparency. The distributed system is more prone to failures as any of the components may fail which may lead to degraded service or the total absence of that service. As the intricacies are hidden the distinction between a failed and a slow running process is difficult. Examples are Database Management Systems. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 11
  • 12.
    • Migration Transparency: Thistransparency allows the user to be unaware of the movement of information or processes within a system without affecting the operations of the users and the applications that are running. This mechanism allows for the load balancing of any particular client, which might be overloaded. The systems that implement this transparency are NFS and Web pages. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 12
  • 13.
    • Performance Transparency: Allowsthe system to be reconfigured to improve the performance as the load varies. • Scaling Transparency: A system should be able to grow without affecting application algorithms. Graceful growth and evolution is an important requirement for most enterprises. A system should also be capable of scaling down to small environments where required, and be space and/or time-efficient as required. The best-distributed system example implementing this transparency is the World Wide Web. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 13
  • 14.
    8/16/2022 Distributed ComputingNotes © Er. Ashish K.C(Khatri) 14
  • 15.
    4. Scalability: • Adistributed system should be scalable with respect to size (Able to add any numbers of users and resources), geography (Users and resources may be in any locations) and administration (Easy management even if there are many independent administrations). 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 15
  • 16.
    Difficulties or Threatsof Distributed System: • Widely varying modes of use: The component parts of systems are subject to wide variations in workload – for example, some web pages are accessed several million times a day. Some parts of a system may be disconnected, or poorly connected some of the time – for example, when mobile computers are included in a system. Some applications have special requirements for high communication bandwidth and low latency – for example, multimedia applications. • Wide range of system environments: A distributed system must accommodate heterogeneous hardware, operating systems and networks. The networks may differ widely in performance – wireless networks operate at a fraction of the speed of local networks. Systems of widely differing scales, ranging from tens of computers to millions of computers, must be supported. • Internal problems: Non-synchronized clocks, conflicting data updates and many modes of hardware and software failure involving the individual system components. • External threats: Attacks on data integrity and secrecy, denial of service attacks. 8/16/2022 Distributed Computing Notes © Er. Ashish K.C(Khatri) 16