(57)【要約】【課題】障害の発生が予測しうる処理要求に対する対応を自動的に行う。【解決手段】過去に障害が発生したときのアクセスの対象ページ及びそのときのユーザーの利用環境から特定される条件を含む障害発生条件と当該障害への対応内容とが対応付けして設定された対応情報が設定登録された対応情報データベース３２と、ユーザーからのリクエストを受け付けたときに取得された当該ユーザーのユーザー情報とリクエストの内容が対応情報に含まれているいずれかの障害発生条件と合致することで障害の発生が予測できる場合、当該障害発生条件対応付けされている対応内容に従ってリクエスト処理部１６にリクエスト処理を実行させる前又は後、あるいは実行させずに障害対応処理を実行する障害対応処理部１５と、を有する。【選択図】図１
2018028760.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーからの処理要求を受け付ける受付手段と、
処理要求をしたユーザーのユーザー情報を取得する取得手段と、
前記受付手段により処理要求が受け付けられたときに当該処理要求の内容及び当該ユーザーのユーザー情報がいずれかの障害発生条件に合致した場合、その合致した障害発生条件に対応して設定された対応内容であって過去に当該処理要求と同じ内容の処理要求に応じて処理を実行したときに発生した障害に対する対応内容に従って当該処理要求に対して障害対応処理を実行する障害対応処理実行手段と、
を有することを特徴とする情報処理装置。
【請求項２】
障害が発生したとき障害発生条件と当該障害に対する対応内容とが対応付けられた対応情報を記憶する対応情報記憶手段と、
ユーザーからの処理要求に応じた処理の実行中に発生した障害に関する情報、当該処理要求の内容を示す情報及び当該処理要求をしたユーザーのユーザー情報を含む障害情報に基づき前記対応情報を生成して前記対応情報記憶手段に設定登録する対応情報生成手段と、
を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段により受け付けられた処理要求に応じて処理を実行する処理実行手段と、
前記受付手段により受け付けられた処理要求の内容及び当該ユーザーのユーザー情報が前記対応情報記憶手段に記憶されているいずれかの対応情報に含まれている障害発生条件と合致する場合、当該対応情報に含まれている対応内容に従って当該処理要求に対して障害対応処理を前記障害対応処理実行手段に実行させるよう制御する制御手段と、
を有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記障害対応処理実行手段は、当該対応情報に含まれている対応内容に従って、前記処理要求に応じた処理を、前記処理実行手段に実行させる前、前記処理実行手段に実行させた後、又は前記処理実行手段に実行させずに障害対応処理を実行することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記障害対応処理実行手段は、前記処理要求に応じた処理を、当該処理要求の内容を変更する障害対応処理を実行した後に前記処理実行手段に実行させることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記障害対応処理実行手段は、前記処理要求に応じた処理を前記処理実行手段に実行させずに、当該処理を実行できない旨を示す情報を当該ユーザーに通知する障害対応処理を実行することを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記制御手段は、前記受付手段により受け付けられた処理要求の内容及び当該ユーザーのユーザー情報が前記対応情報記憶手段に記憶されているいずれの対応情報に含まれている障害発生条件とも合致しない場合、前記処理要求に応じた処理を前記処理実行手段に実行させるよう制御することを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記取得手段は、処理要求をした時点のユーザーの利用状況を取得してユーザー情報に含めることを特徴とする請求項１乃至７のいずれか1項に記載の情報処理装置。
【請求項９】
コンピュータを、
ユーザーからの処理要求を受け付ける受付手段、
処理要求をしたユーザーのユーザー情報を取得する取得手段、
前記受付手段により処理要求が受け付けられたときに当該処理要求の内容及び当該ユーザーのユーザー情報がいずれかの障害発生条件に合致した場合、その合致した障害発生条件に対応して設定された対応内容であって過去に当該処理要求と同じ内容の処理要求に応じて処理を実行したときに発生した障害に対する対応内容に従って当該処理要求に対して障害対応処理を実行する障害対応処理実行手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
ユーザーからの要求に応じた処理の実行中に何らかの障害が発生した場合、その障害を解消するために様々な措置が講じられる。例えば、稼動情報をもとにコンピュータの障害を検知する障害検知システムにおいて、既にある障害検知条件の他に、 稼働情報の組み合わせによる障害検知条件の編集機能を提供し、既存の障害条件と編集後の障害検知条件をもとに障害条件を修正することでコンピュータの障害検知条件を自動で更新する技術が提案されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９８１２３号公報
【特許文献２】特開２００５−２９３１４０号公報
【特許文献３】特開平１０−２２９３９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザーからの処理要求に応じた処理の実行中に発生する障害を検知するための条件を更新することによって障害をより高精度に検知することは可能かもしれない。しかしながら、過去に障害が発生した処理要求と同様の内容の処理要求がされた場合、過去と同様に障害が発生することが予想できるが、従来においては、障害の発生が予想しうる処理要求に対して、障害の発生を回避するなどの対応を自動的に行うことはできない。
【０００５】
本発明は、障害の発生が予測しうる処理要求に対する対応を自動的に行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、ユーザーからの処理要求を受け付ける受付手段と、処理要求をしたユーザーのユーザー情報を取得する取得手段と、前記受付手段により処理要求が受け付けられたときに当該処理要求の内容及び当該ユーザーのユーザー情報がいずれかの障害発生条件に合致した場合、その合致した障害発生条件に対応して設定された対応内容であって過去に当該処理要求と同じ内容の処理要求に応じて処理を実行したときに発生した障害に対する対応内容に従って当該処理要求に対して障害対応処理を実行する障害対応処理実行手段と、を有することを特徴とする。
【０００７】
また、障害が発生したとき障害発生条件と当該障害に対する対応内容とが対応付けられた対応情報を記憶する対応情報記憶手段と、ユーザーからの処理要求に応じた処理の実行中に発生した障害に関する情報、当該処理要求の内容を示す情報及び当該処理要求をしたユーザーのユーザー情報を含む障害情報に基づき前記対応情報を生成して前記対応情報記憶手段に設定登録する対応情報生成手段と、を有することを特徴とする。
【０００８】
また、前記受付手段により受け付けられた処理要求に応じて処理を実行する処理実行手段と、前記受付手段により受け付けられた処理要求の内容及び当該ユーザーのユーザー情報が前記対応情報記憶手段に記憶されているいずれかの対応情報に含まれている障害発生条件と合致する場合、当該対応情報に含まれている対応内容に従って当該処理要求に対して障害対応処理を前記障害対応処理実行手段に実行させるよう制御する制御手段と、を有することを特徴とする。
【０００９】
また、前記障害対応処理実行手段は、当該対応情報に含まれている対応内容に従って、前記処理要求に応じた処理を、前記処理実行手段に実行させる前、前記処理実行手段に実行させた後、又は前記処理実行手段に実行させずに障害対応処理を実行することを特徴とする。
【００１０】
また、前記障害対応処理実行手段は、前記処理要求に応じた処理を、当該処理要求の内容を変更する障害対応処理を実行した後に前記処理実行手段に実行させることを特徴とする。
【００１１】
また、前記障害対応処理実行手段は、前記処理要求に応じた処理を前記処理実行手段に実行させずに、当該処理を実行できない旨を示す情報を当該ユーザーに通知する障害対応処理を実行することを特徴とする。
【００１２】
また、前記制御手段は、前記受付手段により受け付けられた処理要求の内容及び当該ユーザーのユーザー情報が前記対応情報記憶手段に記憶されているいずれの対応情報に含まれている障害発生条件とも合致しない場合、前記処理要求に応じた処理を前記処理実行手段に実行させるよう制御することを特徴とする。
【００１３】
また、前記取得手段は、処理要求をした時点のユーザーの利用状況を取得してユーザー情報に含めることを特徴とする。
【００１４】
本発明に係るプログラムは、コンピュータを、ユーザーからの処理要求を受け付ける受付手段、処理要求をしたユーザーのユーザー情報を取得する取得手段、前記受付手段により処理要求が受け付けられたときに当該処理要求の内容及び当該ユーザーのユーザー情報がいずれかの障害発生条件に合致した場合、その合致した障害発生条件に対応して設定された対応内容であって過去に当該処理要求と同じ内容の処理要求に応じて処理を実行したときに発生した障害に対する対応内容に従って当該処理要求に対して障害対応処理を実行する障害対応処理実行手段、として機能させる。
【発明の効果】
【００１５】
請求項１に記載の発明によれば、障害の発生が予想しうる処理要求に対する対応を自動的に行うことができる。
【００１６】
請求項２に記載の発明によれば、障害の発生が予想できたときの対応をデータベース化することができる。
【００１７】
請求項３に記載の発明によれば、障害の発生が予想できたときに障害に対応する処理を講じることができる。
【００１８】
請求項４に記載の発明によれば、障害の発生が予想できたときに障害に対応する処理を適切なタイミングで講じることができる。
【００１９】
請求項５に記載の発明によれば、障害の発生が予想できた処理を、障害を発生させずに実行することができる。
【００２０】
請求項６に記載の発明によれば、障害の発生が予想できた処理であって障害の発生を回避できない処理が要求された旨をユーザーに通知することができる。
【００２１】
請求項７に記載の発明によれば、障害の発生が予想されない処理に対しては、通常通りに処理要求に応じた処理を実行することができる。
【００２２】
請求項８に記載の発明によれば、障害の発生が予想される時点のユーザーの利用状況を取得することができる。
【００２３】
請求項９に記載の発明によれば、障害の発生が予想しうる処理要求に対する対応を自動的に行うことができる。
【図面の簡単な説明】
【００２４】
【図１】本発明に係る情報処理装置の一実施の形態であるサービスシステムを示したブロック構成図であり、ユーザーにサービスを提供する際の機能を示したブロック構成図である。
【図２】本発明に係る情報処理装置の一実施の形態であるサービスシステムを示したブロック構成図であり、対応情報を生成するための機能を示したブロック構成図である。
【図３】本実施の形態におけるサービスシステムのハードウェア構成図である。
【図４】本実施の形態における対応情報データベースに設定登録される対応情報のデータ構成の一例を示した図である。
【図５】本実施の形態におけるリクエスト処理を示したフローチャートである。
【図６】本実施の形態における障害情報データベースに登録される障害情報のデータ構成の一例を示した図である。
【図７】本実施の形態における対応情報の生成処理を示したフローチャートである。
【図８】本実施の形態における障害集計情報データベースに登録される障害集計情報のデータ構成の一例を示した図である。
【発明を実施するための形態】
【００２５】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２６】
図１は、本発明に係る情報処理装置の一実施の形態であるサービスシステム１０を示したブロック構成図であり、ユーザーにサービスを提供する際に必要な機能のブロック構成図である。図２は、同じくサービスシステム１０のブロック構成図であるが、図２には、サービスを提供する上で必要な対応情報を生成するために必要な機能のブロック構成図である。本実施の形態の説明に用いない構成要素については図１，２から省略した。本実施の形態におけるサービスシステム１０は、ユーザーからの処理要求に応じて要求されたサービス処理を実行し、必要により情報を提供する。本実施の形態では、処理要求を「リクエスト」、またリクエストに応じてユーザーに提供する情報を「レスポンス」と称する。
【００２７】
図３は、本実施の形態におけるサービスシステム１０のハードウェア構成図である。本実施の形態におけるサービスシステム１０は、１又は複数のコンピュータにより形成されている。本実施の形態では、便宜的に１台のサーバコンピュータで実現するものとして説明する。本実施の形態におけるサービスシステム１０は、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、サービスシステム１０は、図３に示したようにＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、ハードディスクドライブ（ＨＤＤ）４４、入力手段として設けられたマウス４５とキーボード４６、及び表示装置として設けられたディスプレイ４７をそれぞれ接続する入出力コントローラ４８、通信手段として設けられたネットワークコントローラ４９を内部バス５０に接続して構成される。
【００２８】
図１に戻り、本実施の形態におけるサービスシステム１０は、リクエスト受付部１１、ユーザー情報取得部１２、対応判定部１３、ログ情報生成部１４、障害対応処理部１５、リクエスト処理部１６、障害検知部１７、障害情報生成部１８、レスポンス提供部１９、ユーザー情報データベース（ＤＢ）３１、対応情報データベース（ＤＢ）３２、ログ情報記憶部３３、エラーログデータベース（ＤＢ）３４及び障害情報データベース（ＤＢ）３５を有している。リクエスト受付部１１は、受付手段として設けられ、ユーザーがクライアント端末１を使用してサービスシステム１０を利用しているときの所定の操作に応じて送られてくるリクエストを受け付ける。ユーザー情報取得部１２は、取得手段として設けられており、リクエスト受付部１１によりリクエストが受け付けられると、当該ユーザーのユーザー情報をユーザー情報データベース３１から取得する。また、ユーザーに問い合わせることで当該ユーザーの利用状況を取得し、前述したユーザー情報と統合して対応判定部１３へ渡す。ユーザーの利用状況というのは、ユーザーがサービスシステム１０を利用しているときの利用環境、例えば、クライアント端末１の機種、ＣＰＵ、ディスプレイの解像度等のハードウェアの仕様情報、ユーザーがサービスシステム１０の利用に用いるブラウザ等アプリケーションの種類やバージョン等ソフトウェアに関する情報、ネットワーク環境に関する情報等である。
【００２９】
対応判定部１３は、制御手段として設けられ、リクエスト受付部１１によりリクエストが受け付けられると、そのリクエストの内容及びユーザー情報取得部１２から取得した当該ユーザーのユーザー情報に基づき対応情報データベース３２を検索することにより、リクエストの内容及び当該ユーザーのユーザー情報が、対応情報データベース３２に登録されているいずれかの対応情報に含まれている障害発生条件と合致する場合、該対応情報に含まれている対応内容に従って当該リクエストに対して障害対応処理を障害対応処理部１５に実行させるよう制御する。一方、リクエストの内容及び当該ユーザーのユーザー情報が、対応情報データベース３２に登録されているいずれの対応情報に含まれている障害発生条件とも合致しない場合、ログ情報生成部１４にログ情報を一時記憶させた後、リクエスト処理部１６に当該リクエストを実行させるよう制御する。
【００３０】
ログ情報生成部１４は、リクエストの内容及び当該ユーザーのユーザー情報を含むログ情報を生成し、ログ情報記憶部３３に一時記憶させた後、当該リクエストをリクエスト処理部１６に送る。リクエスト処理部１６は、処理実行手段として設けられ、リクエスト受付部１１により受け付けられたリクエストに応じて処理を実行する。
【００３１】
障害対応処理部１５は、障害対応処理実行手段として設けられ、対応判定部１３からの指示に従い、リクエスト受付部１１により受け付けられたリクエストに対して障害対応処理を実行する。障害検知部１７は、リクエスト処理部１６による処理の実行中に発生する障害を検知する。リクエスト処理部１６で障害が発生すると、エラーログが生成されエラーログデータベース３４に登録されるが、障害情報生成部１８は、障害検知部１７により障害の発生が検知されると、ログ情報及びエラーログを各記憶手段から取得して障害情報を生成し、障害情報データベース３５に登録する。レスポンス提供部１９は、リクエスト受付部１１により受け付けられたリクエストに応じて処理が実行された結果、得られたレスポンスをリクエスト発行元のクライアント端末１へ送信してユーザーに提供する。正常にリクエストが処理された場合にはその処理の結果がレスポンスとして提供できるが、そうでない場合、詳細は後述するようにそれ以外の情報が提供される場合がある。
【００３２】
ユーザー情報データベース３１には、サービスシステム１０を利用するユーザーの個人情報がユーザー情報として予め設定登録されている。ユーザー情報は、ユーザーがサービスシステム１０の利用を開始する時点で、例えば氏名、住所、年齢、性別等の属性情報をユーザーに入力させることで生成される。
【００３３】
図４は、本実施の形態における対応情報データベース３２に設定登録される対応情報のデータ構成の一例を示した図である。対応情報は、障害発生条件を構成する対象ページ及び条件と、障害発生条件に対応付けられた対応内容を含む。対象ページには、ユーザーがサービスシステム１０により提供されるサービスを利用する際に指定されたページのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が設定される。条件には、ユーザーからのリクエストに応じて処理を実行した際に障害が発生したときの条件が設定される。条件には、ユーザー情報に含まれている属性項目及びその属性値が設定される。複数の条件を組み合わせて設定されている場合もある。対応内容には、リクエストの内容及びリクエストをしたユーザーのユーザー情報が障害発生条件に合致した場合に、当該リクエストに対する対応内容が設定される。図４に例示した先頭の対応情報の設定例によると、いずれかのユーザーが過去にブラウザＢ１を利用して電子請求書ダウンロード（ＤＬ）ページ（ＵＲＬは“ａａａ．ｊｓｐ”）にアクセスしたときに障害が発生しており、この障害に対してはリンク先を“ａａａ．ｊｓｐ”から“ａａａＢ１．ｊｓｐ”に変更することで対応するということがわかる。対応情報は、図２に示した構成にて生成されることになるが、この生成処理については後述する。
【００３４】
ログ情報記憶部３３、エラーログデータベース３４及び障害情報データベース３５の詳細は処理の説明と合わせて説明する。
【００３５】
また、本実施の形態におけるサービスシステム１０は、更に図２に示したように、障害集計情報生成部２０、障害条件算出部２１、障害条件提示部２２、対応情報設定部２３、対応情報データベース３２、障害情報データベース３５及び障害集計情報データベース（ＤＢ）３６を有している。対応情報データベース３２及び障害情報データベース３５は、図１及び図２の双方に示されている。図２には、対応情報生成手段が示されており、これらの構成によって障害情報データベース３５に基づき対応情報を生成して対応情報データベース３２に設定登録する。
【００３６】
障害集計情報データベース３６には、詳細は後述するが、障害毎対象ページ毎に分類して形成された複数の集計テーブルが含まれている。障害集計情報生成部２０は、障害情報データベース３５に登録されている障害情報をいずれかの集計テーブルに分類し、かつ障害情報を属性項目の属性値毎に集計する。障害条件算出部２１は、各集計値が障害情報全体を占める割合（以下、「占有率」ともいう）を算出する。障害条件提示部２２は、算出された占有率や障害集計情報を管理者に提示する。管理者は、提供された情報を参照して、障害に対する具体的な対応方法を策定し、どのような状況の下に障害が発生しているのかという条件（障害発生条件）と、その障害発生条件の下で発生した障害に対する対応方法を策定するが、障害条件提示部２２は、その障害発生条件及び対応方法（対応内容）を受け付ける。対応情報設定部２３は、受け付けられた障害発生条件及び対応内容を含む対応情報を生成して、対応情報データベース３２に設定登録する。
【００３７】
サービスシステム１０における各構成要素１１〜２３は、サービスシステム１０を形成するコンピュータと、コンピュータに搭載されたＣＰＵ４１で動作するプログラムとの協調動作により実現される。また、各記憶手段３１〜３６は、サービスシステム１０に搭載されたＨＤＤ４４にて実現される。あるいは、ＲＡＭ４３又は外部にある記憶手段をネットワーク経由で利用してもよい。
【００３８】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭやＵＳＢメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのＣＰＵがプログラムを順次実行することで各種処理が実現される。
【００３９】
次に、本実施の形態における動作について説明する。まず最初にユーザーからリクエストが送られてきたときに実施するリクエスト処理について図５に示したフローチャートを用いて説明する。
【００４０】
ユーザーは、ブラウザを立ち上げ、サービスシステム１０が提供するサービスの利用を開始する、そして、所望のサービスの利用のために画面に表示されているＵＲＬ等を選択する。これにより、クライアント端末１からサービスシステム１０にリクエストが発行される。なお、リクエストには、アクセス対象とするページのＵＲＬ、リクエスト発行元のクライアント端末１、ユーザーを特定するユーザーＩＤ等の情報が含まれている。
【００４１】
リクエスト受付部１１がクライアント端末１から送られてくるリクエストを受け付けると（ステップ１０１）、ユーザー情報取得部１２は、当該ユーザーに対して利用状況を問い合わせる。問合せの内容としては、使用中のブラウザ、ＯＳ、ディスプレイの解像度などである。そして、ユーザー情報取得部１２は、問合せに応じてユーザーにより入力指定された利用状況を取得すると（ステップ１０２）、続けて当該ユーザーのユーザー情報をユーザー情報データベース３１から取得する（ステップ１０３）。そして、ユーザーの利用状況をユーザー情報に含めて対応判定部１３に渡す。
【００４２】
なお、サービスシステム１０の利用の開始時に、ステップ１０２で問い合わせる項目についてもユーザーに設定させておいてもよいし、以前に問い合わせた項目値をユーザー情報データベース３１に保存するようにしてもよい。ただ、本実施の形態では、障害が発生した時点において収集する情報が正確なので、その都度問い合わせるようにした。
【００４３】
対応判定部１３は、リクエストの内容及びユーザーの利用状況を含むユーザー情報を受け取ると、これらの受け取った情報に基づき対応情報データベース３２を検索する（ステップ１０４）。
【００４４】
なお、以降の処理については全体の流れを簡単に説明する。詳細については追って説明する。
【００４５】
受け取った情報に該当する障害発生条件が存在する場合（ステップ１０５でＹ）、その障害発生条件を含む対応情報を対応情報データベース３２から取得する（ステップ１１１）。そして、障害対応処理部１５は、その取得された対応情報に含まれている対応内容に従って当該リクエストに対して障害対応処理を実行する（ステップ１１２）。障害対応処理部１５は、障害対応処理を、リクエスト処理部１６にリクエストに応じた処理（以下、「リクエスト処理」）を実行する前に実行する場合があるし、リクエスト処理後に実行する場合もある。あるいは、リクエスト処理部１６にリクエスト処理を実行させずに実行する場合もある。障害対応処理は、対応内容に従って、換言すると障害の内容に従って実行制御される。以上の障害対応処理を実行した後、レスポンス提供部１９は、処理の実行結果をレスポンスとしてリクエスト元のクライアント端末１へ提供する（ステップ１１０）。
【００４６】
一方、受け取った情報に該当する障害発生条件が対応情報データベース３２に存在しない場合（ステップ１０５でＮ）、ログ情報生成部１４は、リクエスト及びユーザー情報を対応判定部１３から受け取り、これらの情報を含むログ情報を生成し、レスポンスを返すまでログ情報記憶部３３に一時保持させる（ステップ１０６）。ログ情報は保持されると、リクエスト処理部１６は、リクエスト処理を実行する（ステップ１０７）。リクエスト処理の実行中に何の障害も発生しなければ（ステップ１０８でＮ）、リクエストは正常に処理されたことになる。よって、レスポンス提供部１９は、正常に終了した処理の結果（レスポンス）をリクエスト元のクライアント端末１へ提供する（ステップ１１０）。なお、ログ情報は、障害が発生しなかったのでどこにも記録されずに消去されることになるが、対応情報の作成の参考情報等を目的として別の記憶手段にて蓄積しておくようにしてもよい。
【００４７】
一方、リクエスト処理の実行中に何らかの障害が発生したことが障害検知部１７により検知された場合（ステップ１０８でＹ）、エラーログが生成されエラーログデータベース３４に登録される。そして、障害情報生成部１８は、ログ情報をログ情報記憶部３３から、またエラーログをエラーログデータベース３４からそれぞれ取得し、これらの情報を統合して障害情報を生成し、障害情報データベース３５に記録する（ステップ１０９）。この後、レスポンス提供部１９は、処理の実行結果をレスポンスとしてリクエスト元のクライアント端末１へ提供する（ステップ１１０）。クライアント端末１へ提供する情報の具体的内容については追って説明する。
【００４８】
図６は、本実施の形態における障害情報データベース３５に登録される障害情報のデータ構成の一例を示した図である。図６において、障害情報は、エラーログから得られる、発生した障害の種類毎に割り付けられた障害ＩＤ、障害の発生日時、障害が発生するまでにユーザーが閲覧したページの遷移を示す操作経路等の情報、またログ情報から得られる、障害が発生したときにアクセス先として指定された対象ページ、対象ページの閲覧に利用されたブラウザ等の情報を含む。なお、図６には、発生日時や対象ページ等の属性項目の一部のみが示されている。
【００４９】
本実施の形態におけるリクエスト処理は、以上説明したようにリクエストに対して正常に実行できたときには従来と同様に処理するが、障害発生条件との照合により障害の発生が予想できたときには対応情報に従って障害対応処理を実行する。また、障害の発生が予想できなかったときに障害が発生したときには障害情報を生成し、蓄積していくことで対応情報の生成に役立てるようにする。
【００５０】
続いて、対応情報の生成処理について図７に示したフローチャートを用いて説明する。この処理は、定時処理として、あるいは障害情報が所定数増加したときなどの所望のタイミングで実行すればよい。
【００５１】
まず、障害集計情報生成部２０は、障害情報データベース３５から今までに集計の対象になっていない１レコード分の障害情報を読み出す（ステップ１２１）。続いて、障害集計情報生成部２０は、読み出した障害情報を参照し、障害ＩＤ及び対象ページに基づき障害集計情報データベース３６を検索する（ステップ１２２）。ところで、障害集計情報データベース３６には、障害ＩＤ及び対象ページの各属性値の組毎に生成された集計テーブルが複数登録されている。この集計テーブルの一例を図８に示す。図８には、障害ＩＤが“ＥＲＲ００１”であって対象ページが“ａａａ．ｊｓｐ”である集計テーブルの例が示されている。集計テーブルには、障害情報に含まれる属性項目、当該属性項目の属性値及び当該属性値である障害情報の件数（集計値）が対応付けして設定される。
【００５２】
障害集計情報生成部２０は、読み出した障害情報の障害ＩＤ及び対象ページに基づき障害集計情報データベース３６を検索した結果、該当する集計テーブルが障害集計情報データベース３６に存在しなければ（ステップ１２３でＮ）、その集計テーブルを新規に作成する（ステップ１２５）。存在すれば（ステップ１２３でＹ）、既存の集計テーブルを用いることになる。
【００５３】
そして、障害集計情報生成部２０は、読み出した障害情報の属性項目及びその属性値に基づき該当するレコードの件数に１を加算することによって該当する集計テーブルを更新する（ステップ１２５）。ここで、障害ＩＤが“ＥＲＲ００１”であり、対象ページが“ａａａ．ｊｓｐ”である障害情報は、図８に例示した集計テーブルに対して集計が成されることになる。つまり、障害情報のブラウザという属性項目の属性値によっていずれかのレコードの件数に１が加算され、更に契約サービスという属性項目の属性値によっていずれかのレコードの件数に１が加算されることになる。このように、障害情報には、複数の属性項目が含まれているので、１レコードの障害情報によって複数の属性項目に対応する複数のレコードの件数が加算されることになる。
【００５４】
以上説明した集計テーブルの更新を集計の対象になっていない障害情報に対して繰り返し行う（ステップ１２６でＮ）。
【００５５】
全ての障害情報に対して処理を実行することで障害集計情報データベース３６を更新すると（ステップ１２６でＹ）、続いて、障害条件算出部２１は、障害集計情報データベース３６に含まれている全ての集計テーブルそれぞれに含まれている集計値を１レコードずつ抽出し、以下の処理をレコード毎に繰り返し行う（ステップ１２７）。例えば、図８に示した１レコード目の設定例を参照すると、そのレコードは、障害ＩＤが“ＥＲＲ００１”でかつ対象ページが“ａａａ．ｊｓｐ”であり、更にブラウザが“Ｂ１”の場合に障害が発生した件数は２００件であることを示している。従って、障害条件算出部２１は、この２００件というのは、ブラウザが“Ｂ１”の場合に障害が発生した件数のどれくらいを占めているのか、その占有率を算出する。このため、障害条件算出部２１は、障害情報データベース３５全体を検索することによってブラウザが“Ｂ１”である障害情報を集計し、２００件をこの全体の件数で除算することで、障害ＩＤが“ＥＲＲ００１”、対象ページが“ａａａ．ｊｓｐ”、ブラウザが“Ｂ１”の場合の占有率を算出する（ステップ１２８）。
【００５６】
以上説明した集計テーブルの各レコードにおける集計値の全体の占める割合の算出を全レコードに対して行う（ステップ１２９でＮ）。
【００５７】
以上の割合の算出処理が終了すると（ステップ１２９でＹ）、障害条件提示部２２は、その算出結果をディスプレイ４７に表示するなどして管理者に提示する（ステップ１３０）。管理者に提示する情報には、占有率のみならず集計値、すなわち集計テーブルを合わせて提示するようにしてもよい。また、算出した占有率の全てを提示するのではなく、所定の閾値以上となった占有率のみを提示するようにしてもよい。
【００５８】
管理者に提示される情報は、どのページをどのブラウザを用いてアクセスしたときに障害が発生しているのか、つまり対象ページとブラウザとの組合せなどの障害の発生条件毎に障害の発生確率や発生数を示す情報である。従って、管理者は、提示された情報を参照し分析することで、どの障害発生条件の場合に障害がより多く発生しているのかを確認できる。従って、管理者は、その障害を未然に防ぐためには、どのように対応すればよいのか、その対策（対応内容）を検討する。そして、その検討結果として障害発生条件に対する対策（対応内容）を決めると、管理者は、障害発生条件及び対応内容を入力指定する。障害条件提示部２２は、管理者により指定された障害発生条件及び対応内容を受け付けると（ステップ１３１）、対応情報設定部２３に渡す。対応情報設定部２３は、渡された情報に基づき対応情報を生成して対応情報データベース３２に設定登録する（ステップ１３２）。本実施の形態では、実際に発生した障害に関する障害情報に基づいて、発生した障害にどのようにして対応すればよいのかを示した対応情報を対応情報データベース３２に登録することによってデータベース化する。
【００５９】
なお、本実施の形態では、管理者に障害発生条件を設定させるようにしたが、障害条件提示部２２などの手段が、占有率が所定の閾値以上となる障害集計情報の対象ページと属性項目の組を障害発生条件として自動的に選出するようにしてもよい。
【００６０】
ここで、図６に示したリクエスト処理について、より詳細に説明する。
【００６１】
本実施の形態における対応判定部１３は、以上のようにして生成した対応情報データベース３２を参照して、リクエスト受付部１１により受け付けられたリクエストの内容及びリクエストをしたユーザーのユーザー情報がいずれかの対応情報に含まれている障害発生条件と合致する場合（ステップ１０５でＹ）、当該リクエストが実行すると障害が発生すると予想して障害対応処理部１５に障害対応処理の実行を依頼する。一方、リクエスト受付部１１により受け付けられたリクエストの内容及びリクエストをしたユーザーのユーザー情報がいずれの対応情報に含まれている障害発生条件とも合致しない場合（ステップ１０５でＮ）、対応判定部１３は、当該リクエストを実行しても障害は発生しないと推定して当該リクエストを、障害対応処理部１５を介さずにリクエスト処理部１６に処理させる（ステップ１０７）。このように、対応判定部１３は、対応情報の有無、換言すると障害発生の予想結果に応じてリクエスト受付部１１により受け付けられたリクエストの振分制御を行う。
【００６２】
ここで、リクエストの内容及びユーザー情報が障害発生条件と合致しない場合（ステップ１０５でＮ）、本実施の形態では、障害は発生しないと推定した。これは、対応情報が設定されていないからである。しかしながら、対応情報は、前述したように同じ内容のリクエストがユーザーの同じ利用状況下で、全体のうち占める割合が多いとか障害が多数発生したという実績のもとで作成される。つまり、障害が全く発生していないというわけではなく、発生数が相対的に少ないので対応情報が作成されていないということである。この場合、本実施の形態では、障害は発生していないと推定して、障害対応処理を行うことなくリクエスト処理部１６にリクエスト処理を実行させるようにした。そして、リクエストの実行中の障害が発生した場合、障害情報を障害情報データベース３５にその都度蓄積していくことになり、いずれ対応情報は作成されることになる。
【００６３】
また、リクエストの内容及びユーザー情報が障害発生条件と合致する場合（ステップ１０５でＹ）、障害対応処理部１５は、対応情報に含まれている対応内容に基づいてリクエストに対応することになる。この対応は、もちろん対応内容の設定内容に従うが、対応としては、リクエスト処理をリクエスト処理部１６に実行させる前、リクエスト処理をリクエスト処理部１６に実行させた後、又はリクエスト処理をリクエスト処理部１６に実行させずに障害対応処理を実行するということに大別できる。どのようなタイミングでリクエスト処理をリクエスト処理部１６に実行させるか、あるいは実行させないかは、発生した障害の内容に依存する。例えば、リンク先を変更すれば正常に処理できるのであれば、障害対応処理部１５は、アクセスするページ（リンク）先を変更するという障害対応処理をリクエスト処理部１６にリクエストを処理させる前に実行すればよい。また、このようなパラメータを変更した程度ではリクエスト処理を正常に終了できない場合には、ステップ１１０においてリクエストを実行させずにエラー表示画面をレスポンスとしてユーザーに返すという障害対応処理を行ってもよい。
【００６４】
本実施の形態によれば、ユーザーからのリクエストの内容及びリクエストをしたユーザーのユーザー情報を基づいて障害の発生が予測できる場合には、障害対応処理を実行することによって障害の発生を未然に防止したり、また回避できないような障害の場合には、その旨をユーザーに通知したりするなどの対応を自動的に行うようにした。このため、管理者の障害対応にかかる負荷を軽減できる。
【符号の説明】
【００６５】
１  クライアント端末、１０  サービスシステム、１１  リクエスト受付部、１２  ユーザー情報取得部、１３  対応判定部、１４  ログ情報生成部、１５  障害対応処理部、１６  リクエスト処理部、１７  障害検知部、１８  障害情報生成部、１９  レスポンス提供部、２０  障害集計情報生成部、２１  障害条件算出部、２２  障害条件提示部、２３  対応情報設定部、３１  ユーザー情報データベース（ＤＢ）、３２  対応情報データベース（ＤＢ）、３３  ログ情報記憶部、３４  エラーログデータベース（ＤＢ）、３５  障害情報データベース（ＤＢ）、３６  障害集計情報データベース（ＤＢ）、４１  ＣＰＵ、４２  ＲＯＭ、４３  ＲＡＭ、４４  ハードディスクドライブ（ＨＤＤ）、４５  マウス、４６  キーボード、４７  ディスプレイ、４８  入出力コントローラ、４９  ネットワークコントローラ、５０  内部バス。
【図１】
2018028760.tif 000003
【図２】
2018028760.tif 000004
【図３】
2018028760.tif 000005
【図４】
2018028760.tif 000006
【図５】
2018028760.tif 000007
【図６】
2018028760.tif 000008
【図７】
2018028760.tif 000009
【図８】
2018028760.tif 000010