In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, e ...
, the Distributed Computing Environment (DCE)
software system
A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It "consists of a number of separate programs, configuration files, which are used to se ...
was developed in the early 1990s from the work of the
Open Software Foundation
The Open Software Foundation (OSF) was a not-for-profit industry consortium for creating an open standard for an implementation of the operating system Unix. It was formed in 1988 and merged with X/Open in 1996, to become The Open Group.
Despit ...
(OSF), a consortium (founded in 1988) that included
Apollo Computer
Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo wa ...
(part of
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
from 1989),
IBM,
Digital Equipment Corporation
Digital Equipment Corporation (DEC ), using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president unt ...
, and others.
The DCE supplies a
framework
A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of.
Framework may refer to:
Computing
* Application framework, used to implement the structure of an application for an op ...
and a toolkit for developing
client/server applications.
The framework includes:
* a
remote procedure call
In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared network), which is coded as if it were a normal (l ...
(RPC) mechanism known as
DCE/RPC DCE/RPC, short for "Distributed Computing Environment / Remote Procedure Calls", is the remote procedure call system developed for the Distributed Computing Environment (DCE). This system allows programmers to write distributed software as if it w ...
* a naming (
directory
Directory may refer to:
* Directory (computing), or folder, a file system structure in which to store computer files
* Directory (OpenVMS command)
* Directory service, a software application for organizing information about a computer network's u ...
) service
* a time service
* an
authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an assertion, such as the identity of a computer system user. In contrast with identification, the act of indicati ...
service
* a
distributed file system
A clustered file system is a file system which is shared by being simultaneously mounted on multiple servers. There are several approaches to clustering, most of which do not employ a clustered file system (only direct attached storage for ...
(DFS) known as
DCE/DFS
DCE represented a big step in the direction of standardization of
architecture
Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and constructing building ...
s, which had previously been manufacturer-dependent. Like the
OSI model
The Open Systems Interconnection model (OSI model) is a conceptual model that 'provides a common basis for the coordination of SOstandards development for the purpose of systems interconnection'. In the OSI reference model, the communications ...
, DCE has not seen much success in practical implementation; however, its underlying concepts have had more substantial influence over subsequent efforts.
History
Open Software Foundation
The Open Software Foundation (OSF) was a not-for-profit industry consortium for creating an open standard for an implementation of the operating system Unix. It was formed in 1988 and merged with X/Open in 1996, to become The Open Group.
Despit ...
(OSF) came about to a large degree as part of the
Unix wars
The Unix wars were struggles between vendors to set a standard for the Unix operating system in the late 1980s and early 1990s.
Origins
Although AT&T Corporation created Unix, by the 1980s, the University of California, Berkeley Computer Syste ...
of the 1980s. After
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
and
AT&T Corporation
AT&T Corporation, originally the American Telephone and Telegraph Company, is the subsidiary of AT&T Inc. that provides voice, video, data, and Internet telecommunications and professional services to businesses, consumers, and government agen ...
worked together to produce
UNIX System V Release 4
Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
(SVR4) and refused to commit to fair and open licensing of Unix source code, many of the other Unix vendors felt their own market opportunities were unduly disadvantaged. The Distributed Computing Environment is a component of the OSF offerings, along with Motif, OSF/1 and the Distributed Management Environment (DME).
As part of the formation of OSF, various members contributed many of their ongoing research projects as well as their commercial products. For example, HP/Apollo contributed its Network Computing Environment (NCS) and CMA Threads products. Siemens Nixdorf contributed its X.500 server and ASN/1 compiler tools. At the time, network computing was quite popular, and many of the companies involved were working on similar
RPC-based systems. By integrating security, RPC and other distributed services on a single "official" distributed computing environment, OSF could offer a major advantage over SVR4, allowing any DCE-supporting system (namely OSF/1) to interoperate in a larger network.
The DCE system was, to a large degree, based on independent developments made by each of the partners.
DCE/RPC DCE/RPC, short for "Distributed Computing Environment / Remote Procedure Calls", is the remote procedure call system developed for the Distributed Computing Environment (DCE). This system allows programmers to write distributed software as if it w ...
was derived from the ''
Network Computing System
The Network Computing System (NCS) was an implementation of the Network Computing Architecture (NCA). It was created at Apollo Computer in the 1980s. It comprised a set of tools for implementing distributed software applications, or distributed com ...
'' (NCS) created at
Apollo Computer
Apollo Computer Inc., founded in 1980 in Chelmsford, Massachusetts, by William Poduska (a founder of Prime Computer) and others, developed and produced Apollo/Domain workstations in the 1980s. Along with Symbolics and Sun Microsystems, Apollo wa ...
. The naming service was derived from work done at Digital. DCE/DFS was based on the
Andrew File System
The Andrew File System (AFS) is a distributed file system which uses a set of trusted servers to present a homogeneous, location-transparent file name space to all the client workstations. It was developed by Carnegie Mellon University as part of t ...
(AFS) originally developed at
Carnegie Mellon University
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
. The authentication system was based on
Kerberos, and the authorization system based on
Access Control List
In computer security, an access-control list (ACL) is a list of permissions associated with a system resource (object). An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on giv ...
s (ACLs). By combining these features, DCE offers a fairly complete
C-based system for network computing. Any machine on the network can authenticate its users, gain access to resources, and then call them remotely using a single integrated
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
.
The rise of the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
and
web services stole much of DCE's
mindshare
Mind share relates to the development of consumer awareness or popularity, and is one of the main objectives of advertising and promotion. When people think of examples of a product type or category, they usually think of a limited number of bran ...
through the mid-to-late 1990s, and competing systems such as
CORBA
The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between sys ...
muddied the waters as well.
One of the major uses of DCE today is
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
's
DCOM and
ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
systems, which use DCE/RPC (in
MSRPC
Microsoft RPC (Microsoft Remote Procedure Call) is a modified version of DCE/RPC. Additions include partial support for UCS-2 (but not Unicode) strings, implicit handles, and complex calculations in the variable-length string and structure paradig ...
) as their network transport layer.
OSF and its projects eventually became part of
The Open Group
The Open Group is a global consortium that seeks to "enable the achievement of business objectives" by developing "open, vendor-neutral technology standards and certifications." It has over 840 member organizations and provides a number of servi ...
, which released DCE 1.2.2 under a
free software license
A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
(the
LGPL
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
) on 12 January 2005. DCE 1.1 was available much earlier under the OSF BSD license, and resulted in
FreeDCE being available since 2000. FreeDCE contains an implementation of DCOM.
One of the major implementations of DCE was
Encina, originally developed by
Transarc
Transarc Corporation was a private Pittsburgh-based software company founded in 1989 by Jeffrey Eppinger, Michael L. Kazar, Alfred Spector, and Dean Thompson of Carnegie Mellon University.
Transarc commercialized the Andrew File System (AFS), ...
(who were acquired by
IBM). IBM used Encina as a foundation to port its primary mainframe transaction processing system (
CICS
IBM CICS (Customer Information Control System) is a family of mixed-language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.
CICS family products ...
) to non-mainframe platforms, as
IBM TXSeries
IBM TXSeries for Multiplatforms is a distributed CICS (Customer Information Control System) online transaction processing (OLTP) environment for mixed language applications.
TXSeries was introduced by IBM's Transarc subsidiary in 1997 and bundle ...
. (However, later versions of TXSeries have removed the Encina component.)
Architecture
The largest unit of management in DCE is a cell. The highest privileges within a cell are assigned to a role called ''cell administrator'', normally assigned to the "user" ''cell_admin''. Note that this need not be a real OS-level user. The cell_admin has all privileges over all DCE resources within the cell. Privileges can be awarded to or removed from the following categories : user_obj, group_obj, other_obj, any_other for any given DCE resource. The first three correspond to the owner, group member, and any other DCE principal respectively. The last group contains any non-DCE principal. Multiple cells can be configured to communicate and share resources with each other. All principals from external cells are treated as "foreign" users and privileges can be awarded or removed accordingly. In addition to this, specific users or groups can be assigned privileges on any DCE resource, something which is not possible with the traditional UNIX filesystem, which lacks ACL's.
Major components of DCE within every cell are:
#The Security Server that is responsible for authentication
#The Cell Directory Server (CDS) that is the repository of resources and ACLs and
#The Distributed Time Server that provides an accurate clock for proper functioning of the entire cell
Modern DCE implementations such as IBM's are fully capable of interoperating with Kerberos as the security server, LDAP for the CDS and the
Network Time Protocol
The Network Time Protocol (NTP) is a networking protocol for clock synchronization between computer systems over packet-switched, variable- latency data networks. In operation since before 1985, NTP is one of the oldest Internet protocols in c ...
implementations for the time server.
While it is possible to implement a distributed file system using the DCE underpinnings by adding filenames to the CDS and defining the appropriate ACLs on them, this is not user-friendly. DCE/DFS is a DCE-based application which provides a distributed filesystem on DCE. DCE/DFS can support replicas of a fileset (the DCE/DFS equivalent of a filesystem) on multiple DFS servers - there is one read-write copy and zero or more read only copies. Replication is supported between the read-write and the read-only copies. In addition, DCE/DFS also supports what are called "backup" filesets, which if defined for a fileset are capable of storing a version of the fileset as it was prior to the last replication.
DCE/DFS is believed to be the world's only distributed filesystem that correctly implements the full POSIX filesystem semantics, including byte range locking. DCE/DFS was sufficiently reliable and stable to be utilised by
IBM to run the back-end filesystem for the 1996
Olympics
The modern Olympic Games or Olympics (french: link=no, Jeux olympiques) are the leading international sporting events featuring summer and winter sports competitions in which thousands of athletes from around the world participate in a var ...
web site, seamlessly and automatically distributed and edited worldwide in different time zones.
References
External links
The Open Group's DCE Portal
{{Open Group standards
Inter-process communication
Internet Protocol based network software
Open Group standards
Distributed computing