計算機が停止しても実行を継続するソフトウェアの実現へ向けた第一段階の研究として、高可用性クライアントサーバソフトウェアの実現方式を研究した。クライアントサーバソフトウェアは、銀行のオンラインシステムや、Webにおけるオンライン取引きを行うシステムの実現のために数多く用いられており、それらのシステムの信頼性を向上することは大変重要なことである。これまでも、クライアントサーバシステムにおいて、サーバシステムをシステム単位でクラスタリングすることにより、サーバシステムの可用性を向上させるシステムが研究開発されてきた。しかし、これらのシステムの大きな問題は、サーバに不具合が発生した場合、実行中の処理のロールバック、即ち、停止した処理の再実行、が発生してしまう点であった。 本研究では、サーバシステムにおいて、ソフトウェアレベルで細粒度のクラスタリングを行うことにより、サーバの可用性を向上する方式を研究した。特に、サーバに不具合が発生しても、ロールバックが発生しないことを第一の目標として、その実現方式を研究し、それを実現するプロトタイプを開発した。プロトタイプの実装は、JavaのRMIを用いて行った。近年、クライアントサーバシステムは、RMIやCORBA等を用いて実装することが多くなった。これは、クライアントとサーバ間での通信処理をTCP/IP等を用いて実装するよりも、RMIやCORBAを用いて実装することにより、開発の効率が向上するだけでなく、汎用性の高い方式で実装できるからである。本研究で開発したプロトタイプを用いることにより、可用性を考慮しないで開発されたRMIソフトウェアを自動的に高可用化する実験が行えるようになった。来年度は、このプロトタイプを実用化する研究を行う予定である。
|