現在のコンピューティング環境では,管理者が常に監視してシステムの調和をとっている。例えば機器が故障すれば交換し,障害復旧のプログラムを走らせる。しかしそうした人による管理は,構成要素が増えるにつれて難しくなる。そこで必要になるのが,あらゆる機器やプログラムが自律して障害復旧や負荷分散,不正アクセス排除などの処理を実行するシステムだ。

図1●自律動作する個体による分散処理が不可欠に
管理者が常に監視して調和をとるシステムは構成要素が増えるにつれて運用が難しくなる。そこであらゆるコンピュータが自律して障害復旧や負荷分散,不正アクセス排除などを行う。
図2●富士通研究所の「オーガニック・ストレージ」
データが2重化された状態を維持し続ける。各ディスクは動作状態テーブルにIPアドレスを逐次書き込む。あるディスクからの書き込みが障害や高負荷によって途絶えると,そのディスクの複製データを持つディスクが他の正常なディスクに対してデータを複製する。
図3●東京工業大学の「自律ディスク」
東京工業大学学術国際情報センターの横田治夫教授の研究室が開発した。複数のディスクをまとめるディレクトリ・ツリーを形成。どのディスクにアクセスしても目的のファイルを取り出せる。あらかじめ記述したルールに従ってデータの複製や追加,負荷分散を実行する。

 取り組みが始まっている分野は大きく四つ(図1[拡大表示])。(1)ストレージ,(2)セキュリティ,(3)インターネット,(4)センサー・ネットワークである。

 (1)はデータが失われないようにディスクが自律的にデータをコピーする。(2)は免疫のような不正アクセス対策システム。あらかじめ不正アクセスのパターンを規定しておくのではなく,正常時のネットワークの状態を基に未知の不正アクセスを検知し排除する。(3)は混雑しているネットワークの迂回路を見つけ出す動的ルーティング。(4)は無数のセンサー(ノードと言い換えてもよい)からの情報集約の効率化だ。センサー同士が同期を取ることで,基地局から大電力でクロック信号を発信することなく,数千を超えるセンサーを同時に動作させられるようになる。

ストレージ:
増え続けるデータを自動で複製

 データを格納するストレージには,コンピュータの処理結果がファイルとして日々蓄積されていく。サーバーでは,故障対策や高速化のために「RAID(Redundant Arrays of Inexpensive Disks)」構成を取るのが普通だ。例えば「RAID1」。複数のディスクに同一のデータを書き込む(ミラーリング)。片方のディスクが故障しても,もう一つのディスクにあるデータを使って処理を継続できる。

 問題は障害からの復旧。壊れたディスクを交換し,新しいディスクで再度RAID1構成に戻さなくてはならない。残りのディスクが故障する前にRAID構成に戻さなければ,データが消失してしまう。このとき管理者が明示的に指示したり,壊れたディスクを交換したりするのは手間だ。そのうえデータの増加とディスクの低価格化によってディスクの数は増える一方で,故障の件数も上昇曲線を描く。「どう管理するかを考えると,分散協調にならざるを得ない」(富士通研究所ITコア研究所ITアーキテクチャ研究部長の武 理一郎氏)。

 そこでストレージを一つのコンピュータに仕立て,それをネットワークでつなぐことで自律的に冗長構成を取ったり,障害復旧を実行したりするストレージ・システムの開発が進められている。富士通研究所が開発を進めているのは「オーガニック・ストレージ」と呼ぶシステム(図2[拡大表示])。ファイル・システムの管理単位である「ブロック」レベルで,同じデータを別のディスクに複製する*1

 このシステムでは「常に冗長性を保つ」のが自律のルールだ。例えばミラーリングの対象となるディスクが故障すると,冗長ではなくなったブロックを保持するハードディスクから正常なハードディスクにデータをコピーする。

 ディスクの状態管理は,動作状態を記録するテーブルを保持するサーバーが担う。各ディスクは定期的にIPアドレスを動作状態テーブルに書き込む。その書き込みをミラーリング元のディスクが監視する。障害や混雑によって自分と同じデータを保持するディスクからの更新が途絶えると,そのディスクは「死んだ」と見なして,他の正常なディスクにデータを複製する。

HDDコントローラをコンピュータに

 ハードディスクのコントローラに自律のための機能を埋め込もうという試みもある。東京工業大学の「自律ディスク」だ(図3[拡大表示])。東京工業大学学術国際情報センターの横田治夫教授の研究室がNHK放送技術研究所と共同開発した。

 用途としてストリーミング配信のコンテンツを格納するサーバーを想定している。例えば,アクセスの集中するコンテンツ・ファイルを自動的に複製する。冗長化や負荷分散の単位はファイルである。「データの移動はファイル単位の方が効率が良い」(東京工業大学の横田教授)からだ。

 自律ディスクは,インデックスとなる仮想ディレクトリを持つ。この仮想ディスレクトリを各自律ディスクに格納する。ディレクトリの管理情報をすべての自律ディスクが保持しているため,どのディスクにアクセスしても目的のファイルを取り出せる。

 状態の確認は,IPアドレスで近接する自律ディスク同士で行う。お互いにハートビート(ここではping)を送り合い,反応がなくなった自律ディスクを故障と見なす。あらかじめ記述したルールに従ってデータの複製や追加,負荷分散を実行する。例えば,一つのファイルに複数のアクセスが発生したとする。このとき,アクセスが集中したファイルを別のディスクにコピーすることで負荷分散を図る。

(中道 理,高橋 秀和)