[C1.6]パラメータネームスペースクラス

パラメータネームスペースはオブジェクトデータベースの一部と考えることも 可能です。実際には実装効率の観点から評価をすべきです。いずれにせよ、 システム全体で非常に頻繁に利用される基本的な情報を例えば文字列として 保持し、ネットワーク全体でコンシステンシーを保って運用されるものです。

パラメータネームスペースはVMSのロジカルネームスペースに対応する機能です。 UNIXには実装されていません。プロセスは例えばファイルを開くなどシステムに 何かの要求を出すとき、引数の解読にこのパラメータデータテーブルが常に 参照されるようになります。論理名が実際のファイル名などに置き換えられて から実際の処理がされます。KONOEではシステムサービスをクラスとしてラップ しますので、その時にこれが実装されます。

パラメータネームスペースはいくつかのネームスペースに分割することが 可能です。それぞれは独自に有効範囲を規定できます。例えば世界規模、 LAN規模、単一ホスト上、一定のプロセスグループ内部などです。

1.ネームスペースの概要

1.1ネームエントリー

ネームスペースは仮の名前と実際の値との対応を記述したテーブルです。 各々の名前はネームエントリーとして管理されます。

ネームエントリーは仮の名前と、実際の値を文字列等として保持します。 実際の値は文字列ですが、コンテキストにより、さらにそれがネーム スペースエントリーであったり、ファイル名であったり、数値であったり します。

1.2.ネームテーブル

複数のネームエントリーをネームテーブルに保持します。ネームスペースは ネームテーブルの集合です。ネームテーブルはファイルに保存したり 読みだしたりする単位です。

1.3.ネームスペース

ネームスペースは複数のネームテーブルを保持します。また、そのスコープに より、例えばネットワーク上でのコンカレンシーを実現します。どこかの ホストでエントリーの内容が変更されたらただちに関連するすべてのホストの 値に反映するメカニズムが必要です。

2.ネームスペースの実装

2.1.ネームエントリークラス

ネームエントリーはパラメータ名とその実際の値の対応を与えます。 簡単な実装は両方を文字列とすることです。更新情報なども(いつ だれがなど)記憶する必要があるかも知れません。また、アクセス 制御などを導入することも可能です。

2.2.ネームテーブルクラス

ネームテーブルはネームエントリーのリストとして実装されます。 エントリーの追加や削除、検索の他、ファイルとの入出力ができる 必要があります。

おのおののネームテーブルはスコープ属性をもちます。ネットワーク 分散型から、ノード固定型、プロセスローカルなものまでいろいろ 考えられます。

ネームテーブルのコピーが必要かも知れません。

2.3.ネームスペースクラス

複数のネームテーブルを管理するクラスです。問い合わせに対して、 ある優先順位で検索していく手順を実装する必要があります。例えば ローカルなものが優先され、見つからないときはグローバルを探す といった手順です。

2.4.ネームスペースインターフェースクラス

ネームスペースはデーモンを必要としません。共有メモリー上に実装される ことを想定しています。

2.5.ネームスペースマネージャクラス

ネットワークにまたがるネームスペースの管理にはネットワークプロセス マネージャがネームスペースの管理をします。そのための通信機能を クラスとして定義します。


[classes/namespace.html] Last Modified : 25-Apr-1997.

KONOEコラボレーション konoe-req@konoe.kek.jp