420 likes | 821 Views
Distributed Computing Environment (DCE). Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group (www.opengroup.org) Provides a set of tools and services which simplify and support the development and operation of distributed applications
E N D
Distributed Computing Environment (DCE) • Introduction • Originally developed by Open Software Foundation (OSF), which is now called The Open Group (www.opengroup.org) • Provides a set of tools and services which simplify and support the development and operation of distributed applications • an example of “middleware” • a layer of software that sits on top of the host operating system (e.g., UNIX) and networking services, and provides a single, transparent distributed computing environment • based on the Client/Server Model
Why Use DCE? • Harnesses available computing resources • Increases availability • Facilitates collaborative work and minimizes storage limitations • Tracks data and programs that move around • Accommodates heterogeneous data • Helps maintain distributed applications • Helps synchronize events • Protects distributed resources
DCE RPC • the fundamental communications mechanism • allows direct calls to procedures on remote systems as if they were local procedure calls • simplifies the development of distributed applications by eliminating the need to explicitly program the network communications between the client and server • masks differences in data representations on different hardware platforms, allowing distributed programs to work transparently across heterogeneous systems
Directory Services • DCE Cell Directory Service (CDS) is the mechanism for logically naming objects within a DCE cell (a group of client and server machines) • Applications identify resources by name, without needing to know where the resources are located • DCE cells can also participate in a worldwide directory service using the DCE Global Directory (GDS), which is based on the X.500 standard, or the Internet-system Domain Name Service (DNS)
Security Service • DCE Security Service provides the mechanisms for writing applications that support secure communications between clients and servers • enables processes on different machines to be certain of one another’s identities (authentication) • allows a server to determine whether a given user is authorized to access a particular resource (authorization) • supports several protection levels for messages as they travel across the network
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
Distributed Time Service • Provides a way to synchronize the clocks on the different machines in a distributed system • Threads • 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 Cells • 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 administration • a cell is a group of users, hosts, and resources that share common DCE services
Cell Configurations • at a minimum, a cell includes CDS, Security Service and Time Service • Distributed Operation in a DCE Cell
Cells and Naming • The DCE Directory Service consists of two directory services: CDS & GDS • CDS manages names inside cells • GDS manages names outside cells and between cells • GDS is an implementation of a directory standard known as X.500 Directory Service (XDS)
Domain Name Service (DNS) • - another widely used existing global name service • - used primarily as a name service for Internet host names • although DNS is not a part of DCE, support for cells to address each other through DNS is provided • Global Directory Agent (GDA) makes inter-cell communication possible
DCE naming environment supports two kinds of names: Global and Local (cell-relative) names Global Names - begins with the … prefix - can refer to an object within a cell or an object outside of a cell Example 1 - uses X.500 name for global cell name Example 2 - uses DNS name for global cell name
Local Names - do not include a global cell name - begins with the /.: prefix • Example: • /…/C=US/O=XYZ/OU=Portland/subsys/PriceMax/price_server1 • /.:/subsys/PriceMax/price_server 1 • are equivalent when used within the cell named • /…/C=US/O=XYZ/OU=Portland
Junctions • some services connect into the cell by means of specialized CDS entries called “junctions” • contain binding information that enables a client to connect to a server outside the Directory Service (e.g., Security Service, DFS) • Example 1 - Security Service Junction(/.:/sec) • Example 2 - DFS Junction (/.:/fs)
DCE RPC • Enhanced version of the HP’s NCS (Network Computing System) RPC • DCE threads allow increased concurrency in servers and clients • supports TCP and UDP transport services • authenticated RPC supported • Interface Definition Language • the service interfaces are defined by DCE IDL • a universal unique identifier (UUID) in the interface distinguishes this interface form any other interface • UUIDs are generated by uuidgen
Binding • DCE client (runtime library) finds a server using a two-step process • The client gets the server’s host address from the CDS • The client finds the server process address by searching the host’s endpoint map (which is maintained by RPC daemon, rpcd) • Basic server initialization steps: • Register each interface with the server runtime library • Register protocol sequences that the server will use for RPCs • Advertise the server location to clients • Listen for remote procedure calls
More on DCE • More information on DCE can be found from The Open Group (http://www.opengroup.org/dce) • Free DCE software can be downloaded from (http://www.opengroup.org/dce/download/)