前記事では「クラスタリング」と呼んでいましたが、よく考えるとクラスタリングではなかったです。正確にはオーバレイネットワークですね。層が1つ増えました。
- IPのネットワーク
- 新月のネットワーク(隣接ノード)
- ファイル探索のためのネットワーク(探索ノード)
- ファイル更新のためのネットワーク(共有ノード)←これが追加された
それぞれの役割は次のようなものです。
- 隣接ノードのネットワーク
- 新月のメインのネットワーク。これに繋がっていると更新情報を受け取ることができる。ノード情報のやりとりもこのネットワーク上で行う。
- 探索ノードのネットワーク
- 仮想ファイルを探索するときには、隣接ノードとは別に保存してある探索ノードを利用する。隣接ノードのネットワークの上に作られたネットワークである。一般に隣接ノードは探索ノードに含まれる。
- 共有ノードのネットワーク
- 仮想ファイルごとに、そのファイルを共有するノードで構成されるネットワーク。ファイルが更新されたらこのネットワークに優先的に更新情報が流れる。
それからゲートウェイの仕様も変更することにしました。以前は手元にないファイルが参照されたらネットワークから自動的に取得していました。しかしネットワークに負荷をかけるか、自分の望まないファイルをキャッシュとして保存するか、どちらかを選ばなければなりませんでした。そこで「手元にないファイルを自動的に取得するユーザをIPアドレス単位で指定する機能」を追加しました。デフォルトでは無効になっています。