学位論文要旨



No 111130
著者(漢字) 閔,京華
著者(英字)
著者(カナ) ミン,キョウカ
標題(和) 多空間ディレクトリ(MSD)システム
標題(洋) Multi-Space Directory (MSD) System
報告番号 111130
報告番号 甲11130
学位授与日 1995.03.29
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第3374号
研究科 工学系研究科
専攻 電気工学専攻
論文審査委員 主査: 東京大学 教授 田中,英彦
 東京大学 教授 高木,幹雄
 東京大学 教授 濱田,喬
 東京大学 教授 浅野,正一郎
 東京大学 助教授 喜連川,優
 東京大学 助教授 相田,仁
内容要旨

 ディレクトリシステム(directory system)は人間の分かりやすいネームによってオブジェクトを管理するシステムで、オペレーティングシステムの必須の構成部分である。一般的にコンピュータシステムの中には様々なオブジェクトがある。例えば、ディスクやプロセッサという物理的なオブジェクトがあるし、データやプロセスという概念的なオブジェクトもある。ディレクトリシステムはネームスペース(name space)と操作ツールを提供して、そのネームスペースの中でオブジェクトを名付けたり、格納したり、引き出したり、組織したり、保護したりする。ネームスペースの構造(ディレクトリ構造(directory structure)とも呼ばれる)はディレクトリシステムの特性と操作を左右する最も重要な部分である。ネームスペースに対しては、オブジェクトを一意に識別するだけでなく、人間にも理解しやすい必要がある。

 オペレーティングシステムを構成する一つの重要な要素技術として、今まで多くのディレクトリシステムが提案されてきた。この論文では、それらのディレクトリシステムをディレクトリ構造の違いによって以下のように分類する。

 ・木構造(tree structure):階層的なネームスペースで、最もよく使われている構造である。階層的な表現に向くが、非階層的な表現に弱い。

 ・属性集合構造(attribute-based structure):フラットなネームスペースで、オブジェクトの属性の集合によって名付ける構造である。一つのオブジェクトのみを特定することには困難であるが、大規模なネットワークではオブジェクトの発見には非常に役立つ。

 ・選択構造(selectable structure):木構造と属性集合構造とを別々に取り入れた構造である。オブジェクトを両構造からアクセスすることができる。ユーザが場合によって一つの構造を選んでオブジェクトをアクセスする。

 ・統合構造(integrated structure):木構造と属性集合構造が統合された構造である。階層と非階層の両方の表現を支持することによって大規模分散システムに適することを目指す。

 大規模分散システムにおいて、ディレクトリシステムはまた次の二つの問題点がある。

 ・オブジェクトの共有が困難である。従来のディレクトリシステムでは、オブジェクトを共有したいユーザはその場所を探さなければならない、あるいは、そのオブジェクトを送ってもらう必要がある。また、オリジナルとコピーの不一致問題や、シンボリックリンクでの名前の不一致問題などがある。

 ・一般的な環境しか提供しない。従来のディレクトリシステムは単一のネームスペースであるからである。全体システムが複雑になるにつれて、環境も複雑になり、そのため使いにくくなってきた。

 この論文は、これらの二つの問題の解決を目指して、二つの新しいアイデアを提案する。

 ・自動共有(automatic sharing):共有に対する制約をディレクトリ構造に埋め込み、それを基づいて自動的に共有を行う。すなわち、共有オブジェクトがディレクトリ構造に従って自動的に共有先に現れる。

 ・多数の作業環境(multiple working environment):ユーザや仕事のタイプに特化した複数の作業環境を構築することができ、またそれらの環境の間の関係をディレクトリ構造に埋め込むこともできる。

 新しいアイデアを実現するために、多空間ディレクトリ(Multi-Space Directory)システムという新しいディレクトリ構造を提案する。多空間ディレクトリ(以下MSDと略称する)はネストされた複数のDSs(Directory Space)からなり、DS毎に自分のDTs(Directory Trees)がある(図1)。DTは木構造で、DS以外のオブジェクトを格納する。

 MSDは二種類の自動共有を提供する(図2)。

 ・垂直共有(vertical sharing):内のDSは自分を含む外のDSsにあるDS以外のオブジェクトを継承する。

 ・水平共有(horizontal sharing):いくつかのDSsが積集合DS(intersection-DS)によって積演算されることができ、その積集合DSにあるオブジェクトが自動的にそれらのDSsに現れる。

 自動共有の結果、オブジェクトが二種類に分けられる。

 ・実オブジェクト(real object):元のオブジェクトである。

 ・虚オブジェクト(virtual object):自動共有による実オブジェクトのリフレクションである。実オブジェクトの変更に伴って虚オブジェクトも変更される。直接に虚オブジェクトを変更することができない。

 図3にオブジェクトのすべての分類をまとめる。

 MSDは多数のDSsによって多数の作業環境を構築することができる。任意のDSが一つの作業環境を提供する。その場合、そのDSはWDS(Working Directory Space)と呼ばれる(図4)。ユーザはいつもあるWDSにおいて仕事し、そのWDSにある実オブジェクトと虚オブジェクトしか見ることができない。このようにして、WDSによってオブジェクトを保護することができる。

