Distributed Computing Environment Distributed Computing Environment (DCE)

  • View
    214

  • Download
    0

Embed Size (px)

DESCRIPTION

Distributed Computing Environment Distributed Computing Environment (DCE) Provides a comprehensive Network Operating System (NOS) solution for integrating multi-vendor, distributed in an enterprise client/server environment Spans multiple architectures, protocols, and OSs Operates as middleware, a layer between the various OSs and the applications and data DCE was considered the premier NOS solution until the mid to late 1990s when the focus shifted to the Internet DCE components are used in many operating systems Elements of DCE can be found in most Unixes NT 5.0 is built on top of modified DCEs RPC and security IBM uses DCE for foundation of its directory and security services

Transcript

Distributed Computing Environment

Distributed Computing Environment (DCE)

1

Distributed Computing Environment

History - Creation of DCE

DCE was developed by the Open System Foundation (OSF) in early 1990s, (OSF is now called the Open Group)OSF was an industry group lead by IBM, DEC, and HPInitial goal was to develop and market their own UNIX OS OFS/1, the industrys first open operating systemThe OSF/1 project was in response to joint effort between AT&T and SUN Microsystems to develop and market their UNIX OSThe OFS/1 project identified the need for a way to build distributed applications on top of OSF/1 and other UNIX systemsResulted in development of DCE an integrated package of tools and other software (best-of-breed) needed to build and maintain a distributed system

2

Distributed Computing Environment

Distributed Computing Environment (DCE)

Provides a comprehensive Network Operating System (NOS) solution for integrating multi-vendor, distributed in an enterprise client/server environmentSpans multiple architectures, protocols, and OSsOperates as middleware, a layer between the various OSs and the applications and dataDCE was considered the premier NOS solution until the mid to late 1990s when the focus shifted to the InternetDCE components are used in many operating systemsElements of DCE can be found in most UnixesNT 5.0 is built on top of modified DCEs RPC and securityIBM uses DCE for foundation of its directory and security services

3

Distributed Computing Environment

Goals of DCE

Seamless and coherent environment

for running distributed applications (using Client/Server model)

Integrated set of tools and services

to aid in development of distributed applications

Run in a heterogeneous environment

Many different kinds of computers, operating systems, and networks

Easy to produce portable software applications

UNIX, VMS, Windows and OS/2

Transparent to user and developer

Not necessary to know physical location of data

Not necessary to know where the programs are executed

Work with existing standards

Communication with TCP or the OSI protocols

Resources located with DNS or X.500 naming systems

4

Distributed Computing Environment

DCE Facilities and Services

Facilities ThreadsAllows multiple threads of control to exist in same process at same timeRemote Procedure Call, (RPC)Basis for all client/server communications in DCEHandles locating server, binding, and performing callsDistributed Services Time serviceTransparently maintains consistent time throughout distributed systemDirectory serviceCell Directory Service, (CDS) and Global Directory Service, (GDS)File system serviceDistributed file system, X.500 standard, works with local files systemsSecurity serviceKerberos

5

Distributed Computing Environment

DCE Facilities and Services

6

DCE Services

Distributed Computing Environment

DCE Threads

DCE threads package is based on Concert Multithread Architecture, (CMA) developed by DECDCE threads run in user space, and provide user-level library procedures that allow processes to create, delete or manipulate threadsInclude small wrapper routines to translate calls into native kernel-based thread package (if exists)DCE threads are used by the other DCE componentsSupports multi-processor environments using shared memoryDCE provides a semaphore service that helps threads synchronize their access to shared memory Scheduling algorithms for thread queues/processes, Three optionsFIFO utilizing different priority queues, each proc runs to completionRound Robin runs each thread process for fixed quantumTime-sliced Round Robin - Default, quantum value based on priority

7

Distributed Computing Environment

DCE RPC, Remote Procedure Call

