プロジェクトの概要
今日の分散システムは、たくさんのコンピュータが複雑に連携して動作していて、障害発生の際に問題を検知し、原因の所在を見つけることはしばしば容易ではありません。また、個々のサーバーを監視していても発見できない多くの問題が存在します。このような問題を解決するのが、自己管理コンピューティング・システムの一つの要素である自己修復です。システムの監視、問題の検知、原因の特定、最善な修復を自律的に行うことで、アベイラビリティの高い分散システムが実現可能となります。問題判別技術は、自己修復機能をもつコンピューティング・システムのための基礎となる技術です。
TRLでは、個々のコンピュータを個別に監視するのではなく、ネットワークに流れるデータを監視することで、分散システムに生じる問題を効率よく検出、修復する技術を研究しています。最終的には、自己修復機能をもつ分散システムの実現を目指しています。
研究項目
自己修復の実現に向けて、TRLでは次のような問題判別技術の研究に取り組んでいます。
依存関係の発見
ネットワークを流れるデータを監視し、データマイニングやマシンラーニング技術を用いて解析することで、システムの依存関係、アプリケーションフローを自動発見する技術を研究しています。これらの情報は、複雑化する分散システムにおいて、システムやアプリケーションの挙動を理解する上で非常に有用な情報となります。また、ネットワークのデータを利用するので、運用時のシステムにも負荷をかけることはありません。
障害検出
ネットワークを流れるデータを解析することで得られるコンピュータ間の依存関係を監視します。
その時間的な変化を、時系列解析を用いて検出することにより、問題が致命的になる前に異常を検出し、
原因の特定と修復を行う技術を研究しています。
また、システム全体の健全性を監視するので、個別コンポーネントの監視では発見できないような障害を検知することができます。
検出可能な障害例
- サーバーレベルの異常
- サービスの部分的停止・スローダウン
- アプリケーションレベルの異常
- トランザクションの異常中断,暴走
- 不正アクセス等によるアプリケーションフローの異常
|