図表図1:MSDの構造 / 図2:MSDの自動共有 / 図3:MSDにあるオブジェクトの分類 / 図4:WDS

 オブジェクトはMSDの構造に沿って名付けられて、二種類のパスネームがある。

 ・グローバルパスネーム(global path name):MSDのルートから、すべてのオブジェクトが持つバスネームである。表示メッセージとしてだけ使われ、オブジェクトにはアクセスできない。

 ・ワーキングパスネーム(working path name):WDSのルートから、そのWDSにあるオブジェクトしか持たないパスネームである。オブジェクトにアクセスできる。

 MSDは以下のような点で柔軟なバスネームを提供することができる。

 ・実オブジェクトは多数の虚オブジェクトを持つことができるので、同じオブジェクトは多数のバスネームを持つこともできる。

 ・WDSの切り替えに従ってオブジェクトのワーキングバスネームが変わったり、なくなったり、そしてまた再び作られたりする。

 ・実オブジェクトと虚オブジェクトあるいは虚オブジェクトと別の虚オブジェクトが同じパスネームを持つことができるので、オブジェクトを重ねることができる(stacked objects)。

 MSDの特徴をまとめると、次の項目が挙げられる。

 ・階層的な表現と非階層的な表現の双方を支持する。

 ・垂直自動共有と水平自動共有の双方を支持する。

 ・多数の作業環境を構築することによって、ユーザや仕事のタイプに応じて使いやすい作業環境を提供することができる。

 ・自動共有の機構によって共有されたオブジェクトについて整合性が保証される。

 ・WDSによる保護が従来の保護方法に比較して柔軟かつ頑健である。

 MSDの構造を実際に示すために、UNIXとX Window Systemの上でMSDのプロトタイプを開発して、いくつかの典型的な応用例をそのプロタイプ上で稼働させた。実装の結果によって、MSDシステムの有効性が証明された。

