分散コンピューティング環境(DCE)の解説
1990年代初頭、アポロコンピュータ、
IBM、DECといった企業が中心となり、分散コンピューティング環境(Distributed Computing Environment、DCE)というソフトウェアシステムが開発されました。DCEは、ネットワーク上の複数のコンピュータを統合し、クライアントサーバーモデルに基づくアプリケーション開発を支援するフレームワークとツールキットを提供するものでした。
DCEの誕生:UNIX戦争とOSF
DCEの誕生背景には、
1980年代のUNIX戦争が深く関わっています。
サン・マイクロシステムズと
AT&Tによる
UNIX System V Release 4 (SVR4) の開発に対し、他のUNIXベンダーは自社の製品の市場における競争力を危惧しました。この状況を打破するため、Open Software Foundation (OSF)が設立され、BSDベースのUNIXであるOSF/1の開発が始まりました。しかし、OSF/1はSVR4と比較して性能が劣り、普及には至りませんでした。
OSFは、各メンバー企業が保有する技術を統合することで、SVR4に対抗しようと考えました。その中心となったのが、当時重要課題となっていたネットワークコンピューティング技術、特にRPC(遠隔手続き呼出し)システムの統合でした。様々な企業が独自に開発していたRPCシステムを統合し、「公式」のRPC機構を再構築することでOSFはSVR4との差別化を目指したのです。そして、その成果物がDCEでした。OSF/1はDCEをサポートする基盤として位置付けられました。
DCEの構成要素とアーキテクチャ
DCEは、各メンバー企業が独自に開発した技術を統合して構築されました。例えば、DCE/RPCはアポロコンピュータのNetwork Computing System (NCS)がベースとなり、ネーミングサービスはDECの技術、
分散ファイルシステムであるDCE/DFSは
カーネギーメロン大学の
Andrew File System (AFS)を基に開発されました。認証システムはケルベロス認証、認可システムはアクセス制御リスト(ACL)を採用するなど、複数の技術が統合された結果、
C言語ベースの包括的なネットワークコンピューティングシステムが実現しました。
DCEにおける大きな管理単位は「セル」と呼ばれ、セル内で最高権限を持つ管理者を「セル管理者」と呼びます。セル管理者は、セル内の全てのDCEリソースに対する完全な制御権を持ちます。権限は、ユーザー、グループ、その他、そしてDCEユーザー以外という4つのカテゴリで管理されます。複数のセル間の通信やリソース共有も可能で、外部からのアクセスは「外部ユーザー」として扱われ、適切な権限が設定されます。
DCEセル内の主要構成要素として、セキュリティサーバ(認証)、Cell Directory Server (CDS)(リソースやACLの管理)、分散時間サーバ(正確な時刻の提供)があります。
IBMの実装では、セキュリティサーバにケルベロス、CDSにLDAP、時間サーバに
Network Time Protocolが使用されていました。
DCE/DFSは、DCEにおける
分散ファイルシステム機能を提供するアプリケーションです。複数のサーバ上にファイルシステム(DCE/DFSではファイルセットと呼ぶ)を複製し、そのうち一つを読み書き可能なコピー、他を読み込み専用のコピーとすることで、高可用性とデータの整合性を確保します。さらに、バックアップ機能も備えています。DCE/DFSはPOSIXファイルシステムを完全に実装した
分散ファイルシステムとして知られており、
1996年のアトランタオリンピックWebサイトのバックエンドとして使用され、その信頼性が実証されました。
DCEのその後
1980年代末から
1990年代初頭に予想されたほどの普及は、
インターネット、
Java、
Webサービスといった新たな技術の台頭や、CORBAのような競合システムの出現により実現しませんでした。しかし、皮肉にもDCE/RPCは、
マイクロソフトのDCOMやODBCにおけるトランスポート層として利用されることで、その技術が生き残ることとなりました。
OSFとそのプロジェクト群は
The Open Groupに統合され、
2005年にはDCE 1.2.2がLGPLライセンスでリリースされました。それ以前にも、DCE 1.1がOSF BSDライセンスでリリースされており、FreeDCEといったオープンソース実装も登場しています。
まとめ
DCEは、UNIX戦争という競争の激しい環境の中で生まれた、画期的な分散コンピューティング環境でした。そのアーキテクチャや技術は、現代の分散システムの基礎を築いたと言えるでしょう。普及には至らなかったものの、その一部の技術は現在でも利用されており、その影響は無視できません。