大規模オンラインシステムや、サーバシステムなどの情報システムは、その一時的な停止でさえも人間生活に大きな影響を与える。本研究の目的は、何らかの理由でハードウェアが停止した場合でも、実行中のソフトウェアを継続実行させる方式を提案し実現することにある。本研究では、ソフトウェアのミラーリングを提唱し、その実現方式について研究を行った。本研究で提唱するソフトウェアのミラーリングとは、一つのソフトウェアの複製を、複数の計算機ハードウェアで同時に実行しておき、それらを常に同じ状態に保っておくことにより、たとえ一台のハードウェアが故障しても、他のハードウェア上でソフトウェアが実行を継続できるメカニズムである。 本研究では、まず、非分散型ソフトウェアのミラーリングを提唱し、その実現方式について研究を行った。さらには、この方式をさらに発展させ、クライアントサーバ型ソフトウェアのミラーリングの実現方式を検討した。具体的には、Java言語のオブジェクトに対してミラーリングの機能を実現するミドルウェアを開発した。通常ソフトウェアを実行する際には、ローダと呼ばれる基本ソフトウェアが実行対象のソフトウェアをメモリ中へ読み込み実行を開始する。本研究では、1台の計算機でオブジェクトが生成された場合、ミドルウェアが複数の計算機上のローダを連携させることにより、そのオブジェクトの複製を生成するという方式を実現した。 このように、ミドルウェアとして実現することにより、ミラーリングをユーザアプリケーションの開発者およびユーザに透過的な形で実現できるという利点が得られ、また、既存のアプリケーションソフトウェアもミラーリングできるという利点が得られた。
|