(57)【特許請求の範囲】
【請求項１】
システムを用いて提供されるサービスに関する数値と、前記システムに含まれるモジュールが前記サービスに与える影響の大きさを表す影響度とが類似している程度に応じて、前記モジュールを順序付ける順序手段
を備える要因順序推定装置。
【請求項２】
前記順序手段は、前記数値と、前記影響度が類似している程度を表す類似度を算出し、算出した前記類似度に応じて前記モジュールを順序付けする
請求項１に記載の要因順序推定装置。
【請求項３】
前記サービスと、前記モジュールとが関連付けされたサービス情報に基づき、前記サービスに関連付けされた第１モジュールを特定し、特定した前記第１モジュールに関して、前記モジュールのうち、前記第１モジュールと異なる第２モジュールが前記第１モジュールに与える影響の大きさを表す第１影響度の総和を算出し、算出した値を、前記第１モジュールが前記サービスに与える前記影響度とする影響度算出手段
をさらに備える請求項２に記載の要因順序推定装置。
【請求項４】
前記サービスに含まれる前記モジュールがアプリケーションプログラムである場合に、前記影響度算出手段は、前記アプリケーションプログラムに含まれる対象モジュールが故障から復旧する場合の復旧しやすさの程度を表す復旧度に基づき、前記第１影響度を算出する
請求項３に記載の要因順序推定装置。
【請求項５】
前記影響度算出手段は、複数の前記モジュールが関連付けされた関連情報に基づき、前記アプリケーションプログラムを表すモジュールに関連付けされたモジュールを特定することにより、前記対象モジュールを特定する
請求項４に記載の要因順序推定装置。
【請求項６】
前記数値は、前記サービスが停止している期間を表し、
前記順序手段は、前記停止している期間に関して、前記モジュールを順序付ける
請求項１乃至請求項５のいずれかに記載の要因順序推定装置。
【請求項７】
前記数値は、前記サービスに関する苦情の件数を表し、
前記順序手段は、前記苦情の件数に関して、前記モジュールを順序付ける
請求項１乃至請求項５のいずれかに記載の要因順序推定装置。
【請求項８】
前記順序手段は、前記類似度を、前記影響度がなすベクトルと、前記数値がなすベクトルとに関する内積、または、距離に基づき算出する
請求項２乃至請求項５のいずれかに記載の要因順序推定装置。
【請求項９】
情報処理装置によって、システムを用いて提供されるサービスに関する数値と、前記システムに含まれるモジュールが前記サービスに与える影響の大きさを表す影響度とが類似している程度に応じて、前記モジュールを順序付ける要因順序推定方法。
【請求項１０】
システムを用いて提供されるサービスに関する数値と、前記システムに含まれるモジュールが前記サービスに与える影響の大きさを表す影響度とが類似している程度に応じて、前記モジュールを順序付ける順序機能
をコンピュータに実現させる要因順序推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムに生じる現象の要因を推定することが可能な要因順序推定装置等に関する。
【背景技術】
【０００２】
特許文献１乃至特許文献５においては、可用性を予測可能な予測モデルを管理するシステムに関する技術が開示されている。予測モデルは、可用性を算出、検証、または、分析する数学的なモデル、計算式、パラメータ、システムの構成や挙動等、さまざまな情報を含む。これらのシステムは、たとえば、予測された可用性に基づき、全体のシステムに関する稼動率を推定する。【０００３】
特許文献１は、システムに含まれるコンピュータにおいて、障害が生じる割合や障害を修復するのに要する時間等の特性と、稼動している場合に発生する障害に関する監視情報とに基づき、システム全体に関する稼動率を予測する方法を開示している。【０００４】
特許文献２に開示された方法に従えば、まず、システムに含まれるソフトウェア、または、システムに含まれるハードウェアに関する構成情報に基づき、故障状態を解析する手段であるフォールトツリー（Ｆａｕｌｔ＿Ｔｒｅｅ）が合成される。該方法に従えば、さらに、該フォールトツリーに基づき故障率（故障度）が算出され、算出された故障率が基準値以下であるか否かが判定される。【０００５】
特許文献３に開示された方法に従えば、アプリケーションプログラムやアプリケーションサービスをインストールする場合に、機能、構成、セキュリティ、性能等に関する情報と、可用性とがメタデータとして保存される。該方法に従えば、さらに、保存されたメタデータに基づき、インストール以降の構成管理、障害検出、診断、復旧等が分析される。【０００６】
特許文献４に開示された方法に従えば、提供しているサービスに不具合が生じる（故障が発生する）たびに、該故障が継続する時間と、該故障により該サービスを利用できない人数とが保存される。該方法に従えば、さらに、保存されている該時間及び該人数に基づき、ある期間において故障している期間の割合、該サービスを利用する予定の人数のうち、故障によってサービスを利用できない人数の割合、または、稼動率等が推定される。【０００７】
ハードウェアに関しては、ハードウェアが有する構成要素に関する特性に基づき、フォールトツリー等の数学的なモデルを用いて、該ハードウェアに関する可用性を分析する方法が広く知られている。【０００８】
ソフトウェアに関しては、確率的ペトリネット（Ｓｔｏｃｈａｓｔｉｃ＿Ｐｅｔｒｉ＿Ｎｅｔｗｏｒｋ）や確率的報酬ネット（Ｓｔｏｃｈａｓｔｉｃ＿Ｐｒｅｗａｒｄ＿Ｎｅｔｗｏｒｋ）等の数学的なモデルを用いて可用性を分析する方法が知られている。これらのモデルにおいては、システムの状態が遷移する態様を記述され、記述されたモデルに基づき、該システムがシミュレーションされる。状態が遷移する態様を、該シミュレーションによって再現することにより、該システムに関する可用性が分析される。
特許文献５には、コンピュータシステムに関する可用性を評価することが可能なシミュレータシステムが開示されている。該シミュレータシステムは、クライアントシミュレータと、評価部とを有する。クライアントシミュレータは、コンピュータシステムにおける各クライアント装置に対して信号を送信し、送信した信号に対して該クライアント装置が応答する応答時間を計測する。評価部は、各クライアント装置に関して計測した応答時間に基づき、クライアント装置に障害が生じた場合に、該障害が応答時間に与える影響を推定する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００８−５３２１７０号公報
【特許文献２】特開２００６−１２７４６４号公報
【特許文献３】特表２００７−５０９４０４号公報
【特許文献４】特開２００５−０８０１０４号公報
【特許文献５】特開２００７−１２２４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、データセンタを管理する管理者は、特許文献１乃至特許文献５に開示される装置を用いて可用性を解析したとしても、ある現象（たとえば、ユーザから受ける苦情）が生じる原因である構成要素（要因、モジュール）を推定することは難しい。この理由は、管理者がこれらの装置を用いて、データセンタに関する可用性を解析したとしても、該データセンタに生じた現象と、該データセンタに含まれるモジュールとを定量的に関連付けすることができないからである。【００１１】
たとえば、管理者は、確率的ペトリネットに従い、データセンタに関する可用性を算出した場合であっても、該データセンタに関する苦情に基づき、該苦情が生じる原因であるモジュールを推定することができない。【００１２】
そこで、本発明の主たる目的は、システムに生じる現象（事象）の原因であるモジュールを推定可能な要因順序推定装置等を提供することである。
【課題を解決するための手段】
【００１３】
前述の目的を達成するために、本発明の一態様において、要因順序推定装置は、
システムを用いて提供されるサービスに関して定量化された数値と、前記システムに含まれるモジュールが前記サービスに与える影響の大きさを表す影響度が類似している程度に応じて、前記モジュールを順序付ける順序手段
を備える。【００１４】
また、本発明の他の見地として、要因順序推定方法は、
システムを用いて提供されるサービスに関して定量化された数値と、前記システムに含まれるモジュールが前記サービスに与える影響の大きさを表す影響度が類似している程度に応じて、前記モジュールを順序付ける。【００１５】
さらに、同目的は、係る要因順序推定プログラム、及び、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
【発明の効果】
【００１６】
本発明に係る要因順序推定装置等によれば、システムに生じる現象の原因であるモジュールを推定することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態に係る要因順序推定装置が有する構成を示すブロック図である。
【図２】第１の実施形態に係る要因順序推定装置における処理の流れを示すフローチャートである。
【図３】数値情報が影響度を表す場合に、数値情報の一例を概念的に表す図である。
【図４】要因順序推定装置が受信可能な数値情報の一例を概念的に表す図である。
【図５】モジュール影響度情報が有する構成の一例を概念的に表す図である。
【図６】順序情報が有する構成の一例を概念的に表す図である。
【図７】数値情報が苦情の件数を表す場合に算出された順序情報の一例を概念的に表す図である。
【図８】数値情報が保守回数を表す場合に算出された順序情報の一例を概念的に表す図である。
【図９】本発明の第２の実施形態に係る要因順序推定装置が有する構成を示すブロック図である。
【図１０】第２の実施形態に係る要因順序推定装置における処理の流れを示すフローチャートである。
【図１１】関連情報の一例を概念的に表す図である。
【図１２】モジュール情報の一例を概念的に表す図である。
【図１３】サービス情報の一例を概念的に表す図である。
【図１４】解析対象であるシステムが有する構成の一例を表す図である。
【図１５】類似度算出部が影響度情報を算出する処理の流れを示すフローチャートである。
【図１６】本発明の各実施形態に係る要因順序推定装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【図１７】情報システムに関する状態遷移等を表す確率的ペトリネットの一例を概念的に表す図である。
【図１８】情報システムに関する状態遷移等を表す確率的ペトリネットの一例を概念的に表す図である。
【図１９】情報システムに関する状態遷移等を表す確率的ペトリネットの一例を概念的に表す図である。
【発明を実施するための形態】
【００１８】
まず、発明の理解を容易にするため、本願明細書において用いる用語について説明する。
【００１９】
可用性（Ａｖａｉｌａｂｉｌｉｔｙ）は、ある期間のうち、ユーザ（利用者）がサービスを利用できる割合を表す。可用性は、稼動率と同義の用語として用いられる場合もある。
【００２０】
たとえば、可用性は、１日間のうち、平均的に１分間だけサービスを利用できない場合に、９９．９３（＝１−１÷（２４×６０））％である。
【００２１】
可用性は、たとえば、障害が発生する時間間隔（Ｍｅａｎ＿Ｔｉｍｅ＿Ｂｅｔｗｅｅｎ＿Ｆａｉｌｕｒｅ）と、障害（故障）から復旧するのに要する時間（Ｍｅａｎ＿Ｔｉｍｅ＿Ｔｏ＿Ｒｅｐａｉｒ）とに基づき算出される。
【００２２】
たとえば、図１７乃至図１９に例示された状態遷移を組み合わせることにより構成される確率的ペトリネット（確率的報酬ネット）に基づき、可用性は算出される。図１７乃至図１９は、情報システムに関する状態遷移等を表す確率的ペトリネットの一例を概念的に表す図である。
【００２３】
たとえば、情報システムが、図１７乃至図１９に例示された状態遷移を呈する場合について考える。すなわち、該情報システムは、物理サーバＰＳ１を有する。物理サーバＰＳ１は、仮想サーバＶＭ１に関する実際の処理を実行する。仮想サーバＶＭ１は、アプリケーションＡＰ１に従い処理を実行する。仮想サーバは、仮想マシン（Ｖｉｒｔｕａｌ＿Ｍａｃｈｉｎｅ、ＶＭ）とも呼ばれる。
【００２４】
図１７に示す例において、物理サーバＰＳ１は、稼動状態、及び、停止状態という２つの状態を遷移することができる。稼動状態は、物理サーバＰＳ１が稼動している状態を表す。停止状態は、物理サーバＰＳ１が機能を停止している状態を表す。
【００２５】
また、図１８に示すように、仮想サーバＶＭ１は、稼動状態、及び、停止状態という２つの状態を遷移することができる。稼動状態は、仮想サーバＶＭ１が稼動している状態を表す。停止状態は、仮想サーバＶＭ１が機能を停止している状態を表す。
【００２６】
同様に、図１９に示すように、アプリケーションＡＰ１は、稼動状態、及び、停止状態という２つの状態を遷移することができる。稼動状態は、アプリケーションＡＰ１が動作している状態を表す。停止状態は、アプリケーションＡＰ１が機能を停止している状態を表す。
【００２７】
尚、上述した仮想サーバＶＭ１は、ハイパーバイザではなく、ユーザに割り当てられており、さらに、該ユーザがアクセスすることが可能な仮想サーバ（すなわち、ユーザＶＭ）を表す。ハイパーバイザは、データセンタを管理している管理者のみがアクセス可能であり、かつ、仮想サーバＶＭ１を制御する制御プログラムを表す。
【００２８】
図１７乃至図１９に示す例では、２つの状態を結ぶ矢印は、該２つの状態間において状態が遷移することを表す。図１８において、稼動状態から、停止状態に向かう矢印３０２は、たとえば、何らかの故障が発生することにより、仮想サーバＶＭ１が稼動状態から、停止状態に遷移することを表す。図１８において、停止状態から稼動状態に向かう矢印３０３は、該故障の原因を解決することにより、仮想サーバＶＭ１が停止状態から、稼動状態に遷移することを表す。図１７において、矢印３００は、物理サーバＰＳ１が稼動状態から、停止状態に遷移することを表す。図１７において、矢印３０１は、物理サーバＰＳ１が停止状態から、稼動状態に遷移することを表す。図１９において、矢印３０４は、アプリケーションＡＰ１が稼動状態から、停止状態に遷移することを表す。図１９において、矢印３０５は、アプリケーションＡＰ１が停止状態から、稼動状態に遷移することを表す。
【００２９】
仮想サーバＶＭ１に関する状態遷移は、物理サーバＰＳ１に関する状態に依存する。たとえば、物理サーバＰＳ１が仮想サーバＶＭ１に関する処理を実行するので、物理サーバＰＳ１が停止状態である場合に、仮想サーバＶＭ１は停止状態である。
【００３０】
したがって、物理サーバＰＳ１が停止した場合に、仮想サーバＶＭ１は、遷移率が１にて、稼動状態から停止状態に遷移する（矢印３０２）。また、物理サーバＰＳ１が稼動状態である場合に、仮想サーバＶＭ１は、遷移率λＶＭ１にて稼動状態から停止状態に遷移する（矢印３０２）。
尚、遷移率は、たとえば、稼動状態から停止状態に遷移する遷移のしやすさを表す確率であってもよい。また、遷移率は、停止状態から稼動状態に遷移する場合であっても同様な確率として定義することができる。
【００３１】
図１７乃至図１９に示された例においては、物理サーバＰＳ１が停止状態である場合に、仮想サーバＶＭ１が停止状態から稼動状態に遷移する遷移率は０である（矢印３０３）。また、物理サーバＰＳ１が稼動状態である場合に、仮想サーバＶＭ１は、遷移率μＶＭ１にて、停止状態から稼動状態に遷移する（矢印３０３）。同様に、仮想サーバＶＭ１が停止した場合に、アプリケーションＡＰ１は、遷移率が１にて、稼動状態から停止状態に遷移する（矢印３０４）。また、仮想サーバＶＭ１が稼動状態である場合に、アプリケーションＡＰ１は、遷移率λＡＰ１にて稼動状態から停止状態に遷移する（矢印３０４）。仮想サーバＶＭ１が停止状態である場合に、アプリケーションＡＰ１が停止状態から稼動状態に遷移する遷移率は０である（矢印３０５）。また仮想サーバＶＭ１が稼動状態である場合に、アプリケーションＡＰ１は、遷移率μＡＰ１にて、停止状態から稼動状態に遷移する（矢印３０５）。また、物理サーバＰＳ１は、遷移率λＰＳ１にて稼動状態から停止状態に遷移する（矢印３００）。物理サーバＰＳ１は、遷移率μＰＳ１にて停止状態から稼動状態に遷移する（矢印３０１）。
【００３２】
たとえば、情報システムを構成している構成要素の状態が確率的ペトリネットを用いてシミュレーションされることにより、該情報システム、及び、該情報システムに含まれる構成要素に関する可用性は分析される。図１７乃至図１９に示した例の場合に、アプリケーションＡＰ１に関する可用性は、たとえば、該シミュレーションの結果に従い、定常状態（すなわち、状態が変化しなくなった場合）において停止状態である確率に基づき算出される。たとえば、定常状態である場合に、停止状態である確率の総和を算出し、算出した総和を１から引き算することによって、可用性は算出される。または、定常状態である場合に稼動状態である確率の総和を算出することによって、可用性が算出されてもよい。
【００３３】
尚、可用性を算出する手法は、上述した例に限定されない。
【００３４】
データセンタを管理する管理者は、該データセンタにおけるインフラストラクチャー（サーバインフラストラクチャー）に関する特性と、該データセンタに関する運用手順に基づき、確率的ペトリネットを作成することにより、該データセンタに関する可用性を解析する。したがって、可用性を予測する手法は、たとえば、データセンタに関する運用手順に依存する。
【００３５】
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
【００３６】
＜第１の実施形態＞
本発明の第１の実施形態に係る要因順序推定装置１０１が有する構成と、要因順序推定装置１０１が行う処理とについて、図１と図２とを参照しながら詳細に説明する。図１は、本発明の第１の実施形態に係る要因順序推定装置１０１が有する構成を示すブロック図である。図２は、第１の実施形態に係る要因順序推定装置１０１における処理の流れを示すフローチャートである。
【００３７】
第１の実施形態に係る要因順序推定装置１０１は、順序部１０２を有する。
【００３８】
まず、要因順序推定装置１０１は、たとえば、図３に例示された数値情報５０１を受信する。図３は、数値情報５０１の一例を概念的に表す図である。
【００３９】
数値情報５０１は、１つ以上の数値を組み合わせることにより作成される情報である。たとえば、図３に示す例において、数値情報５０１は、０．００１と、０．０００２と、０．００１２という３つの数値を含む。たとえば、これらの数値は、解析対象であるシステムが、サービスＳＶ１に与える影響の大きさを表す影響度、サービスＳＶ２に与える影響の大きさを表す影響度、及び、サービスＳＶ３に与える影響の大きさを表す影響度を表す。すなわち、図３に示す例において、数値情報５０１は、サービスＳＶ１乃至サービスＳＶ３の影響度がなす３次元のベクトルである。たとえば、これらの数値は、大きい値ほど、サービスに与える影響が大きいことを表す。数値情報５０１は、たとえば、あらかじめ設定された情報である。
【００４０】
以降の説明においては、説明の便宜上、上述した数値の値が大きいほど、システムに関する品質が悪いことを表すとする。
【００４１】
たとえば、影響度は、システムが、過去１年間において、ユーザにサービスを提供できなかった時間（期間）の割合を表す停止時間比率である。すなわち、影響度を表す数値情報が例示された図３において、サービスＳＶ１に関する停止時間比率は、０．００１である。サービスＳＶ２に関する停止時間比率は、０．０００２である。サービスＳＶ３に関する停止時間比率は、０．００１２である。この場合に、数値情報５０１は、サービスＳＶ１乃至サービスＳＶ３に関する停止時間比率がなす３次元のベクトルである。
【００４２】
図４に示すように、影響度は、たとえば、サービスに関する苦情の件数、または、サービスに関する保守回数等の項目別に表してもよい。図４は、要因順序推定装置１０１が受信可能な数値情報５０１の一例を概念的に表す図である。すなわち、図３に示した影響度は、上述した例に限定されず、かつ、図４に示す例にも限定されない。
【００４３】
図４に示す例において、サービスＳＶ１に関する苦情の件数は、１１０である。サービスＳＶ２に関する苦情の件数は、７５である。サービスＳＶ３に関する苦情の件数は、１０５である。たとえば、苦情の件数は、過去１年間に、ユーザから受けた苦情の件数を表す。この場合に、数値情報５０１は、サービスＳＶ１乃至サービスＳＶ３に関する苦情の件数がなす３次元のベクトルである。
【００４４】
また、図４に示す例において、サービスＳＶ１に関する保守回数は、６である。サービスＳＶ２に関する保守回数は、３である。サービスＳＶ３に関する保守回数は、８である。この場合に、数値情報５０１は、サービスＳＶ１乃至サービスＳＶ３に関する保守回数がなす３次元のベクトルである。
【００４５】
また、数値情報５０１は、過去１年間にユーザがサービスを解約する解約数や、実際にサービスに与える影響の大きさを表す実績値等を含んでいてもよい。数値情報５０１は、上述した例に限定されない。
【００４６】
次に、順序部１０２は、受信した数値情報５０１に基づき、システムに含まれるモジュールを順序付ける（すなわち、順序を決定する）（ステップＳ１０１）。
【００４７】
たとえば、順序部１０２は、図５に例示されたモジュール影響度情報を読み取り、読み取ったモジュール影響度情報と、数値情報５０１とに基づき、システムに含まれるモジュールを順序付ける。図５は、モジュール影響度情報が有する構成の一例を概念的に表す図である。
【００４８】
尚、モジュール影響度情報は、外部から入力されてもよいし、後述するように、要因順序推定装置１０１が算出してもよい。本実施形態において、モジュールは、システムを構成する（含まれる）要素であり、ソフトウェアまたはハードウェア或いはそれらの組み合わせによって実現される機能単位を表す。
【００４９】
図５に示す例を参照すると、モジュール影響度情報は、物理サーバＰＳ１、物理サーバＰＳ２、仮想サーバＶＭ１、仮想サーバＶＭ２、仮想サーバＶＭ３、及び、仮想サーバＶＭ４に関する影響度を含む。これは、システムに含まれるモジュールが、物理サーバＰＳ１、物理サーバＰＳ２、仮想サーバＶＭ１、仮想サーバＶＭ２、仮想サーバＶＭ３、及び、仮想サーバＶＭ４であることを表す。すなわち、図５に例示されたモジュール影響度情報は、解析対象であるシステムが上述した６つのモジュールを有することを表す。
【００５０】
図５に例示されたモジュール影響度情報のうち、あるモジュールのモジュール名を含む行において、あるサービスのサービス名を含む列における値は、該あるモジュールが該あるサービスに与える影響度を表す。図５を参照すると、たとえば、物理サーバＰＳ１と、値「１８３」と、値「５３３」と、値「０」とが関連付けされている。この場合に、値「１８３」は、サービスＳＶ１を含む列における値であるので、物理サーバＰＳ１がサービスＳＶ１に与える影響度を表す。また、たとえば、仮想サーバＶＭ１と、値「８３」と、値「８３」と、値「０」とが関連付けされている。この場合に、値「０」は、サービスＳＶ３を含む列における値であるので、仮想サーバＶＭ１がサービスＳＶ３に与える影響度を表す。すなわち、モジュール影響度情報においては、上述したモジュールと、該モジュールがサービスに与える影響度とが関連付けされている。
【００５１】
すなわち、図５に例示されたモジュール影響度情報において、物理サーバＰＳ１がサービスＳＶ１に与える影響度は、１８３である。物理サーバＰＳ１がサービスＳＶ２に与える影響度は、５３３である。物理サーバＰＳ１がサービスＳＶ３に与える影響度は、０である。同様に、図５に示す例において、仮想サーバＶＭ２がサービスＳＶ１に与える影響度は、０である。仮想サーバＶＭ２がサービスＳＶ２に与える影響度は、１５０である。仮想サーバＶＭ２がサービスＳＶ３に与える影響度は、０である。
【００５２】
これらの影響度は、モジュールがサービスに与える影響の大きさを表す実績値であってもよいし、後述するように、要因順序推定装置１０１が算出する値であってもよい。影響度は、たとえば、数値情報５０１と同様に、０、または、正の値である。影響度は、値が大きいほど、モジュールがサービスに与える影響が大きいことを表す。
【００５３】
たとえば、順序部１０２は、モジュール影響度情報から１つのモジュールに関する影響度を読み取る。すなわち、順序部１０２は、図５に例示されたモジュール影響度情報の１行目（物理サーバＰＳ１に関する影響度を表す）における、サービスＳＶ１乃至サービスＳＶ３の影響度がなす３次元のベクトルを読み取る。次に、順序部１０２は、たとえば、読み取った影響度がなすベクトル（便宜上、「第１ベクトル」と表す）、及び、数値情報５０１がなすベクトル（便宜上、「第２ベクトル」と表す）に関して、それぞれ、規格化する。すなわち、順序部１０２は、第１ベクトルに含まれる成分を、それぞれ、第１ベクトルの大きさで割り算することにより、第１ベクトルを規格化する。同様に、順序部１０２は、第２ベクトルを規格化する。
【００５４】
ここで、数値情報５０１がなすベクトルは、たとえば、図３に例示された影響度がなす３次元のベクトルを表す。また、図４に例示された数値情報５０１がなす各ベクトルにおいて、たとえば、「苦情の件数」が示す行に関するベクトルは、影響度がなす３次元のベクトルを表す。図４に例示された数値情報５０１の場合に、順序部１０２は、指定された行に関するベクトルを規格化する。
【００５５】
次に、順序部１０２は、規格化されたベクトル（すなわち、第１ベクトルと第２ベクトル）に関して内積を算出する。この場合に、内積は、該ベクトルに対して類似している程度を表す類似度を表す。
【００５６】
本実施形態においては、類似度を、ベクトルがなす角の余弦（ｃｏｓｉｎｅ）、すなわち、規格化されたベクトルに関して算出する内積として定義する。角度が０°（度）である場合に、類似度は１である。また、角度が９０°（度）である場合に、類似度は０である。この場合に、類似度が１に近いほど、ベクトルは類似している。
【００５７】
尚、上述した説明において、順序部１０２は、物理サーバＰＳ１に関する影響度を読み取るとしたが、物理サーバＰＳ２、仮想サーバＶＭ３等、他のモジュールに関しても、同様の処理を実行する。また、上述した例において、ベクトルは、３次元であるとしたが、必ずしも３次元である必要はない。
【００５８】
すなわち、順序部１０２は、モジュール影響度情報に含まれる各モジュールに関して、それぞれ、第１ベクトルを算出し、算出した第１ベクトルと、第２ベクトルとの類似度を算出する。
【００５９】
次に、順序部１０２は、算出した類似度に基づき、システムに含まれるモジュールを順序付ける。順序部１０２は、類似度が大きなモジュールほど、高い順位を算出する。この場合に、あるモジュールが数値情報５０１を引き起こす度合が大きいほど、類似度が大きくなるので、算出された該順位は高い。
【００６０】
尚、上述した例において、順序部１０２は、内積を算出することにより類似度を算出したが、距離を算出することにより類似度を算出してもよい。すなわち、順序部１０２は、類似度として、規格化された数値情報５０１と、規格化された影響度との間の距離を算出してもよい。たとえば、距離は、式１に示す、ベクトルに関する差分ベクトルの大きさである。
【００６１】
｜（規格化された影響度）−（規格化された数値情報５０１）｜・・・（式１）、
（ただし、｜｜は、大きさを表す）。
【００６２】
たとえば、大きさは、幾何学的な距離、マンハッタン距離、一般化されたマハラノビス距離等である。この場合に、距離が短いほど、類似度は大きい。すなわち、距離が短いほど、順位は高い。
【００６３】
また、順序部１０２は、算出した順序を、図６に例示された順序情報として算出してもよい。図６は、順序情報が有する構成の一例を概念的に表す図である。
【００６４】
順序情報において、モジュールは、類似度と、順位とに関連付けされている。たとえば、物理サーバＰＳ１は、０．３３と、５とに関連付けされている。これは、物理サーバＰＳ１に関して、順序部１０２が算出する類似度が０．３３であることを表す。また、５は、解析対象であるシステムに含まれるモジュールに関して算出する類似度を大きな順に並べる場合に、物理サーバＰＳ１の順位が５位であることを表す。
【００６５】
たとえば、仮想サーバＶＭ１は、０．５４と、４とに関連付けされている。これは、仮想サーバＶＭ１に関して、順序部１０２が算出する類似度が０．５４であることを表す。また、４は、解析対象であるシステムに含まれるモジュールに関して算出する類似度が大きな順に並べる場合に、仮想サーバＶＭ１の順位が４位であることを表す。
【００６６】
図６に示す例において、仮想サーバＶＭ３は、順位が１である。これは、解析対象であるシステムに含まれるモジュールのうち、仮想サーバＶＭ３が数値情報５０１を引き起こす度合が最も大きいことを表す。
【００６７】
たとえば、管理者は、解析対象であるシステムにおいて、数値情報５０１を引き起こす要因であるモジュールを、順序部１０２が算出する順序に基づき、選ぶことができる。すなわち、図６に示す例の場合に、管理者は、仮想サーバＶＭ３に関する順位が１であるので、数値情報５０１を引き起こす要因であると推定される仮想サーバＶＭ３を、除去する対象のモジュールとして選択してもよい。
【００６８】
また、数値情報５０１が図４に例示された苦情の件数を表す場合に、順序部１０２は、図７に例示されるような、モジュールが順序付けされた順序情報を算出する。図７は、数値情報５０１が苦情の件数を表す場合において算出された順序情報の一例を概念的に表す図である。この例において、順序部１０２は、数値情報５０１が苦情の件数である場合に、図６に例示された順序情報とは異なる順序情報を算出する。
【００６９】
また、数値情報５０１が図４における保守回数を表す場合に、順序部１０２は、図８に例示されるような、モジュールが順序付けされた順序情報を算出する。図８は、数値情報５０１が保守回数を表す場合において算出された順序情報の一例を概念的に表す図である。この例において、順序部１０２は、数値情報５０１が保守回数である場合に、図６に例示された順序情報、及び、図７に例示された順序情報とは異なる順序情報を算出する。
【００７０】
次に、第１の実施形態に係る要因順序推定装置１０１に関する効果について説明する。
【００７１】
本実施形態に係る要因順序推定装置１０１によれば、解析対象であるシステムにおいて、数値情報５０１が生じる原因であるモジュールを推定することができる。
【００７２】
この理由は、要因順序推定装置１０１が、数値情報５０１と、モジュールに関するモジュール影響度情報との類似度に基づき、モジュールが順序付けされた順序情報を算出するからである。この場合に、該システムの管理者は、該順序情報に基づき、順位が高いモジュールを選ぶことにより、たとえば、数値情報５０１が生じる原因であるモジュールを推定することができる。
【００７３】
一方、特許文献１乃至特許文献５が開示する装置によっては、解析対象であるシステムにおいて、数値情報５０１が生じる原因であるモジュールを推定することができない。この理由は、これらの装置が数値情報５０１に影響を与えるモジュールを解析する機能を有さないからである。
【００７４】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態について説明する。
【００７５】
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００７６】
図９と図１０とを参照しながら、第２の実施形態に係る要因順序推定装置２０１が有する構成と、要因順序推定装置２０１が行う処理とについて説明する。図９は、本発明の第２の実施形態に係る要因順序推定装置２０１が有する構成を示すブロック図である。図１０は、第２の実施形態に係る要因順序推定装置２０１における処理の流れを示すフローチャートである。
【００７７】
第２の実施形態に係る要因順序推定装置２０１は、類似度算出部２０２と、順序部２０３とを有する。
【００７８】
まず、類似度算出部２０２は、たとえば、サービスに含まれるアプリケーションプログラム（以降、「アプリケーション」と表す）が故障から復旧する場合の復旧しやすさの程度を表す復旧率（復旧度）等に基づき、モジュール影響度情報を算出する（ステップＳ２０１）。尚、ステップＳ２０１に示す処理については後述する。順序部２０３は、数値情報５０１を受信する。順序部２０３は、数値情報５０１と、類似度算出部２０２が算出するモジュール影響度情報とに基づき、第１の実施形態に示したように、類似度を算出する（ステップＳ２０２）。次に、順序部２０３は、該類似度に基づき、解析対象であるシステムにおけるモジュールを順序付ける（ステップＳ２０３）。
【００７９】
まず、図１１乃至図１３を参照しながら、ステップＳ２０１に示された処理において参照する関連情報、モジュール情報、及び、サービス情報について詳細に説明する。図１１は、関連情報の一例を概念的に表す図である。図１２は、モジュール情報の一例を概念的に表す図である。図１３は、サービス情報の一例を概念的に表す図である。
【００８０】
図１１に例示された関連情報は、解析対象であるシステムに含まれるモジュールと、該モジュールの状態が変化することによって影響を与えるモジュールとが関連付けされた情報である。図１１に例示された関連情報におけるモジュールの欄には、物理サーバＰＳ１、物理サーバＰＳ２、仮想サーバＶＭ１乃至仮想サーバＶＭ４、及び、アプリケーションＡＰ１乃至アプリケーションＡＰ６が記載されている。これは、解析対象であるシステムが、物理サーバＰＳ１、物理サーバＰＳ２、仮想サーバＶＭ１乃至仮想サーバＶＭ４、及び、アプリケーションＡＰ１乃至アプリケーションＡＰ６を含むことを表す。
【００８１】
たとえば、図１１に例示された関連情報において、物理サーバＰＳ１は、仮想サーバＶＭ１、及び、仮想サーバＶＭ２に関連付けされている。これは、物理サーバＰＳ１の状態が、仮想サーバＶＭ１の状態、及び、仮想サーバＶＭ２の状態に影響を与えることを表す。また、仮想サーバＶＭ４は、アプリケーションＡＰ５、及び、アプリケーションＡＰ６に関連付けされている。これは、仮想サーバＶＭ４の状態が、アプリケーションＡＰ５の状態、及び、アプリケーションＡＰ６の状態に影響を与えることを表す。
【００８２】
関連情報は、関係データベース（ｒｅｌａｔｉｏｎａｌ＿ｄａｔａｂａｓｅ）におけるテーブルであってもよいし、テキスト形式にて記述されるファイルであってもよい。たとえば、解析対象であるシステムにモジュールが追加される、または、システムからモジュールが削除されるのに応じて、関連情報は更新される。また、モジュール間の関連が更新されるのに応じて、関連情報は更新される。
【００８３】
さらに、モジュールは、物理サーバだけでなく、仮想サーバ、ネットワークルータ、または、アプリケーション等を含んでいてもよい。尚、関連情報におけるモジュールは、該モジュールを一意に識別可能な識別子（たとえば、仮想サーバ識別子、ネットワークルータ識別子、アプリケーション識別子等）に関連付けされている。
【００８４】
図１２に例示されたモジュール情報においては、モジュールと、該モジュールが停止状態から稼動状態に遷移する遷移のしやすさを表す復旧率と、該モジュールが稼動状態から停止状態に遷移する遷移のしやすさを表す故障率とは関連付けされている。図１２に例示されたモジュール情報を参照すると、たとえば、仮想サーバＶＭ３は、０．９７と、０．０１とに関連付けされている。これは、仮想サーバＶＭ３に関する復旧率が０．９７であり、仮想サーバＶＭ３に関する故障率が０．０１であることを表す。
【００８５】
尚、復旧率、及び、故障率は、０から１までの値であり、１に近づくほど確率が高くなることを表す。
【００８６】
たとえば、解析対象であるシステムに、新たなモジュールが追加されるのに応じて、該新たなモジュールがモジュール情報に追加されてもよい。また、モジュールが解析対象であるシステムから削除されるのに応じて、モジュール情報から該モジュールが削除されてもよい。また、モジュールに関する復旧率等が更新されるのに応じて、モジュール情報が更新されてもよい。
【００８７】
また、図１３に例示されたサービス情報においては、システムに含まれるアプリケーションを用いて提供されるサービスと、該サービスに含まれるアプリケーションとが関連付けされている。図１３に例示されたサービス情報においては、たとえば、サービスＳＶ２は、アプリケーションＡＰ１、アプリケーションＡＰ２、及び、アプリケーションＡＰ３に関連付けされている。これは、サービスＳＶ２が、アプリケーションＡＰ１、アプリケーションＡＰ２、及び、アプリケーションＡＰ３を含むことを表す。
【００８８】
解析対象であるシステムを用いて新しいサービスが導入されるのに応じて、サービス情報に該新しいサービスが追加されてもよい。また、サービスが解析対象であるシステムから削除されるのに応じて、サービス情報から該サービスが削除されてもよい。また、サービスが変更されるのに応じて、サービス情報は更新されてもよい。
【００８９】
尚、管理者は、図１１に例示された関連情報、図１２に例示されたモジュール情報、及び、図１３に例示されたサービス情報を、通信ネットワークを経由することにより設定してもよいし、キーボードを用いて入力してもよい。
【００９０】
また、図１１に例示された関連情報、図１２に例示されたモジュール情報、及び、図１３に例示されたサービス情報に関するシステムは、図１４に例示されたモジュールを含む。図１４は、解析対象であるシステムが有する構成の一例を表す図である。
【００９１】
図１４に示す例において、物理サーバＰＳ１は、仮想サーバＶＭ１、及び、仮想サーバＶＭ２を有する。したがって、物理サーバＰＳ１が停止する場合に、仮想サーバＶＭ１、及び、仮想サーバＶＭ２は停止する。このことは、図１１に例示された関連情報において、物理サーバＰＳ１と、仮想サーバＶＭ１及び仮想サーバＶＭ２とが関連付けされていることに表されている。
【００９２】
図１４を参照すると、仮想サーバＶＭ１は、アプリケーションＡＰ１を有する。また、仮想サーバＶＭ２は、アプリケーションＡＰ２と、アプリケーションＡＰ３とを有する。さらに、物理サーバＰＳ２は、仮想サーバＶＭ３と、仮想サーバＶＭ４とを有する。仮想サーバＶＭ３は、アプリケーションＡＰ４を有する。仮想サーバＶＭ４は、アプリケーションＡＰ５と、アプリケーションＡＰ６とを有する。
【００９３】
たとえば、第１モジュールが第２モジュールを有する場合に、図１１に例示された関連情報において、第１モジュールは、第２モジュールに関連付けされる。したがって、図１４に例示されているモジュール間の包含関係は、図１１に例示された関連情報として表すことができる。
【００９４】
類似度算出部２０２は、モジュール影響度情報を算出する場合に、特定のモジュールが、特定のサービスに与える影響のしやすさの程度を表す影響度を算出する。
【００９５】
次に、図１５を参照しながら、図１０におけるステップＳ２０１に示された処理について説明する。図１５は、類似度算出部２０２が影響度情報を算出する処理の流れを示すフローチャートである。
まず、類似度算出部２０２は、関連情報において関連付けされたモジュールを読み取る（ステップＳ３０１）。たとえば、類似度算出部２０２は、図１１に例示された関連情報から、物理サーバＰＳ２に関連付けされたモジュールを読み取ることにより、仮想サーバＶＭ３、及び、仮想サーバＶＭ４を読み取る。次に、類似度算出部２０２は、図１１に例示された関連情報から、読み取った仮想サーバＶＭ３に関連付けされたモジュールを読み取ることにより、アプリケーションＡＰ４を読み取る。
次に、類似度算出部２０２は、サービス情報において、読み取ったモジュールのうち、たとえば、アプリケーションを表すモジュールに関連付けされたサービスを特定する（ステップＳ３０２）。たとえば、類似度算出部２０２は、図１３に例示されたサービス情報から、読み取ったアプリケーションＡＰ４に関連付けされたサービスを読み取ることにより、サービスＳＶ１及びサービスＳＶ３を特定する。
次に、類似度算出部２０２は、該サービスを提供するシステムに含まれるモジュールに関して、ステップＳ３０２において特定したサービスに関連しているモジュールを特定する（ステップＳ３０３）。この処理によって、類似度算出部２０２は、サービスと、該システムにおいてサービスを実現する場合に必要なモジュールを特定する。また、類似度算出部２０２は、この処理によって、該サービスと、該モジュールとの間において経由しているモジュールがある場合には、経由しているモジュールを特定する。
尚、上述した例において、類似度算出部２０２は、関連情報を読み取り、次に、サービス情報を読み取るとしたが、必ずしも、上述したような順序に従い処理しなくてもよい。
【００９６】
たとえば、図１１に例示された関連情報においては、物理サーバＰＳ２が仮想サーバＶＭ３に関連付けされ、該仮想サーバＶＭ３がアプリケーションＡＰ４に関連付けされ、さらに、該アプリケーションＡＰ４は、サービスＳＶ１及びサービスＳＶ３に関連付けされている。したがって、図１１に例示された関連情報において、物理サーバＰＳ２は、サービスＳＶ１及びサービスＳＶ３に、仮想サーバＶＭ３及びアプリケーションＡＰ４を経由して関連付けされている。
【００９７】
たとえば、類似度算出部２０２は、図１３に例示されたサービス情報から、サービスＳＶ１に関連付けされたモジュールを読み取ることにより、アプリケーションＡＰ１、及び、アプリケーションＡＰ４を読み取る。次に、類似度算出部２０２は、図１１に例示された関連情報から、読み取ったアプリケーションＡＰ１に関連付けされたモジュールを読み取ることにより、仮想サーバＶＭ１を読み取る。
さらに、類似度算出部２０２は、図１１に例示された関連情報から、読み取ったアプリケーションＡＰ３に関連付けされたモジュールを読み取ることにより、仮想サーバＶＭ４を読み取る。次に、類似度算出部２０２は、図１１に例示された関連情報から、読み取った仮想サーバＶＭ１に関連付けされたモジュールを読み取ることにより、物理サーバＰＳ１を読み取る。次に、類似度算出部２０２は、図１１に例示された関連情報から、読み取った仮想サーバＶＭ４に関連付けされたモジュールを読み取ることにより、物理サーバＰＳ２を読み取る。
【００９８】
図１３に例示されたサービス情報においては、サービスＳＶ１がアプリケーションＡＰ１に関連付けされている。また、図１１に例示された関連情報においては、該アプリケーションＡＰ１が仮想サーバＶＭ４に関連付けされ、さらに、該仮想サーバＶＭ４は、物理サーバＰＳ２に関連付けされている。
すなわち、この場合に、類似度算出部２０２は、サービスＳＶ１と、物理サーバＰＳ１とが関連していることを特定し、さらに、サービスＳＶ１と、物理サーバＰＳ１との間において、アプリケーションＡＰ１及び仮想サーバＶＭ１なるモジュールを経由することを特定する。また、この場合に、類似度算出部２０２は、サービスＳＶ１と、物理サーバＰＳ２とが関連していることを特定し、さらに、サービスＳＶ１と、物理サーバＰＳ１との間において、アプリケーションＡＰ４及び仮想サーバＶＭ４なるモジュールを経由することを特定する。
【００９９】
上述したように、類似度算出部２０２は、関連情報及びサービス情報に基づき、サービスと、該サービスに関連付けされたモジュール（対象モジュール、たとえば、物理サーバＰＳ１、仮想サーバＶＭ１等）を特定する。さらに、類似度算出部２０２は、該サービスと、該モジュールとの間において、経由しているモジュールを特定する。
【０１００】
次に、類似度算出部２０２は、特定のサービスと、特定のモジュールとが関連付けされている場合に、該特定のサービス及び該特定のモジュールの間において経由しているモジュールに関する復旧率等に基づき影響度を算出する（ステップＳ３０４）。類似度算出部２０２は、たとえば、該特定のサービス及び該特定のモジュールの間において経由するモジュールに関する復旧率の逆数に関する総和を算出することにより、特定のモジュールが特定のサービスに与える影響度を算出する。
【０１０１】
たとえば、特定のモジュールが物理サーバである場合に、類似度算出部２０２は、物理サーバＰＳｉ（すなわち、特定のモジュール）がアプリケーションＡＰｋに与える影響度を、式２に従い算出する。ただし、ｉ、ｋは自然数を表す。
【０１０２】
影響度（ＰＳｉ→ＡＰｋ）＝１÷μＰＳｉ＋１÷μＶＭｊ＋１÷μＡＰｋ・・・（式２）、
（ただし、μＰＳｉは、物理サーバＰＳｉに関する復旧率を表す。μＶＭｊは、仮想サーバＶＭｊに関する復旧率を表す。μＡＰｋは、アプリケーションＡＰｋに関する復旧率を表す。ｊは自然数を表す）。
【０１０３】
また、特定のモジュールが仮想サーバである場合に、類似度算出部２０２は、仮想サーバＶＭｉがアプリケーションＡＰｋに与える影響度を、式３に従い算出する。
【０１０４】
影響度（ＶＭｉ→ＡＰｋ）＝１÷μＶＭｉ＋１÷μＡＰｋ・・・（式３）、
（ただし、μＶＭｉは、仮想サーバＶＭｉに関する復旧率を表す。μＡＰｋは、アプリケーションＡＰｋに関する復旧率を表す）。
【０１０５】
次に、類似度算出部２０２は、特定のモジュールが、サービスＳＶｍに与える影響度を算出する場合に、サービスＳＶｍに含まれる各アプリケーションに関する、影響度の総和を算出する。たとえば、類似度算出部２０２は、式４に従い、物理サーバＰＳｉがサービスＳＶｍに与える影響度を算出する。ただし、ｍは自然数を表す。
【０１０６】
影響度（ＰＳｉ→ＳＶｍ）＝Σ影響度（ＰＳｉ→ＡＰｋ）・・・（式４）、
（ただし、Σは、ＳＶｍが含むＡＰｋに関して総和を算出することを表す）。
【０１０７】
尚、類似度算出部２０２は、式５に従い、仮想サーバＶＭｉがサービスＳＶｍに与える影響度を算出する。
【０１０８】
影響度（ＶＭｉ→ＳＶｍ）＝Σ影響度（ＶＭｉ→ＡＰｋ）・・・（式５）、
（ただし、Σは、ＳＶｍが含むＡＰｋに関して総和を算出することを表す）。
【０１０９】
上述した例において、類似度算出部２０２は、復旧率に基づき影響度を算出したが、復旧率に基づき算出する処理と同様の処理を実行することによって、故障率、または、故障率及び復旧率に基づき影響度を算出してもよい。たとえば、類似度算出部２０２は、上述した復旧率の逆数の代わりに、故障率の逆数を用いることにより、影響度を算出してもよい。また、類似度算出部２０２は、上述した復旧率の逆数の代わりに、復旧率と故障率との調和平均の逆数を用いることにより、影響度を算出してもよい。
【０１１０】
類似度算出部２０２は、モジュールが故障するタイミング間の平均的な間隔時間、平均的な復旧時間、発生する障害の回数、または、発生した障害において復旧できた回数等を、復旧率の逆数の代わりに、用いてもよい。すなわち、類似度算出部２０２が影響度を算出する方法は、上述した例に限定されない。
【０１１１】
次に、類似度算出部２０２は、ステップＳ３０１からステップＳ３０４に示した処理を実行することにより算出した影響度をまとめることにより、図５に例示されたモジュール影響度情報を算出してもよい。
【０１１２】
次に、第２の実施形態に係る要因順序推定装置２０１に関する効果について説明する。
【０１１３】
本実施形態に係る要因順序推定装置２０１によれば、第１の実施形態が有する効果に加え、さらに、モジュールがサービスに与える影響度を、復旧率等に基づき、容易に算出することができる。
【０１１４】
この理由は、理由１及び理由２である。すなわち、
（理由１）第２の実施形態に係る要因順序推定装置２０１が有する構成は、第１の実施形態に係る要因順序推定装置１０１が有する構成を含むからである、
（理由２）類似度算出部２０２が、上述したように復旧率の逆数等の少ない演算数にて影響度を算出するからである。
【０１１５】
尚、上述した各実施形態に係る要因順序推定装置は、数学的なモデルを用いて管理されるクラウドデータセンタ等の情報システムに関して、サービスに関する可用性を改善するモジュールを管理しやすくする場合にも用いることができる。たとえば、管理者は、障害を引き起こすリスクが高いモジュールを除去する計画を立てる場合に、要因順序推定装置が算出する順序に基づき、モジュールを選ぶことができる。
【０１１６】
（ハードウェア構成例）
上述した本発明の各実施形態における要因順序推定装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係る要因順序推定装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係る要因順序推定装置は、専用の装置として実現してもよい。
【０１１７】
図１６は、第１の実施形態及び第２の実施形態に係る要因順序推定装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置２０は、中央処理演算装置（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、以降「ＣＰＵ」と表す）２１、メモリ２２、ディスク２３、及び、不揮発性記録媒体２４を有する。計算処理装置２０は、さらに、入力装置２５、出力装置２６、及び、通信インターフェース（以降、「通信ＩＦ」と表す。）２７を有する。計算処理装置２０は、通信ＩＦ２７を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
【０１１８】
不揮発性記録媒体２４は、コンピュータが読み取り可能な、たとえば、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ＿Ｖｅｒｓａｔｉｌｅ＿Ｄｉｓｃ）、ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ。登録商標）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）、ソリッドステートドライブ（Ｓｏｌｉｄ＿Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。不揮発性記録媒体２４は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体２４は、上述した媒体に限定されない。また、不揮発性記録媒体２４の代わりに、通信ＩＦ２７を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
【０１１９】
すなわち、ＣＰＵ２１は、ディスク２３が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行する際にメモリ２２にコピーし、演算処理を実行する。ＣＰＵ２１は、プログラム実行に必要なデータをメモリ２２から読み取る。表示が必要な場合には、ＣＰＵ２１は、出力装置２６に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ２１は、入力装置２５からプログラムを読み取る。ＣＰＵ２１は、上述した図１、または、図９に示す各部が表す機能（処理）に対応するところのメモリ２２にある要因順序推定プログラム（図２、または、図１０）を解釈し実行する。ＣＰＵ２１は、上述した本発明の各実施形態において説明した処理を順次行う。
【０１２０】
すなわち、このような場合、本発明は、係る要因順序推定プログラムによっても成し得ると捉えることができる。更に、係る要因順序推定プログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、２０１４年６月３日に出願された日本出願特願２０１４−１１４４６４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２１】
１０１    要因順序推定装置
１０２    順序部
５０１    数値情報
２０１    要因順序推定装置
２０２    類似度算出部
２０３    順序部
３００    矢印
３０１    矢印
３０２    矢印
３０３    矢印
３０４    矢印
３０５    矢印
２０    計算処理装置
２１    ＣＰＵ
２２    メモリ
２３    ディスク
２４    不揮発性記録媒体
２５    入力装置
２６    出力装置
２７    通信ＩＦ
【図１】
0006610542.tif 000002
【図２】
0006610542.tif 000003
【図３】
0006610542.tif 000004
【図４】
0006610542.tif 000005
【図５】
0006610542.tif 000006
【図６】
0006610542.tif 000007
【図７】
0006610542.tif 000008
【図８】
0006610542.tif 000009
【図９】
0006610542.tif 000010
【図１０】
0006610542.tif 000011
【図１１】
0006610542.tif 000012
【図１２】
0006610542.tif 000013
【図１３】
0006610542.tif 000014
【図１４】
0006610542.tif 000015
【図１５】
0006610542.tif 000016
【図１６】
0006610542.tif 000017
【図１７】
0006610542.tif 000018
【図１８】
0006610542.tif 000019
【図１９】
0006610542.tif 000020