(57)【特許請求の範囲】
【請求項１】
少なくとも一台のサーバとネットワークを経由して接続されるネットワーク管理装置であって、
前記サーバの障害発生情報を受信する受信部と、
前記受信部によって受信された障害発生情報に基づいて、障害の発生時間を推定する障害発生時間推定部と、
前記受信部によって受信された障害発生情報に基づいて、前記障害発生情報に対応するサーバが存在するネットワーク上の経路を特定する経路特定部と、
前記経路特定部によって特定された経路上の機器に関する情報を取得する機器情報取得部と、
前記障害発生時間推定部によって推定された障害発生時間内における、前記機器に関する情報の変化に基づいて、前記障害発生情報に対応する障害が、前記サーバおよび前記ネットワーク管理装置を除いたネットワーク上の機器に関連する度合いを示す障害関連度を演算する障害関連度演算部と、
を備えることを特徴とするネットワーク管理装置。
【請求項２】
前記障害発生情報は、障害が発生したと推定されるサーバの情報だけでなく、障害が発生していないと推定されるサーバの情報も含み、
前記障害関連度演算部は、前記障害が発生したと推定されるサーバの情報だけでなく、前記障害が発生していないと推定されるサーバの情報も用いて、前記障害関連度を演算することを特徴とする請求項１に記載のネットワーク管理装置。
【請求項３】
前記障害関連度演算部は、前記障害発生時間推定部で推定された障害発生時間の少なくとも一部が重複する他の障害発生情報に基づいて、前記障害関連度を変更することを特徴とする請求項１に記載のネットワーク管理装置。
【請求項４】
前記ネットワーク管理装置に前記障害発生情報を送信するサーバ管理装置に対して、前記障害関連度演算部によって演算された障害関連度を送信する送信部をさらに備えることを特徴とする請求項１に記載のネットワーク管理装置。
【請求項５】
前記関連度演算部によって演算された障害関連度に基づいて、障害を解決するまでに要する障害解決時間を推定する障害解決時間推定部をさらに備え、
前記送信部は、前記障害解決時間推定部で推定された障害解決時間の情報を前記サーバ管理装置に送信することを特徴とする請求項４に記載のネットワーク管理装置。
【請求項６】
前記障害関連度演算部によって演算された障害関連度を大きい順に表示する表示部をさらに備えることを特徴とする請求項１に記載のネットワーク管理装置。
【請求項７】
前記機器情報取得部は、機器のリソースの状態、および、処理の失敗情報のうちの少なくとも一つの情報を、前記機器に関する情報として取得することを特徴とする請求項１に記載のネットワーク管理装置。
【請求項８】
前記機器情報取得部は、機器の設定変更履歴情報を、前記機器に関する情報として取得することを特徴とする請求項１に記載のネットワーク管理装置。
【請求項９】
前記機器情報取得部は、前記経路特定部によって特定された経路上の機器に関する障害情報を、前記機器に関する情報として取得することを特徴とする請求項１に記載のネットワーク管理装置。
【請求項１０】
少なくとも一台のサーバとネットワークを経由して接続されるネットワーク管理装置において実行されるネットワーク管理方法であって、
前記ネットワーク管理装置は、前記ネットワークに接続されるインターフェイスと、前記インターフェイスに接続されるプロセッサと、前記プロセッサによって実行されるプログラムが格納されるメモリとを備え、
前記プロセッサは、
ネットワークに接続されている少なくとも一台のサーバの障害発生情報を受信し、
前記受信した障害発生情報に基づいて、障害の発生時間を推定し、
前記受信した障害発生情報に基づいて、前記障害発生情報に対応するサーバが存在するネットワーク上の経路を特定し、
前記求められた経路上の機器に関する情報を取得し、
前記推定された障害発生時間内における、前記機器に関する情報の変化に基づいて、前記障害発生情報に対応する障害が前記ネットワーク上の機器に関連する度合いを示す障害関連度を演算する、
ことを特徴とするネットワーク管理方法。
【請求項１１】
前記障害発生情報は、障害が発生したと推定されるサーバの情報だけでなく、障害が発生していないと推定されるサーバの情報も含み、
前記プロセッサは、前記障害が発生したと推定されるサーバの情報だけでなく、前記障害が発生していないと推定されるサーバの情報も用いて、前記障害関連度を演算することを特徴とする請求項１０に記載のネットワーク管理方法。
【請求項１２】
前記プロセッサは、前記推定された障害発生時間の少なくとも一部が重複する他の障害発生情報に基づいて、前記障害関連度を変更することを特徴とする請求項１０に記載のネットワーク管理方法。
【請求項１３】
前記プロセッサは、機器のリソースの状態、および、処理の失敗情報のうちの少なくとも一つの情報を、前記機器に関する情報として取得することを特徴とする請求項１０に記載のネットワーク管理方法。
【請求項１４】
前記プロセッサは、各機器の設定変更履歴情報を、前記機器に関する情報として取得することを特徴とする請求項１０に記載のネットワーク管理方法。
【請求項１５】
前記プロセッサは、前記経路特定部によって特定された経路上の機器に関する障害情報を、前記機器に関する情報として取得することを特徴とする請求項１０に記載のネットワーク管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データセンターシステムに関し、特にサーバ資源の利用者からネットワーク管理者へ報告される障害がネットワークに関連する度合いを求める技術に関する。
【背景技術】
【０００２】
近年の仮想化技術の発展により、データセンター事業者は、データセンターネットワーク内の仮想マシンをユーザに貸し出すホスティングサービスを提供している。物理的なサーバ機器を貸し出すホスティングサービスは昔から存在したが、自社でサーバを運用した方が安価で、かつネットワーク構成の柔軟性も高かったため、その用途は限られていた。しかし、近年ではハードウェアの性能向上と仮想化技術の発展により、ホスティングサービスを利用する方が安価になる場合が多くなった。加えて、自社業務のコアにあたるサービスまで他社にアウトソースする「クラウドコンピューティング」のコンセプトが普及した結果、ホスティングサービスの用途が従来よりも広がりつつある。
【０００３】
特にサーバ仮想化技術を使う場合、ホスティングサービスを提供するデータセンターは、多数のユーザ（個人あるいは企業）にサービスを提供することができる。ホスティングサービスのユーザは、１台以上のサーバ（物理的なサーバ機器あるいは仮想マシン）を借用する。これらのサーバは、データセンターのネットワークを通じて、各ユーザが利用する広域ネットワーク（ＩＰ−ＶＰＮ、広域イーサネットなど）（イーサネットは登録商標、以下同じ）やインターネットに接続される。また、これらのサーバは、データセンターのネットワークを通じて、各サーバの利用するストレージにも接続される。このように、データセンターのネットワークは、複数のユーザで共有される。この場合、一般的には、ＶＬＡＮやゾーニングなどの技術によって、あるユーザのサーバから他のユーザのサーバおよびそのトラフィックは見えないようにされる。
【０００４】
ホスティングサービスを提供するデータセンターでは、データセンター事業者のネットワーク管理者がネットワーク機器やサーバ仮想化環境を管理し、各ユーザのサーバ管理者が、借りたサーバとその上で動作するアプリケーションを管理する。具体的には、ハイパーバイザー上で動作する仮想スイッチなどは、データセンター事業者のネットワーク管理者の管理範囲となり、ハイパーバイザー上で動作する仮想マシンは、サーバ管理者の管理範囲となる。
【０００５】
一般に、ネットワーク管理者は少数なのに対して、サーバ管理者は多数存在する。サーバ管理者は、サーバとアプリケーションの稼働状況を監視し、ネットワーク側に問題が発生すると、ネットワーク管理者に障害報告を送り、その原因究明と問題解決を依頼する。障害報告を受けると、ネットワーク管理者は、サーバ管理者からの情報に基づいて、ネットワーク機器の設定や統計情報を確認し、その原因を究明する。なお、データセンターのネットワーク機器の設定や統計情報は、複数のユーザの情報を含むため、サーバ管理者はこれらの情報を直接確認することはできない。
【０００６】
しかし実際は、サーバ管理者は問題発生時にまずネットワークを疑い、ネットワーク管理者に障害報告を送るのと並行して、サーバ側も調査する。そのため、ネットワーク管理者は、実際はネットワーク側に問題がない障害報告を含む大量の障害報告を受け取ることになる。その結果として、本当にネットワーク側に起因する障害について、その障害検出から問題解決までの時間が長くなるという問題がある。
【０００７】
従って、データセンターシステムにおいては、ネットワーク管理者が、サーバ管理者から送られる多数の障害報告の中から、本当にネットワーク側に起因する障害報告を優先的に選択するための方法が必要である。
【０００８】
従来のホスティングサービスでは、ネットワーク管理者に比べてサーバ管理者の数が少なかったため、ネットワーク管理者は、障害報告に優先度を付けなくても逐一対処することができた。また、自社でサーバを運用する場合は、サーバ管理者自身がネットワーク機器の情報を確認して原因を究明することができた。
【０００９】
サーバの障害情報に基づいてネットワーク機器の情報を調査する方法としては、特許文献１および特許文献２に記載の方法が公知である。特許文献１には、ネットワーク設計情報と、各機器の稼動統計情報をリンクさせて、稼動統計情報が指数値を超えた場合に、該指数値を超えた装置及び該装置に関連する経路上の稼動統計情報を一覧表示する方法が開示されている。また、特許文献２には、各機器が統計情報を分析し、検知内容と対応した障害判定テーブルを参照して、障害発生機器（自装置、隣接装置等）または障害発生機能（アプリケーション等）を検出する方法が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２−９９４６９号公報
【特許文献２】特開２００５−１６７３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に記載の方法では、あるサーバに関連するネットワーク機器の稼働統計情報の一覧を表示するだけなので、管理者がその表示を見て障害箇所を特定する必要がある。また、特許文献１に記載の方法では、サーバの稼働統計情報を一箇所に集約するが、この方法はサーバ及びそのアプリケーションの管理がユーザに任されている（すなわち、仮想マシンだけを貸し出すような）ホスティングサービスには適用できない。
【００１２】
また、特許文献２に記載の方法では、複数の障害検出情報に優先度を付けることは考慮されていない。
【００１３】
本発明は、上述した問題に鑑みてなされたものであり、障害報告に対応する障害がネットワークに関連する度合いを求めて、ネットワーク管理者が、本当にネットワーク側に問題がある障害報告を把握するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、少なくとも一台のサーバとネットワークを経由して接続されるネットワーク管理装置であって、サーバの障害発生情報を受信する受信部と、受信部によって受信された障害発生情報に基づいて、障害の発生時間を推定する障害発生時間推定部と、受信部によって受信された障害発生情報に基づいて、障害発生情報に対応するサーバが存在するネットワーク上の経路を特定する経路特定部と、経路特定部によって特定された経路上の機器に関する情報を取得する機器情報取得部と、障害発生時間推定部によって推定された障害発生時間内における、機器に関する情報の変化に基づいて、障害発生情報に対応する障害が、前記サーバおよび前記ネットワーク管理装置を除いたネットワーク上の機器に関連する度合いを示す障害関連度を演算する障害関連度演算部と、を備えることを特徴とする。
【発明の効果】
【００１５】
本発明の代表的な実施の形態によれば、ネットワーク管理者は、膨大な障害報告がある場合でも、障害の原因がネットワーク側にある可能性が高い障害報告を優先して作業することができる。これにより、ネットワーク機器の障害検出から問題解決までの時間が短縮され、データセンターネットワークの可用性が向上する。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態におけるデータセンターシステムを模式的に示す図である。
【図２】障害報告データの例を示す図である。
【図３】障害関連度データの例を示す図である。
【図４】ユーザデータの例を示す図である。
【図５】サーバデータの例を示す図である。
【図６】接続関係データの例を示す図である。
【図７】経路データの例を示す図である。
【図８】ＣＰＵ使用率データの例を示す図である。
【図９】帯域使用率データの例を示す図である。
【図１０】設定変更履歴データの例を示す図である。
【図１１】ネットワーク障害データの例を示す図である。
【図１２】障害関連度計算サーバの内部構造を示す機能ブロック図である。
【図１３】障害関連度計算サーバが障害報告を受信してからその障害関連度を計算するまでの動作の例を示すシーケンス図である。
【図１４】第１の実施形態で想定するシステムおよび各装置の識別子の例を示す図である。
【図１５】サーバ管理プログラムの障害報告入力画面の例を示す図である。
【図１６】障害関連度計算プログラムが、ある障害報告の障害関連度を計算するためのフローチャートである。
【図１７】障害関連度計算プログラムが、ある障害に関連するネットワーク要素の集合を作成するためのフローチャートである。
【図１８】障害関連度計算プログラムが、統計情報を用いて、複数のネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
【図１９】障害関連度計算プログラムが、ネットワーク機器の設定変更履歴を用いて、複数のネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
【図２０】障害関連度計算プログラムが、ネットワーク機器の障害情報を用いて、複数のネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
【図２１】障害関連度計算サーバが障害報告を表示する際の動作の例を示すシーケンス図である。
【図２２】ネットワーク管理プログラムの障害報告表示画面の例を示す図である。
【図２３】ネットワーク管理プログラムの詳細情報表示画面の例を示す図である。
【図２４】第２の実施形態において、障害関連度計算プログラムが、ある障害報告の障害関連度を計算し、同時期に発生した障害報告の障害関連度を再計算するためのフローチャートである。
【図２５】第２の実施形態において、障害関連度計算プログラムが、他のユーザの障害情報を用いて、ネットワーク要素の重み付けを変更するためのフローチャートである。
【図２６】第３の実施形態において、障害関連度計算サーバが障害報告を受信してからその障害関連度をサーバ管理プログラムに通知するまでの動作の例を示すシーケンス図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、各実施形態について説明する。
＜第１の実施形態＞
図１は、第１の実施形態におけるデータセンターシステムを模式的に示す図である。データセンターシステムは、障害関連度計算サーバ２、ネットワーク監視サーバ３、データベース４、複数の物理マシン５、複数のスイッチ６、複数のルータ７、複数のファイバ・チャネル・スイッチ８（以下、ＦＣ−ＳＷ８）、および、ストレージ９を備える。これらの機器は、物理的な通信回線１０を通して、管理ネットワーク１に接続される。また、物理マシン５、スイッチ６、ルータ７、ＦＣ−ＳＷ８およびストレージ９は、物理的な通信回線１２を通して相互に接続される。ルータ７は、データセンターのユーザが利用する一つ以上のＷｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）１１へと接続される。ＷＡＮ１１には、各ユーザが、サーバの稼働状況を確認するために利用するサーバ管理者端末２０が接続される。
【００１８】
管理ネットワーク１および通信回線１０は、ネットワーク管理者が各機器を監視、設定するためのネットワークを構成する。ただし、場合によっては、通信回線１２によって構成されるネットワークを利用して各機器の監視および設定を行い、監視ネットワーク１を用意しないこともあり得る。例えば、各機器の監視のためのトラフィックのデータ量が少ない場合は、監視ネットワーク１の必要性は低い。
【００１９】
障害関連度計算サーバ（ネットワーク管理装置）２は、サーバ管理者端末２０から障害報告を受信し、その障害報告がネットワーク機器に関連する度合い（以下、障害関連度）を計算するサーバである。障害関連度計算サーバ２は、障害関連度を計算するために、データベース４に予め保存されたデータを読み込む。加えて、障害関連度計算サーバ２は、ネットワーク管理者端末３０からの要求に応じて、障害報告とネットワーク機器それぞれの障害関連度を表示する。
【００２０】
本実施形態の障害報告（障害発生情報）は、その障害報告を作成したユーザの識別子、障害発生前時刻、障害発生後時刻、障害が発生したと思われるサーバの識別子（ＩＰアドレスなど）、および障害が発生していないと思われるサーバの識別子を含む。障害発生前時刻とは、サーバ管理者の観点から、まだ問題が発生していなかったと思われる時刻である。一方、障害発生後時刻とは、サーバ管理者の観点から、問題が発生した後と思われる時刻である。障害報告には、ネットワーク管理者の問題解決のヒントとなるように、その障害の状況を詳しく説明する文章や、障害が発生したアプリケーションやプロトコルを特定する情報が含まれていてもよい。
【００２１】
ネットワーク監視サーバ３は、データセンターシステムのユーザが利用する各機器の稼働状況および詳細な統計情報を取得し、それらのデータをデータベース４に保存するサーバである。データセンターシステムのユーザが利用する機器とは、物理マシン５、スイッチ６、ルータ７、ＦＣ−ＳＷ８、ストレージ９などである。また、物理マシン５で動作する仮想スイッチや仮想マシンも、この監視の対象となる。これらの機器は、固有の管理インターフェイス（ＳＮＭＰエージェントやコンソールなど）を備える。ネットワーク監視サーバ３は、各管理インターフェイスを通して、各装置の現在の設定や統計情報を取得する。
【００２２】
データベース４は、障害報告とそれぞれの障害関連度、および障害関連度を計算するために必要なデータを格納するデータベースである。データベース４は、障害報告データ１０００、障害関連度データ１１００、ユーザデータ１２００、サーバデータ１３００、接続関係データ１４００、経路データ１５００、ＣＰＵ使用率データ１６００、帯域使用率データ１７００、設定変更履歴データ１８００、および、ネットワーク障害データ１９００を格納する。本実施形態では、これらのデータは全てテーブルに格納されているものとする。
【００２３】
障害報告データ１０００は、障害関連度計算サーバ２がサーバ管理者端末２０から受信する障害報告である。
【００２４】
図２は、障害報告データ１０００の一例を示す。列１００１は、本システム上で障害報告を一意に識別するための識別子である。列１００２は、その障害報告を送信したユーザの識別子である。列１００３は、障害関連度計算サーバ２がその障害報告を受信した日時である。列１００４は、その障害の障害発生前時刻である。列１００５は、その障害の障害発生後時刻である。列１００６は、その障害が発生したサーバの識別子である。列１００７は、その障害が発生していないサーバの識別子である。列１００８は、その障害の説明である。
【００２５】
障害関連度データ１１００は、障害関連度計算サーバ２が計算した、各障害報告の障害関連度である。障害関連度の算出方法については後述する。
【００２６】
図３は、障害関連度データ１１００の一例である。列１１０１は、障害報告の識別子である。列１１０２は、その障害報告の障害関連度である。
【００２７】
ユーザデータ１２００は、このデータセンターのサービスを契約しているユーザに関するデータである。
【００２８】
図４は、ユーザデータ１２００の一例である。列１２０１は、本システム上でユーザを一意に識別するための識別子である。列１２０２は、そのユーザのシステム（企業の拠点ネットワークなど）およびサーバ管理者端末が接続されているＷＡＮを一意に識別するための識別子である。列１２０３は、そのＷＡＮが接続されているデータセンター内の機器（ルータなど）を一意に識別するための識別子である。列１２０４は、そのＷＡＮが接続されている機器のインターフェイス（ルータのポートなど）を一意に識別するための識別子である。
【００２９】
サーバデータ１３００は、データセンターがユーザに貸し出すサーバに関するデータである。このサーバは、物理サーバまたは物理サーバ上で動作する仮想マシンである。
【００３０】
図５は、サーバデータ１３００の一例である。列１３０１は、本システム上でサーバを一意に識別するための識別子である。列１３０２は、そのサーバを現在借りているユーザの識別子である。
【００３１】
接続関係データ１４００は、このデータセンター内の機器の接続関係を表すデータである。
【００３２】
図６は、接続関係データ１４００の一例である。列１４０１は、接続関係のある一方の機器の識別子である。列１４０２は、接続関係のある一方の機器のインターフェイスの識別子である。列１４０３は、接続関係のあるもう一方の機器の識別子である。列１４０４は、接続関係のあるもう一方の機器のインターフェイスの識別子である。
【００３３】
経路データ１５００は、あるサーバに関するトラフィックが流れる経路を表すデータである。
【００３４】
図７は、経路データ１５００の一例である。列１５０１は、サーバの識別子である。列１５０２は、そのサーバのトラフィックが流れるネットワーク機器の識別子である。列１５０３は、そのサーバのトラフィックが流れるネットワーク機器のインターフェイスの識別子である。
【００３５】
ＣＰＵ使用率データ１６００は、ネットワーク監視サーバ３が各ネットワーク機器から取得した、各時刻におけるネットワーク機器のＣＰＵ使用率である。ＣＰＵ使用率データ１６００は、ネットワーク機器のリソースの状態を示す情報であって、ネットワーク機器ごとの統計情報の一例である。
【００３６】
図８は、ＣＰＵ使用率データ１６００の一例である。列１６０１は、ネットワーク機器の識別子である。列１６０２は、その統計情報を取得した時刻である。列１６０３は、その時刻におけるそのネットワーク機器のＣＰＵ使用率（パーセンテージ）である。例えば、行１６１１のデータは、「仮想スイッチ１の２００９／０７／０９の９：００時点におけるＣＰＵ使用率は３％だった」ことを表す。
【００３７】
帯域使用率データ１７００は、ネットワーク監視サーバ３が各ネットワーク機器から取得した、各時刻におけるネットワーク機器のインターフェイスの帯域使用率である。帯域使用率データ１７００は、ネットワーク機器のリソースの状態を示す情報であって、ネットワーク機器のインターフェイスごとの統計情報の一例である。
【００３８】
図９は、帯域使用率データ１７００の一例である。列１７０１は、ネットワーク機器の識別子である。列１７０２は、そのネットワーク機器のインターフェイスの識別子である。列１７０３は、その統計情報を取得した時刻である。列１７０４は、その時刻におけるそのインターフェイスの帯域使用率（パーセンテージ）である。例えば、行１７１１のデータは、「仮想スイッチ１のポート３の２００９／０７／０９の９：００時点における帯域使用率は０％だった」ことを表す。
【００３９】
設定変更履歴データ１８００は、ネットワーク管理者が手動あるいは自動的な手段によって事前に作成した、各ネットワーク機器およびそのインターフェイスの設定変更履歴である。
【００４０】
図１０は、設定変更履歴データ１８００の一例である。列１８０１は、設定が変更されたネットワーク機器の識別子である。列１８０２は、設定が変更されたインターフェイスの識別子である。変更された設定が特定のインターフェイスによらない場合は、列１８０２は空欄となる。列１８０３は、その設定変更が行われた時刻である。列１８０４は、その設定変更の種類である。例えば、行１８１１のデータは、「スイッチ２に対して、２００９／０７／０９の９：１０に、ＶＬＡＮの追加という設定変更が行われた」ことを表す。
【００４１】
ネットワーク障害データ１９００は、ネットワーク管理者が手動あるいは自動的な手段によって事前に作成した、各ネットワーク機器およびそのインターフェイスの障害履歴である。このネットワーク障害データは、サーバ管理者端末２０の送信する障害報告とは異なるデータである。ここでは、ネットワーク管理者が仮想スイッチやスイッチ、ルータを監視することで発見することのできる障害をネットワーク障害と定義する。例えば、スイッチ間のケーブルの断線は、ネットワーク障害である。一方で、サーバ管理者の送信する障害報告は、サーバ上でのアプリケーション利用状況を知っていなければ発見できない障害を対象とする。例えば、あるアプリケーションの応答時間が急に長くなった、といった障害は、本実施形態の障害報告の対象となる。
【００４２】
図１１は、ネットワーク障害データ１９００の一例である。列１９０１は、障害が発生したネットワーク機器の識別子である。列１９０２は、障害が発生したインターフェイスの識別子である。障害が特定のインターフェイスによらない場合は、列１９０２は空欄となる。列１９０３は、その障害が発生した時刻である。列１９０４は、その障害の重大さを表す障害レベルである。本実施形態では、障害レベルを、「低」、「中」、「高」の３段階とする。列１９０５は、その障害の説明である。例えば、行１９１１のデータは、「２００９／０７／０９の９：２０に、スイッチ１のポート２に障害レベル「低」の障害が発生した」ことを表す。
【００４３】
物理マシン５は、その上で仮想マシンを動作させることのできるサーバ機器である。物理マシン５の上で仮想マシンを動作させる方法としては、一般に「ハイパーバイザー」あるいは「仮想マシンモニタ」と呼ばれるソフトウェアを動作させる方法などがある。ユーザの要望によっては、物理マシンの上で複数の仮想マシンを動作させず、単一のマシンとして用いてもよい。
【００４４】
スイッチ６は、ルータ７と、物理マシン５の上で動作する仮想マシンの間のトラフィックを仲介するネットワーク機器である。本実施形態のデータセンターネットワークでは、複数のユーザのトラフィックが混在するため、スイッチ６はユーザ毎のネットワークを仮想的に分割する仮想化機能（ＶＬＡＮなど）に対応している必要がある。
【００４５】
ルータ７は、データセンターネットワークと、ユーザの利用するＷＡＮ１１を接続するネットワーク機器である。ユーザがＷＡＮとして広域イーサネットを利用している場合は、このルータの位置にスイッチを設置してもよい。
【００４６】
ＦＣ−ＳＷ８は、物理マシン５の上で動作する仮想マシンと、ストレージ９の間のトラフィックを仲介するネットワーク機器である。本実施形態におけるデータセンターネットワークでは、複数のユーザのトラフィックが混在するため、ＦＣ−ＳＷ８はユーザ毎のネットワークを仮想的に分割する仮想化機能（ゾーニングやＶＳＡＮなど）に対応している必要がある。
【００４７】
ストレージ９は、仮想マシンの利用するデータを格納する機器である。ストレージ９は、仮想マシンに対して、そのブート領域やデータ領域を提供する。
【００４８】
サーバ管理者端末２０は、ユーザ側のサーバ管理者が利用する端末である。サーバ管理者端末２０の上では、障害関連度計算サーバ２へ障害報告を送信するためのプログラム（以下、サーバ管理プログラム）が動作する。サーバ管理プログラムは、専用の通信プロトコルを利用するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）や、ＨＴＴＰで通信するＷｅｂブラウザなどである。また、サーバ管理プログラムは、サーバ管理者が障害の有無を判断するのを助けるために、サーバおよびアプリケーションからそれらの統計情報を収集し、収集した統計情報を表示する機能を持っていてもよい。もしくは、サーバ管理プログラムは、サーバおよびアプリケーションの状態をもとに、自動的に障害報告を送信する機能を持っていてもよい。
【００４９】
ネットワーク管理者端末３０は、データセンターのネットワーク管理者が利用する端末である。ネットワーク管理者端末３０の上では、障害関連度計算サーバ２から障害報告を受信するためのプログラム（以下、ネットワーク管理プログラム）が動作する。ネットワーク管理プログラムは、専用の通信プロトコルを利用するＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）や、ＨＴＴＰで通信するＷｅｂブラウザなどである。
【００５０】
図１２は、障害関連度計算サーバ２の内部構造を示す機能ブロック図である。障害関連度計算サーバ２は、インターフェイス（Ｉ／Ｆ）２１、ＣＰＵ（プロセッサ）２２、メモリ２３、および、データパス２４を備える。
【００５１】
障害関連度計算サーバ２は、インターフェイス２１を通してパケットを送受信する。メモリ２３には、後述する各プログラムが格納されている。動作時には、ＣＰＵ２２がデータパス２４を通してそれらのプログラムを読み出して実行する。図１２中の実線矢印は、プログラム間の呼び出し関係を示している。また、図中の点線矢印は、プログラムとデータベースの間のデータの流れを示している。
【００５２】
メモリ２３は、障害報告受信プログラム２３１、障害関連度計算プログラム２３２、障害報告表示プログラム２３３を格納する。
【００５３】
障害報告受信プログラム２３１は、サーバ管理者端末２０で動作するサーバ管理プログラムから障害報告を受信するプログラムである。障害報告受信プログラム２３１は、受信した障害報告をデータベース４に登録する。また、障害報告受信プログラム２３１は、障害関連度計算プログラム２３２を呼び出す。
【００５４】
障害関連度計算プログラム２３２は、データベース上の各種データを読み込み、各障害報告の障害関連度を計算するプログラムである。障害関連度計算プログラム２３２は、計算した障害関連度をデータベース４に登録する。
【００５５】
障害報告表示プログラム２３３は、ネットワーク管理者端末３０で動作するネットワーク管理プログラムに対して、障害報告およびその障害関連度を送信するプログラムである。障害報告表示プログラム２３３は、障害報告およびその障害関連度をデータベース４から読み込む。
【００５６】
図１３は、障害関連度計算サーバ２が障害報告を受信してからその障害関連度を計算するまでの動作の例を示すシーケンス図である。
【００５７】
図１４は、図１３に示すシーケンス図の説明で用いるシステムおよび各装置の識別子の一例である。この例では、Ｂ社の利用する仮想マシン３と仮想マシン４の間で急激に大量のトラフィックが発生し、物理マシン１上で動作する仮想スイッチ１に過負荷がかかり、かつ、この過負荷がＡ社の利用する仮想マシン１とＷＡＮの間のトラフィックに影響した場合を考える。
【００５８】
まず、サーバ管理者は、サーバ管理プログラムを通して、サーバの状態を監視する。そして、サーバの状態に何らかの異常を発見すると、サーバ管理者はサーバ管理プログラムに障害報告を入力する（Ｓ１０１）。
【００５９】
障害報告には、ユーザ名、障害発生前時刻、障害発生後時刻、および、障害が発生したサーバの識別子が少なくとも含まれる。また、障害報告に、更なる情報として、障害が発生していないサーバの識別子、および、障害が発生していないことを示す情報が含まれるようにしてもよい。
【００６０】
図１５は、サーバ管理プログラムの障害報告入力画面の一例である。５０１０は、各サーバから取得した統計情報の表示欄である。この表示欄は、障害発生前時刻、障害発生後時刻、障害が発生したサーバの識別子、および障害が発生していないサーバの識別子の入力欄を兼ねている。行５０１１は各サーバの識別子である。行５０１２は、最近の各サーバのＣＰＵ使用率である。行５０１３は、最近の各サーバのメモリ使用率である。行５０１４は、最近の各サーバのネットワークインターフェイスカード（ＮＩＣ）の帯域使用率である。
【００６１】
この例では、サーバ管理者が、行５０１２、５０１３、５０１４のいずれかで、異常が発生したと思われる範囲を指定することによって、障害発生前時刻と障害発生後時刻を入力できるものとしている。異常が発生したと思われる範囲は、例えば、マウスを用いてドラッグすることによって指定する。すなわち、ドラッグを開始した位置に対応する時刻を障害発生前時刻とし、ドラッグを終了した位置に対応する時刻を障害発生後時刻とする。
【００６２】
行５０１５は、各サーバの障害状況の入力欄である。障害状況は、「障害発生」、「障害未発生」、および「不明」の３種類とする。「障害発生」は明らかに障害が発生しているサーバを表し、「障害未発生」は明らかに障害が発生していないサーバを表す。また、「不明」は、「障害発生」および「障害未発生」のどちらとも判断できないサーバを表す。
【００６３】
５０２０は、障害の状況をネットワーク管理者に具体的に説明するための入力欄である。５０３０は、入力した情報を障害関連度計算サーバ２に送信するためのボタン、５０４０は、入力を中断するためのボタンである。
【００６４】
サーバ管理者によって、上述したデータが入力されて、送信ボタン５０３０が操作されると、サーバ管理プログラムは、障害報告受信プログラム２３１に障害報告を送信する（Ｓ１０２）。障害報告には、Ｓ１０１でサーバ管理者が入力した値が含まれる。
【００６５】
障害報告受信プログラム２３１は、障害報告を受信すると、受信した障害報告をデータベース４に登録する（Ｓ１０３）。障害報告の登録に成功すると（Ｓ１０４）、障害報告受信プログラム２３１は、サーバ管理プログラムに、障害報告の登録成功を伝える（Ｓ１０５）。
【００６６】
続いて、障害報告受信プログラム２３１は、障害関連度計算プログラム２３２に対して、新しく受信した障害報告の障害関連度の計算を要求する（Ｓ１０６）。このとき、障害報告受信プログラム２３１は、障害関連度計算プログラム２３２に障害報告全体を送信するか、または障害報告識別子のみを送信する。
【００６７】
そして、障害関連度計算プログラム２３２は、データベース４上の各種データを用いて、新しく受信した障害報告の障害関連度を計算する（Ｓ１０７）。以下に、障害関連度の計算方法の一例を示す。
【００６８】
図１６は、障害関連度計算プログラム２３２が、ある障害報告の障害関連度を計算するためのフローチャートである。
【００６９】
障害関連度計算プログラム２３２は、大まかに３つの手順で障害関連度を計算する。まず、障害関連度計算プログラム２３２は、その障害に関連するネットワーク機器およびそれらのインターフェイスの集合を作成する（Ｓ２０１）。以下では、ネットワーク機器およびそれらのネットワーク機器のインターフェイスをまとめて、ネットワーク要素と呼ぶ。次に、障害関連度計算プログラム２３２は、特定された各ネットワーク要素の要素別障害関連度を計算する（Ｓ２０２）。最後に、障害関連度計算プログラム２３２は、一つ以上の要素別障害関連度から、その障害に対するネットワーク全体での障害関連度を計算する（Ｓ２０３）。
【００７０】
以下では、図１６に示すＳ２０１〜Ｓ２０３のそれぞれの処理についての具体例を示す。
【００７１】
図１７は、障害関連度計算プログラム２３２が、ある障害に関連するネットワーク要素の集合を作成するためのフローチャートである。
【００７２】
まず、障害関連度計算プログラム２３２は、障害が発生したサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する（Ｓ３０１）。以下では、ここで選択したサーバ識別子（サーバＩＤ）をＰ−ＳＲＶ−ＩＤと記載する。
【００７３】
次に、障害関連度計算プログラム２３２は、サーバの識別子がＰ−ＳＲＶ−ＩＤのサーバのトラフィックが流れるネットワーク要素をデータベース４から取得する（Ｓ３０２）。障害関連度計算プログラム２３２は、Ｐ−ＳＲＶ−ＩＤを用いてデータベース４の経路データ１５００を検索することにより、そのサーバのトラフィックが流れるネットワーク要素を求める。例えば、図７の経路データをサーバ識別子「仮想マシン１」で検索すると、このサーバのトラフィックが流れるネットワーク要素は、仮想スイッチ１、仮想スイッチ１のポート０、仮想スイッチ１のポート１、スイッチ２、スイッチ２のポート０、スイッチ２のポート１、スイッチ１、スイッチ１のポート０、スイッチ１のポート１、ルータ１、ルータ１のポート０、ルータ１のポート３である。
【００７４】
そして、Ｓ３０２で取得したすべてのネットワーク要素を、メモリ上のネットワーク要素集合に追加する（Ｓ３０３）。
【００７５】
続いて、障害が発生したサーバ識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し（Ｓ３０４）、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、Ｓ３０１〜Ｓ３０３の処理を行う。
【００７６】
その後、障害報告の中に障害が発生していないサーバの識別子が一つ以上あるか否かを判定し（Ｓ３０５）、障害が発生していないサーバの識別子が一つ以上あると判定すると、Ｓ３０６〜Ｓ３０９の処理を行う。障害が発生していないサーバの識別子が一つもないと判定すると、Ｓ３０６〜Ｓ３０９の処理は行わずに、本フローチャートの処理を終了する。
【００７７】
障害関連度計算プログラム２３２は、まず、障害が発生していないサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する（Ｓ３０６）。以下では、ここで選択したサーバ識別子（サーバＩＤ）をＮ−ＳＲＶ−ＩＤと記載する。
【００７８】
次に、サーバ識別子がＮ−ＳＲＶ−ＩＤのサーバのトラフィックが流れるネットワーク要素をデータベース４から取得する（Ｓ３０７）。障害関連度計算プログラム２３２は、Ｎ−ＳＲＶ−ＩＤを用いてデータベース４の経路データ１５００を検索することにより、そのサーバのトラフィックが流れるネットワーク要素を求める。例えば、図７の経路データをサーバ識別子「仮想マシン５」で検索すると、このサーバのトラフィックが流れるネットワーク要素は、仮想スイッチ２、仮想スイッチ２のポート０、仮想スイッチ２のポート１、スイッチ２、スイッチ２のポート０、スイッチ２のポート２、スイッチ１、スイッチ１のポート０、スイッチ１のポート１、ルータ１、ルータ１のポート０、ルータ１のポート３である。
【００７９】
そして、Ｓ３０７で取得したすべてのネットワーク要素を、メモリ上のネットワーク要素集合から削除する（Ｓ３０８）。
【００８０】
続いて、障害が発生していないサーバの識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し（Ｓ３０９）、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、Ｓ３０６〜Ｓ３０８の処理を行う。
【００８１】
例えば、図１５に示す例では、障害が発生したと推定される仮想マシン１に対応するネットワーク要素から、障害が発生していないと推定される仮想マシン５に対応するネットワーク要素が削除されることになる。この場合、仮想スイッチ１、仮想スイッチ１のポート０、仮想スイッチ１のポート１、スイッチ２のポート１のみが最終的なネットワーク要素の集合に含まれる。
【００８２】
なお、図１７のＳ３０６〜Ｓ３０９の処理を省略することも可能である。しかし、Ｓ３０６〜Ｓ３０９の処理は、ある障害報告の原因となっている可能性があるネットワーク要素を絞り込むことにより、障害関連度の正確さを向上させることができる。
【００８３】
以上の処理に加えて、以下の追加処理を一つ以上行うことで、障害関連度の正確さを更に向上させることができる。
【００８４】
一つ目の追加処理は、障害が発生したサーバの識別子が障害報告に２つ以上含まれる場合に、より多くのサーバからのトラフィックが流れるネットワーク要素ほど、後述する要素別障害関連度を高くする処理である。そのためには、Ｓ３０３の処理を拡張し、あるネットワーク要素をパスに含むサーバの数を記録するようにする。そして、後述する要素別障害関連度の計算において、このサーバの数が大きいネットワーク要素ほど、その要素別障害関連度を高くする。例えば、通常の要素別障害関連度に、そのネットワーク要素をパスに含むサーバの数をかけ算するという方法がある。
【００８５】
２つ目の追加処理は、障害が発生したサーバのトラフィックが流れないネットワーク要素であっても、そのサーバのトラフィックが流れるネットワーク要素と近い位置にあれば、メモリ上のネットワーク要素集合に追加する処理である。Ｓ３０２の処理の後で、Ｓ３０２で取得したすべてのネットワーク要素について、その一つ隣、あるいは二つ以上の所定数だけ隣にあるネットワーク要素を検索する。各ネットワーク要素の識別子を用いてデータベース４の接続関係データ１４００を検索すると、そのネットワーク要素の一つ隣にあるネットワーク要素を求めることができる。また、必要であれば、この処理を二回以上繰り返し行うことで、二つ以上隣にあるネットワーク要素も検索できる。
【００８６】
そして、上記の検索結果をメモリ上のネットワーク要素集合に追加する。この追加処理により、例えば仮想スイッチ１のポート３やポート４（すなわち、今回の過負荷の原因となるトラフィックが流れるポート）の要素別障害関連度も計算されるようになり、障害関連度の正確さが向上する。
【００８７】
また、２つ目の追加処理に関して、障害が発生したサーバのトラフィックが流れるネットワーク要素と、障害が発生していないネットワーク要素で、要素別障害関連度の計算方法を変えてもよい。この場合、要素別障害関連度に、直接的な原因と間接的な原因の差が反映されるようになり、結果として障害関連度の正確さが向上する。
【００８８】
次に、図１６のＳ２０２の詳細について説明する。要素別障害関連度を計算する方法は複数存在する。以下では、統計情報を用いる場合、設定変更履歴を用いる場合、および、ネットワーク障害データを用いる場合の３種類の計算方法を示す。
【００８９】
図１８は、障害関連度計算プログラム２３２が、統計情報を用いて、Ｓ２０１で特定された各ネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
【００９０】
まず、障害関連度計算プログラム２３２は、Ｓ２０１で作成したネットワーク要素集合の中から、未選択のネットワーク要素を一つ選択する（Ｓ４０１）。以下では、ここで選択したネットワーク要素をＥと記載する。
【００９１】
続いて、Ｓ４０１で選択したネットワーク要素Ｅがネットワーク機器であるか否かを判定する（Ｓ４０２）。ネットワーク要素Ｅがネットワーク機器の場合は、ネットワーク機器単位の統計情報を利用する。この例では、データベース４のＣＰＵ使用率データ１６００がネットワーク機器単位の統計情報である。一方、ネットワーク装置Ｅがネットワーク機器のインターフェイスの場合は、インターフェイス単位の統計情報を利用する。この例では、データベース４の帯域使用率データ１７００がインターフェイス単位の統計情報である。
【００９２】
ネットワーク要素Ｅがネットワーク機器であると判定すると、Ｓ４０４〜Ｓ４０６の処理を行う。まず、障害発生前時刻におけるネットワーク要素ＥのＣＰＵ使用率をデータベース４から取得する（Ｓ４０４）。障害関連度計算プログラム２３２は、ネットワーク要素Ｅの識別子を用いて、データベース４のＣＰＵ使用率データ１６００を検索することにより、そのネットワーク機器の障害発生前時刻におけるＣＰＵ使用率を求める。例えば、障害発生前時刻が「２００９／０７／０９の９：０５」、ネットワーク要素Ｅが「仮想スイッチ１」の場合、図８を参照すると、その時刻のＣＰＵ使用率は５％（行１６１２）であることが分かる。
【００９３】
次に、障害発生後時刻におけるネットワーク要素ＥのＣＰＵ使用率をデータベース４から取得する（Ｓ４０５）。障害関連度計算プログラム２３２は、Ｓ４０４の処理と同様に、データベース４のＣＰＵ使用率データ１６００を検索する。例えば、障害発生後時刻が「２００９／０７／０９の９：２５」、ネットワーク要素Ｅが「仮想スイッチ１」の場合、その時刻のＣＰＵ使用率は５３％（行１６１６）であることが分かる。
【００９４】
続いて、ネットワーク要素Ｅに関する情報の変化から、ネットワーク要素Ｅの要素別障害関連度を計算する（Ｓ４０６）。具体的には、Ｓ４０４とＳ４０５の処理の結果から、ネットワーク要素Ｅの要素別障害関連度を計算する。例えば、Ｓ４０５の結果（５３）から、Ｓ４０４の結果（５）を引いた値（４８）を、そのネットワーク要素Ｅ（仮想スイッチ１）の要素別障害関連度とすることができる。この計算式は、より複雑なものであってもよい。例えば、ＣＰＵ使用率の差が、ある閾値以下であれば正常と判断して要素別障害関連度を低くし、閾値より大きければ、要素別障害関連度を高くすることができる。そのネットワークの過去の状況に応じてこの計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度がより正確になる。
【００９５】
一方、Ｓ４０２の判定において、ネットワーク要素Ｅがネットワーク機器ではないと判定すると、そのネットワーク要素Ｅがネットワーク機器のインターフェイスであるか否かを判定する（Ｓ４０３）。ネットワーク要素Ｅがネットワーク機器のインターフェイスであると判定すると、Ｓ４０７〜Ｓ４０９の処理を行う。
【００９６】
まず、障害発生前時刻におけるネットワーク要素Ｅの帯域使用率をデータベース４から取得する（Ｓ４０７）。障害関連度計算プログラム２３２は、ネットワーク要素Ｅの識別子を用いてデータベース４の帯域使用率データ１７００を検索することにより、そのネットワーク機器の障害発生前時刻における帯域使用率を求める。例えば、障害発生前時刻が「２００９／０７／０９の９：０５」、ネットワーク要素Ｅが「仮想スイッチ１のポート３」の場合、図９を参照すると、その時刻の帯域使用率は１４％（行１７１２）であることが分かる。
【００９７】
次に、障害発生後時刻におけるネットワーク要素Ｅの帯域使用率をデータベース４から取得する（Ｓ４０８）。障害関連度計算プログラム２３２は、Ｓ４０７の処理と同様に、データベース４の帯域使用率データ１７００を検索する。例えば、障害発生後時刻が「２００９／０７／０９の９：２５」、ネットワーク要素Ｅが「仮想スイッチ１のポート３」の場合、その時刻の帯域使用率は６４％（行１７１６）であることが分かる。
【００９８】
そして、ネットワーク要素Ｅに関する情報の変化から、ネットワーク要素Ｅの要素別障害関連度を計算する（Ｓ４０６）。具体的には、Ｓ４０７とＳ４０８の処理の結果から、ネットワーク要素Ｅの要素別障害関連度を計算する。例えば、Ｓ４０８の結果（６４）からＳ４０７の結果（１４）を引いた値（５０）を、そのネットワーク要素Ｅ（仮想スイッチ１のポート３）の要素別障害関連度とすることができる。この計算式は、より複雑なものであってもよい。例えば、帯域使用率の差が、ある閾値以下であれば正常と判断して要素別障害関連度を低くし、閾値より大きければ、要素別障害関連度を高くすることができる。そのネットワークの過去の状況に応じてこの計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度がより正確になる。
【００９９】
最後に、障害関連度計算プログラム２３２は、ネットワーク要素Ｅと、その要素別障害関連度の関係をメモリ上に記録する（Ｓ４１０）。
【０１００】
その後、ネットワーク要素集合の中に、本プログラムで未選択のネットワーク要素があるか否かを判定し（Ｓ４１１）、未選択のネットワーク要素があると判定されると、未選択のネットワーク要素について、Ｓ４０１〜Ｓ４１０の処理を行う。障害関連度計算プログラム２３２は、ネットワーク要素集合の中の全てのネットワーク要素について、Ｓ４０１〜Ｓ４１０の処理を行うと、本フローチャートの処理を終了する。
【０１０１】
要素別障害関連度の計算に用いることのできる統計情報は、ネットワーク機器のＣＰＵ使用率と、インターフェイスの帯域使用率の２種類に限られない。例えば、処理の失敗情報であるパケットロス率などのデータを用いてもよい。また、一つのネットワーク要素について、複数の種類の統計情報を組み合わせてその要素別障害関連度を計算してもよい。複数の種類の統計情報を集めるためには手間がかかるが、複数の種類の統計情報を使うことで、１種類の統計情報を使う場合よりも多くの異常を検知できる。従って、障害関連度がより正確になる。
【０１０２】
図１９は、障害関連度計算プログラム２３２が、ネットワーク機器の設定変更履歴を用いて、Ｓ２０１で特定された各ネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
【０１０３】
まず、障害関連度計算プログラム２３２は、図１６のＳ２０１の処理で作成したネットワーク要素集合の中から、未選択のネットワーク要素を一つ選択する（Ｓ５０１）。以下では、ここで選択したネットワーク要素をＥと記載する。
【０１０４】
次に、障害関連度計算プログラム２３２は、障害発生前時刻と障害発生後時刻の間に行われた、ネットワーク要素Ｅの設定変更履歴をデータベース４から取得する（Ｓ５０２）。障害関連度計算プログラム２３２は、ネットワーク要素Ｅの識別子を用いてデータベース４の設定変更履歴データ１８００を検索することにより、障害発生前時刻と障害発生後時刻の間に行われた設定変更の履歴を求める。例えば、障害発生前時刻が「２００９／０７／０９の９：０５」、障害発生後時刻が「２００９／０７／０９の９：２５」、ネットワーク要素Ｅが「スイッチ２」の場合、図１０を参照すると、一つの設定変更（行１８１１）が行われたことが分かる。
【０１０５】
そして、Ｓ５０２の結果から、ネットワーク要素Ｅの要素別障害関連度を計算する（Ｓ５０３）。例えば、Ｓ５０２で取得した設定変更履歴の数を、そのネットワーク要素Ｅの要素別障害関連度とすることができる。この計算式は、より複雑な式であってもよい。例えば、設定変更の種類によって、要素別障害関連度へ加算する値を重み付けしてもよい。設定変更の種類と障害発生の関係が経験上すでに数値化されている環境では、このように計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度がより正確になる。
【０１０６】
最後に、障害関連度計算プログラム２３２は、ネットワーク要素Ｅとその要素別障害関連度の関係をメモリ上に記録する（Ｓ５０４）。
【０１０７】
その後、ネットワーク要素集合の中に、本プログラムで未選択のネットワーク要素があるか否かを判定し（Ｓ５０５）、未選択のネットワーク要素があると判定すると、未選択のネットワーク要素について、Ｓ５０１〜Ｓ５０４の処理を行う。障害関連度計算プログラム２３２は、ネットワーク要素集合の中の全てのネットワーク要素について、Ｓ５０１〜Ｓ５０４の処理を行うと、本フローチャートの処理を終了する。
【０１０８】
図２０は、障害関連度計算プログラム２３２が、ネットワーク機器の障害情報を用いて、図１６のＳ２０１の処理で特定された各ネットワーク要素の要素別障害関連度を計算するためのフローチャートである。
【０１０９】
まず、障害関連度計算プログラム２３２は、図１６のＳ２０１の処理で作成したネットワーク要素集合の中から、未選択のネットワーク要素を一つ選択する（Ｓ６０１）。以下では、ここで選択したネットワーク要素をＥと記載する。
【０１１０】
次に、障害関連度計算プログラム２３２は、障害発生前時刻と障害発生後時刻の間に発生した、ネットワーク要素Ｅのネットワーク障害データをデータベース４から取得する（Ｓ６０２）。障害関連度計算プログラム２３２は、ネットワーク要素Ｅの識別子を用いてデータベース４のネットワーク障害データ１９００を検索することによって、障害発生前時刻と障害発生後時刻の間に発生したネットワーク障害の情報を求める。例えば、障害発生前時刻が「２００９／０７／０９の９：０５」、障害発生後時刻が「２００９／０７／０９の９：２５」、ネットワーク要素Ｅが「スイッチ３」の場合、図１１を参照すると、一つのネットワーク障害（行１９１３）が発生したことが分かる。
【０１１１】
そして、Ｓ６０２の処理の結果から、ネットワーク要素Ｅの要素別障害関連度を計算する（Ｓ６０３）。例えば、Ｓ６０２で取得したネットワーク障害の数を、そのネットワーク要素Ｅの要素別障害関連度とすることができる。この計算式は、より複雑なものであってもよい。例えば、障害の内容や、障害に対して既に割り当てられている障害レベルによって、要素別障害関連度へ加算する値を重み付けしてもよい。このように計算式を差し替えることで、最終的に計算される障害報告ごとの障害関連度をより正確にすることができる。
【０１１２】
最後に、障害関連度計算プログラム２３２は、ネットワーク要素Ｅとその要素別障害関連度の関係をメモリ上に記録する（Ｓ６０４）。
【０１１３】
その後、ネットワーク要素集合の中に、本プログラムで未選択のネットワーク要素があるか否かを判定し（Ｓ６０５）、未選択のネットワーク要素があると判定すると、未選択のネットワーク要素について、Ｓ６０１〜Ｓ６０４の処理を行う。障害関連度計算プログラム２３２は、ネットワーク要素集合の中の全てのネットワーク要素について、Ｓ６０１〜Ｓ６０４の処理を行うと、本フローチャートの処理を終了する。
【０１１４】
障害関連度計算プログラム２３２は、図１８〜図２０のいずれかの処理だけではなく、その他の情報を用いて計算してもよい。また、障害関連度計算プログラム２３２は、図１８〜図２０の処理のうち、２つ以上の処理を組み合わせて実行してもよい。加えて、その際に特定の情報による要素別障害関連度を重視してもよい。例えば、設定変更によって障害が発生することが多いとネットワーク管理者が感じている場合は、設定変更履歴による要素別障害関連度に重み付けすることで、障害関連度の正確さが向上する。
【０１１５】
以上のように、障害関連度計算プログラム２３２は、各ネットワーク要素の要素別障害関連度を計算した後で、それらの要素別障害関連度から、その障害に対するネットワーク全体での障害関連度を計算する（Ｓ２０３）。
【０１１６】
障害関連度の計算方法は複数ある。例えば、要素別障害関連度の最大値を障害関連度としてもよい。この場合、ネットワーク管理者は、障害関連度を見て、最も疑わしい装置を特定することができる。もしくは、要素別障害関連度の合計値を障害関連度としてもよい。この場合、ネットワーク管理者は、障害関連度を見て、疑わしい装置が最も多いパスを特定することができる。
【０１１７】
以上が、障害報告の受信からその障害関連度の計算までの、障害関連度計算サーバ２の動作の一例である。
【０１１８】
図２１は、障害報告を表示する処理について、障害関連度計算サーバ２の動作の一例を示したシーケンス図である。
【０１１９】
まず、ネットワーク管理者は、ネットワーク管理者端末３０から、ネットワーク管理プログラムを通して、障害報告表示プログラム２３３に障害報告の表示を要求する（Ｓ７０１）。障害報告表示プログラム２３３は、ネットワーク管理者端末３０からの要求を受信すると、データベース４に対して、障害報告データ１０００を要求し（Ｓ７０２）、データベース４から障害報告データ１０００を受信する（Ｓ７０３）。また、障害報告表示プログラム２３３は、データベース４に対して、障害関連度データ１１００を要求し（Ｓ７０４）、データベース４から障害関連度データ１１００を受信する（Ｓ７０５）。
【０１２０】
その後、障害報告表示プログラム２３３は、障害報告表示画面を作成し（Ｓ７０６）、作成した画面をネットワーク管理プログラムを通して、ネットワーク管理者端末３０に送信する（Ｓ７０７）。
【０１２１】
図２２は、ネットワーク管理プログラムの障害報告表示画面の一例である。行５１０１は、障害関連度データ１１００から取得した各障害報告の障害関連度、行５１０２〜５１０６は、障害報告データ１０００から取得した各障害報告のデータである。行５１０２は、障害を報告したユーザの識別子、行５１０３は、障害を報告した日時、行５１０４は、障害が発生した期間、行５１０５は、障害が発生したサーバの識別子、行５１０６は、障害が発生していないサーバの識別子である。行５１０７は、この画面で表示しきれない詳細な情報を表示する別ウィンドウを開くためのボタンである。５１０８は、この障害報告を障害関連度計算サーバ２から取得した時刻である。
【０１２２】
図２２に示す例のように、ネットワーク管理プログラムは、障害報告を障害関連度の高い順に並び替えるように構成されていてもよい。その場合、ネットワーク管理者は、ネットワーク側に問題がある可能性が高い障害報告をすぐに判別できる。
【０１２３】
また、障害報告の一覧表示方法は、上記の方法に限られない。例えば、以下の表示方法がある。
（１）サーバ別に障害報告を表示する方法。この方法では、障害関連度の欄には、そのサーバを障害発生サーバに含む障害報告の障害関連度の総和などを表示する。
（２）ユーザ別に障害報告をまとめて表示する方法。障害関連度の欄には、そのユーザの障害報告の障害関連度の総和などを表示する。
（３）ネットワーク要素別に障害報告をまとめて表示する方法。障害関連度の欄には、そのネットワーク要素を用いた障害報告の障害関連度の総和などを表示する。
【０１２４】
一つの障害報告が多数の障害発生サーバを含むことが多い場合は、方法（１）を用いることで、ネットワーク管理者が調査すべきネットワーク要素を絞り込むことができる。一つの障害報告が多数の障害発生サーバを含む場合、障害報告単位で障害関連度を算出すると、どこから調査したら良いのか分かりにくくなる可能性がある。障害関連度をサーバ単位で算出することによって、調査範囲をあるサーバのトラフィックが流れるパスに特定できる。従って、ネットワーク管理者が障害の原因調査を効率的に行うことができる。ただし、方法（１）を用いる場合は、図１６のフローチャートを用いて説明した計算を障害発生サーバ一つずつに対して行う必要がある。
【０１２５】
一つのユーザから複数の障害報告が送信される場合は、方法（２）を用いることで、ネットワーク側の障害に最も悩まされているユーザを特定することができる。これにより、特定のユーザのサービスレベルが極端に下がることを防ぐことができる。
【０１２６】
障害の原因が特定のネットワーク要素に偏ることが多い場合は、方法（３）を用いることで、ネットワーク管理者が調査すべきネットワーク要素を絞り込むことができる。従って、ネットワーク管理者が障害の原因調査を効率的に行うことができる。ただし、方法（３）を用いる場合は、各ネットワーク要素の要素別障害関連度をデータベース４に保存しておく必要がある。
【０１２７】
加えて、上記の方法（１）〜（３）について、障害発生期間の範囲を限定するという方法もある。こうすることで、同じ原因で発生した障害がまとめて表示されやすくなり、ネットワーク管理者が障害の原因調査を効率的に行うことができる。
【０１２８】
図２３は、ネットワーク管理プログラムの詳細情報表示画面の一例である。ネットワーク管理者が図２２の列５１０７の詳細ボタンを押すと、図２３に示すように、ある障害報告に関する詳細な情報を表示する。５２１０は、障害報告の全ての情報である。５２２０は、その障害報告の障害関連度を計算する前に計算された、各ネットワーク要素の要素別障害関連度である。５２３０は、ネットワーク上で障害が発生したと思われる箇所や、障害発生サーバのトラフィックが流れるパスを示したネットワーク図である。このように、障害報告の障害関連度だけでなく、ネットワーク要素の要素別障害関連度や、ネットワーク図もあわせて表示することで、ネットワーク管理者が障害の原因調査を効率的に行うことができる。
【０１２９】
ネットワーク管理者は、図２２に示すような障害報告表示画面を見て、まずＡ社の障害報告に対応しようと決める。そして、ネットワーク管理者がその障害報告の詳細ボタンを押すと、図２３に示すような画面が表示される。その結果、ネットワーク管理者は仮想スイッチ１に何かしらの問題があると特定できる。その後、ネットワーク管理者は、従来のネットワーク管理プログラムなどを用いて、仮想スイッチ１の状況を調べることができる。
【０１３０】
以上が、障害関連度計算サーバ２がネットワーク管理者に対して障害報告を表示する動作の一例である。
【０１３１】
以上のようにして、障害関連度計算サーバ２は、サーバ管理者端末から送信される多数の障害報告を、それらの障害報告がネットワーク機器に関連する度合い（すなわち障害関連度）と共に、ネットワーク管理者に対して表示することができる。これにより、ネットワーク管理者は、従来と比べて容易に、障害の原因がネットワーク側にある可能性が高い障害報告を優先して作業することができる。これにより、ネットワーク機器の障害検出から問題解決までの時間が短縮され、データセンターネットワークの可用性が向上する。
＜第２の実施形態＞
第２の実施形態では、ある新しい障害報告の障害関連度を計算する際に、過去の障害報告のデータを利用する例を説明する。また、その計算と同時に、新しい障害報告と同時期の障害を示す障害報告の障害関連度を再計算する例を説明する。
【０１３２】
第２の実施形態では、第１の実施形態の障害関連度計算プログラム２３２に新たな処理を追加する。データセンターシステムや障害関連度計算サーバ２の内部構造などは、第１の実施形態と同じである。
【０１３３】
図２４は、障害関連度計算プログラム２３２が、ある障害報告の障害関連度を計算するためのフローチャートである。本実施形態の障害関連度計算プログラム２３２は、第１の実施形態の処理（図１６のＳ２０１〜Ｓ２０３）に加えて、Ｓ８０１〜Ｓ８０５の処理を行う。
【０１３４】
まず、障害関連度計算プログラム２３２は、その障害に関連するネットワーク機器およびそれらのインターフェイスの集合を作成する（Ｓ２０１）。この処理は、第１の実施形態で説明した処理と同じであるため、本実施形態では、詳しい説明を省略する。
【０１３５】
次に、障害関連度計算プログラム２３２は、その障害と同時期に発生した障害の障害報告（以下、同時期の障害報告）をデータベース４から取得する（Ｓ８０１）。ここでは、新しい障害報告の障害発生前時刻をＴ１、障害発生後時刻をＴ２と仮定する。このとき、障害関連度計算プログラム２３２は、障害発生前時刻と障害発生後時刻の間にＴ１またはＴ２を含む障害報告データ１０００を検索することで、同時期の障害報告をデータベース４から取得できる。例えば、新しい障害報告の障害発生前時刻が２００９／０７／０９の９：０５、障害発生後時刻が２００９／０７／０９の９：２５と仮定する。この場合、障害発生期間に２００９／０７／０９の９：０５または２００９／０７／０９の９：２５を含む障害報告が、その障害と同時期の障害報告である。
【０１３６】
以上が、同時期の障害報告を検索する方法の一例である。障害関連度の精度を上げるために、障害関連度計算プログラム２３２は、より複雑な検索処理を実行してもよい。例えば、障害関連度計算プログラム２３２は、障害発生期間の重複が短い障害報告は無視してもよい。
【０１３７】
その後、Ｓ８０１の処理の結果に基づいて、同時期の障害報告が一つ以上あるか否かを判定する（Ｓ８０２）。同時期の障害報告が一つ以上あると判定すると、障害関連度計算プログラム２３２は、その障害と同時期の障害報告を用いて、Ｓ２０１で発見した各ネットワーク要素の重み付けを変更する（Ｓ８０３）。障害関連度計算プログラム２３２は、この重み付けを、後のＳ２０２における計算の際に用いる。ネットワーク要素の重み付けを変更する詳細な方法を、図２５を用いて説明する。
【０１３８】
図２５は、障害関連度計算プログラム２３２が、ある障害と同時期の障害報告を用いて、その障害の各ネットワーク要素の重み付けを変更するためのフローチャートである。
【０１３９】
まず、障害関連度計算プログラム２３２は、その障害報告と障害発生期間が重複する障害報告の中から、未選択の障害報告を一つ選択する（Ｓ９０１）。以下では、ここで選択した障害報告を障害報告Ｒと記載する。
【０１４０】
次に、障害関連度計算プログラム２３２は、障害報告Ｒの障害が発生したサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する（Ｓ９０２）。以下では、ここで選択したサーバ識別子をＰ−ＳＲＶ−ＩＤと記載する。
【０１４１】
次に、障害関連度計算プログラム２３２は、サーバ識別子がＰ−ＳＲＶ−ＩＤのサーバのトラフィックが流れるネットワーク要素をデータベース４から取得する（Ｓ９０３）。この処理は、図１７のＳ３０２の処理と同じであるため、本実施形態では、詳しい説明を省略する。
【０１４２】
そして、Ｓ９０３の処理で取得したネットワーク要素の集合と、図２４のＳ２０１の処理で取得したネットワーク要素の集合の両方に含まれるネットワーク要素について、その要素別障害関連度が高くなるように重み付けを行う（Ｓ９０４）。重み付けの方法の一例を以下に示す。まず、Ｓ２０１で取得した各ネットワーク要素について、Ｓ９０４で他の障害報告（ここでは障害報告Ｒ）のネットワーク要素と重複した回数を記録する。そして、要素別障害関連度の計算において、この重複した回数が多いネットワーク要素ほどその要素別障害関連度を高くするという方法がある。
【０１４３】
障害関連度計算プログラム２３２は、障害が発生したサーバの識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し（Ｓ９０５）、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、Ｓ９０２〜Ｓ９０４の処理を行う。
【０１４４】
その後、障害報告Ｒの中に、障害が発生していないサーバの識別子が一つ以上あるか否かを判定する（Ｓ９０６）。障害報告Ｒの中に、障害が発生していないサーバの識別子が一つ以上あると判定すると、障害関連度計算プログラム２３２は、Ｓ９０７〜Ｓ９１０の処理を行う。一方、障害報告Ｒの中に、障害が発生していないサーバの識別子が一つもないと判定すると、Ｓ９１１の処理を行う。
【０１４５】
障害関連度計算プログラム２３２は、障害報告Ｒの障害が発生していないサーバの識別子の中から、このプログラムで未選択の識別子を一つ選択する（Ｓ９０７）。以下では、ここで選択したサーバ識別子をＮ−ＳＲＶ−ＩＤと記載する。
【０１４６】
次に、障害関連度計算プログラム２３２は、サーバ識別子がＮ−ＳＲＶ−ＩＤのサーバのトラフィックが流れるネットワーク要素をデータベース４から取得する（Ｓ９０８）。この処理は、図１７のＳ３０７の処理と同じであるため、本実施形態では、詳しい説明を省略する。
【０１４７】
そして、Ｓ９０８の処理で取得したネットワーク要素の集合と、図２４のＳ２０１の処理で取得したネットワーク要素の集合の両方に含まれるネットワーク要素について、その要素別障害関連度が低くなるように重み付けを行う（Ｓ９０９）。重み付けの方法の一例について、以下で説明する。
【０１４８】
まず、Ｓ２０１の処理で取得した各ネットワーク要素について、Ｓ９０９で他の障害報告（ここでは障害報告Ｒ）のネットワーク要素と重複した回数を記録する。そして、要素別障害関連度の計算において、この重複した回数が多いネットワーク要素ほどその要素別障害関連度を低くするという方法がある。
【０１４９】
障害関連度計算プログラム２３２は、障害が発生していないサーバの識別子の中に、このプログラムが未選択のサーバ識別子が存在するか否かを判定し（Ｓ９１０）、未選択のサーバ識別子が存在すると判定すると、未選択のサーバ識別子に基づいて、Ｓ９０７〜Ｓ９０９の処理を行う。
【０１５０】
続いて、障害関連度計算プログラム２３２は、その障害報告と障害発生期間が重複する障害報告の中に、このプログラムが未選択の障害報告が存在するか否かを判定し（Ｓ９１１）、未選択の障害報告が存在すると判定すると、未選択の障害報告に基づいて、Ｓ９０１〜Ｓ９１０の処理を行う。
【０１５１】
以上が、第２の実施形態における障害関連度計算プログラム２３２の動作の一例である。
【０１５２】
図２４に戻って説明を続ける。障害関連度計算プログラム２３２は、Ｓ２０１の処理で発見した各ネットワーク要素の要素別障害関連度を計算する（Ｓ２０２）。ここでは、まず、第１の実施形態で説明した方法により、各ネットワーク要素の要素別障害関連度を求める。そして、求めた障害関連度を重み付けに応じて変更する。すなわち、重み付けが大きいネットワーク要素ほど、障害関連度が高くなるように、また、重み付けが小さいネットワーク要素ほど、障害関連度が低くなるようにする。
【０１５３】
以上のように、各ネットワーク要素の要素別障害関連度を計算したあとで、障害関連度計算プログラム２３２は、それらの要素別障害関連度から、その障害に対するネットワーク全体での障害関連度を計算する（Ｓ２０３）。この処理は、第１の実施形態と同じであるため、本実施形態では、詳しい説明を省略する。
【０１５４】
その後、処理対象となっている障害報告と同時期の障害報告が一つ以上あるか否かを判定する（Ｓ８０４）。同時期の障害報告が一つ以上あると判定すると、障害関連度計算プログラム２３２は、その障害と同時期の障害報告の障害関連度を再計算し、その結果に基づいて、データベースの障害関連度データを更新する（Ｓ８０５）。その障害と同時期の障害報告の障害関連度の再計算のフローチャートは、図２４に示すフローチャートの処理からＳ８０４〜Ｓ８０５の処理を除いたものになる。これは、障害関連度の再計算でＳ８０４〜Ｓ８０５を行うと、処理がループするためである。
【０１５５】
以上のようにして、第２の実施形態によれば、障害関連度計算サーバ２は、ある新しい障害報告の障害関連度を計算する際に、過去の障害報告のデータを利用することができる。また、その計算と同時に、新しい障害報告と同時期の障害を示す障害報告の障害関連度を再計算することができる。
【０１５６】
サーバ管理者の送信する障害報告は、サーバ上でのアプリケーション利用状況を知っていなければ発見できない障害であり、ネットワーク管理者は知り得ない情報である。従って、他のユーザの障害報告のデータを用いることで、ネットワーク機器の情報だけで障害関連度を計算する場合よりも、障害関連度の正確さが高まる。これにより、ネットワーク管理者は、第１の実施形態よりも、効率的に障害報告に対処できる。
＜第３の実施形態＞
第３の実施形態では、障害報告の障害関連度を、ネットワーク管理者だけでなくサーバ管理者にも通知する例を説明する。
【０１５７】
第３の実施形態では、第１の実施形態の障害関連度計算プログラム２３２に新たな処理を追加する。データセンターシステムや障害関連度計算サーバ２の内部構造などは、第１の実施形態と同じである。
【０１５８】
図２６は、障害報告の受信からその障害関連度の通知までの、障害関連度計算サーバ２の動作の一例を示したシーケンス図である。本実施形態の障害関連度計算プログラム２３２は、第１の実施形態の処理（Ｓ１０１〜Ｓ１０９）に加えて、Ｓ１００１〜Ｓ１００２の処理を行う。
【０１５９】
本実施形態の障害関連度計算プログラム２３２は、障害関連度データの計算が終了した後で、その障害関連度データをサーバ管理プログラムに送信する（Ｓ１００１）。そして、サーバ管理プログラムは、サーバ管理者端末２０上に、上記の障害関連度データを表示する（Ｓ１００２）。
【０１６０】
このとき、障害関連度計算プログラム２３２は、障害関連度に加えて、より詳細なデータを送信してもよい。障害関連度計算プログラム２３２が送信するデータの例を以下に示す。
（１）その障害報告の障害関連度
（２）その障害報告に関連する各ネットワーク要素の要素別障害関連度（図２３の５２２０に相当）
（３）その障害報告に関連する各ネットワーク要素の接続関係（図２３の５２３０に相当）
（４）障害関連度の大きい順に並べたときに、その障害報告が全体の何番目になるか
（５）上記（１）〜（４）の結果を、障害の問題解決までの見込み時間に変換した数値
上記（３）について補足しておく。データセンターのネットワークには他ユーザのサーバも接続されているため、サーバ管理プログラムに送信されるネットワークの情報は限定されるべきである。その限定の方法としては、そのユーザが利用するサーバの経路（経路データ１５００を参照）の情報のみを表示する方法がある。別の方法としては、そのユーザが利用するサーバの経路上にあるネットワーク要素の一つ隣、あるいは二つ以上隣にあるネットワーク要素まで表示する方法がある。
【０１６１】
また、上記（５）では、例えば、推定解決時間を求めるための計算式や変換テーブルを予め用意しておく必要がある。簡単には、障害関連度に所定の時間を乗算した時間を、推定解決時間とすることができる。
【０１６２】
以上のようにして、第３の実施形態によれば、障害関連度計算サーバ２は、障害報告の障害関連度をサーバ管理者に通知することができる。これにより、ネットワーク管理者からサーバ管理者への障害原因の調査の状況報告を一部自動化することができる。従って、ネットワーク管理者の作業量を削減できる。
【０１６３】
以上、本発明の各実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計なども含まれる。
【符号の説明】
【０１６４】
１  管理ネットワーク
２  障害関連度計算サーバ
３  ネットワーク監視サーバ
４  データベース
５  物理マシン
６  スイッチ
７  ルータ
８  ファイバ・チャネル・スイッチ
９  ストレージ
１０  通信回線
１１  ＷＡＮ
１２  通信回線
２０  サーバ管理者端末
２１  Ｉ／Ｆ
２２  ＣＰＵ
２３  メモリ
２４  データパス
３０  ネットワーク管理者端末
２３１  障害報告受信プログラム
２３２  障害関連度計算プログラム
２３３  障害報告表示プログラム
１０００  障害報告データ
１１００  障害関連度データ
１２００  ユーザデータ
１３００  サーバデータ
１４００  接続関係データ
１５００  経路データ
１６００  ＣＰＵ使用率データ
１７００  帯域使用率データ
１８００  設定変更履歴データ
１９００  ネットワーク障害データ
【図１】
0005380687.tif 000002
【図２】
0005380687.tif 000003
【図３】
0005380687.tif 000004
【図６】
0005380687.tif 000005
【図７】
0005380687.tif 000006
【図８】
0005380687.tif 000007
【図９】
0005380687.tif 000008
【図１２】
0005380687.tif 000009
【図１３】
0005380687.tif 000010
【図１４】
0005380687.tif 000011
【図１５】
0005380687.tif 000012
【図１６】
0005380687.tif 000013
【図１７】
0005380687.tif 000014
【図１８】
0005380687.tif 000015
【図１９】
0005380687.tif 000016
【図２０】
0005380687.tif 000017
【図２１】
0005380687.tif 000018
【図２２】
0005380687.tif 000019
【図２３】
0005380687.tif 000020
【図２４】
0005380687.tif 000021
【図２５】
0005380687.tif 000022
【図２６】
0005380687.tif 000023
【図４】
0005380687.tif 000024
【図５】
0005380687.tif 000025
【図１０】
0005380687.tif 000026
【図１１】
0005380687.tif 000027