DCE RPC

Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

DCE: 

DCE Prepared by Pratosh Kumar

Slide 2: 

DCE ( Distributed Computing Environment ) Introduction of DCE Goals Services Writing a Client & a Server Binding a Client to a Server Performing an RPC

What is DCE ?: 

What is DCE ? It is defined by the open software foundation (OSF). which is now called The Open Group (www.opengroup.org) It is an architecture, a set of standard service, and application programs, built on top of the existing operating system which hides the differences among individual computers. used to support the development and usage of distributed applications in a single distributed system. It use client/server model.

Goals of DCE: 

Goals of DCE can run on many different computers, operating systems (Unix, Os/2, VMS,windows) and networks in a distributed system, Provide a coherent seamless platform for running distributed applications. Provide a mechanism for synchronizing clocks on different machines.

Goals contd….: 

Goals contd…. Provide tools to make it easier to write distributed applications in which multiple users at multiple locations can work together. Provide extensive tools for authentication and access protection

Distributed services provided by the DCE: 

Distributed services provided by the DCE Distrusted File Service Thread services RPC Time service Directory services Security service

DCE Services: 

DCE Services

Distrusted File Service: 

Distrusted File Service DCE Distributed File Service (DFS) is a high-performance, scalable, secure method for sharing remote files DFS appears to the user as a local file systems, providing access to files form anywhere in the network for any user, with the same filename used by all (uniform file access) DFS includes many advanced features not found in traditional distributed file systems, including caching, security, and scalability over wide-area networks

Thread Service: 

Thread Service DCE supports multi-threaded applications i.e., programs that use “lightweight” processes to perform many actions concurrently DCE Threads are based on the POSIX threading standard

DCE RPC : 

DCE RPC DCE is based on the client/server model. RPC package of DCE allows a client process to call a procedure on a remote computer. It allows application programmer to extend the local procedure call to a distributed environment. The application programmer doesn’t have to be concerned with the detail of the network communications between client and server nodes. RPC hides communication detail and removes system and hardware dependencies. It can automatically handle data type conversions between the client and the server without considering whether they run on the same or different architecture, or have same or different byte ordering.

Time Service: 

Time Service It enables distributed applications on different computers to determine event sequencing, duration, and scheduling. Keeps clocks on separate computers participating in a distributed system synchronization. It uses universal coordinated time(UTC) to synchronize DCE host’s time.

Directory Service: 

Directory Service Provide up-to-date addressing information by keeping track of where all resources (user, machine, file, server…) are located. So users can identify these resources by names and gain access to them without needing to know where they are located It’s distributed service--- the information that forms database is stored in different places. A replicated service: the information is replicated and stored in more than one location which make it more readily available

Security Service: 

Security Service Controls interactions between clients and servers. It allows client and servers to authenticate each other and perform authenticated RPC. Controls access to resources by authorization supports several protection levels for messages as they travel across the network

Interface Definition File: 

Interface Definition File Interface definition:- contract between client and its server, specifying the services that server offers of client. Interface definition file:- representation on contract Each interface has its unique (location, time of creation ) identifier that is stored in IDL file.

Interface Definition Language: 

Interface Definition Language Lets a program or object written in one language communicate with another program written in an unknown language. An IDL works by requiring that a program’s interfaces be described in stub or slight extension of the program that is compiled into it. The stub in each program are used by a broker program to allow them to communicate. IDL file Also contains type definition, constant declaration and other info required to correctly marshal parameters and unmarshal results. IDL file contains identifier that uniquely identifies the interface

Slide 16: 

Uuidgen Interface definition file IDL Compiler Client stub object file Server stub Server Code Header Client stub Server stub object file C Compiler C Compiler C Compiler Client Code C Compiler Server object file Client object file Linker Runtime Library Runtime Library Linker Client binary Server binary #include #include Writing a Client & a Server

Slide 17: 

Directory Server Client Server Endpoint Table 1. Register Endpoint Binding Client & Server 2. Register Service 3. Look up Server 4. Ask for Endpoint 5. Do RPC Client Machine Directory Machine

Slide 18: 

Performing an RPC Client Machine Server Machine Client process Server process Client OS Server OS proc: “add” int : val ( i ) int: val(j) proc: “add” int : val ( i ) int: val(j) K=add( i,j ) K=add( i,j ) proc: “add” int : val ( i ) int: val(j) 3.Message is sent across network 1.Client call to procedure 2. Stub builds message 4. Server OS hands msg to server stub 5. Stub unpacks msg 6.Stub makes local call to add Client stub Server stub

Slide 19: 

Thanks