審査要旨

 本論文は、「Multi-Space Directory(MSD)System(多空間ディレクトリシステム)」と題し、英語で書かれ7章からなる。多くの計算機が通信回線によって結ばれた分散処理は、今後ますます発展しあらゆる仕事の中核システムとなることが予想されるが、その場合の問題は、分散システム内に存在する殆んど無尽蔵のプログラムやデータ等の計算資源を如何に使い易く管理するかということである。本論文は、そのような状況における資源管理手法として、従来のディレクトリシステムを拡張し、様々な資源を容易に管理し利用するシステムの提案を検討したものである。

 第1章「Introduction」では、本研究の目的について述べ、さらに本論文の概要と構成をまとめている。

 第2章「Background and Related Work」は、計算機システム内に於けるデータの分類と整理を通してディレクトリシステムの位置付けを行ない、次にディレクトリシステムを名前空間の構造によって4種類に分け、それぞれを概観するとともにそれらの特徴について論じている。

 第3章「Problems and New Ideas]は、従来のディレクトリシステムの問題点を分析するとともに従来システムから受け継ぐべき重要な性質を議論している。すなわち、階層表現は重要な中核概念であるが表現能力に於いて不足する場合もあり、直交表現等を用いて補う必要があること、共有構造の実現は効率良いシステム利用に不可欠であるが従来型のシステムでは甚だ不十分であること、従来のディレクトリシステムは、すべて単一の名前空間を提供するものであるが、仕事を柔軟に行なう為には複数の名前空間が必要であること、等である。

 第4章「Multi-Space Directory(MSD)System and Its Concepts」は、上記考察に基づいて提案した多空間ディレクトリシステム(MSD)の考え方について述べたものである。すなわち、MSDは、複数のネストしたディレクトリ空間からなり、各ダィレクトリ空間は、その空間内の構造を木で表現しその葉が終端オブジェクトであるディレクトリ木を含む。下位のディレクトリ空間は上位のディレクトリ空間内のオブジェクトを継承し(垂直共有)、同位のディレクトリ空間相互間での共有も定義可能(水平共有)で、これらを合わせたものがMSDの共有構造となる。利用者が仕事をするときは、自由に一つディレクトリ空間を選択することができ、それをワーキングディレクトリ空間と呼んでいる。MSDのパスネームは、グローバルパスネームと、ワーキングパスネームとからなり、後者を用いることによって、簡便な名前を利用することができるというものである。

 第5章[Characteristics of MSD System」は、MSDシステムの特徴について論じたもので、それを5つに分けて述べている。まず、このMSDは、階層表現と直交表現の双方を兼ね備えたシステムであること、次に垂直共有と水平共有とをともに自動的に提供しており、非常に使い易いシステムとなっているが、このような自動的な機構は他のシステムでは存在しないことを述べている。また、MSDでは、仕事の種類や利用者の要求に合わせて複数のワーキングディレクトリ空間を提供可能で、ツールの重複無しに共有と個別化とが同時に可能となっていることを述べている。更に、従来型のディレクトリシステムでは、コピーやシンボリックリンクを用いることから非一貫性の問題が生じるが、本システムではそれが生じたいことを示すとともに、従来の単一名前空間に基づくシステムでは柔軟性としっかりした保護機構とをともに満たすことが困難であるのに対し、MSDでは複数の名前空間を用いているためそれが可能であることを示している。

 第6章「A Prototype of MSD System]は、実装したMSDプロトタイプシステムについて述べたもので、システムはUNIXの上のX-windowシステムを用いて実現されているが、そのアーキテクチャ、機能、プログラミングインタフェース、利用者インタフェース、等について詳細に述べるとともに、幾つかの典型的な利用形態を想定した応用システムを実際に構成しその利用のデモンストレーション結果を示している。本システムはUNIXの木構造名前空間の上に構築されているため、両名前空間の間のコンパータとして実現されており、ディレクトリ関連のUNIXシステムコールとライブフリ手続きとがすべてMSDシステムのものに置き換えられている。これに従ってプログラミングインタフェースも作られているため、UNIXで開発されたプログラムは簡単な手続きでこのシステムへ移植が可能となっており、実際多くの標準ユティリティが移植されている。利用者インタフェースは、文字ベースの基本インタフェースと、使い易さの為に拡張したグラフィックインタフェースとからなっている。作成した応用では、C言語プログフミング環境、LaTeX文書作成環境、Tcl/Tk言語プログラミング環境と、様々な共用のツールコマンドセットを蓄えるtoolbase、それぞれを作成し、それらに対するディレクトリ空間を準備したものである。

 第7章「Conclusion」は、結論である。

 以上、これを要するに本論文は、分散処理に於いて重要な課題である資源管理の問題をディレクトリシステムの改善として捉え、従来のものに代わる多機能で柔軟に富み使い易い多空間ディレクトリシステムを提案し、実際に作成してその有効性を示したもので、電気工学上貢献する所少なくない。

 よって、著者は東京大学大学院工学系研究科電気工学専攻における博士の学位論文審査に合格したものと認める。

UTokyo Repositoryリンク