その機構が保持すべき情報には、いろいろなものを考えることができます。 極言するとネットワークオブジェクトデータベースのようなものにすることも 可能です。しかしここでは、非常に単純な実装を考えます。まさにUNIXの 環境変数のような、名前に文字列の値を与えるだけのものからスタートします。 KONOEでは名前空間(Name Space)と呼びます。
あるホストのテーブルが書き換えられると、それがすべてのホストに伝搬すれば よいのですが、伝搬には何らかの通信が必要です。通常はソケット通信を使うことに なるでしょう。そうすると、名前空間の利用者が値を書き換えたいときは、 その要求をあるデーモンに投げることになります。そのデーモンはそれを ネットワーク全体に放送します。
名前空間を読むだけの利用者はできるだけオーバーヘッドを減らして簡便に アクセスがしたいでしょう。読むたびにシステムコールを発行するようなことは さけたいものです。そこで、読み出し専用利用者は共有メモリーとしてテーブルを 参照します。プロセスのメモリー空間に共有メモリーをマップすることで オーバーヘッドの少ない高速なアクセスが可能です。
現在の実装では単一の名前空間のみ実装されていますが、場合によっては 異なった名前空間を扱う、あるいは複数の名前空間を扱いたい場合があり得ます。 また、ネットワーク透過でない、ホストに局所的な名前空間、さらにはプロセスに 閉じた名前空間なども必要になってきます。これらの実装も検討する必要があります。
概要へ戻る 目次へ戻る 次章「KONOEを構成するプロセス」へ