Introduction to Distributed Computing Environment (DCE)
The Benefits of Distributed Systems have been widely recognized. They are due to their ability to Scale, Reliability, Performance, Flexibility, Transparency, Resource-sharing, Geo-distribution, etc. In order to use the advantages of Distributed Systems, appropriate support and environment are needed that supports execution and development of Distributed Applications.
A distributed application is a program that runs on more than one machine and communicates through a network. It consists of separate parts that execute on different nodes of the network and cooperate in order to achieve a common goal. It uses Client-Server Model.
Distributed Computing Environment(DCE) is an integrated set of services and tools which are used for building and running Distributed Applications. It is a collection of integrated software components/frameworks that can be installed as a coherent environment on top of the existing Operating System and serve as a platform for building and running Distributed Applications.
Using DCE applications, users can use applications and data at remote servers. Application programmers or clients need not be aware of where their programs will run or where the data that they want to have access, will be located.
DCE was developed by the Open Software Foundation(OSF) using software technologies contributed by some of its member companies which are now popularly known as The Open Group.
DCE framework/Services include:
- Remote Procedure Call(RPC): It is a call made when a Computer program wants to execute a subroutine in a different computer(another computer on a shared network).
- Distributed File System(DFS): It provides a transparent way of accessing a file in the system in the same way as if it were at the same location.|
- Directory Service: It is used to keep track location of Virtual Resources in the Distributed System. These Resources include Files, Printers, Servers, Scanner, and other machines. This service prompts the user to ask for resources(through the process) and provide them with convenience. Processes are unaware of the actual location of resources.
- Security Service: It allows the process to check for User Authenticity. Only an authorized person can have access to protected and secured resources. It allows only an authorized computer on a network of Distributed Systems to have access to secured resources.
- Distributed Time Service: Inter-Process Communication between different system components requires synchronization so that communication takes place in a designated order only. This service is responsible for maintaining a global clock and hence synchronizing the local clocks with the notion of time.
- Thread Service: The Thread Service provides the implementation of lightweight processes (threads). Helps in the synchronization of multiple threads within a shared address space.
DCE supports the structuring of distributed computing systems into so-called cells which consist of 3 types of machines, User, administrator, and Server. This is done to keep the size of the administration domain manageable. A cell is basically a set of nodes that are managed together by one authority.
Cell boundaries of a cell represent security firewalls; access to resources in a foreign cell requires special authentication and authorization procedures that are different from secure intra-cell interactions.
The highest privileges within a cell are assigned to a role called DCE cell administrator which has control over all system services within the network, remotely. It has privileges over all resources within a Distributed Computing Environment cell.
Major components of cell:
- Security Server which is responsible for User Authenticity
- Cell Directory Server(CDS) – the repository of resources
- Distributed Time Server – provides the clock for synchronization of the entire cell.
Advantages of DCE:
- Lower Maintenance Cost
- Scalability and Availability
- Reduced Risks