さてGoogle OSと言うOSの未来形とは。これを、どうなるかと言う予測ではなく、筆者が設計すればどう言うものを作りたいかと言う観点で書きます。
一言で言うと、機能分散協調型OSです。将来コンピュータが電卓のようになるのは間違いありません。そうなったときに、1台のコンピュータに多機能OSを搭載する意味はまったくありません。何千台と言うコンピュータの1台1台が分散して協調しながら機能すれば良いと言う考え方です。
ここで分散する機能のまとまりを機能郡と呼び、同一機能郡同士のコミュニケーションを同期通信、異なる機能郡同士のコミュニケーションを非同期通信と呼ぶことにすると、機能分散協調型OSにおいては、同期通信にはフェールオーバー機能を、非同期通信にはパケット通信機能をサポートできれば、Google OSの十分条件を満たします。
フェールオーバー機能とは、マシン間のリアルタイムの切り替え機能です。今世の中にあるOSで、ノンストップOS以外、このフェールオーバーを前提に設計されていません。そのため、あらゆるところにチェックポイントを設けると言う本末転倒した方式で、UNIXであろうがWindowsであろうがストレージシステムであろうが、きわめてイビツな仕掛けになっています。この春、UFJがフェールオーバーに失敗し、半日サービスが停止したのも、複雑化したフェールオーバーの仕掛けが原因であると、筆者は考えています。
ここに分散協調型OSに標準でフェールオーバーの仕掛けを装備する意味があります。
具体的に説明すると、アプリケーションをOSが自動的に複数マシンで動作させると言う考え方です。OSはそれぞれのマシンの動作を監視し、ファイルシステムを含めて応答がないマシンは、その場で直ちに切り離します。その情報がマシン郡管理者に、あたりまえのようにレポートされ、マシンはコカコーラの自動販売機のボトルと同じように、サービスマンによって定期的に新しいボトル(マシン)に交換されていきます。
このフェールオーバーの仕掛けで一番重要なのが、データベースの排他制御ですが、これをOS標準のAPIに組み込むことで、私たちのDBエンジンだけでなくORACLE、SQLと言ったDBエンジンのアンドウ機能をアプリケーション側で意識する必要がなくなります。業務アプリケーションはリアルタイムがいまや命ですが、この更新系の不自由によって、どれだけ無駄なコードを実装してきたか、現場の技術者でないとこの苦労は理解できません。
もう一つの要件、非同期通信のパケット通信機能。これがWebサービスですが、一旦アップします。 KAI