(57)【要約】  規模が大きな対象システムであっても可用性を分析することが可能な可用性分析装置等が提供される。可用性分析装置１５１は、（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）対象システムがとり得る複数の状態のうち、対象システムが稼動できない状態を表す障害状態である場合におけるコンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）対象システムが稼動している状態を表す稼動状態に、対象システムが障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、複数の状態に含まれる２つの状態間に関する値を算出し、算出した２つの状態間に関する値に基づいて、対象システムが、ある状態にある確率を算出し、対象システムが稼動状態になっている場合の確率に基づいて、対象システムに関する可用性を算出する解析部１５２を有する。
2015159549.tif 000002
【特許請求の範囲】
【請求項１】
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する解析手段
を備える可用性分析装置。
【請求項２】
前記２つの状態に関する値は、第１状態識別子が表す状態から第２状態識別子が表す状態への遷移に関する値であり、
前記解析手段は、前記障害状態を表す第３状態識別子と、前記条件とが関連付けされている前記障害情報に前記第１状態識別子が含まれない場合に、前記コンポーネント情報に基づき前記値を算出する
請求項１に記載の可用性分析装置。
【請求項３】
前記解析手段は、
（a）前記第３状態識別子と、前記第３状態識別子が表す前記障害状態から遷移する前記稼動状態を表す第４状態識別子と、前記遷移率とが関連付けされている前記復旧情報において、前記第１状態識別子と、前記第２状態識別子とが関連付けされている場合に、前記第１状態識別子及び前記第２状態識別子に関連付けされた前記遷移率を前記値として算出し、
（ｂ）前記第１状態識別子が前記障害状態に含まれ、前記第１状態識別子及び前記第２状態識別子が一致する場合に、前記復旧情報において、前記第１状態識別子に関連付けされた「前記遷移率×（−１）」を前記値として算出し、
（ｃ）前記第１状態識別子が前記障害状態に含まれ、前記（ａ）及び前記（ｂ）でない場合に、０を前記値として算出する
請求項２に記載の可用性分析装置。
【請求項４】
前記解析手段は、前記対象システムにおいて達成され得ない状態を表す状態識別子が含まれる非可達情報に、前記第１状態識別子または前記第２状態識別子が含まれる場合に０を前記値として算出し、前記非可達情報が受信した前記状態識別子のいずれも含まない場合に、前記（Ｉ）、前記（ＩＩ）、及び、前記（ＩＩＩ）に基づき、前記値を算出する
請求項１乃至請求項３のいずれか一項に記載の可用性分析装置。
【請求項５】
前記対象システムにおいて達成され得る状態を表す可達状態を識別可能な状態識別子が含まれる可達情報に含まれる状態識別子の個数が、所定の個数以下であるか否かを判定する判定手段と、
前記可達情報に含まれる状態識別子の個数が所定の個数以下である場合に、前記可達状態に関して、前記解析手段が算出する前記値を格納する遷移情報を作成する作成手段と
を備え、
前記解析手段は、前記遷移情報に基づき、前記可用性を算出する
請求項１乃至請求項４のいずれか一項に記載の可用性分析装置。
【請求項６】
前記判定手段は、前記可達情報に含まれる状態識別子のうち、前記障害状態を１つの状態として設定することにより前記状態識別子の個数を算出し、前記算出した状態識別子の個数が前記所定の個数以下であるか否かを判定し、
前記作成手段は、前記障害状態を１つの状態として、前記遷移情報を作成する
請求項５に記載の可用性分析装置。
【請求項７】
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する可用性分析方法。
【請求項８】
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する解析機能
をコンピュータに実現させる可用性分析プログラムを格納する記録媒体。
【請求項９】
前記２つの状態に関する値は、第１状態識別子が表す状態から第２状態識別子が表す状態への遷移に関する値であり、
前記解析機能において、前記障害状態を表す第３状態識別子と、前記条件とが関連付けされている前記障害情報に前記第１状態識別子が含まれない場合に、前記コンポーネント情報に基づき前記値を算出する
請求項８に記載の可用性分析プログラムを格納する記録媒体。
【請求項１０】
前記解析機能において、
（a）前記第３状態識別子と、前記第３状態識別子が表す前記障害状態から遷移する前記稼動状態を表す第４状態識別子と、前記遷移率とが関連付けされている前記復旧情報において、前記第１状態識別子と、前記第２状態識別子とが関連付けされている場合に、前記第１状態識別子及び前記第２状態識別子に関連付けされた前記遷移率を前記値として算出し、
（ｂ）前記第１状態識別子が前記障害状態に含まれ、前記第１状態識別子及び前記第２状態識別子が一致する場合に、前記復旧情報において、前記第１状態識別子に関連付けされた「前記遷移率×（−１）」を前記値として算出し、
（ｃ）前記第１状態識別子が前記障害状態に含まれ、前記（ａ）及び前記（ｂ）でない場合に、０を前記値として算出する
請求項９に記載の可用性分析プログラムを格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム等に関する可用性を分析可能な可用性分析装置等に関する。
【背景技術】
【０００２】
可用性（Ａｖａｉｌａｂｉｌｉｔｙ）は、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ＿Ｔｅｃｈｎｏｌｏｇｙ）システム（以降、「対象システム」と表す）に関する信頼性（利用可能性）を定量的に評価する指標の１つである。可用性は、時間の経過とともに対象システムの状態が遷移（変化）する場合に、該対象システムが利用可能な状態である確率を表す。【０００３】
対象システムを運用する事業者は、該対象システムが有する構成、または、該対象システムの状態を表す情報に基づき、可用性を算出する。事業者は、算出した可用性に基づき、対象システムに関する信頼性を定量的に評価する。あるいは、事業者は、算出した可用性に基づき、該対象システムに関する欠陥を探索する。あるいは、事業者は、算出した可用性に基づき、改善策を作成する。【０００４】
一般に、可用性は、状態遷移（Ｓｔａｔｅ＿Ｔｒａｎｓｉｔｉｏｎ）モデルに基づき算出される。たとえば、連続時間マルコフ連鎖等の確率過程（ｓｔｏｃｈａｓｔｉｃ＿ｐｒｏｃｅｓｓ）に基づき、可用性を算出する手順は、手順１及び手順２を含む。すなわち、
（手順１）対象システムに関する状態遷移をモデルとして表現する、
（手順２）該モデルに基づき確率過程を分析することにより、対象システムが利用可能な状態にある確率を算出する。【０００５】
たとえば、特許文献１は、複雑な対象システムに関する利用可能性を評価する手法として、マルコフ連鎖モデルを用いている装置を開示する。すなわち、該装置は、対象システムが有するコンポーネントに関する障害率及び回復率を用いて、該対象システムに関するマルコフ連鎖モデルを作成する。次に、該装置は、作成したマルコフ連鎖モデルが表す状態遷移を解析することにより、該対象システムに関する利用可能性を評価する。【０００６】
また、特許文献２は、状態遷移モデルと、故障木（Ｆａｕｌｔ＿Ｔｒｅｅ）とを組み合わせることにより、対象システムをモデルとして表し、該モデルに基づき、該対象システムに関する可用性を解析する手法を開示する。【０００７】
たとえば、特許文献１及び特許文献２等に開示されているように、多くの場合、可用性を解析するモデルは、連続時間マルコフ連鎖に関するモデルに帰着する。すなわち、可用性は、連続時間マルコフ連鎖を解析する手段を用いて算出される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３３７９１８号公報
【特許文献２】国際公開第２０１３／１６８４９５号
【非特許文献】
【０００９】
【非特許文献１】Ｐ．  Ｂｕｃｈｈｏｌｚ  ａｎｄ  Ｐ．  Ｋｅｍｐｅｒ，  “Ｋｒｏｎｅｃｋｅｒ＿Ｂａｓｅｄ＿Ｍａｔｒｉｘ＿Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ＿ｆｏｒ＿Ｌａｒｇｅ＿Ｍａｒｋｏｖ＿Ｍｏｄｅｌｓ”，  Ｖａｌｉｄａｔｉｏｎ＿ｏｆ＿Ｓｔｏｃｈａｓｔｉｃ＿Ｓｙｓｔｅｍｓ，  ＬＮＣＳ２９２５，  ｐｐ．２６３，  Ｓｅｃｔｉｏｎ  ２．４，  ２００４．
【発明の概要】
【発明が解決しようとする課題】
【００１０】
対象システムの状態数が増大するにつれ、状態間を遷移する遷移数は、それら状態の組み合わせに応じて急激に増大する。たとえば、対象システムの状態数がＮ（ただし、Ｎは自然数）である場合に、該状態間に関する遷移を表す行列Ｑは、Ｎの二乗個の要素を有する。したがって、記憶装置に行列Ｑを格納することにより、大量のメモリ（記憶装置）が消費される。【００１１】
さらに、行列Ｑに基づき可用性を算出する場合に、Ｎ個の要素を有するベクトルと、（Ｎ×Ｎ）個（ただし、×は掛け算を表す）の要素を有する行列との掛け算が必要である。この結果、可用性を算出するのに要する時間は、Ｎの二乗に比例して大きくなる。【００１２】
したがって、状態遷移解析に基づく可用性評価手法は、対象システムの状態数が増えるにつれて、急激に解析が困難になるという課題を有する。【００１３】
そこで、本発明の主たる目的は、規模が大きな対象システムであっても、可用性分析が可能な可用性分析装置等を提供することである。
【課題を解決するための手段】
【００１４】
前述の目的を達成するために、本発明の一態様において、可用性分析装置は、
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する解析手段
を備える。【００１５】
また、本発明の他の見地として、可用性分析方法は、
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する。【００１６】
さらに、同目的は、係る可用性分析プログラム、および、そのプログラムが記録されたコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１７】
本発明に係る可用性分析装置等によれば、規模が大きな対象システムであっても可用性を分析することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る可用性分析装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る可用性分析装置における処理の流れを示すフローチャートである。
【図３】第１の実施形態に係る計算部における処理の流れを示すフローチャートである。
【図４】入力部における処理の流れを示すフローチャートである。
【図５】コンポーネント情報の一例を概念的に表す図である。
【図６】本発明の第２の実施形態に係る可用性分析装置が有する構成を示すブロック図である。
【図７】第２の実施形態に係る可用性分析装置における処理の流れを示すフローチャートである。
【図８】可達情報等を作成する処理の流れの一例を示すフローチャートである。
【図９】本発明の第３の実施形態に係る可用性分析装置が有する構成を示すブロック図である。
【図１０】第３の実施形態に係る可用性分析装置における処理の流れを示すフローチャートである。
【図１１】本発明の第４の実施形態に係る可用性分析装置が有する構成を示すブロック図である。
【図１２】ＲＡＩＤを採用するストレージシステムが有する構成の一例を表すブロック図である。
【図１３】記憶装置に関する連続時間マルコフ連鎖の一例を概念的に表す図である。
【図１４Ａ】行列Ｑの一例を表す図である。
【図１４Ｂ】行列Ｑの一例を表す図である。
【図１５】可達状態に関する行列の一例を概念的に表す図である。
【図１６】システム障害状態を１つにまとめて処理する場合に生成される行列の一例を概念的に表す図である。
【図１７】本発明の第５の実施形態に係る可用性分析装置が有する構成を示すブロック図である。
【図１８】本発明の各実施形態に係る可用性分析装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【発明を実施するための形態】
【００１９】
まず、発明の理解を容易にするため、連続時間マルコフ連鎖等の技術的な用語について説明する。
【００２０】
連続時間マルコフ連鎖によれば、対象システムが稼動している状況、及び、対象システムが障害を有している状況等を表す状態（以降、「対象システムの状態」と表す）が遷移する関係を、無限小生成行列（以降、「行列」と表す）Ｑを用いて表す。連続時間マルコフ連鎖は、Ｃｏｎｔｉｎｕｏｕｓ＿Ｔｉｍｅ＿Ｍａｒｋｏｖ＿Ｃｈａｉｎである。無限小生成行列は、Ｉｎｆｉｎｉｔｅｓｉｍａｌ＿ｇｅｎｅｒａｔｏｒ＿ｍａｔｒｉｘである。行列Ｑにおける各行は、連続時間マルコフ連鎖において、対象システムに関する１つの状態に関連付けされている。同様に、行列Ｑにおける各列は、連続時間マルコフ連鎖において、対象システムに関する１つの状態に関連付けされている。また、異なる２つの状態間において遷移する遷移率(rate)は、行列Ｑに関する成分として表現される。平均遷移時間がＴ（ただし、Ｔ＞０）である場合に、遷移率は、たとえば、「１÷Ｔ」と表すことができる。
【００２１】
説明の便宜上、連続時間マルコフ連鎖において、たとえば、対象システムは、第１状態乃至第Ｎ（ただし、Ｎは自然数）状態を用いて表わされる。たとえば、行列Ｑの第Ｉ行及び行列Ｑの第Ｉ列は、第Ｉ状態を表し、行列Ｑの第Ｊ行及び行列Ｑの第Ｊ列は、第Ｊ状態を表す。ただし、行列Ｑは、正方行列であり、Ｉは、１≦Ｉ≦Ｎである。Ｊは、１≦Ｊ≦Ｎである。
【００２２】
この場合に、行列Ｑの第Ｉ行第Ｊ列における要素は、第Ｉ状態から第Ｊ状態に遷移する遷移率を表す。行列Ｑの第Ｉ行第Ｉ列における要素は、連続時間マルコフ連鎖の定義に従い算出される値である。
【００２３】
また、以降に示す各実施形態において、対象システムの状態は、該状態を一意に識別可能な状態識別子に関連付けされているとする。また、対象システムが、複数のコンポーネントを有する場合に、該対象システムの状態は、該コンポーネントに関する状態の組み合わせに関連付けされているとする。対象システムは、複数のコンポーネント（要素）から構成される。コンポーネントは、対象システムが備えている要素（構成要素）である。たとえば、対象システムが情報処理装置である場合に、コンポーネントは、たとえば、メモリ、ハードディスク等を表す。また、対象システムが、工場である場合に、コンポーネントは、たとえば、工場における機械、通信装置等を表す。以降、説明の便宜上、コンポーネントが稼動している状態を「コンポーネント稼動状態」と表し、コンポーネントが障害を有している状態を「コンポーネント障害状態」と表すこともある。コンポーネントに関する状態を「コンポーネント状態」と表すこともある。また、対象システムが稼動している状態を「システム稼動状態」と表し、対象システムが障害を有していて稼動できない状態を「システム障害状態」と表すこともある。対象システムに関する状態を「システム状態」と表すこともある。
【００２４】
以降、説明の便宜上、行列Ｑの第Ｉ行第Ｊ列における要素を、（Ｉ、Ｊ）要素と表す。また、行列Ｑの（Ｉ、Ｊ）要素を、Ｑ（Ｉ、Ｊ）と表す。
【００２５】
さらに、Ｑ（Ｉ、Ｉ）の値を、式１に従い定義する。すなわち、
Ｑ（Ｉ、Ｉ）＝−（Σ（Ｊ≠Ｉ）Ｑ（Ｉ，Ｊ））・・・（式１）。
【００２６】
（ただし、Σ（Ｊ≠Ｉ）は、Ｊ≠ＩなるＪについて和を算出することを表す。）
【００２７】
この行列Ｑを用いることにより、連続時間マルコフ連鎖を分析することができる。たとえば、特定の種類の連続時間マルコフ連鎖において、十分長い時間経過した後における定常状態を表す確率ベクトルπ（数値列π）は、式２に示す方程式の解として求めることができる。
【００２８】
π＃Ｑ＝０、π＝（π１、π２、・・・、πＮ）、
ΣＩπＩ＝１・・・（式２）、
（ただし、πＩは、対象システムが、定常状態において、第Ｉシステム状態である確率を表す。また、ΣＩは、１乃至Ｎにて、総和を算出することを表す。＃は、行列ベクトル積を表す）。
【００２９】
たとえば、対象システムに関する稼動状態が第１システム状態のみである場合に、該対象システムに関する定常状態における可用性は、π１である。
【００３０】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００３１】
＜第１の実施形態＞
本実施形態においては、以下の順序にて、可用性分析装置について説明する。尚、カッコ内には、参照する図面が記載されている。
【００３２】
（１）可用性分析装置が有する構成について（図１）、
（２）可用性分析装置が有する入力部における処理について（図４）、
（３）対象システムに含まれるコンポーネントのコンポーネント状態について（図５）、
（４）可用性分析装置における処理の流れについて（図２）、
（５）可用性分析装置が有する計算部における処理の流れについて（図３）。
【００３３】
まず、図１を参照しながら、本発明の第１の実施形態に係る可用性分析装置１０１が有する構成について詳細に説明する。図１は、本発明の第１の実施形態に係る可用性分析装置１０１が有する構成を示すブロック図である。
【００３４】
第１の実施形態に係る可用性分析装置１０１は、計算部１０２と、解析部１０３とを有する。可用性分析装置１０１は、さらに、入力部１０４を有してもよい。
【００３５】
次に、図４を参照しながら、入力部１０４に関する処理について説明する。図４は、入力部１０４における処理の流れを示すフローチャートである。
【００３６】
入力部１０４は、可用性５０３を評価する対象である対象システムが有する複数のコンポーネントに関するコンポーネント情報を受信する（ステップＳ２０１）。ここで、コンポーネントは、該対象システムに含まれる構成要素等を表す。たとえば、対象システムがストレージシステムである場合に、コンポーネントは、該ストレージシステムに含まれる記憶装置、及び、該記憶装置を制御する制御装置等を表す。また、対象システムが、ソフトウェアである場合に、コンポーネントは、該ソフトウェアに含まれる機能、モジュール等を表す。
【００３７】
以下の各実施形態においても、同様である。コンポーネント情報は、図５に示すように、該コンポーネントの種類に応じて、あらかじめ定義される状態遷移に関する情報を含む。図５は、コンポーネント情報の一例を概念的に表す図である。コンポーネント情報は、複数のコンポーネントに関する情報を含んでいてもよい。
【００３８】
図５に示す例においては、コンポーネントに関して、該コンポーネントが稼動している状態を表すコンポーネント稼動状態と、該コンポーネントが障害を有する状態を表すコンポーネント障害状態とからなる２つのコンポーネント状態がある。図５に示す例において、λｃは、該コンポーネントがコンポーネント稼動状態からコンポーネント障害状態に遷移する遷移率を表す。すなわち、λｃは、該コンポーネントがコンポーネント稼動状態からコンポーネント障害状態に遷移する遷移率（障害率）を表す。また、μｃは、コンポーネントがコンポーネント障害状態からコンポーネント稼動状態に遷移する遷移率（復旧率）を表す。
【００３９】
たとえば、コンポーネント情報は、コンポーネントに関する第１コンポーネント状態がコンポーネント稼動状態を表し、コンポーネントに関する第２コンポーネント状態がコンポーネント障害状態を表すような情報を含む。また、たとえば、コンポーネント情報は、該コンポーネントに関して、第１コンポーネント状態から第２コンポーネント状態に遷移する遷移率を含む。また、コンポーネント情報は、たとえば、第２コンポーネント状態から第１コンポーネント状態に遷移する遷移率に関する情報を含む。
【００４０】
入力部１０４は、受信したコンポーネント情報に基づき、対象システムに関する状態遷移モデルを生成し、該状態遷移モデルを記憶部（不図示）に格納してもよい（ステップＳ２０２）。状態遷移モデルにおいては、たとえば、対象システムに関する状態が節点を用いて表され、第１状態から第２状態への遷移が、第１状態を表す節点、及び、第２状態を表す節点を結ぶ枝を用いて表される。また、枝には、第１状態及び第２状態の間の遷移のしやすさを表す遷移率が付されてもよい。この場合に、状態遷移モデルは、概念的に、グラフを用いて表される。
【００４１】
次に、入力部１０４は、対象システムがシステム稼動状態である条件を表す稼動条件を、１つ以上含む稼動情報を受信し、該稼動情報を記憶部（不図示）に格納する（ステップＳ２０３）。稼動条件は、対象システムが含むコンポーネントに関するコンポーネント状態を用いて表される。稼動条件は、たとえば、コンポーネント状態を表す状態識別子が組み合わされることによって表される。また、稼動情報は、１つ以上の稼動条件を含む。
【００４２】
ここで、説明の便宜上、コンポーネント稼動状態を０と表し、コンポーネント障害状態を１と表す。
【００４３】
たとえば、稼動条件は、１つ以上のコンポーネントに関するコンポーネント状態の論理和として表される。これは、該対象システムに含まれる全コンポーネントがコンポーネント稼動状態である場合に、該対象システムがシステム稼動状態であることを表す。また、コンポーネントのうち、いずれか１つのコンポーネントがコンポーネント障害状態である場合に、該稼動条件の値は１となる。この場合に、該対象システムは、システム障害状態であることを表す。
【００４４】
たとえば、稼動条件は、特定のコンポーネント状態にあるコンポーネントの個数が所定の値Ｋ未満であるか否かであってもよい。この場合に、該稼動条件は、「（Ｍ−Ｋ）個以上のコンポーネントがコンポーネント稼動状態である場合に、該対象システムがシステム稼動状態である」条件を表す。ただし、Ｍは、対象システムが有するコンポーネントの個数を表す１以上の整数である。また、０≦Ｋ≦Ｍである。
【００４５】
次に、入力部１０４は、対象システムがシステム障害状態である条件を表す障害条件を、１つ以上含む障害情報を受信し、該障害情報を記憶部（不図示）に格納する（ステップＳ２０４）。障害条件は、対象システムが含むコンポーネントに関するコンポーネント状態を用いて表される。たとえば、障害条件は、コンポーネント障害状態を表す状態識別子（以降、説明の便宜上、「第３状態識別子」とも表す）を組み合わせることによって表される。また、障害情報は、１つ以上の障害条件を含む。
【００４６】
たとえば、障害条件は、１つ以上のコンポーネントに関するコンポーネント状態の論理積として表される。これは、該対象システムに含まれる全コンポーネントがコンポーネント障害状態である場合に、該対象システムがシステム障害状態であることを表す。
【００４７】
また、障害条件は、特定のコンポーネント状態にあるコンポーネントの個数が所定の値Ｋ以上であるか否かであってもよい。この場合に、該障害条件は、「Ｋ個以上のコンポーネントがコンポーネント障害状態である場合に、該対象システムがシステム障害状態である」条件を表す。
【００４８】
以降、説明の便宜上、復旧した後のシステム状態がシステム稼働状態であるとして説明を行う。しかし、復旧後のシステム状態は、必ずしも、システム稼働状態、または、システム障害状態に遷移する前のシステム稼働状態である必要はない。以降の各実施形態においても同様である。
【００４９】
次に、入力部１０４は、対象システムに関する復旧情報を受信し、受信した復旧情報を記憶部（不図示）に格納する（ステップＳ２０５）。復旧情報においては、障害条件と、該障害条件を満たす場合のシステム障害状態から復旧した後の対象システムに関するシステム稼動状態と、該システム障害状態から該システム稼動状態に遷移する場合の遷移のしやすさを表す遷移率とが関連付けされている。尚、復旧情報に含まれる障害条件は、該障害条件に関連付けされた状態識別子であってもよい。ここで、復旧率は、システム障害状態からシステム稼動状態に遷移する遷移率を表す。上述したように、障害条件は、該システム障害状態を表す状態識別子を用いて表される。このため、復旧情報においては、該障害条件が表す状態識別子（すなわち、第３状態識別子）と、システム稼動状態と、遷移率とが関連付けされていてもよい。また、復旧情報においては、第３状態識別子と、該システム稼動状態に関連付けされた状態識別子（以降、説明の便宜上、「第４状態識別子」とも表す）と、遷移率とが関連付けされていてもよい。
【００５０】
たとえば、復旧情報５０２においては、障害条件Ａを満たす場合のシステム障害状態から復旧したシステム稼動状態を表す状態（０、０）と、該システム障害状態から該システム稼動状態に遷移する場合の遷移率とが関連付けされている。たとえば、対象システムがコンポーネント１と、コンポーネント２とを有する場合に、障害条件Ａは、コンポーネント１、及び、コンポーネント２が、ともにコンポーネント障害状態であるか否かを表す条件である。この場合に、障害条件Ａは、システム状態が、状態（１、１）であるか否かである。たとえば、対象システムにおいて、コンポーネント１がコンポーネント障害状態であり、さらに、コンポーネント２がコンポーネント障害状態であることを表すシステム状態（１、１）である場合に、システム状態が障害条件Ａを満たす。このため、対象システムは、システム障害状態にある。たとえば、システム状態（１、０）は、コンポーネント１がコンポーネント障害状態であり、コンポーネント２がコンポーネント稼動状態であることを表す。したがって、システム状態（１、０）は、条件Ａを満たさない。このため、対象システムは、システム障害状態にはない。
【００５１】
可用性を解析する一例として、定常状態における可用性（ｓｔｅａｄｙ−ｓｔａｔｅ＿ａｖａｉｌａｂｉｌｉｔｙ）を、数値解析を用いて求める例を用いながら、本実施形態に係る可用性分析装置１０１における処理（図２）について説明する。図２は、第１の実施形態に係る可用性分析装置１０１における処理の流れを示すフローチャートである。尚、この例は、連続時間マルコフ連鎖に関する一例である。
【００５２】
解析部１０３は、１回以上、後述の処理を実行することにより、対象システムが、定常状態において、第Ｉ（ただし、１≦Ｉ≦Ｎ）システム状態であることを表す指標πＩを算出する。すなわち、解析部１０３は、数値列π＝（π１、π２、・・・、πＮ）を算出する。
【００５３】
以降、説明の便宜上、解析部１０３がｋ（ただし、ｋは自然数）回目の処理を行う場合に、更新する対象となる数値列を、数値列（ベクトル）π（ｋ）と表すとする。また、計算部１０２は、第Ｉシステム状態から第Ｊ（ただし、１≦Ｊ≦Ｎ）システム状態に遷移する場合の遷移率（すなわち、Ｑ（Ｉ，Ｊ））、及び、式１に従いＱ（Ｉ，Ｉ）を算出するとする。しかし、計算部１０２は、必ずしも、遷移率そのものを算出する必要はなく、該遷移率に基づき算出される値であってもよい。
【００５４】
まず、解析部１０３は、１回目の処理において、数値列π（１）を算出する。数値列π（１）は、１つの要素のみが１であり、他の要素が０である数字列であってもよい。また、数値列π（１）は、特定の手順に従い算出される数値列であってもよい。
【００５５】
次に、解析部１０３は、ｋ回目の処理において、数値列π（ｋ）と、計算部１０２が算出する値とに基づき、数値列π（ｋ＋１）を算出する。
【００５６】
たとえば、解析部１０３は、式３に示すようなヤコビ（Ｊａｃｏｂｉ）法に従い、数値列π（ｋ）を数値列π（ｋ＋１）に更新する。すなわち、
πｉ（ｋ＋１）＝−１÷ｑｉｉ×Σ（ｉ≠ｊ）（ｑｉｊ×πｊ（ｋ））・・・（式３）、
（ただし、πｉ（ｋ）は、数値列π（ｋ）におけるｉ番目の数値（すなわち、対象システムが第ｉシステム状態である確率）を表す。ｑｉｊは、第ｉシステム状態から第ｊシステム状態に遷移する遷移率を表す。Σ（ｉ≠ｊ）は、ｉとｊとが異なる値の場合における和を算出することを表す）。
【００５７】
ただし、解析部１０３は、ｑｉｉが０である場合に、πｉ（ｋ）を更新しない。解析部１０３は、式３において、ｑｉｊ、及び、ｑｉｉを参照する。解析部１０３は、たとえば、ｑｉｊを参照する場合に、ｉ（状態識別子、「第１状態識別子」と表す）と、ｊ（状態識別子、「第２状態識別子」と表す）とを、計算部１０２に送信する。
【００５８】
次に、計算部１０２は、第１状態識別子と第２状態識別子とを受信する。次に、計算部１０２は、受信した第１状態識別子が表す第Ｉシステム状態から、第２状態識別子が表す第Ｊシステム状態へ遷移する場合の値、あるいは、式１に従いＱ（Ｉ，Ｉ）を算出する（ステップＳ１０１）。計算部１０２は、算出した値を解析部１０３に送信する。
【００５９】
計算部１０２に関する処理の詳細については、後述する。
【００６０】
解析部１０３は、計算部１０２が算出した値を受信し、受信した値をｑｉｊ、または、ｑｉｉとして、式３に従い、数値列π（ｋ）を更新する（ステップＳ１０２）。
【００６１】
解析部１０３は、ｑｉｉを参照する場合にｉ（すなわち、第１状態識別子）と、ｉ（すなわち、第２状態識別子）とを、計算部１０２に送信する。上述した処理と同様に、解析部１０３は、計算部１０２が式１に従い算出する値を受信し、受信した値をｑｉｉとして、式３に従い、数値列π（ｋ）を数値列π（ｋ＋１）に更新する。
【００６２】
尚、解析部１０３は、数値列π（ｋ）と数値列π（ｋ＋１）との差分が、所定の値εよりも小さい（すなわち、式４に示す不等式）場合に、数値列π（ｋ）を更新する処理を終了する。
【００６３】
｜π（ｋ＋１）−π（ｋ）｜＜ε・・・（式４）、
（ただし、｜｜は絶対値を算出することを表す）。
【００６４】
説明の便宜上、ｋ回目の反復において、数値列π（ｋ＋１）は、式４を満たすとする。この場合に、解析部１０３は、数値列π（ｋ＋１）を算出する。
【００６５】
次に、解析部１０３は、算出した数値列π（ｋ＋１）に基づき、可用性を算出する。解析部１０３は、たとえば、対象システムに関するシステム稼動状態を表す第Ｉシステム状態に関して、πＩ（ｋ＋１）の総和を算出することにより、該対象システムに関する可用性を算出する。
【００６６】
次に、図３を参照しながら、計算部１０２における処理について説明する。図３は、第１の実施形態に係る計算部１０２における処理の流れを示すフローチャートである。
【００６７】
計算部１０２は、第１状態識別子と、第２状態識別子とを受信する。次に、計算部１０２は、該第１状態識別子が表す第Ｉシステム状態がシステム障害状態であるか否かを判定する（ステップＳ１０３）。たとえば、計算部１０２は、障害情報５０１において、第１状態識別子を含むか否かに基づいて、ステップＳ１０３に示す判定処理を実行する。すなわち、上述したように、障害条件が、該システム障害状態に関連付けされた状態識別子を用いて表されるので、計算部１０２は、障害状態に関連付けされた状態識別子と、第１状態識別子とを比較する。
【００６８】
計算部１０２は、第１状態識別子が表す第Ｉシステム状態がシステム障害状態である場合に（ステップＳ１０３にてＹＥＳ）、復旧情報５０２から、第１状態識別子に関連付けされた、システム稼動状態を表す状態識別子と遷移率とを読み取る。この場合に、システム稼動状態は、該稼動状態に関連付けされた状態識別子であってもよい。
【００６９】
次に、計算部１０２は、読み取ったシステム稼動状態を表す状態識別子が、第２状態識別子に一致するか否かを判定する（ステップＳ１０４）。計算部１０２は、複数のシステム稼動状態を表す状態識別子を読み取る場合に、各システム稼動状態に関して、ステップＳ１０４に示す処理を実行する。
【００７０】
計算部１０２は、システム稼動状態に関連付けされた状態識別子が該第２状態識別子に一致する場合に（ステップＳ１０４にてＹＥＳ）、読み取った遷移率に基づき算出した値を、解析部１０３に送信する（ステップＳ１０５）。
【００７１】
計算部１０２は、システム稼動状態に関連付けされた状態識別子が該第２状態識別子に一致しない場合に（ステップＳ１０４にてＮＯ）、第１状態識別子と第２状態識別子とが一致するか否かを判定する（ステップＳ１０９）。計算部１０２は、第１状態識別子と第２状態識別子とが一致しない場合に、値として０を算出し、算出した０を解析部１０３に送信する（ステップＳ１０６）。計算部１０２は、第１状態識別子と第２状態識別子とが一致する場合に、値として、復旧率×（−１）（すなわち、復旧率にマイナスを付した値）を算出し、算出した値を解析部１０３に送信する（ステップＳ１０８）。この場合に、復旧率は、第１状態識別子が表すシステム障害状態から、該システム障害状態に関して復旧した状態に遷移する遷移率を表す。
【００７２】
さらに、計算部１０２は、障害情報５０１が受信した第１状態識別子を含まない場合に（ステップＳ１０３にてＮＯ）、状態遷移モデルにおいて、該第１状態識別子に隣接している状態識別子を読み取る。ある状態識別子に隣接しているとは、状態遷移モデルにおいて、ある状態識別子が表す第Ｉシステム状態から、異なるシステム状態を経由することなく、直接、遷移可能であるシステム状態を表す。この場合に、計算部１０２は、コンポーネント情報に基づき、所定の算出手順（方法）に従い、第１状態識別子が表す第Ｉシステム状態から、第２状態識別子が表す第Ｊシステム状態に遷移する場合の遷移率を算出する（ステップＳ１０７）。
【００７３】
たとえば、所定の算出手順は、コンポーネントを表す状態遷移モデルに関して、クロネッカー和を算出する手順である。該所定の算出手順は、相互に独立に処理するコンポーネントを含む対象システムのシステム状態に関する遷移を表す生成行列が、各コンポーネントに関するコンポーネント状態に関する遷移を表す生成行列Ｑｋに関するクロネッカー和であることに基づく。クロネッカー和を算出する手順については、後述する。
【００７４】
尚、計算部１０２は、第１状態識別子及び第２状態識別子に基づき、値を算出するとしたが、第１状態識別子及び複数の第２状態識別子に基づき、各第２状態識別子に関して値を算出してもよい。
【００７５】
次に、第１の実施形態に係る可用性分析装置１０１に関する効果について説明する。
【００７６】
第１の実施形態に係る可用性分析装置１０１によれば、規模が大きな対象システムであっても、可用性を分析することができる。この理由は、第１システム状態から第２システム状態に遷移することを表す行列を記憶する必要がないからである。
【００７７】
より具体的には、本実施形態において、解析部１０３は、可用性を算出する場合に、計算部１０２に算出に必要な値を要求し、計算部１０２が算出した値を参照する。この結果、可用性分析装置１０１は、該値を記憶する必要がない。この理由は、計算部１０２が、コンポーネント情報、障害情報、及び、復旧情報に基づき、該値を算出可能であるからである。
【００７８】
一方、特許文献１及び特許文献２に開示される装置は、可用性を算出する場合に、第Ｉシステム状態から第Ｊシステム状態に遷移する場合の遷移率を、行列として記憶部（不図示）に格納する。該装置は、記憶部が記憶する行列に基づき、可用性を算出する。したがって、該装置は、記憶部が該行列を格納することができない場合に、可用性を算出することができない。
【００７９】
このことを換言すると、上述したように、対象システムのシステム状態の個数（状態数、Ｎと表す）が増大するにつれ、該遷移率を格納する行列は、（Ｎ×Ｎ）に比例して増大する。したがって、記憶部が（Ｎ×Ｎ）個分の要素しか記憶できない場合に、特許文献１及び特許文献２に開示される装置は、Ｎ個以下のシステム状態数を有する対象システムに関してのみ、可用性を算出することができる。
【００８０】
これに対して、本実施形態に係る可用性分析装置１０１は、上述したように、行列を記憶部に格納しない。したがって、可用性分析装置１０１は、対象システムが、Ｎ個以上のシステム状態数を含む場合であっても、対象システムに関する可用性を算出することができる。また、対象システムのシステム状態数は、該対象システムが有するコンポーネント数、及び、該コンポーネントのコンポーネント状態数に応じて決められる。したがって、可用性分析装置１０１によれば、コンポーネントが増える場合であっても、行列の要素全てを記憶する必要がないので、可用性を分析することができる。
【００８１】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００８２】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００８３】
図６と図７とを参照しながら、第２の実施形態に係る可用性分析装置１１１が有する構成と、可用性分析装置１１１が行う処理とについて説明する。図６は、本発明の第２の実施形態に係る可用性分析装置１１１が有する構成を示すブロック図である。図７は、第２の実施形態に係る可用性分析装置１１１における処理の流れを示すフローチャートである。
【００８４】
第２の実施形態に係る可用性分析装置１１１は、計算部１１３と、解析部１０３とを有する。可用性分析装置１１１は、さらに、入力部１１２と、作成部１１４とを有してもよい。
【００８５】
計算部１１３は、受信した状態識別子のいずれかを、非可達情報が含むか否かを判定する（ステップＳ１１１）。非可達情報は、システム障害状態から、さらに一つ以上のコンポーネントが障害となった状態（可用性解析の目的においてその到達性を考慮する必要がないため、以降、「非可達状態」と表す）に関連付けされた状態識別子から構成される。あるいは、計算部１１３は、受信した状態識別子のいずれかを、可達（ｒｅａｃｈａｂｌｅ）情報が含むか否かを判定してもよい。可達情報は、非可達状態でないシステム状態（以降、「可達状態」と表す）に関連付けされた状態識別子から構成される。
【００８６】
上述したように、非可達状態は、システム稼働状態から、次に遷移することが不可能な障害状態である。可達状態は、非可達状態でないシステム状態を表す。
【００８７】
まず、図８を参照しながら、可達情報、または、非可達情報を作成する処理の流れ等について説明する。図８は、可達情報等を作成する処理の流れの一例を示すフローチャートである。
【００８８】
本実施形態に係る可用性分析装置１１１においては、可達情報、または、非可達情報を受信するとする。しかし、後述のように、可用性分析装置１１１は、図８に示す処理に従い可達情報、または、非可達情報を作成する作成部１１４を有してもよい。
【００８９】
作成部１１４は、対象システムが有する各コンポーネントに関するコンポーネント状態に基づき、対象システムのシステム状態の集合Ωを作成する（ステップＳ２１１）。作成部１１４は、各コンポーネントに関する各コンポーネント状態を組み合わせることにより、対象システムのシステム状態を作成する。
【００９０】
たとえば、該対象システムが、コンポーネントＡとコンポーネントＢとを有するとする。コンポーネントＡに関する状態は、コンポーネント状態Ｕａ、及び、コンポーネント状態Ｆａであるとする。コンポーネントＢに関する状態は、コンポーネント状態Ｕｂ、及び、コンポーネント状態Ｆｂであるとする。また、コンポーネント状態Ｆａは、コンポーネントＡに関するコンポーネント障害状態を表すとする。コンポーネント状態Ｆｂは、コンポーネントＢに関するコンポーネント障害状態を表すとする。コンポーネント状態Ｕａは、コンポーネントＡに関するコンポーネント稼動状態を表すとする。コンポーネント状態Ｕｂは、コンポーネントＢに関するコンポーネント稼動状態を表すとする。
【００９１】
この場合に、作成部１１４は、各コンポーネントに関するコンポーネント状態を組み合わせることにより、対象システムに関するシステム状態の集合Ωを、式５に示すように作成する（ステップＳ２１１）。
【００９２】
Ω＝｛（Ｕａ、Ｕｂ）、（Ｕａ、Ｆｂ）、（Ｆａ、Ｕｂ）、（Ｆａ、Ｆｂ）｝・・・（式５）。
【００９３】
尚、（Ｕａ、Ｕｂ）、（Ｕａ、Ｆｂ）、（Ｆａ、Ｕｂ）、または、（Ｆａ、Ｆｂ）は、システム状態の一例である。
【００９４】
たとえば、コンポーネントＡ、または、コンポーネントＢに関して、いずれか一方がコンポーネント障害状態である場合に、対象システムは、システム障害状態であるとする。この場合に、集合Ωのうち、対象システムに関するシステム障害状態は、システム障害状態（Ｕａ、Ｆｂ）、システム障害状態（Ｆａ、Ｕｂ）、及び、システム障害状態（Ｆａ、Ｆｂ）である。
【００９５】
たとえば、コンポーネントＢがコンポーネント障害状態である場合に、対象システムは、システム障害状態（Ｕａ、Ｆｂ）である。対象システムは、システム障害状態になる（陥る）のに応じて、本来、有している機能を失う。これに応じて、該対象システムは、復旧手順に応じて復旧処理が行われる。この結果、さらに、対象システムにおいて、コンポーネントＡがコンポーネント障害状態になる状況は生じない。したがって、対象システムの状態は、システム状態（Ｕａ、Ｕｂ）から、１つ以上のシステム障害状態を経由することなく、システム状態（Ｆａ、Ｆｂ）に遷移することはない。
【００９６】
上述した例の場合に、非可達情報は、システム状態（Ｆａ、Ｆｂ）を表す状態識別子を用いて構成される。すなわち、この場合に、非可達情報は、１つ以上のシステム障害状態を経由することにより遷移することが可能なシステム障害状態を表す状態識別子を含む。また、可達情報は、システム状態（Ｕａ、Ｕｂ）、システム状態（Ｕａ、Ｆｂ）、及び、システム状態（Ｆａ、Ｕｂ）を表す状態識別子を用いて構成される。
【００９７】
たとえば、対象システムが５種類のコンポーネントを有する場合に、該対象システムに関するシステム障害状態は、３種類以上のコンポーネントがコンポーネント障害状態である場合とする。この場合に、システム状態に関する非可達状態は、４種類以上のコンポーネントがコンポーネント障害状態である場合である。
【００９８】
図８を参照しながら、ステップＳ２１２以降の処理について説明する。たとえば、作成部１１４は、集合Ωに含まれる要素に、障害情報５０１に含まれる障害条件を適用することにより、各要素が対象システムに関する障害条件を満たすか否かを判定する（ステップＳ２１２）。次に、作成部１１４は、システム障害状態である要素（「第１要素」と表す）に関して、システム障害状態を構成するコンポーネント状態が１つ異なる要素（「第２要素」と表す）を集合Ωから抽出する。
【００９９】
次に、作成部１１４は、第２要素が障害条件を満たすか否かを調べる。作成部１１４は、抽出した第２要素が全て障害条件を満たす場合に、第１要素を、非可達情報に加える（ステップＳ２１３）。作成部１１４は、抽出した第２要素のうち、障害条件を満たさない要素があれば、第１要素を、可達情報に加える。
【０１００】
さらに、作成部１１４は、稼動情報に含まれる状態識別子を、可達情報に加える。
【０１０１】
入力部１１２は、対象システムに関する可達情報を、外部または作成部１１４から受信し、該可達情報を記憶部（不図示）に格納する。
【０１０２】
図７を参照しながら、ステップＳ１１１以降の処理について説明する。計算部１１３は、受信したいずれかの状態識別子が表すシステム状態が、非可達情報に含まれる場合に（ステップＳ１１１にてＮＯ）、値を０とする（ステップＳ１１３）。また、計算部１１３は、非可達情報が、受信した状態識別子を含まない場合に（ステップＳ１１１にてＹＥＳ）、図３に示すステップＳ１０３乃至ステップＳ１０７に示す処理に従い、値を算出する（ステップＳ１１２）。
【０１０３】
次に、第２の実施形態に係る可用性分析装置１１１に関する効果について説明する。
【０１０４】
本実施形態に係る可用性分析装置１１１によれば、第１の実施形態に係る可用性分析装置１０１が有する効果に加え、さらに、計算時間を短縮することができる。
【０１０５】
この理由は、理由１及び理由２である。すなわち、
（理由１）第２の実施形態に係る可用性分析装置１１１が有する構成は、第１の実施形態に係る可用性分析装置１０１が有する構成を含むからである、
（理由２）非可達状態に関する処理が減るからである。
【０１０６】
上述したように、計算部１１３は、まず、第１状態識別子、または、第２状態識別子が、表すシステム状態が非可達状態を表すか否かを判定し、非可達状態である場合に、値を０とする。計算部１１３は、第１状態識別子及び第２状態識別子が表すシステム状態が非可達状態でない場合に、ステップＳ１１２に関する処理を実行する。したがって、第１の実施形態に係る可用性分析装置１０１に比べ、ステップＳ１１２に関する処理は減少する。この結果、本実施形態に係る可用性分析装置１１１によれば、さらに、計算時間を短縮することができる。
【０１０７】
＜第３の実施形態＞
次に、上述した第２の実施形態を基本とする本発明の第３の実施形態について説明する。
【０１０８】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第２の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１０９】
図９と図１０とを参照しながら、第３の実施形態に係る可用性分析装置１２３が有する構成と、可用性分析装置１２３が行う処理とについて説明する。図９は、本発明の第３の実施形態に係る可用性分析装置１２３が有する構成を示すブロック図である。図１０は、第３の実施形態に係る可用性分析装置１２３における処理の流れを示すフローチャートである。
【０１１０】
第３の実施形態に係る可用性分析装置１２３は、計算部１１３と、解析部１２４と、判定部１２１と、遷移情報作成部１２２とを有する。
【０１１１】
判定部１２１は、可達情報に含まれる可達状態を表す状態識別子の個数（以降、「可達状態数」と表す）が、所定の数未満であるか否かを判定する（ステップＳ１２１）。
【０１１２】
算出した可達状態数が所定の数未満であると判定部１２１が判定する場合に（ステップＳ１２１にてＹＥＳ）、遷移情報作成部１２２は、計算部１１３が算出する値に基づき、該可達状態間に関する遷移の状態を表す遷移情報を作成する（ステップＳ１２２）。たとえば、遷移情報作成部１２２は、可達状態を表す状態識別子を計算部１１３に送信する。計算部１１３は、該状態識別子を受信し、受信した状態識別子に関する値を算出し、算出した値を遷移情報作成部１２２に送信する。遷移情報作成部１２２は、該値を受信し、受信した値を遷移情報に格納する。遷移情報は、上述した無限小生成行列を用いて表すことができる。また、遷移情報は、たとえば、第Ｉシステム状態（可達状態）から第Ｊシステム状態（可達状態）に遷移する場合において、計算部１１３が算出した値を行列Ｑ（Ｉ，Ｊ）に格納することにより作成される。次に、解析部１２４は、該遷移情報に基づき、可用性を算出する（ステップＳ１２３）。
【０１１３】
遷移情報作成部１２２が作成する遷移情報は、対象システムにおける可達状態に関する無限小生成行列と等価である。
【０１１４】
一方、算出した可達状態数が所定の数以上であると判定部１２１が判定する場合に（ステップＳ１２１にてＮＯ）、解析部１２４は、図２におけるステップＳ１０１及びステップＳ１０２に示す処理に従い可用性を算出する（ステップＳ１２４）。
【０１１５】
次に、第３の実施形態に係る可用性分析装置１２３に関する効果について説明する。
【０１１６】
本実施形態に係る可用性分析装置１２３によれば、第２の実施形態に係る可用性分析装置１１１が有する効果に加え、さらに、高速に可用性を算出することができる。
【０１１７】
この理由は、理由１及び理由２である。すなわち、
（理由１）第３の実施形態に係る可用性分析装置１２３が有する構成は、第２の実施形態に係る可用性分析装置１１１が有する構成を含むからである、
（理由２）遷移情報を作成することにより、第Ｉシステム状態から第Ｊシステム状態に遷移する場合の遷移率等を繰り返し算出する必要がないからである。
【０１１８】
可用性分析装置１２３は、可達状態の数が所定の数より少ない場合に、遷移情報を作成する。この処理により、可用性分析装置１２３は、遷移情報を格納する記憶領域を制限する状況と、遷移率等を繰り返し算出する処理を回避する状況とを作成する。
【０１１９】
＜第４の実施形態＞
次に、上述した第３の実施形態を基本とする本発明の第４の実施形態について説明する。
【０１２０】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第３の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【０１２１】
図１１を参照しながら、第４の実施形態に係る可用性分析装置１３３が有する構成と、可用性分析装置１３３が行う処理とについて説明する。図１１は、本発明の第４の実施形態に係る可用性分析装置１３３が有する構成を示すブロック図である。
【０１２２】
第４の実施形態に係る可用性分析装置１３３は、計算部１１３と、解析部１２４と、判定部１３１と、遷移情報作成部１３２とを有する。
【０１２３】
判定部１３１は、可達情報に含まれる可達状態数が、所定の数未満であるか否かを判定する。
【０１２４】
可達状態数が所定の数未満である場合に、遷移情報作成部１３２は、可達状態間に関する遷移の状態を表す遷移情報を作成する。ただし、遷移情報作成部１３２は、対象システムに関するシステム障害状態を、一つのシステム障害状態として処理する。たとえば、上述した例に示すように、対象システムが、コンポーネントＡと、コンポーネントＢとを含む場合に、遷移情報作成部１３２は、システム状態（Ｕａ，Ｆｂ）とシステム状態（Ｆａ，Ｕｂ）とを１つのシステム障害状態として処理する。ここで、システム状態（Ｕａ，Ｆｂ）及びシステム状態（Ｆａ，Ｕｂ）は、対象システムに関するシステム障害状態を表す。
【０１２５】
この例の場合に、遷移情報作成部１３２は、たとえば、（Ｕａ，Ｆｂ）と（Ｆａ，Ｕｂ）という２つのシステム状態に対して、Ｆｓという１つのシステム状態を割り当てる。遷移情報作成部１３２は、さらに、対象システムに関するシステム稼動状態（Ｕａ，Ｕｂ）にＵｓというシステム状態を割り当てる。この場合に、システム状態（Ｆａ，Ｆｂ）は、非可達状態であるので、遷移情報作成部１３２は、（Ｆａ，Ｆｂ）にシステム状態を割り当てない。すなわち、遷移情報作成部１３２は、対象システムのシステム状態として、Ｕｓ及びＦｓという２つのシステム状態を処理する。
【０１２６】
遷移情報作成部１３２は、たとえば、システム状態（Ｕａ，Ｆｂ）からある状態への遷移に関して計算部１１３が算出する値、及び、システム状態（Ｆａ，Ｕｂ）に関する遷移に関して計算部１１３が算出する値に関して、該２つの値に後述するような演算を適用する。この演算によって、遷移情報作成部１３２は、（Ｕａ，Ｆｂ）と（Ｆａ，Ｕｂ）という２つのシステム状態を、Ｆｓという１つのシステム状態として処理を実行する。遷移情報作成部１３２は、第３の実施形態に係る遷移情報作成部１２２と同様に、演算した結果に基づき行列Ｑを作成する。
【０１２７】
次に、ストレージシステムに関する具体的な例を用いながら、本実施形態に係る可用性分析装置１３３における処理について説明する。この例において、可用性分析装置１３３は、連続時間マルコフ連鎖に基づき、図１２に示すようなＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ＿Ａｒｒａｙ＿ｏｆ＿Ｉｎｄｅｐｅｎｄｅｎｔ＿Ｄｉｓｋｓ）レベル５を採用するストレージシステム５２２に関する可用性を算出する。図１２は、ＲＡＩＤを採用するストレージシステム５２２を含む情報システムが有する構成の一例を表すブロック図である。
【０１２８】
この例において、可用性分析装置１３３は、複数の記憶装置を有するストレージシステム５２２に関する可用性を算出する。尚、記憶装置は、磁気ディスク、不揮発性の半導体メモリ等である。記憶装置が有する態様は、上記の例に限定されない。
【０１２９】
ＲＡＩＤ技術は、ストレージシステムに関する信頼性や、性能等を向上する１つの技術である。ＲＡＩＤ技術を採用するストレージシステムに関する可用性は、ＲＡＩＤが有する記憶装置に関する信頼性、記憶装置が障害状態である場合におけるデータを復旧する処理に関する効率、及び、データが失われた場合における復旧処理に関する効率等に依存する。
【０１３０】
また、ストレージシステムに関する可用性は、さらに、データを格納する態様を規定するＲＡＩＤレベルに依存する。
【０１３１】
たとえば、ＲＡＩＤレベルが５である場合に、ストレージシステムは、記憶装置にデータを格納する際に、該データに関するパリティを算出する。ストレージシステムは、該データと、算出したパリティとを記憶装置に格納する。該ストレージシステムにおいては、記憶装置のうち一台の記憶装置がコンポーネント障害状態になる場合に、該コンポーネント障害状態になった記憶装置が、新しい記憶装置に交換される。該ストレージシステムは、算出したパリティと、他の記憶装置が記憶するデータとに基づき、該障害を発生した記憶装置が記憶するデータを復旧し、復旧したデータを、新しい記憶装置に格納する。
【０１３２】
しかし、ＲＡＩＤレベル５を採用するストレージシステムは、記憶装置のうち、２台の記憶装置が障害を有する場合に、パリティに基づいて、障害を有する記憶装置が記憶するデータを復旧できない。この場合には、バックアップデータ等に基づき、ストレージシステムを再構築する。ユーザは、ストレージシステムを再構築する期間に、該ストレージシステムを利用することはできない。
【０１３３】
図１２を参照すると、ストレージシステム５２２は、ＲＡＩＤ（ＲＡＩＤレベル５であるとする）コントローラ５２４と、記憶装置５２５と、記憶装置５２６と、記憶装置５２７とを有する。バックアップシステム５２３は、記憶装置５２８を有する。ホストコンピュータ５２１は、ストレージシステム５２２、及び、バックアップシステム５２３と通信可能である。
【０１３４】
バックアップシステム５２３は、ＲＡＩＤコントローラ５２４によって構成されるＲＡＩＤ構成のストレージ装置に格納されているデータを記憶装置５２８に格納する。ストレージシステム５２２を利用するユーザは、記憶装置に格納されたデータの読み書きを、ホストコンピュータ５２１を介して行う。さらに、ホストコンピュータ５２１は、たとえば、ストレージシステム５２２におけるデータが消失するのに備え、データをバックアップシステム５２３に定期的にバックアップする。ホストコンピュータ５２１は、ストレージシステム５２２が記憶するデータにアクセスできる確率（可用性）を分析する。すなわち、ホストコンピュータ５２１には、可用性分析装置１３３が含まれているとする。
【０１３５】
ユーザは、入力部１０４（図１）に、ストレージシステム５２２に関する稼動情報、及び、各コンポーネントに関する情報等を入力する。
【０１３６】
入力部１０４は、ストレージシステム５２２が有するコンポーネント（たとえば、記憶装置５２５乃至記憶装置５２７）に基づき、状態遷移モデルを生成する。
【０１３７】
説明の便宜上、ＲＡＩＤコントローラ５２４は、図５に例示するように、コンポーネント稼動状態とコンポーネント障害状態との２つの状態を含む連続時間マルコフ連鎖を用いて表されるとする。図５において、ＲＡＩＤコントローラ５２４に関する障害率は、λｃであり、ＲＡＩＤコントローラ５２４に関する復旧率は、μｃである。同様に、記憶装置５２５、記憶装置５２６、及び、記憶装置５２７は、それぞれ、図１３に例示するように、コンポーネント稼動状態とコンポーネント障害状態との２つの状態を含む連続時間マルコフ連鎖を用いて表されるとする。図１３は、記憶装置に関する連続時間マルコフ連鎖の一例を概念的に表す図である。図１３において、記憶装置に関する障害率は、λｄであり、記憶装置に関する復旧率は、μｄである。
【０１３８】
説明の便宜上、ＲＡＩＤコントローラ５２４、記憶装置５２５、記憶装置５２６、及び、記憶装置５２７に関するコンポーネント状態を、それぞれ、ｘ１、ｘ２、ｘ３、ｘ４と表す。ただし、ｘｉ（ｉ＝１，２，３、４）＝｛０、１｝（ただし、０は、コンポーネント稼動状態を表す。１は、コンポーネント障害状態を表す）である。この場合に、ストレージシステム５２２に関するシステム状態を表す集合Ωは、各コンポーネントに関するコンポーネント状態を組み合わせたシステム状態（ｘ１，ｘ２，ｘ３、ｘ４）を用いて表すことができる。
【０１３９】
記憶装置５２５、記憶装置５２６、または、記憶装置５２７のうち、２台以上の記憶装置と、ＲＡＩＤコントローラ５２４とが稼動している場合に、ストレージシステム５２２は、システム稼動状態である。したがって、入力部１０４は、ストレージシステム５２２に関する稼動情報として、たとえば、式６に示す稼動条件Ａを受信する。
【０１４０】
稼動条件Ａ：ｘ１∨（ｘ２∧ｘ３∨ｘ２∧ｘ４∨ｘ３∧ｘ４）・・・（式６）、
（ただし、∧は、論理積を表す。∨は、論理和を表す）。
【０１４１】
ただし、稼動情報は、必ずしも、式６に示す論理式でなくともよい。
【０１４２】
ここで、稼動条件Ａは、ストレージシステム５２２に関する稼動条件を表し、ストレージシステム５２２が稼動状態にある場合に０である。
【０１４３】
一方、ストレージシステム５２２に関するシステム障害状態は、ＲＡＩＤコントローラ５２４がコンポーネント障害状態である場合（式７）、または、３台の記憶装置のうち２台の記憶装置がコンポーネント障害状態である場合（式８）である。この場合に、入力部１０４は、ストレージシステム５２２に関する障害情報５０１として、式７、及び、式８を受信する。
【０１４４】
障害条件ＦＣ：ｘ１・・・（式７）、
障害条件ＦＳ：ｘ２∧ｘ３∨ｘ２∧ｘ４∨ｘ３∧ｘ４・・・（式８）。
【０１４５】
ストレージシステム５２２がシステム障害状態である場合に、障害条件ＦＣまたは障害条件ＦＳのいずれかの値は、１である。
【０１４６】
以降、説明の便宜上、ＲＡＩＤコントローラ５２４に関するコンポーネント障害状態からコンポーネント稼動状態に復旧する際の復旧率をａＣと表す。また、３台の記憶装置のうち２台が障害状態になる場合に、バックアップシステム５２３からデータを復旧することにより、ストレージシステム５２２を再構築する場合の復旧率をａＳと表す。また、復旧後のストレージシステム５２２のシステム状態を、（ｘ１，ｘ２，ｘ３、ｘ４）＝（０、０、０、０）と表す。
【０１４７】
入力部１０４は、ストレージシステム５２２に関する復旧情報５０２として、式９、及び、式１０を受信する。尚、入力部１０４は、復旧情報５０２を作成してもよい。
【０１４８】
（障害条件ＦＣ、（０、０、０、０）、ａＣ）・・・（式９）、
（障害条件ＦＳ、（０、０、０、０）、ａＳ）・・・（式１０）。
【０１４９】
次に、解析部１２４は、数値列π（１）を生成する。ストレージシステム５２２に関するシステム状態は、１６（＝２４）通りである。このため、数値列π（１）は、１６個の数値を含む。解析部１２４における数値解析手法は、たとえば、第１の実施形態に示すヤコビ法等である。解析部１２４は、数値列π（ｋ）を数値列π（ｋ＋１）に更新し、数値列π（ｋ）と数値列π（ｋ＋１）との差が十分に小さくなった場合に、数値列π（ｋ）を更新する処理を終了する。
【０１５０】
解析部１２４は、数値列π（ｋ）を更新する処理において、図１４Ａ及び図１４Ｂに例示する行列Ｑのうち、本発明の各実施形態に示す処理に従い算出された一部のｑｉｊ（たとえば可達状態に関するｑｉｊ）の値のみを参照する。図１４Ａ及び図１４Ｂは、一般的な行列Ｑの一例を表す図であり、図示の制約により２つの図面に分けて表すこととする。行列Ｑに含まれる第ｉ行第ｊ列成分ｑｉｊは、第ｉシステム状態から第ｊシステム状態に遷移する遷移率を表す。ｑｉｉは、係る第ｉシステム状態から異なるシステム状態に遷移する遷移率の総和に「−１」をかけた値を表す。係る第ｉシステム状態が可達状態である場合に、ｑｉｊは、図３のフローチャートに示すような一連の処理に従い、計算部（たとえば、計算部１０２、計算部１１３）によって算出される。尚、図３におけるステップＳ１０７は、後述する式１３に示すクロネッカー和に基づき計算部１１３が算出する処理を表す。一方、係る第ｉシステム状態が非可達状態である場合に、ｑｉｊ、及び、ｑｉｉは、０である。
【０１５１】
解析部１２４は、たとえば、ｉ及びｊの値を、計算部１１３に送信してもよい。この場合に、計算部１１３は、ｑｉｊの値を算出し、算出したｑｉｊを解析部１２４に送信する。解析部１２４は、該ｑｉｊを受信し、受信したｑｉｊに基づき、数値列π（ｋ）を更新する。
【０１５２】
行列ＱのインデックスＩは、たとえば、ストレージシステム５２２に関するシステム状態（ｘ１、ｘ２、ｘ３、ｘ４）に、式１１に例示する関数を適用することにより、求めることができる。尚、関数は、ストレージシステム５２２に関するシステム状態と、行列ＱのインデックスＩの値とを一対一に対応するよう関連付けする関数であればよい。
【０１５３】
Ｉ＝８×ｘ１＋４×ｘ２＋２×ｘ３＋ｘ４＋１・・・（式１１）、
（ただし、＋は、足し算を表す）。
【０１５４】
たとえば、システム状態（０、１、０、０）に、式１１を適用することにより、値「５」が算出される。この場合に、システム状態（０、１、０、０）は、第５システム状態、すなわち、行列Ｑにおける第５行と、当該行列Ｑにおける第５列とに関連する。たとえば、ｑ５ｊ（ただし、ｊは、整数である）は、第５システム状態から第ｊシステム状態に遷移する場合の遷移率を表す。また、たとえば、ｑｉ５（ただし、ｉは、整数である）は、第ｉシステム状態から第５システム状態に遷移する場合の遷移率を表す。
【０１５５】
尚、図１４Ａ及び図１４Ｂは、値がすべて０である行、または、値がすべて０である列を含む。この行、及び、列は、該インデックスに対応するシステム状態が、非可達状態であることを表す。
【０１５６】
判定部１３１は、障害条件ＦＳ、コンポーネント状態ｘ１、ｘ２、ｘ３、ｘ４、及び、式１２に従い、非可達状態を算出することにより、可達状態数を算出してもよい。
【０１５７】
Ｕ＝ｘ２∧ｘ３∧ｘ４∨ｘ１∧ＦＳ・・・（式１２）。
【０１５８】
式１２は、ストレージシステム５２２に関するシステム状態（ｘ１、ｘ２、ｘ３、ｘ４）が非可達状態である場合に１となる。この場合に、非可達状態は、３台の記憶装置が全てコンポーネント障害状態（すなわち、ｘ２＝ｘ３＝ｘ４＝１）であるか、または、ＲＡＩＤコントローラ５２４がコンポーネント障害状態である場合に、２台以上の記憶装置がコンポーネント障害状態となる状態である。
【０１５９】
たとえば、システム状態（１、１、１、０）は、ＲＡＩＤコントローラ５２４と、記憶装置５２５と、記憶装置５２６とがコンポーネント障害状態である状態を表す。ストレージシステム５２２は、ＲＡＩＤコントローラ５２４がコンポーネント障害状態になる場合、あるいは、３台の記憶装置のうち、２台の記憶装置がコンポーネント障害状態になる場合に、ストレージシステム５２２は、システム障害状態であるので機能を停止する。したがって、ストレージシステム５２２は、システム状態（１、１、１、０）にならない。この場合に、システム状態（１、１、１、０）は、非可達状態である。
【０１６０】
計算部１１３は、第１状態識別子が表すシステム状態、または、第２状態識別子が表すシステム状態が非可達状態である場合に、値として０を算出する。これは、図１４Ａ及び図１４Ｂにおいて、値がすべて０である行、または、値がすべて０である列に対応する。遷移情報作成部１３２は、値がすべて０である行、及び、値がすべて０である列を行列Ｑとして格納しないことにより、行列Ｑを生成する。
【０１６１】
また、計算部１１３は、第１状態識別子が表すシステム状態、及び、第２状態識別子が表すシステム状態が非可達状態である場合に、第１状態識別子が表すシステム状態がシステム障害状態であるか否かを判定する。たとえば、この例において、計算部１１３は、式７及び式８に従い、ストレージシステム５２２がシステム障害状態であるか否かを判定する。
【０１６２】
また、計算部１１３は、第１状態識別子が表す状態がシステム障害状態である場合に、復旧情報５０２に基づき値を算出する。たとえば、計算部１１３は、第１状態識別子が表すシステム状態が、式７（すなわち、障害条件ＦＣ）に従いシステム障害状態である場合に、復旧情報５０２から障害条件ＦＣに関連付けされた遷移率ａＣを読み取る。計算部１１３は、第１状態識別子と第２状態識別子とが一致する場合に、「−ａＣ」を算出し、第１状態識別子と第２状態識別子とが一致しない場合に、値をａＣとする。この処理は、行列Ｑに関する定義に基づく。
【０１６３】
計算部１１３は、第１状態識別子が表すシステム状態がシステム障害状態でない場合に、たとえば、非特許文献１等に開示されるクロネッカー和を算出する手順に従い、行列Ｑにおける要素の値を算出する。非特許文献１等に開示されるクロネッカー和を算出する手順は、相互に独立して動作するコンポーネントを含む対象システムに関して、状態遷移を表す生成行列が、各コンポーネントに関する状態遷移を表す生成行列に関してクロネッカー和により表現されることに基づく。
【０１６４】
たとえば、計算部１１３は、式１３に示すクロネッカー和に関する定義、及び、コンポーネントに関する行列要素に基づき、ｑｉｊの値を算出する。
2015159549.tif 000003
【０１６５】
（ただし、＊は、クロネッカー和を表す）。
【０１６６】
計算部１１３は、上述した処理に従い、行列Ｑに関する値を算出することができる。
【０１６７】
解析部１２４は、算出された数値列π（ｋ＋１）（すなわち、定常状態に関する確率）に基づき、システム稼動状態に関する和を算出することにより、ストレージシステム５２２に関する可用性を算出する。
【０１６８】
対象システムにおけるコンポーネント数が増える場合に、システム状態数は、コンポーネント数に対して指数関数的に増加する。また、各コンポーネントに関する、より詳細なコンポーネント状態に基づいて可用性を算出する場合にも、同様である。このため、特許文献１または特許文献２に開示された装置は、対象システムにおけるコンポーネント数が増える場合に、対象システムに関する可用性を解析することが難しい。
【０１６９】
次に、上述した例を用いながら、遷移情報作成部１３２における処理について説明する。
【０１７０】
図１４Ａ及び図１４Ｂに例示する行列Ｑを参照すると、可達状態は、行列Ｑを表す１６行に対応する１６種のシステム状態のうち、１１種のシステム状態である。遷移情報作成部１３２は、可達状態数が所定の数未満である場合に、図１５に示すような可達状態に関する行列Ｒを作成する。図１５は、可達状態に関する行列の一例を概念的に表す図である。尚、図１５に例示する行列Ｒは、図１４Ａ及び図１４Ｂに例示する行列Ｑの要素のうち、可達状態に対応する行、及び、可達状態に対応する列から成る行列を表す。
【０１７１】
この場合に、行列Ｑの大きさは、（可達状態数×可達状態数）であり、高々、（所定の数×所定の数）である。（所定の数×所定の数）が、記憶装置が有する容量よりも小さければ、記憶装置は、行列Ｑを格納することができる。遷移情報作成部１３２は、記憶装置が行列Ｑを格納することが可能な場合に、行列Ｑを作成し、作成した行列Ｑを記憶装置に格納する。
【０１７２】
この場合に、解析部１２４は、たとえば、記憶装置における行列Ｑを参照しながら、数値列π（ｋ）を更新してもよい。したがって、解析部１２４が数値列π（ｋ）を更新する処理において、計算部１１３は、行列Ｑに含まれる要素を繰り返し算出する必要がなくなる。
【０１７３】
次に、上述した例を参照しながら、本実施形態に係る可用性分析装置１３３が行う処理、及び、複数の状態に関して計算部１１３が算出する各値に基づき、行列Ｒから行列Ｑを作成する演算処理について説明する。
【０１７４】
遷移情報作成部１３２は、たとえば、複数のシステム障害状態を１つのシステム障害状態として処理する。復旧情報５０２において相互に異なるシステム障害状態であるとしても、該システム障害状態が相互に共通するシステム稼動状態、及び、相互に共通する遷移率に関連付けされている場合に、遷移情報作成部１３２は、該システム障害状態を１つにまとめて処理する。この処理は、行列Ｒにおいてシステム障害状態を表す行、及び、該システム障害状態を表す列に関して実行される。
【０１７５】
まず、行列Ｒから行列Ｑを算出する処理のうち、システム障害状態を表す行に関する処理について説明する。復旧情報５０２のうち式１０に示される情報を例として参照しながら、遷移率を算出する手順について説明する。遷移率ａＳにてシステム障害状態から復旧した状態を表すシステム状態（０、０、０、０）に遷移するシステム障害状態は、式１０に含まれる障害条件ＦＳ（具体的には、式８）を満たすシステム障害状態として算出される。すなわち、該システム障害状態は、システム障害状態（０、１、１、０）、システム障害状態（０、０、１、１）、及び、システム障害状態（０、１、０、１）である。遷移情報作成部１３２は、該３つのシステム障害状態を、１つにまとめて処理する。
【０１７６】
即ち、遷移情報作成部１３２は、係る３つのシステム障害状態を１つにまとめて処理することにより、図１６に例示する行列Ｑを作成することができる。即ち、遷移情報作成部１３２は、係る行列Ｑを作成するに際して、１つにまとめて処理するシステム障害状態（この場合、上記３種類のシステム障害状態）を構成する要素の値の和を算出する。
【０１７７】
より具体的に、図１５と図１６とを参照しながら、遷移情報作成部１３２が実行する上記の処理について以下に説明する。図１６は、処理対象であるシステム障害状態を、１つのシステム障害状態として処理する場合に生成された行列の一例を概念的に表す図である。尚、説明の便宜上、図１５に例示する変化前の行列を「行列Ｒ」と表し、図１６に例示する変化後の行列を「行列Ｑ」と表すとする。
【０１７８】
この例において、遷移情報作成部１３２は、説明の便宜上、式１１を参照して前述したシステム状態から行列Ｒを作成する手順に従って、当該３種類のシステム障害状態から、システム障害状態に対応する行列Ｒのインデックスを算出するとする。たとえば、遷移情報作成部１３２は、図１５に例示する行列Ｒの場合に、システム障害状態（０、０、１、１）に関して、式１１に従い、インデックスを表す値「４」を算出する。たとえば、遷移情報作成部１３２は、図１５に例示する行列Ｒの場合に、システム障害状態（０、１、０、１）に関して、式１１に従い、インデックスを表す値「６」を算出する。たとえば、遷移情報作成部１３２は、図１５に例示する行列Ｒの場合に、システム障害状態（０、１、１、０）に関して、式１１に従い、インデックスを表す値「７」を算出する。すなわち、図１５に例示する行列Ｒの場合に、システム障害状態（０、０、１、１）は、第４行に示されたシステム障害状態を表す。図１５に例示する行列Ｒの場合に、システム障害状態（０、１、０、１）は、第６行に示されたシステム障害状態を表す。図１５に例示する行列Ｒの場合に、システム障害状態（０、１、１、０）は、第７行に示されたシステム障害状態を表す。即ち、係るインデックスは、行列Ｒの行数、または、列数を表す。また、図１６に例示する行列Ｑの場合に、当該１つにまとめて処理するシステム障害状態は、第４行に示されたシステム障害状態を表す。
【０１７９】
説明の便宜上、図１６に例示する行列Ｑの第１行に示されたシステム稼動状態は、図１５に例示する行列Ｒの第１行に示されたシステム稼動状態を表すとする。図１６に例示する行列Ｑの第２行に示されたシステム稼動状態は、図１５に例示する行列Ｒの第２行に示されたシステム稼動状態を表すとする。図１６に例示する行列Ｑの第３行に示されたシステム稼動状態は、図１５に例示する行列Ｒの第３行に示されたシステム稼動状態を表すとする。図１６に例示する行列Ｑの第５行に示されたシステム稼動状態は、図１５に例示する行列Ｒの第５行に示されたシステム稼動状態を表すとする。
【０１８０】
上記の場合において、図１６に例示する行列Ｑの要素は、図１５に例示する行列Ｒの要素のうち、１つにまとめて処理する１種類以上のシステム障害状態に関して、該１つのシステム障害状態に含まれるシステム障害状態が複数種類存在する場合に、各システム障害状態に関して算出される要素を表す値の和として算出することができる。より具体的に、遷移情報作成部１３２は、以下のような処理を行う。
【０１８１】
遷移情報作成部１３２は、まず、復旧情報５０２において、特定の遷移率ａＳであって、かつ、特定のシステム状態に遷移する障害条件ＦＳ（具体的には、式８）を処理対象として以降に示す処理を実行する。次に、遷移情報作成部１３２は、処理対象とした障害条件ＦＳが満たすシステム障害状態を、少なくとも１つ以上算出し、式１１に例示する算出式に従い、算出したシステム障害状態に対応する行列Ｒのインデックスを、当該個々のシステム障害状態に関してそれぞれ算出する。遷移情報作成部１３２は、算出したシステム障害状態を表すインデックスが指し示す行に関して、当該システム障害状態から復旧したシステム状態に対応するよう関連付けされた列の値として、当該特定の遷移率ａＳを表す値を算出する。図１６に例示する行列Ｑの（Ｉ、Ｊ）要素に関して、ＩとＪとが異なる場合に、遷移情報作成部１３２は、１つにまとめて処理するシステム障害状態から当該特定のシステム状態に遷移する遷移率をａＳ、システム障害状態から特定のシステム状態と異なる状態に遷移する遷移率を０と算出する。ＩとＪとが一致する場合に、遷移情報作成部１３２は、上述した式１に従い値を算出する。
【０１８２】
したがって、システム障害状態に関して、行列Ｒのうち該１つにまとめて処理するシステム障害状態を指し示す複数の行及び複数の列をまとめた行及び列が、行列Ｑの１つの行及び列に対応する。この結果、行列Ｑの行数及び列数は、行列Ｒの行数及び列数に比べて小さい。システム障害状態に関して１つにまとめる処理では、１つの「１つにまとめて処理するシステム障害状態」に着目すると、行列Ｑをなす行数の減少数及び行列Ｑをなす列数の減少数は、個数Ａに示す個数である。すなわち、
個数Ａ：「（１つにまとめて処理するシステム障害状態を構成するシステム障害状態の状態数）−１」。
【０１８３】
また、システム障害状態に関して１つにまとめる処理において、全「１つにまとめて処理するシステム障害状態」に関しての減少数は、行及び列共に、各「１つにまとめて処理するシステム障害状態」に関する上述した個数Ａの総和になる。たとえば、式８に従い算出されるシステム障害状態数は、後述する３つ（すなわち、行列Ｒの第４、６、及び、７行）であり、式７に従い算出されるシステム障害状態数は、４つ（すなわち、行列Ｒの第８乃至１１行）である。したがって、図１６に例示する行列Ｑと、図１５に例示する行列Ｒとを比較すると、行数及び列数は、それぞれ、５（＝「３−１」＋「４−１」）つ減少する。
【０１８４】
遷移情報作成部１３２は、上述した処理に従い算出したインデックスのうち、当該システム稼働状態を表すインデックスが指し示す行に関して、当該システム障害状態を表すインデックスが指し示す各列における遷移率を１つに足し合わせることにより、上記和を表す遷移率を算出する。
【０１８５】
次に、行列Ｒから行列Ｑを算出する処理のうち、システム稼動状態を表す行に関する処理について説明する。ここで、説明の便宜上、行列ＱのインデックスＪ（すなわち、第Ｊ状態）に対応する行列Ｒのインデックスの集合をＧ（Ｊ）と表すとする。たとえば、図１６において、当該１つにまとめるシステム障害状態を表す第４状態に関して、図１５に示す行列のインデックスの集合Ｇ（４）は、当該１つにまとめるシステム障害状態に含まれるシステム障害状態を表す｛４、６、７｝なる３つの要素によって構成される。係る３つの要素は、式１１に従って先に求めたインデックスを表す値「４」、「６」、「７」である。
【０１８６】
また、説明の便宜上、システム稼動状態に関して、式１１に従い算出されるインデックスは、図１５に例示する行列Ｒと、図１６に例示する行列Ｑとで同じであるとする。すなわち、システム稼動状態を表すインデックスＪに関して、Ｇ（Ｊ）は、｛Ｊ｝なる１つの要素によって構成されるとする。尚、行列Ｒの各インデックスと、行列Ｑの各インデックスが関連付けされていればよいので、インデックスは、上述した例に限定されない。
【０１８７】
図１６に例示する行列Ｑの（Ｉ，Ｊ）要素に関して、ＩとＪとが異なる場合に、遷移情報作成部１３２は、第Ｊ列に関するシステム状態が、当該１つにまとめて処理するシステム障害状態である場合に、式１４に従い遷移率を算出する。
【０１８８】
Ｑ（Ｉ，Ｊ）＝Σ（Ｇ（Ｊ）∋Ｋ）Ｒ（Ｉ，Ｋ）・・・（式１４）、
（ただし、Σ（Ｇ（Ｊ）∋Ｋ）は、インデックスの集合Ｇ（Ｊ）に含まれる要素Ｋに関して総和を算出することを表す）。
【０１８９】
また、当該システム稼働状態を表すインデックスが指し示す行に関して、ＩとＪとが一致する場合に、遷移情報作成部１３２は、上述した式１に従い値を算出する。
【０１９０】
したがって、システム稼動状態に関しては、インデックスの集合Ｇ（Ｊ）が行列Ｒに関する複数のインデックスに対応するよう関連付けされているので、上述した処理が実行されることにより、行列Ｑの列数は、行列Ｒの列数に比べて小さくなる。これに対して、行列Ｑにおいてシステム稼動状態を表すインデックスの個数は、行列Ｒにおいてシステム稼動状態を表すインデックスの個数と同じであるので、システム稼動状態に関して、行列Ｑの行数は、行列Ｒの行数に同じである。すなわち、システム稼動状態に関する処理において、行列Ｑをなす列数の減少数は、各「１つにまとめて処理するシステム障害状態」に関する上述した個数Ａの総和になる。一方、システム稼動状態に着目すると、行列Ｑの行数は、行列Ｒの行数と同じである。たとえば、式８に従い算出されるシステム障害状態数は、後述する３つ（すなわち、行列Ｒの第４、６、及び、７行）であり、式７に従い算出されるシステム障害状態数は、４つ（すなわち、行列Ｒの第８乃至１１行）である。したがって、図１６に例示する行列Ｑと、図１５に例示する行列Ｒとを比較すると、列数は、５（＝「３−１」＋「４−１」）つ減少する。
【０１９１】
障害条件ＦＳを含む復旧情報５０２に関する上述した一連の処理と同様に、遷移情報作成部１３２は、式９に示される情報（障害条件ＦＣを含む復旧情報５０２）に関して、式７に例示する障害条件ＦＣに基づき、該障害条件ＦＣを満たすシステム障害状態を算出する。次に、遷移情報作成部１３２は、算出したシステム障害状態に関して式１１に従いインデックスを求め、求めたインデックスが表す行列Ｒの第８、９、１０、及び、１１行目に示すシステム障害状態を、１つのシステム障害状態として処理する。尚、障害条件ＦＣに関する処理については、詳細な説明を省略する。
【０１９２】
行列Ｑにおいてシステム稼動状態を表す１つのインデックスＪは、上述したインデックスの集合Ｇ（Ｊ）によって、行列Ｒのシステム稼動状態を表す１つのインデックスに関連付けされている。一方、行列Ｑにおいてシステム障害状態を表す１つのインデックスＪは、上述したインデックスの集合Ｇ（Ｊ）によって、当該１つにまとめるシステム障害状態を表す複数のインデックスに関連付けされている。
【０１９３】
すなわち、システム障害状態に関して、上述した処理の結果である行列Ｑ（図１６）の行数及び列数は、行列Ｒ（図１５）の行数及び列数よりも小さい。また、システム稼動状態に関して、上述した処理の結果である行列Ｑの列数は、行列Ｒの列数よりも小さい。したがって、行列Ｑのサイズは、行列Ｒのサイズよりも小さい。各実施形態の説明に先立って「発明を実施するための形態」の文頭において説明したように、行列Ｑは、正方行列である。このため、システム障害状態に関する当該処理による、当該行列Ｑにおける列数の減少数は、当該行列Ｑにおける行数の減少数と等しいという関係を維持する。すなわち、行列Ｒと上述した処理の結果である行列Ｑとを比較すると、行列Ｑをなす列数の減少数は、当該行列Ｑをなす行数の減少数に等しい。但し、本発明において、列数を決定する方法は、本実施形態における正方行列の特性を利用する方法には限定されない。
【０１９４】
以下の説明では、上述した処理手順を、図１５及び図１６に示す場合を例として、より具体的に説明する。遷移情報作成部１３２は、式１０に示される情報（障害条件ＦＳを含む復旧情報５０２）に関して、図１５における第４、６、及び、７行目に示すシステム障害状態を、１つのシステム障害状態として処理する。
【０１９５】
たとえば、図１５に例示する行列Ｒにおいて、第２行目における、第４列目及び第６列目の値は、λｄである。本実施形態の文頭において、連続時間マルコフ連鎖に関して前述したとおり、行列Ｒの第Ｉ行第Ｊ列における要素は、第Ｉ状態から第Ｊ状態に遷移する遷移率を表すので、第２行目に示すシステム稼動状態から、第４列目に示すシステム障害状態に遷移する場合の遷移率は、λｄである。同様に、行列Ｒの第２行目に示すシステム稼動状態から、第６列目に示すシステム障害状態に遷移する場合の遷移率は、λｄである。すなわち、計算部１１３は、行列Ｒの第２行目に示すシステム稼動状態から、第４列目に示すシステム障害状態に遷移する場合に、値としてλｄを算出する。また、行列Ｒの第２行目に示すシステム稼動状態から、第７列目に示すシステム障害状態に遷移する場合の遷移率は、０である。
【０１９６】
前述した遷移率ａＳに関する例の場合に、遷移情報作成部１３２は、行列Ｒの第４行目に示すシステム障害状態、行列Ｒの第６行目に示すシステム障害状態、及び、行列Ｒの第７行目に示すシステム障害状態を、１つにまとめて処理するシステム障害状態として処理する。すなわち、遷移情報作成部１３２は、行列Ｒの第２行目に示すシステム稼動状態から、該１つにまとめて処理するシステム障害状態に遷移する場合の遷移率を、上述した３つの遷移率の和として算出する。たとえば、遷移情報作成部１３２は、前の段落で述べた注目する３行に対応する３つの遷移率に関して、それぞれ、計算部１１３から値（この場合、０及び２つのλｄ）を受信し、該３つの値の和（この場合、λｄ＋λｄ＋０）を算出する。すなわち、図１５において、
○第２行目に示すシステム稼動状態から、第４列目に示すシステム障害状態に遷移する場合の遷移率λｄ、
○第２行目に示すシステム稼動状態から、第６列目に示すシステム障害状態に遷移する場合の遷移率λｄ、
○第２行目に示すシステム稼動状態から、第７列目に示すシステム障害状態に遷移する場合の遷移率０。
【０１９７】
以降、行列Ｒの各行に関する処理について具体的に説明する。遷移情報作成部１３２は、図１５に例示する行列Ｒの第２行目に示すシステム稼動状態から、該１つにまとめて処理するシステム障害状態に遷移する場合の遷移率を、２×λｄ（＝λｄ＋λｄ＋０）として算出する。算出された値（２×λｄ）は、当該着目する３行分のシステム障害状態を表す１つの値で表されており、行列Ｑの第２行の第４列に設定される。これは、行列Ｑの２行目がインデックスの集合Ｇ（２）によって示されるシステム稼動状態を表し、行列Ｑの４行目がインデックスの集合Ｇ（４）によって示されるシステム障害状態を表すからである。
【０１９８】
同様に、遷移情報作成部１３２は、図１５に例示する行列Ｒの第３行目に示すシステム稼動状態に関して、第４行目に示すシステム障害状態、第６行目に示すシステム障害状態、及び、第７行目に示すシステム障害状態を、１つにまとめて処理するシステム障害状態として処理する。このため、遷移情報作成部１３２は、図１５に例示する行列Ｒの第３行目に示すシステム稼動状態から、該１つにまとめて処理するシステム障害状態に遷移する場合の遷移率を、以下に示す３つの遷移率の和として算出する。すなわち、図１５において、
○第３行目に示すシステム稼動状態から、第４列目に示すシステム障害状態に遷移する場合の遷移率λｄ、
○第３行目に示すシステム稼動状態から、第６列目に示すシステム障害状態に遷移する場合の遷移率０、
○第３行目に示すシステム稼動状態から、第７列目に示すシステム障害状態に遷移する場合の遷移率λｄ。
【０１９９】
遷移情報作成部１３２は、図１５における第３行目に示すシステム稼動状態から、該１つにまとめて処理するシステム障害状態に遷移する遷移率を上述した３つの遷移率の和として算出する。
【０２００】
すなわち、遷移情報作成部１３２は、図１６に例示する行列Ｑの第３行目に示すシステム稼動状態から、該１つにまとめてシステム障害状態に遷移する場合の遷移率を、２×λｄ（＝λｄ＋０＋λｄ）として算出する。尚、上述した遷移率は、計算部１１３によって算出される値である。算出された値（２×λｄ）は、当該着目する３行分のシステム障害状態を表す１つの値で表されており、行列Ｑの第３行の第４列に設定される。これは、行列Ｑの３行目がインデックスの集合Ｇ（３）によって示されるシステム稼動状態を表し、行列Ｑの４行目がインデックスの集合Ｇ（４）によって示されるシステム障害状態を表すからである。
【０２０１】
さらに同様に、遷移情報作成部１３２は、図１５に例示する行列Ｒの第１行目に示すシステム稼動状態に関して、第４行目に示すシステム障害状態、第６行目に示すシステム障害状態、及び、第７行目に示すシステム障害状態を、１つにまとめて処理するシステム障害状態として処理する。このため、遷移情報作成部１３２は、図１５に例示する行列Ｒの第１行目に示すシステム稼動状態から、該１つにまとめて処理するシステム障害状態に遷移する場合の遷移率を、以下に示す３つの遷移率の和として算出する。すなわち、図１５において、
○第１行目に示すシステム稼動状態から、第４列目に示すシステム障害状態に遷移する場合の遷移率０、
○第１行目に示すシステム稼動状態から、第６列目に示すシステム障害状態に遷移する場合の遷移率０、
○第１行目に示すシステム稼動状態から、第７列目に示すシステム障害状態に遷移する場合の遷移率０。
【０２０２】
すなわち、遷移情報作成部１３２は、図１６に例示する行列Ｑの第１行目に示すシステム稼動状態から、該１つにまとめて処理するシステム障害状態に遷移する遷移率を上述した３つの遷移率の和として算出する。遷移情報作成部１３２は、図１６に例示する行列Ｑの第１行目に示すシステム稼動状態から、該１つのシステム障害状態に遷移する場合の遷移率を、０（＝０＋０＋０）として算出する。尚、上述した遷移率は、計算部１１３によって算出される値である。算出された値（０）は、当該着目する３行分のシステム障害状態を表す１つの値で表されており、行列Ｑの第１行の第４列に設定される。これは、行列Ｑの１行目がインデックスの集合Ｇ（１）によって示されるシステム稼動状態を表し、行列Ｑの４行目がインデックスの集合Ｇ（４）によって示されるシステム障害状態を表すからである。
【０２０３】
尚、上述した遷移率ａＳに関する一連の処理と同様に、行列Ｒの第８乃至１１行目に示す遷移率ａｃに関するシステム障害状態、及び、行列Ｒの第５行目に示すシステム稼動状態に関しても処理が実行される。但し、遷移率ａｃに関して当該行を対象として実行される処理手順についての詳細な説明は省略する。
【０２０４】
以上説明した遷移情報作成部１３２によって、図１５に例示する行列Ｒは、図１６に例示する行列Ｑに変化する。この場合に、解析部１２４は、記憶装置における行列Ｑを参照しながら、数値列π（ｋ）を更新する。したがって、解析部１２４が数値列π（ｋ）を更新する処理において、計算部１１３は、行列Ｑに含まれる要素を繰り返し算出する必要がなくなる。
【０２０５】
次に、第４の実施形態に係る可用性分析装置１３３に関する効果について説明する。
【０２０６】
本実施形態に係る可用性分析装置１３３によれば、第３の実施形態に係る可用性分析装置１２３が有する効果に加え、さらに、大規模な対象システムに関して、可用性を算出することができる。
【０２０７】
この理由は、理由１及び理由２である。すなわち、
（理由１）第４の実施形態に係る可用性分析装置１３３が有する構成は、第３の実施形態に係る可用性分析装置１２３が有する構成を含むからである、
（理由２）複数のシステム障害状態を１つのシステム障害状態として処理する結果、行列Ｑの大きさが、第３の実施形態に係る可用性分析装置１２３に比べ、さらに小さくなるからである。
【０２０８】
＜第５の実施形態＞
次に、上述した本発明の各実施形態の基本となる本発明の第５の実施形態について説明する。
【０２０９】
図１７を参照しながら、本発明の第１の実施形態に係る可用性分析装置１０１が有する構成について詳細に説明する。図１７は、本発明の第５の実施形態に係る可用性分析装置１５１が有する構成を示すブロック図である。
【０２１０】
第５の実施形態に係る可用性分析装置１５１は、解析部１５２を有する。
【０２１１】
解析部１５２は、以下に示す３つの情報に基づき、対象システムがとり得る複数のシステム状態のうち、２つのシステム状態間に関する値を算出する。すなわち、
（１）対象システムに含まれるコンポーネントのコンポーネント状態間における遷移率を表すコンポーネント情報、
（２）対象システムがとり得る複数のシステム状態のうち、対象システムが稼動できないシステム状態を表すシステム障害状態である場合における、コンポーネントのコンポーネント状態を表す条件を含む障害情報、
（３）対象システムが稼動している状態を表すシステム稼動状態に、対象システムがシステム障害状態から遷移する場合の遷移率を含む復旧情報。
【０２１２】
尚、２つの状態間に関する値を算出する処理は、第１の実施形態に示した計算部１０２、第２、３、及び、４の実施形態に示した計算部１１３等における処理と同様の処理である。
【０２１３】
次に、解析部１５２は、算出した２つの状態間に関する値に基づき、対象システムがあるシステム状態である確率を算出する。
【０２１４】
解析部１５２は、算出した遷移率のうち、対象システムがシステム稼動状態である場合における確率に基づいて対象システムに関する可用性を算出する。たとえば、解析部１５２は、対象システムがシステム稼動状態である場合における確率を足し合わせることにより可用性を算出する。
【０２１５】
尚、遷移率を算出する処理、及び、可用性を算出する処理は、第１の実施形態及び第２の実施形態に示した解析部１０３、第３の実施形態及び第４の実施形態に示した解析部１２４等における処理と同様の処理である。
【０２１６】
次に、第５の実施形態に係る可用性分析装置１５１に関する効果について説明する。
【０２１７】
第５の実施形態に係る可用性分析装置１５１によれば、規模が大きな対象システムであっても、可用性を分析することができる。この理由は、第１システム状態から第２システム状態に遷移することを表す行列の全要素を記憶する必要がないからである。
【０２１８】
（ハードウェア構成例）
上述した本発明の各実施形態における可用性分析装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。
但し、係る可用性分析装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る可用性分析装置は、専用の装置として実現してもよい。
【０２１９】
図１８は、第１の実施形態乃至第５の実施形態に係る可用性分析装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、不揮発性記録媒体２４、入力装置２５、出力装置２６、および、通信インターフェース（以降、「通信ＩＦ」と表す）２７を有する。計算処理装置２０は、通信ＩＦ２７を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【０２２０】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ＿Ｄｒｉｖｅ）等である。不揮発性記録媒体２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ＩＦ２７を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【０２２１】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、図６、図９、図１１、または、図１７に示す各部が表す機能（処理）に対応するところのメモリ２２にある可用性分析プログラム（図２、図３、図４、図７、図８、または、図１０）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【０２２２】
すなわち、このような場合、本発明は、係る可用性分析プログラムによっても成し得ると捉えることができる。さらに、係る可用性分析プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
【０２２３】
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０２２４】
この出願は、２０１４年４月１６日に出願された日本出願特願２０１４−０８４０８７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２２５】
１０１    可用性分析装置
１０２    計算部
１０３    解析部
１０４    入力部
５０１    障害情報
５０２    復旧情報
５０３    可用性
１１１    可用性分析装置
１１２    入力部
１１３    計算部
１１４    作成部
１２１    判定部
１２２    遷移情報作成部
１２３    可用性分析装置
１２４    解析部
１３１    判定部
１３２    遷移情報作成部
１３３    可用性分析装置
１５１    可用性分析装置
１５２    解析部
５２１    ホストコンピュータ
５２２    ストレージシステム
５２３    バックアップシステム
５２４    ＲＡＩＤコントローラ
５２５    記憶装置
５２６    記憶装置
５２７    記憶装置
５２８    記憶装置
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
２７    通信ＩＦ
【図１】
2015159549.tif 000004
【図２】
2015159549.tif 000005
【図３】
2015159549.tif 000006
【図４】
2015159549.tif 000007
【図５】
2015159549.tif 000008
【図６】
2015159549.tif 000009
【図７】
2015159549.tif 000010
【図８】
2015159549.tif 000011
【図９】
2015159549.tif 000012
【図１０】
2015159549.tif 000013
【図１１】
2015159549.tif 000014
【図１２】
2015159549.tif 000015
【図１３】
2015159549.tif 000016
【図１４Ａ】
2015159549.tif 000017
【図１４Ｂ】
2015159549.tif 000018
【図１５】
2015159549.tif 000019
【図１６】
2015159549.tif 000020
【図１７】
2015159549.tif 000021
【図１８】
2015159549.tif 000022
【手続補正書】
【提出日】平成28年9月23日(2016.9.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する解析手段
を備える可用性分析装置。
【請求項２】
前記２つの状態に関する値は、第１状態識別子が表す状態から第２状態識別子が表す状態への遷移に関する値であり、
前記解析手段は、前記障害状態を表す第３状態識別子と、前記条件とが関連付けされている前記障害情報に前記第１状態識別子が含まれない場合に、前記コンポーネント情報に基づき前記値を算出する
請求項１に記載の可用性分析装置。
【請求項３】
前記解析手段は、
（a）前記第３状態識別子と、前記第３状態識別子が表す前記障害状態から遷移する前記稼動状態を表す第４状態識別子と、前記遷移率とが関連付けされている前記復旧情報において、前記第１状態識別子と、前記第２状態識別子とが関連付けされている場合に、前記第１状態識別子及び前記第２状態識別子に関連付けされた前記遷移率を前記値として算出し、
（ｂ）前記第１状態識別子が前記障害状態に含まれ、前記第１状態識別子及び前記第２状態識別子が一致する場合に、前記復旧情報において、前記第１状態識別子に関連付けされた「前記遷移率×（−１）」を前記値として算出し、
（ｃ）前記第１状態識別子が前記障害状態に含まれ、前記（ａ）及び前記（ｂ）でない場合に、０を前記値として算出する
請求項２に記載の可用性分析装置。
【請求項４】
前記解析手段は、前記対象システムにおいて達成され得ない状態を表す状態識別子が含まれる非可達情報に、前記第１状態識別子または前記第２状態識別子が含まれる場合に０を前記値として算出し、前記非可達情報が前記状態識別子をいずれも含まない場合に、前記（Ｉ）、前記（ＩＩ）、及び、前記（ＩＩＩ）に基づき、前記値を算出する
請求項１乃至請求項３のいずれか一項に記載の可用性分析装置。
【請求項５】
前記対象システムにおいて達成され得る状態を表す可達状態を識別可能な状態識別子が含まれる可達情報に含まれる状態識別子の個数が、所定の個数以下であるか否かを判定する判定手段と、
前記可達情報に含まれる状態識別子の個数が所定の個数以下である場合に、前記可達状態に関して、前記解析手段が算出する前記値を格納する遷移情報を作成する作成手段と
を備え、
前記解析手段は、前記遷移情報に基づき、前記可用性を算出する
請求項１乃至請求項４のいずれか一項に記載の可用性分析装置。
【請求項６】
前記判定手段は、前記可達情報に含まれる状態識別子のうち、前記障害状態を１つの状態として設定することにより前記状態識別子の個数を算出し、前記算出した状態識別子の個数が前記所定の個数以下であるか否かを判定し、
前記作成手段は、前記障害状態を１つの状態として、前記遷移情報を作成する
請求項５に記載の可用性分析装置。
【請求項７】
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する可用性分析方法。
【請求項８】
（Ｉ）対象システムに含まれるコンポーネントの状態間における遷移率を表すコンポーネント情報と、（ＩＩ）前記対象システムがとり得る複数の状態のうち、前記対象システムが稼動できない状態を表す障害状態である場合における前記コンポーネントの状態を表す条件を含む障害情報と、（ＩＩＩ）前記対象システムが稼動している状態を表す稼動状態に、前記対象システムが前記障害状態から遷移する場合の遷移率を含む復旧情報とに基づき、前記複数の状態に含まれる２つの状態間に関する値を算出し、算出した前記２つの状態間に関する値に基づいて、前記対象システムが、ある状態にある確率を算出し、前記対象システムが前記稼動状態になっている場合の前記確率に基づいて、前記対象システムに関する可用性を算出する解析機能
をコンピュータに実現させる可用性分析プログラム。
【請求項９】
前記２つの状態に関する値は、第１状態識別子が表す状態から第２状態識別子が表す状態への遷移に関する値であり、
前記解析機能において、前記障害状態を表す第３状態識別子と、前記条件とが関連付けされている前記障害情報に前記第１状態識別子が含まれない場合に、前記コンポーネント情報に基づき前記値を算出する
請求項８に記載の可用性分析プログラム。
【請求項１０】
前記解析機能において、
（a）前記第３状態識別子と、前記第３状態識別子が表す前記障害状態から遷移する前記稼動状態を表す第４状態識別子と、前記遷移率とが関連付けされている前記復旧情報において、前記第１状態識別子と、前記第２状態識別子とが関連付けされている場合に、前記第１状態識別子及び前記第２状態識別子に関連付けされた前記遷移率を前記値として算出し、
（ｂ）前記第１状態識別子が前記障害状態に含まれ、前記第１状態識別子及び前記第２状態識別子が一致する場合に、前記復旧情報において、前記第１状態識別子に関連付けされた「前記遷移率×（−１）」を前記値として算出し、
（ｃ）前記第１状態識別子が前記障害状態に含まれ、前記（ａ）及び前記（ｂ）でない場合に、０を前記値として算出する
請求項９に記載の可用性分析プログラム。
【国際調査報告】
2015159549.tif 000023
2015159549.tif 000024