内容要旨 | | 分散アプリケーションの実現が容易でないことは広く認められている.分散アプリケーションの実現が困難である理由は,分散プログラミングがネットワークを介した通信,耐故障性,並行性制御,それにオペレーティングシステム,プログラミング言語システム,プロセッサのアーキテクチャなどの違いから生じる異機種分散性に対処しなければならないからである.そのため,分散フレームワークと呼ばれるシステムソフトウェアによって,計算資源の物理的な分散性を抽象化し,低レイヤでの通信メカニズムの詳細を隠蔽することが一般的な方法となっている. 仮想記憶と統合された遠隔手続き呼び出し 従来の分散フレームワークでは,分散した計算機資源をあたかも一台の集中型の計算機であるかのように抽象化することを目的としたものが多かった.これは,メインフレームなどの高価な計算機をネットワークに接続されたより安価なワークステーションによって代用することを目指していたからである.これに対し,近年の爆発的なネットワーク環境の普及により,地理的に分散したユーザ間での情報リソースの共有が強く求められるようになってきた.いわゆるイントラネットなどがこうした情報共有の一形態であるといえる. このように分散システムの役割が変化してきたことによって,分散フレームワークに必要とされる機能も変化しつつある.地理的に分散したユーザは,社会的に独立した組織に属している場合が多く,計算機システムも独立に運営・管理されている.したがって,計算機システムの自律性(autonomy)が高い.そのため,計算機システムの自律性を維持しつつ,そうした計算機システム間での情報共有を可能にする必要がある.そのためには,分散フレームワークは次のような機能を提供しなければならない. オブジェクトの共有 分散した計算機システム同士が互いに情報共有を行えるようにするために,分散フレームワークによって,分散透明なオブジェクト共有を可能にする必要がある. オブジェクトの保護 計算機システムの自律性を保つためには,正当なアクセス権限を持たないクライアントには情報を提供しないように,オブジェクトの保護機構を備えている必要がある. オブジェクトの回復 計算機システムの自律性を保つためには,他の計算機システムにおける障害によって影響を受けないように,オブジェクトの回復の機構を備えている必要がある. 異機種分散性 それぞれの計算機システムは独立に運営・管理されているため,同一のプラットフォームを用いているとは限らない.そのため,分散フレームワークでは異機種のプラットフォーム間であっても分散オブジェクトの共有を可能にしなければならない. これまでに提案されてきた分散フレームワークは,(1)遠隔手続き呼び出し(RPC),または(2)分散共有メモリ(DSM)の技術のどちらかに基づいたものに分類できる.遠隔手続き呼び出しは,メッセージ通信に手続き呼び出しの抽象化を与えたものである.分散共有メモリは,物理的な共有メモリを持たない計算機間で,ソフトウェア技術によって論理的に共有されたメモリを提供する技術である.遠隔手続き呼び出しは,異機種分散環境に適用しやすい反面,アドレス空間の境界を越えて仮想アドレスを受け渡すことができず,分散したオブジェクトの共有には不向きである.一方,分散共有メモリは,物理的なメモリページを直接に共有しているため,分散したオブジェクトの共有は実現しやすいが,その反面,異機種分散環境に適応しにくい. 本論文では,遠隔手続き呼び出しと分散共有メモリの利点をあわせ持った新たな分散機構である「仮想記憶と統合された遠隔手続き呼び出し」を提案する.仮想記憶と統合された遠隔手続き呼び出しは,従来の遠隔手続き呼び出しと同程度に異機種分散環境における相互運用性を保証している.それにも関わらず,あたかもアドレス空間の境界が存在しないかのように自由に仮想アドレスを受け渡すことができる.そのため,分散したオブジェクトであっても,分散共有メモリの場合と同じように共有が可能である.これは,以下の技術によって達成されている. アドレッシングの分散環境への拡張 仮想記憶と統合された遠隔手続き呼び出しは,仮想アドレスによるアドレッシングのスコープを遠隔の仮想アドレス空間にまで拡張し,通常の仮想アドレスによって遠隔の仮想アドレス空間上のデータを参照できるようにしている.遠隔のアドレス空間上のオブジェクトに対してアクセスをすると,ページ保護例外が発生するようにしておく.ページ保護例外が発生すると,アクセスされたオブジェクトはローカルなメモリ上に複製され,処理が継続される. オブジェクトの物理的表現と論理的表現の分離 仮想記憶と統合された遠隔手続き呼び出しでは,共有されたオブジェトの論理的な表現と物理的な表現とを完全に分離して扱う.ここでいう論理的な表現とはオブジェクトの型であり,物理的な表現とはメモリ上でのオブジェクトのレイアウトのことである.オブジェクトの型さえ一致していれば,そのオブジェクトのメモリ上での表現はそれぞれの実行環境で自由に決めることができる.したがって,それぞれの実行環境は他の実行環境におけるメモリ表現とは独立に,その実行環境におけるプロセッサや言語処理系にもっとも適したメモリ表現を用いることができる.これによって,異機種環境であっても相互に自由にオブジェクトを共有することができる. アドレッシングとアクセス権の分離 分散環境に拡張されたアドレッシングを用いると,あるオブジェクトに対する正当なアクセス権がない場合であっても,勝手にアドレスを偽造することによって不正にオブジェクトにアクセスできてしまう.これを防ぐために,仮想記憶と統合された遠隔手続き呼び出しの技術では,アドレッシングとアクセス権とを完全に分離している.すなわち,あるオブジェクトのアドレスを知っていたからといって必ずしもそのオブジェクトにアクセスできるというわけではない.オブジェクトへのアクセス権は提案方式とは別に実現された認証機構によって行う. 本論文では,仮想記憶と統合された遠隔手続き呼び出しの技術に基づいてTRAPと名付けた分散フレームワークの設計と実装についても述べる.この実装を通じて,仮想記憶と統合された遠隔手続き呼び出しの技術が実装可能であり,その実行時コストも十分に妥当なものであることを確認した.また,実際に異機種分散環境でオブジェクトの共有が可能となることも確認した. 動的特化によるmarshal/unmarshalの最適化 遠隔手続き呼び出しにおいて相互運用性が保証できるのは,遠隔手続き呼び出しの引数や返り値として受け渡されるオブジェクトのmarshalおよび"unmarshalを行っているためである.従来のmarshalおよびunmarshalでは,送信側でオブジェクトを正準表現に変換し,受信側で正準表現からオブジェクトを再構成していた.そのため,marshalおよびunmarshalのコストが遠隔手続き呼び出しにおける通信時間の50%前後を占めることが指摘されている. 本論文では,送信側のmarshalルーチンを,受信側の計算機環境にあわせて動的に特化する手法を提案する.動的に特化されたmarshalルーチンは,受信側で直接利用できるレイアウトにオブジェクトを変換する.そのため,受信側でのオブジェクトの再構成が不要になり,marshalおよびunmarshalのコストを削減できる.遠隔手続きの名前解決を行うときに,通信相手におけるオブジェクトのメモリ・レイアウトを知らせてもらう.これに基づいてmarshalルーチンの部分評価を行い,受信側に特化したmarshalルーチンを動的に生成する. この手法を実装したプロトタイプを用いた実験では,marshalルーチンの動的生成は0.7msec程度で実現でき,marshal/unmarshalのコストを44%から67%程度削減できた. |
審査要旨 | | 本論文は8つの章からなる.第1章は序論であり,本論文の研究の動機となった背景について論じている.近年のネットワークの普及により,地理的に分散したサーバ同士を連携させ,より統合的なサービスを提供する形態が広まっている.例えば,分散した複数のデータベースサーバを統合し,より網羅的なデータベースを提供するようなサービスの形態である.このようなシステムの特徴は,自律性の高いサーバ同士が,必要に応じて協調して動作している点にある.このようなシステムを協調的自律システムと呼ぶ.本論文では,協調的自律システムの支援に必要な諸機能を分析し,協調的自律システムの支援に適した分散フレームワークの基盤として,仮想記憶と統合された遠隔手続き呼び出し(VM-Integrated RPC)の技術の提案を行っている.また,この技術に基づいた分散フレームワークの設計と実装を行っている.この主題の設定は,学位論文の主題として十分,かつ妥当であると認められる. 本論文では,協調的自律システムを支援する分散フレームワークに必要な機能として,(1)分散透明なデータ共有,(2)データ保護,(3)堅牢性,(4)異機種環境における相互運用性の4つを挙げている.第1点目の分散透明なデータ共有は,プロセス間での協調を容易にするために必要である.第2点目のデータ保護と第3点目の堅牢性は,サーバの自律性を維持するために必要である.サーバはそれぞれ独立に運営・管理されているため,サーバの自律性を維持するにはセキュリティ上の観点からデータ保護の機能が必要である.また,あるサーバでの障害が他のサーバに伝搬してサーバの自律性を損なうようなことがあってはならない.そのためサーバの堅牢性が必要である.第4点目の異機種間での相互運用性は,異なるプラットフォーム上のサーバ間であっても協調処理を可能にするために必要である. 第2章では,協調的自律システムを支援する分散フレームワークを設計・実装する上での方針について検討し,設計上のさまざまな選択肢について考察を行っている.また,この方針に従って設計したシステムの概要についてまとめている. 第3章では,VM-Integrated RPCの機構が提供するプログラミング・モデルについて述べている.このプログラミング・モデルの特徴は,協調的自律システムを支援するために,局所的保護ドメインと大域的保護ドメインから成る二階層の保護ドメインを提供している点にある.大域的保護ドメインは,主にプロセス間での協調を容易にするために導入された抽象化であり,仮想的な共有オブジェクト空間としての役割を果たす.局所的保護ドメインは,主にプロセス間での自律性を保つために導入された抽象化であり,従来のプロセスを拡張した抽象化である.これまでに提案されてきた分散フレームワークの基盤技術には,遠隔手続き呼び出し(RPC)と分散共有メモリ(DSM)とがある.しかしながらRPCは局所的保護ドメインに相当する抽象化しか与えていないために,プロセス間での協調処理を実現しにくい.逆に,DSMは大域的保護ドメインに相当する抽象化しか与えていないために,自律したプロセス間での協調処理には利用しにくい. 第4章では,VM-Integrated RPCの機構の実装について述べている.これは,第3章で述べたプログラミング・モデルの効率的な実装となっており,(1)アドレッシングの分散環境への拡張,(2)アドレッシングとアクセス権の分離,(3)オブジェクトの論理的な表現と物理的な表現の分離の,3つの要素技術から成り立っている.アドレッシングの分散環境への拡張は,大域的保護ドメインを実現するための技術である.仮想アドレスのスコープを遠隔の仮想アドレス空間にまで拡張し,通常の仮想アドレスによって遠隔オブジェクトを扱うことができるようにしている.これによってプロセス間での協調処理が分散透明に実現できるようになる.しかしながら,アドレッシングを分散環境に拡張すると,正当なアクセス権のないオブジェクトに対してもその仮想アドレスを偽造して不正にアクセスできるという問題がある.論文提出者が提案するVM-Integrated RPCの技術では,アドレッシングとアクセス権とを完全に分離し,協調的自律システムに必要とされるデータ保護を実現している.また,異機種分散環境での相互運用性を達成するために,オブジェクトの論理的な表現さえ同一であれば,オブジェクトのメモリ上での表現は実行環境ごとに自由に決められるようになっている.VM-Integrated RPCを従来のRPCと比べた場合,オブジェクトの共有が簡単に行えるため,プロセス間での協調処理を実現しやすいという利点がある.また,VM-Integrated RPCを従来のDSMと比べた場合,オブジェクトの保護や異機種間での相互運用性を持つため,自律したプロセス間での協調処理に適しているという利点がある. 第5章ではVM-Integrated RPCを用いたアプリケーションの例として,分散オブジェクト指向データベースシステムの実装を示し,そのデータベースシステムを用いた性能実験の結果を報告している.この実験により,VM-Integrated RPCの技術が実装可能であり,その実行時コストも従来のRPCに比べ30%程度改善される場合があることを確認した. 第6章では,RPCにおいて相互運用性を保証する鍵となるmarshalおよびunmarshalの技術に焦点をあて,その最適化方法の提案を行っている.本章では,送信側のmarshalルーチンを受信側の計算機環境にあわせて動的に特化する手法を提案している.動的に特化されたmarshalルーチンは,受信側で直接利用できるレイアウトにオブジェクトを変換する.そのため,受信側でのオブジェクトのunmarshalが不要になり,marshalおよびunmarshalのコストを削減できる.この手法を用いたプロトタイプを実装し,marshalルーチンの動的生成は0.7msec程度で実現でき,従来方式に比べてmarshal/unmarshalのコストを44%から67%程度削減できることを示している. 第7章では関連研究についてまとめている.第8章では論文全体の内容をまとめ,今後の研究課題について論じている. 本学位論文は,自律的協調システムを支援する分散フレームワークの基盤となる技術としてVM-Integrated RPCの技術を提案し,その有効性について確認を行っている.従来の分散フレームワークで用いられてきたRPCやDSMの技術と比べ,論文提出者の提案する機構は,両者の利点を合わせ持った機構となっている.本学位論文は,分散フレームワークの基盤となる新たな技術を確立した点で,今後の関連分野の研究に寄与するところ大であると認められる.この点において,本論文は高く評価され,審査委員全員で,博士(理学)の学位を授与するにふさわしいと判断した. なお本論文の内容の一部は,共著論文として印刷公表済みであるが,論文提出者が主体となって研究および開発を行ったもので,論文提出者の寄与は十分であると判断する. |