Distributed Computing Environment: Difference between revisions

Content deleted Content added
Bsdlogical (talk | contribs)
m Fixing tone.
m Architecture: fix broken markup on a couple of <ref>s
 
(106 intermediate revisions by 75 users not shown)
Line 1:
{{more citations needed|date=December 2011}}
The '''Distributed Computing Environment (DCE)''' is a software system developed in the early 1990s by a consortium that included [[Apollo Computer]] (later part of [[Hewlett-Packard]]), [[IBM]], [[Digital Equipment Corporation]], and others. The DCE supplies a framework and toolkit for developing [[client/server]] applications. The framework includes a [[remote procedure call]] (RPC) mechanism known as [[DCE/RPC]], a naming (directory) service, a time service, an [[authentication]] service, an authorization service and a [[distributed file system]] (DFS) known as [[DCE_Distributed_File_System|DCE/DFS]].
The '''Distributed Computing Environment''' ('''DCE''') is a [[software system]] developed in the early 1990s from the work of the [[Open Software Foundation]] (OSF), a consortium founded in 1988 that included [[Apollo Computer]] (part of [[Hewlett-Packard]] from 1989), [[IBM]], [[Digital Equipment Corporation]], and others.<ref name="JiaZhou2004">{{cite book|author1=Weijia Jia|author2=Wanlei Zhou|title=Distributed Network Systems: From Concepts to Implementations|url=https://books.google.com/books?id=_pYyEgj0fX8C&pg=PA135|date=15 December 2004|publisher=Springer Science & Business Media|isbn=978-0-387-23839-5|page=135}}</ref><ref name="SINHA1998">{{cite book|author=PRADEEP K. SINHA|title=DISTRIBUTED OPERATING SYSTEMS: CONCEPTS AND DESIGN|url=https://books.google.com/books?id=SewHKWac2I4C&pg=PA35|date=1 January 1998|publisher=PHI Learning Pvt. Ltd.|isbn=978-81-203-1380-4|page=35}}</ref> The DCE supplies a [[software framework|framework]] and a toolkit for developing [[client/server]] applications.<ref name="Jacobsen2003">{{cite book|author=Hans-Arno Jacobsen|title=Distributed Infrastructure Support for Electronic Commerce Applications|url=https://books.google.com/books?id=9W8QkfzD0VYC&pg=PA14|date=30 November 2003|publisher=Springer Science & Business Media|isbn=978-1-4020-7648-0|page=14}}</ref> The framework includes:
 
* a [[remote procedure call]] (RPC) mechanism<ref name="change" /> known as [[DCE/RPC]]
* a naming ([[directory service|directory]]) service<ref name="change" />
* a time service<ref name="change" />
* an [[authentication]] service<ref name="change" />
* a [[distributed file system]] (DFS)<ref name="change" /> known as [[DCE Distributed File System|DCE/DFS]]
The DCE did not achieve commercial success.
 
As of 1995, all major computer hardware vendors had an implementation of DCE, seen as an advantage compared to alternatives like [[CORBA]] which all had more limited support.<ref name="change" />{{rp|13}}
 
==History==
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 [[Remote procedure call|RPC]]-based systems. By re-buildingintegrating thesesecurity, variousRPC utilitiesand other distributed services on a single "official"distributed RPCcomputing mechanismenvironment, OSF could offer a major advantage over SVR4, allowing any DCE-supporting system (namely OSF/1) to interoperate in a larger network.
DCE came about to a large degree as part of the [[Unix wars]] of the 1980s. After [[Sun Microsystems]] and [[AT&T]] worked together to produce [[UNIX System V|UNIX System V Release 4]] (SVR4), many of the other Unix vendors felt their own market opportunities were unduly disadvantaged. They quickly formed the [[Open Software Foundation]] (OSF) to compete with a [[BSD]]-based Unix that more closely matched their own offerings. OSF ended up introducing [[OSF/1]], which was based on the [[Mach kernel]] and had relatively poor performance compared to SVR4, and was little used except by Digital.
 
The DCE "request for technology" was issued by the OSF in 1989.
As part of the formation of OSF, various members contributed many of their ongoing research projects. At the time, network computing was quite popular, and many of the companies involved were working on similar [[Remote procedure call|RPC]]-based systems. By re-building these various utilities on a single "official" RPC mechanism, OSF could offer a major advantage over SVR4, allowing any DCE-supporting system (namely OSF/1) to interoperate in a larger network.
The first OSF DCE vendor product came out in 1992.<ref name="change" >
J. Mansfield and J. Clothier.
[https://apps.dtic.mil/sti/tr/pdf/ADA307256.pdf "Distributed Computing Environment: An Architecture for Supporting Change?"].
1995.
</ref>{{rp|3}}
 
The DCE system was, to a large degree, based on independent developments made by each of the partners. [[DCE/RPC]] was derived from the ''[[Network Computing System]]'' (NCS) created at [[Apollo Computer]]. The naming service was derived from work done at Digital. DCE/DFS was based on the [[Andrew File System]] (AFS) originally developed at [[Carnegie Mellon University]]. The authentication system was based on [[Kerberos (protocol)|Kerberos]], and the authorization system based on [[Access Control List]]s (ACLs). By combining these features, DCE offers a fairly complete [[C (programming language)|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 [[Application Programming Interface|API]].
 
Distributed computing never really caught on as much as had been hoped for in the late 1980s and early 1990s. The rise of the [[Internet]], [[Java (programming language)|Java]] and [[web services]] stole much of itsDCE's [[mindshare]] through the mid-to-late 1990s, and competing systems such as [[CORBA]] muddied the watersappeared as well. Perhaps ironically, one of the major uses of DCE/RPC today are [[Microsoft]]'s [[Distributed_component_object_model|DCOM]] and [[ODBC]] systems, which use DCE/RPC (in [[MSRPC]]) as their network transport layer.
 
One of the major uses of DCE today is [[Microsoft]]'s [[Distributed Component Object Model|DCOM]] and [[ODBC]] systems, which use DCE/RPC (in [[MSRPC]]) as their network transport layer.{{Cn|date=December 2023}}
OSF and its projects eventually became part of [[The Open Group]], which released DCE 1.2.2 under a [[free software license]] (the [[GNU Lesser General Public License|LGPL]]) on [[12 January]] [[2005]]. DCE 1.1 was available much earlier under the OSF BSD license, and resulted in [http://freedce.sf.net FreeDCE] being available since [[2000]]. FreeDCE contains an implementation of DCOM.
 
OSF and its projects eventually became part of [[The Open Group]], which released DCE 1.2.2 under a [[free software license]] (the [[GNU Lesser General Public License|LGPL]]) on [[12 January]] [[2005]]. DCE 1.1 was available much earlier under the OSF BSD license, and resulted in [http://freedce.sf.net FreeDCE] being available since [[2000]]. FreeDCE contains an implementation of DCOM.<ref>
[https://www.iaps.com/DCE-open-source-announcement.html "DCE Open Source Licensing"].
2005.
</ref><ref>
[https://lwn.net/Articles/119042/ "DCE to be released under the LGPL"].
2005.
</ref>
 
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.<ref name="advogato" >
[https://web.archive.org/web/20170628063652/http://www.advogato.org/article/817.html "The Open Group releases DCE 1.2.2 as LGPL'd Free Software"].
</ref>
 
One of the major systems built on top of DCE was [[Encina (software)|Encina]], developed by [[Transarc]] (later acquired by [[IBM]]). IBM used Encina as a foundation to port its primary mainframe transaction processing system ([[CICS]]) to non-mainframe platforms, as [[IBM TXSeries]]. (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 ACLs.
DCE is intended to support [[high availability]] systems: when a server does not respond (because of server failure or communications failure), clients can be constructed to automatically use a replica of that server instead.<ref name="change" />{{rp|11}}{{rp|21}}
 
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 ACLsACL's.
 
Major components of DCE within every cell are:
#theThe '''securitySecurity server'''Server that is responsible for authentication
#The '''Cell Directory Server''' (CDS) that is the respositoryrepository 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]] 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.<ref name="advogato" />
 
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]] web site, seamlessly and automatically distributed and edited worldwide in different timezonestime zones.<ref name="advogato" />
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.
 
== References ==
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]] web site, seamlessly and automatically distributed and edited worldwide in different timezones.
{{reflist}}
 
==External links==
* [http://www.opengroup.org/dce/ The Open Group's DCE Portal] - with link to its DCE implementation
* [http://www.sei.cmu.edu/str/descriptions/dce.html DCE description at Carnegie Mellon's Software Engineering Institute]
* [http://freedce.sf.net FreeDCE]
 
{{Open Group standards}}
[[Category:Network-related software]]
 
[[Category:Inter-process communication]]
[[de:Distributed Computing Environment]]
[[Category:Network-relatedInternet Protocol based network software]]
[[fr:Distributed Computing Environment]]
[[Category:Open Group standards]]
[[Category:Distributed computing]]