ソフトウェア若化モデル

最近では, オペレーティングシステム (OS),ミドルウェア,通信アプリケーションなどにおいて, ソフトウェアエージングと呼ばれる経年劣化現象が頻繁に観測されるようになっています. 従来まで,ソフトウェア障害は開発工程中で作りこまれたフォールトが動作環境において表面化することによってのみ生じると考えられてきました. しかしながら,ソフトウェア障害はその動作環境にも大きく依存し, コンピュータ資源の消費やファイルの断片化などの理由により時間と供に発生しやくすなることが実証されています. よって,ソフトウェアシステムを安全に稼動させるためには,予防的にソフトウェアを若化 (rejuvenation) することが有効であり, 90年代後半から欧米を中心に精力的に研究が行われるようになりました. 若化の具体的な例として,ガーベジコレクション,データ初期化, ハードウェアリブートなどが挙げられます. この研究領域はまだ比較的新しいため,多くの問題が未解決のままです. 例えば, 一体どのようなシステムがどういった環境で動作すればエージング現象が顕著に観測されるのか, 経年劣化現象の統計的性質はどのようなものか, など枚挙に暇がありません. 当教育科目では米国 Duke University と共同でソフトウェア若化スケジュールを決定するためのモデル化技法に ついて共同研究を行っています. 電話勘定システムやトランザクションシステムにおいて生じるエージングによる被害を最小限度に抑えるために, 効率的な若化スケジュールを生成するための各種アルゴリズムを開発しています. 実際に 2001 年度には,エージング現象を検知し, 適当なタイミングで若化を実施するサーバ管理ソフトウェアが(Duke University の協力の下)IBM から発表されたばかりであり, 今後はさらに精密化されたサーバ管理システムを開発するための基礎理論について研究を行っていく予定です.