Open In App

Types of Transparency in Distributed System

Last Updated : 01 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

In distributed systems, transparency is defined as the masking from the user and the application programmer regarding the separation of components, so that the whole system seems to be like a single entity rather than individual components.

Aim of Transparency:

Transparency’s major goal is to make certain features of distribution opaque to application programmers so they may focus on the design of their specific activity.

Dimensions of Transparency in Distributed System

 

Types of Transparency in Distributed Systems:

The following are the various kinds of transparency that exist in distributed systems:

  • Access Transparency
  • Location Transparency
  • Concurrency Transparency
  • Replication Transparency
  • Failure Transparency
  • Mobility Transparency
  • Performance Transparency
  • Scaling Transparency
  • Parallelism Transparency

1. Access Transparency: Access Transparency allows the same operations to be used to access local and remote resources. The file distribution must be hidden from the clients.  The storing of data on separate servers that are physically separated, and a common set of actions should be available to access both remote and local files. Applications for local files are to be designed such that they should be able to run on remote files as well. 

Examples – The File system in Network File System (NFS), SQL queries, and web navigation exhibits the feature of access transparency. 

2. Location Transparency: Location Transparency permits access to resources regardless of their physical or network location. There should be a view of a consistent file namespace for the clients. It must possess the feature of moving files such that their pathnames are not to be affected. There is no information regarding the physical location of the object in case of a location transparent name. It is a quite vital and critical feature for facilitating resource movement and service availability. Location and Access Transparency together makes Network transparency. 

Examples – NFS file system and the pages of the web.

3. Concurrency Transparency: Concurrency Transparency permits many processes to run in parallel using shared resources without interfering with one another. As we know distributed systems exhibit concurrent environments so the shareable items are all accessed at the same time. It is hard to control Concurrency and implementation.

Example – Automatic Teller Machine (ATM) network.

4. Replication Transparency: Replication Transparency ensures the existence of numerous instances of resources to improve reliability and performance without having to know about replication to the user. In other words, this type of transparency should primarily be applied to distributed file systems, where replication of data over two or more sites exists for increased reliability. The existence of a mirrored copy of data must be unknown to the client.

Example- Distributed DBMS (Database Management System).

5. Failure Transparency: Failure Transparency permits fault abstraction in the background, allowing users and application programs to execute tasks even when hardware and software components fail. The fault tolerance property is exhibited by the procedures that deal with access transparency. The main concern in the distributed system is that they are more prone to failure since any of the components could fail, resulting in a degraded or non-existent/unavailable service. It is quite difficult to tell the difference between a failed and a slow-running operation since the complexities are hidden.

Examples – Database Management Systems (DBMS).

6. Mobility (Migration) Transparency: Mobility Transparency lets a system or resources move around without disrupting user or software processes.  It also bolsters the load balancing of any client that may be overburdened. 

Examples – Network File System (NFS) and Web pages.

7. Performance Transparency: Performance Transparency enables system reconfiguration to increase or enhance performance.

8. Scaling (Size) Transparency: Scaling Transparency enables systems and applications to scale up without requiring changes to the system architecture or application techniques. The resources that are not of any relevance to the user are hidden from the user and application programmers. The smooth development and evolution with this type of transparency are critical for most businesses. A system should be able to scale down to small surroundings when necessary, as well as be space and/or time-efficient when required. 

Example – World Wide Web (WWW)

9. Parallelism Transparency: Parallelism Transparency enables parallel activities to run without users knowing how, where and when it is made possible by the systems.

Note: Access and location transparency are the two most significant types of transparency; their presence or absence has the most impact on how distributed resources are used.

Degree of Transparency:

  • It is normally preferable, but it is not always the best option.
  • It is not a good idea to keep a physical resource like a printer hidden from its users.
  • A trade-off between a high level of transparency and a system’s performance is required.

Previous Article
Next Article

Similar Reads

Distributed System - Transparency of RPC
RPC is an effective mechanism for building client-server systems that are distributed. RPC enhances the power and ease of programming of the client/server computing concept. A transparent RPC is one in which programmers can not tell the difference between local and remote procedure calls. The most difficult aspect of designing an RPC facility is en
3 min read
Distributed System - Types of Distributed Deadlock
A Deadlock is a situation where a set of processes are blocked because each process is holding a resource and waiting for another resource occupied by some other process. When this situation arises, it is known as Deadlock. [caption width="800"]Deadlock[/caption]A Distributed System is a Network of Machines that can exchange information with each o
4 min read
Distributed System - Thrashing in Distributed Shared Memory
In this article, we are going to understand Thrashing in a distributed system. But before that let us understand what a distributed system is and why thrashing occurs. In naive terms, a distributed system is a network of computers or devices which are at different places and linked together. Each one of these distributed computers shares the same s
4 min read
Operating System - Difference Between Distributed System and Parallel System
A distributed system is a model where distributed applications are running on multiple computers linked by a communications network. Sometimes it is also called loosely coupled systems because in which each processor has its own local memory and processing units. LOCUS and MICROS are some examples of distributed operating systems. Parallel Systems
4 min read
Distributed Consensus in Distributed Systems
A procedure to reach a common agreement in a distributed or decentralized multi-agent platform. It is important for the message passing system. Example - A number of processes in a network decide to elect a leader. Each process begins with a bid for leadership. In traditional or conventional distributed systems, we apply consensus to ensure reliabi
4 min read
Difference between a Distributed Lock Manager and a Distributed Database
In today’s world, managing data and resources efficiently across multiple locations is crucial. Distributed Lock Managers and Distributed Databases are foundational in achieving this. They serve different yet complementary roles in distributed systems. While a distributed lock manager coordinates access to shared resources, a distributed database h
5 min read
What is Scalable System in Distributed System?
The Scalable System in Distributed System refers to the system in which there is a possibility of extending the system as the number of users and resources grows with time. The system should be enough capable to handle the load that the system and application software need not change when the scale of the system increases.To exemplify, with the inc
3 min read
Distributed System vs. Clustered System
When discussing scalability and reliability as well as performance in the context of computing, terms such as distributed systems and clustered systems are unavoidably mentioned. Even though they have a few common characteristics, they are two different ideas with different architectures and usage. It is important to understand the distinctions bet
5 min read
Types of Distributed System
Pre-requisites: Distributed System A Distributed System is a Network of Machines that can exchange information with each other through Message-passing. It can be very useful as it helps in resource sharing. It enables computers to coordinate their activities and to share the resources of the system so that users perceive the system as a single, int
8 min read
Design Principles of Distributed File System
Pre-requisites: What is DFS (Distributed File System)? A distributed file system is a type of computer system that allows users to store and access data from multiple computers in a network. It is a way to share information between different computers and is used in data centers, corporate networks, and cloud computing. Despite their importance, th
3 min read
Article Tags :