GoalsAccess transparency - Make it possible for a client to access a remote service by simply calling a local procedureSimplify programming of client server applicationsFeaturesRPC runtime library is responsible for:Locating a server in the distributed system and binding to itPerforming message exchangesPacking and unpacking message parametersHandling data type conversions between different clients and serversProcessing errorsThe RPC mechanism provides protocol independence and network independenceDCE provides an Interface Definition Language (IDL) and compiler that facilitate creation of client and server code using RPC

8

Distributed Computing Environment

DCE RPC, Remote Procedure Call

Creating client and server code

9

Distributed Computing Environment

DCE RPC, Remote Procedure Call

Client to server binding with RPCServerEach server machine runs an RPC daemon process that maintains a registry table of server endpointsServer registers its endpoint with the RPC daemonServer registers its service/host with a separate directory server ClientContacts directory server to look up desired server hostContacts RPC daemon on server host to determine endpointPerforms RPC, binding to correct end point on server host

10

Distributed Computing Environment

DCE RPC, Remote Procedure Call

Client to server binding with RPC

11

The Domain of the Distributed Environment

DCE can provide scalable computing environment

- Small environment

* two network hosts

* typically consists of a single group of users who

share common goals

- large environment

* a network (or internetworks) of thousands of hosts

* typically consists of a diverse groups of users,

each group having its own goals and pool of shared resources

A cell is the basic unit of operation and administrationA cell is a group of users, hosts, and resources that share common DCE services

Distributed Operation in a DCE Cell

A Simple DCE Cell

Cell with DFS and Multiple DCE Clients

Distributed Computing Environment

Directory Service

Goals Make all resources accessible to any process in the system without regard for locationusers, machines, cells, servers, services, files, security dataLocation transparency - hide resource locations ComponentsCell Directory Service (CDS) CDS server maintains names for one cell CDS clerk (daemon process) does client caching Global Directory Service (GDS)Service for locating cellsX.500 naming standard, provides unique name to each resource

/C=US/O-CNU/TITLE=PROF/TELE=7563/OFFICE=217/NAME=ZHANG/

Global Directory Agent (GDA)Local agent (daemon process) contacts external GDS and DNS servers

17

Distributed Computing Environment

Directory Service

FeaturesHides actual paths/machine namesProvides proxies on local machines to intercept calls for devices/resources and redirect them to correct serversClient caching increases availability and performanceSupports DNS namingX.500 standard naming uses object-oriented information model

18

Directory Service

GDA

GDA

Cell Directory

Service

Cell Directory

Service

Global Directory

Service

Distributed Computing Environment

Directory Service

Relationship between directory service components

19

Overview of a Simple CDS Lookup

CDS Client

CDS Server

Client

Application

CDS

Clerk

CDS

Clearing

house

1

6

2

5

3

4

Cache

Steps Name Resolution

A Client Application sends a lookup request to its local CDS clerk.

The CDS clerk checks its cache for the name. If it is found in the cache, the CDS clerk returns a reply to the client and the name resolution operation completes.

If the name is not found in the cache, the CDS clerk does and RPC with CDS server that knows about it.

With the directories available in its local clearing house, the CDS server tries to resolve as many components of the name as possible.

If the name can be completely resolved, the CDS server returns the result of name resolution to the CDS clerk.

The CDS clerk caches this information in its cache for future use.

The CDS clerk finally returns a reply to the client and the name resolution operation completes.

Intercell Name Resolution

CDS Clerk

Client Application

Name Cache

Client Machine

DNS Server

CDS Server

GDS Server

CDS Server

GDA

GDA Machine

CDS Machine

DNS Machine

GDS Machine

CDS Machine of the remote cell to which the named object belongs.

DB of GDS

DB of DNS

1

13

2

12

11

10

9

5

4

3

8

6

8

6

7

7

Distributed 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

Distributed Computing Environment

Distributed File Service

Goals Provide a seamless wide-area (potentially worldwide) file system spanning the heterogeneous distributed network of computers Provide namespace transparency so u