(57)【要約】【課題】  ソフトウェアの運用に基づいたソフトウェアのリスク診断を自動的に行うことにより、リスク診断のユーザーの負担の軽減を図るとともに、リスクを定量的に示すことで、修正されたバージョンへの速やかな移行を促し、旧バージョンのソフトウェアを使用し続けることで発生するトラブルを未然に防ぐ。【解決手段】  運用中のソフトウェアの設定情報、動作ログ、およびイベントログを含む運用情報を抽出し、ソフトウェアの既知の問題点の発生条件とその問題点の重大度を含む問題点情報を入力する。運用情報と発生条件とを比較することにより、その運用情報が示す運用状況では前記発生条件がどの程度の確からしさで発生するかを表す確からしさの値を演算し、その確からしさの値とその問題点の重大度に基づいて定量的なリスク値を算出する。そのリスク値に応じて、ソフトウェアの修正版の適用を促すメッセージを出力する。【選択図】  図１
2007025820.tif 000002
【特許請求の範囲】
【請求項１】
運用中のソフトウェアの既知の問題点のリスク診断をコンピュータで行うリスク診断プログラムであって、
コンピュータを、
前記運用中のソフトウェアの設定情報、動作ログ、およびイベントログを含む運用情報を抽出する手段、
前記運用中のソフトウェアの既知の問題点の発生条件とその問題点の重大度を含む問題点情報を入力する手段、
抽出された運用情報と発生条件とを比較することにより、その運用情報が示す運用状況では前記発生条件がどの程度の確からしさで発生するかを表す確からしさの値を演算し、その確からしさの値とその問題点の重大度に基づいて定量的なリスク値を算出する手段、並びに、
前記リスク値を所定の閾値と比較し、リスク値が閾値より大きいときは、その問題点に関する回避策や回復策を提示したり、前記ソフトウェアの修正版の適用を促すメッセージを出力する手段
として機能させることを特徴とするソフトウェアのリスク診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの既知の問題に対するリスク診断を行うプログラムに関する。
【背景技術】
【０００２】
ソフトウェアは、不良が発見されたり仕様変更があると、しばしばバージョンアップされる。一方、バージョンアップに伴い、以前のバージョンで動作していたものが動作しなくなるという危険がある。このため、企業の基幹業務で運用中のソフトウェアについて、修正バージョンの適用は慎重に行われる。すなわち、修正バージョンで修正された問題に対するリスクを評価し、修正バージョンの適用を行うかどうか、あるいは適用の時期はどうするかを検討する。結果として、多くのユーザーが旧バージョンのまま運用する場合もある。この場合、旧バージョンにおける既知の問題が多くのユーザーにおいて顕在化することがある。
【０００３】
バージョンアップによるリスク低減の技術として、例えば、下記特許文献１に記載のものが知られている。この技術は、新旧バージョンを併用することにより、バージョンアップによるリスク低減を図る技術である。旧バージョンを残したまま新バージョンをインストールし、両方のバージョンで同じ処理を行わせる。このとき、それぞれの実行性能に関する情報を収集し、新バージョンの方が性能が良いと判明した場合に、新バージョンの導入を確定するものである。
【０００４】
また、ソフトウェアのリスク診断方法として、例えば、下記特許文献２に記載のものが知られている。この技術では、リスク診断サーバが、リスク情報データベースから、ソフトウェアのバージョン毎に、確認されている問題点から想定されるリスクを定量化したリスクレベル情報を関連付けてなるソフトウェア・リスク情報を取り出して、クライアント端末に送信する。クライアント端末は、自装置側で使用するソフトウェアを特定するソフトウェア特定情報を取得し、前記ソフトウェア・リスク情報から、前記自装置側で使用するソフトウェア特定情報に適合するデータを抽出して、自己診断を行い、その結果を返送する。その後、リスク診断サーバが、前記自己診断の結果を出力する。
【特許文献１】特開２００４−１７１３２６号公報
【特許文献２】特開２００３−１８６６９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術は、新旧バージョン性能の比較は行えるものの、旧バージョンに潜在するソフトウェアの問題に対する診断を行うものではないため、旧バージョンを使用し続けた結果、潜在していた問題が顕在化する可能性について評価できない。さらに、上記特許文献１に記載の技術は、企業の基幹業務システムに使用する運用管理ソフトウェアへの適用は困難である。例えば、運用管理ソフトウェアでユーザーのジョブを実行する場合、そのジョブを新旧の両バージョンで並行して行うことは、ジョブの２重実行となり業務上許されない場合が多い。
【０００６】
また、上記特許文献２に記載の技術は、ソフトウェアの特定情報に基づくリスク診断を行うものの、ソフトウェア個別の運用を考慮したリスク診断（同じソフトウェアを使っていても、運用する際の使用条件が異なればリスクも異なるはずである）は行えない。個別運用を考慮するには、ソフトウェアのユーザー自身が人手で問題点についてのドキュメントを参照するなどして運用を考慮したリスク診断を行う必要があり、ユーザーの負担も大きく、また、ドキュメントの誤解により適切な診断がなされないこともありうる。
【０００７】
本発明は、ソフトウェアの運用に基づいたソフトウェアのリスク診断を自動的に行うことにより、リスク診断のユーザーの負担の軽減を図るとともに、リスクを定量的に示すことで、修正されたバージョンへの速やかな移行を促し、旧バージョンのソフトウェアを使用し続けることで発生するトラブルを未然に防ぐことを目的とする。
【課題を解決するための手段】
【０００８】
上記問題を解決するために、本発明は、運用中のソフトウェアの既知の問題点のリスク診断をコンピュータで行うリスク診断プログラムであって、コンピュータを、前記運用中のソフトウェアの設定情報、動作ログ、およびイベントログを含む運用情報を抽出する手段、前記運用中のソフトウェアの既知の問題点の発生条件とその問題点の重大度を含む問題点情報を入力する手段、抽出された運用情報と発生条件とを比較することにより、その運用情報が示す運用状況では前記発生条件がどの程度の確からしさで発生するかを表す確からしさの値を演算し、その確からしさの値とその問題点の重大度に基づいて定量的なリスク値を算出する手段、並びに、前記リスク値を所定の閾値と比較し、リスク値が閾値より大きいときは、その問題点に関する回避策や回復策を提示したり、前記ソフトウェアの修正版の適用を促すメッセージを出力する手段として機能させることを特徴とする。
【０００９】
本発明に係る診断プログラムを使用することにより、問題点を修正したソフトウェアのバージョンアップ版が発行されたとき、その問題点に関する定量的なリスクの診断および問題発生の監視を行うことができる。問題の発生が無く、リスクも低いと診断された場合は、問題点を修正したソフトウェアの新バージョンへ移行せず、現在使用中のソフトウェアの使用を続ければよい。一方、問題の発生が有る、または、リスクが高いと診断された場合、問題点を修正したソフトウェアの新バージョンへ移行するかまたは提示された回避策・回復策を行うように運用すればよい。リスクがあると診断された場合、リスクの大きさに応じて、修正したソフトウェアの新バージョンへ移行する時期を変更するようにしてもよい。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、ソフトウェアの運用に基づいたソフトウェアのリスク診断を自動的に行うことにより、リスク診断のユーザーの負担の軽減を図ることができる。また、リスクを定量的に示すことで、修正されたバージョンへの速やかな移行を促すとともに、回避策を事前に適用したり、回復策を示すことで、旧バージョンのソフトウェアを使用し続けることで発生するトラブルを未然に防ぎあるいは回復することができる。さらに、旧バージョンを使用し続けて問題が発生した場合も、診断プログラムにより素早く原因を突き止めることができ、旧バージョンを使用し続けても、新バージョン並のソフトウェアの可用性を実現する運用が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
【００１２】
図１は、本発明の一実施形態に係るソフトウェアの診断プログラムの使用イメージの概要を示すブロック図である。１は既知の問題を含むソフトウェア本体を示す。２は、ソフトウェア１の設定情報やソフトウェア１の動作履歴を記録する動作ログ、およびソフトウェア１が検知した事象を記録するイベントログを含む運用情報ファイルを示す。３はソフトウェア１の既知の問題を診断・監視する診断プログラムを示す。４はソフトウェア本体１についての既知の問題の問題点情報を示す。５は診断プログラム３が出力する診断結果を示す。
【００１３】
ソフトウェア本体１は、運用情報ファイル２に含まれる設定情報を入力し、その設定情報に基づいて動作する。その際、動作の内容を運用情報ファイル２に含まれる動作ログに出力する。また、ソフトウェア本体１はソフトウェアが検知した事象についての情報を運用情報ファイル２に含まれるイベントログに出力する。診断プログラム３は、ソフトウェア本体１についての既知の問題の問題点情報４に含まれる発生条件を運用情報ファイル２から検索し、問題の発生の有無と、潜在的リスクの計算を行い、診断結果５を出力する。
【００１４】
図２は、診断プログラム３が運用情報と問題点の発生条件から問題点発生確率を算出する例を示すためのテーブル図である。問題点情報テーブル２１は、図１の診断プログラム３が参照する問題点情報４に相当する。問題点情報テーブル２１に記載されている問題点Aは、ソフトウェア本体１についての既知の問題である。発生条件１〜３が示され、これらの条件１〜３のANDの組み合わせでこの問題が発生することが示されている。例えば、発生条件１、発生条件２、発生条件３の発生確率をそれぞれ０．３、０．２、０．１とすると、問題点Ａの発生確率はそれらの積であるので、０．００６となる。また、この問題についての重大度と回避策が記載されている。設定情報２２、動作ログ２３、およびイベントログ２４は、図１の運用情報ファイル２に含まれる。設定情報２２はソフトウェア本体１が動作する前に予め設定されているものであり、動作ログ２３とイベントログ２４はソフトウェア本体１が動作しているときに取得して格納する情報である。
【００１５】
図１の診断プログラム３が問題点情報テーブル２１にある問題点Aの発生確率を算出する手順は次のとおりである。
【００１６】
まず、図１の診断プログラム３は、問題点情報テーブル２１にある問題点Aの発生条件１を参照し、「設定情報S1=YYY」という条件を取得する。そこで診断プログラム３は、図１の運用情報ファイル２の中から設定情報２２の S1の項目を検索する。設定情報２２ではS1=YYYとなっており、問題点情報テーブル２１の発生条件１に合致する。問題点情報テーブル２１にある問題点Aの組み合わせ条件は AND のため、合致しなかった場合は、発生確率０となる。
【００１７】
次に、発生条件２、３であるが、これは処理Pを行っている間にイベントEが発生するという条件で、タイミングにより発生する問題点ということを意味する。そこで、図１の診断プログラム３は、図１の運用情報ファイル２の中の動作ログ２３から処理Pの開始・終了を検索し、動作ログ２３全体について処理Pの処理時間の合計を計算する。また、図１の診断プログラム３は、図１の運用ファイル２の中のイベントログ２４からイベントEの発生回数を数える。この結果、例えば、処理Pの処理時間の合計が１秒、イベントEの発生回数が２回、動作ログ２３およびイベントログ２４を取得した時間の長さがどちらも100時間とすると、問題点Aが発生する確率は、100時間で （1秒÷100時間）×2＝0.00056% となる。すなわち、動作ログ２３とイベントログ２４を取得した処理時間の全体長さに対する処理Pの処理時間合計の割合を求め、これにイベントEの発生回数を掛けて、求める確率としている。
【００１８】
なお、この確率の算出の仕方は、上記方式に限られない。設定情報２２、動作ログ２３、およびイベントログ２４に基づいて、実際に運用されている現在からみてどの程度当該問題が発生し易い（あるいはし難い）状況にあるかを数値で示すような方式であればよい。
【００１９】
図３は、診断プログラム３の動作を示すフローチャートである。診断プログラム３は、問題点情報テーブル２１を参照して問題点の発生条件を取得する（ステップ３１）。次に、運用情報（設定情報２２、動作ログ２３、イベントログ２４）から前記発生条件を検索する（ステップ３２）。この結果、発生条件を満たさない場合は、次の問題点の処理を行う（ステップ３３）。満たす場合は（ステップ３３）、発生確率と重大度からリスクを算出する（ステップ３４）。重大度は図２の問題点情報テーブル２１に数値としてもっており、これと前述したように求めた発生確率を掛け合わせたものをリスク値として算出する。例えば、図２の問題点Ａのリスク値は、発生確率０．００６と重大度６０との積である０．３６となる。診断プログラム３には、どの程度のリスク値であれば対処を必要とするかを判定するための閾値があらかじめ与えられている。リスクが閾値以上かを判定するステップ３５では、ステップ３４で算出したリスク値と閾値を比較し、閾値に達しない場合はそれ程重大ではないリスクと判断して、次の問題点の処理へ進む。閾値以上であった場合、図２の問題点情報テーブル２１中の当該問題点の記載の中に回避策があるかを判定する（ステップ３６）。回避策がある場合は、その回避策を表示し対処を促すメッセージを出力する（ステップ３７）。また回避策がない場合は、修正版の適用を促すメッセージを出力する（ステップ３８）。例えば、問題点Ａのリスク値０．３６に対して、閾値が０．５であれば次の問題点の処理に進み、閾値が０．３であればステップ３６の判定を行い、この場合回避策があるので、「Xオプションを使用する」旨のメッセージを出力する（図２参照）。
【００２０】
図４は、上述したソフトウェア診断プログラム３を用いたソフトウェア運用方法を示すフロ−チャートである。まず、診断プログラム３がソフトウェア１の運用管理者に提供される（ステップ４１）。この診断プログラム３には、ソフトウェア１に対して新たに発見された問題点が記載された問題点情報４も添付されている。ソフトウェア運用管理者は、この診断プログラム３を使用して運用中のソフトウェア１に対してリスク診断する。その結果として、図３で説明したようにステップ３７や３８で出力される情報が提供されるので、ソフトウェア運用管理者は、その結果を参照してリスク判定を行う（ステップ４３）。リスクがないと診断された場合、現行のソフトウェアバージョン（旧バージョン）の使用をそのまま続ける（ステップ４４）。リスクがあると診断された場合（ステップ４３）、ソフトウェア運用管理者は、そのソフトウェアの問題に対する回避策の適用可否を検討する（ステップ４５）。回避策の適用ができない場合、示されたリスクに応じて、問題点が修正されたソフトウェアのバージョン（新バージョン）への移行を検討する（ステップ４６）。その際、問題の発生確率に応じて移行スケジュールを立てると良い。即ち、確率が高い場合は早急に移行を行い、確率が低い場合は中長期の運用スケジュールの中で移行の計画を立てる。回避策を適用することで運用可能と判断した場合は、その回避策を適用し、現行のソフトウェアバージョンの使用をそのまま続ける（ステップ４７）。
【００２１】
以上のようなソフトウェア運用を行い、新たに診断プログラムの提供（ステップ４１）がなされる度に、同様の手順で運用を続ける。
【００２２】
なお、上記実施形態では、問題点情報に回避策を含め、リスクが大きいときはその回避策を運用管理者に提示しているが、回避策とともに、あるいは回避策の代わりに、回復策（その問題が発生してしまったとき、どのように対処してシステムを回復するかを示す策）を問題点情報に含めておき、これを運用管理者に提示するようにしてもよい。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態の概要を表すブロック図
【図２】運用情報と問題点の発生条件から問題点発生確率を算出する例を示すためのテーブル図
【図３】診断プログラムの動作を示すフローチャート
【図４】実施形態におけるソフトウェア運用方法を示すフローチャート
【符号の説明】
【００２４】
１…ソフトウェア本体、２…運用情報ファイル、３…診断プログラム、４…問題点情報、５…診断結果、２１…問題点情報テーブル、２２…設定情報、２３…動作ログ、２４…イベントログ、３１…問題点情報の取得、３２…運用情報から発生条件を検索、３３…発生条件を満たすかを判定、３４…発生確率と重大度からリスクを算出、３５…リスクが閾値以上かを判定、３６…回避策の有無を判定、３７…回避策を表示し対処を即すメッセージを出力、３８…修正版の適用を即すメッセージを出力、４１…診断プログラムの提供、４２…診断プログラムの使用、４３…リスク判定、４４…旧バージョンの使用、４５…回避策の判定、４６…移行検討、４７…回避策の適用。
【図１】
2007025820.tif 000003
【図２】
2007025820.tif 000004
【図３】
2007025820.tif 000005
【図４】
2007025820.tif 000006