(57)【特許請求の範囲】
【請求項１】
機器より送信される障害情報を受信する受信部と、
プログラムの識別情報に対応付けて該プログラムの障害に関する通知先の識別情報を記憶する記憶部を参照して、前記障害情報に含まれるプログラムの識別情報に基づいて、前記プログラムの通知先を特定する特定部と、
前記障害情報が示す障害の発生を通知するための情報を、前記通知先に関する端末に送信する通知部と、
前記障害情報に含まれている前記機器の機種情報と前記機器のソフトウェアの構成情報とに基づいて、前記機器のハードウェア環境及びソフトウェア環境を模倣する仮想環境を生成する生成部とを有する障害対応支援装置。
【請求項２】
前記障害情報に含まれている、前記機器に対する操作履歴に基づいて、前記機器に対して行われた操作を、前記仮想環境において再現させる再現部を有する請求項１記載の障害対応支援装置。
【請求項３】
前記再現部は、前記操作履歴に基づいてテストシナリオを生成し、前記テストシナリオに基づいて、前記機器に対して行われた操作を、前記仮想環境において再現させる請求項２記載の障害対応支援装置。
【請求項４】
機器と、前記機器にネットワークを介して接続される情報処理装置とを含む障害対応支援システムであって、
前記情報処理装置は、
前記機器より送信される障害情報を受信する受信部と、
プログラムの識別情報に対応付けて該プログラムの障害に関する通知先の識別情報を記憶する記憶部を参照して、前記障害情報に含まれるプログラムの識別情報に基づいて、前記プログラムの通知先を特定する特定部と、
前記障害情報が示す障害の発生を通知するための情報を、前記通知先に関する端末に送信する通知部と、
前記障害情報に含まれている前記機器の機種情報と前記機器のソフトウェアの構成情報とに基づいて、前記機器のハードウェア環境及びソフトウェア環境を模倣する仮想環境を生成する生成部とを有する障害対応支援システム。
【請求項５】
前記情報処理装置は、
前記障害情報に含まれている、前記機器に対する操作履歴に基づいて、前記機器に対して行われた操作を、前記仮想環境において再現させる再現部を有する請求項４記載の障害対応支援システム。
【請求項６】
前記再現部は、前記操作履歴に基づいてテストシナリオを生成し、前記テストシナリオに基づいて、前記機器に対して行われた操作を、前記仮想環境において再現させる請求項５記載の障害対応支援システム。
【請求項７】
機器より送信される障害情報を受信する受信手順と、
プログラムの識別情報に対応付けて該プログラムの通知先の識別情報を記憶する記憶部を参照して、前記障害情報に含まれるプログラムの識別情報に基づいて、前記プログラムの通知先を特定する特定手順と、
前記障害情報が示す障害の発生を通知するための情報を、前記通知先に関する端末に送信する通知手順と、
前記障害情報に含まれている前記機器の機種情報と前記機器のソフトウェアの構成情報とに基づいて、前記機器のハードウェア環境及びソフトウェア環境を模倣する仮想環境を生成する生成手順とをコンピュータが実行する障害対応支援方法。
【請求項８】
前記障害情報に含まれている、前記機器に対する操作履歴に基づいて、前記機器に対して行われた操作を、前記仮想環境において再現させる再現手順を前記コンピュータが実行する請求項７記載の障害対応支援方法。
【請求項９】
前記再現手順は、前記操作履歴に基づいてテストシナリオを生成し、前記テストシナリオに基づいて、前記機器に対して行われた操作を、前記仮想環境において再現させる請求項８記載の障害対応支援方法。
【請求項１０】
機器より送信される障害情報を受信する受信手順と、
プログラムの識別情報に対応付けて該プログラムの通知先の識別情報を記憶する記憶部を参照して、前記障害情報に含まれるプログラムの識別情報に基づいて、前記プログラムの通知先を特定する特定手順と、
前記障害情報が示す障害の発生を通知するための情報を、前記通知先に関する端末に送信する通知手順と、
前記障害情報に含まれている前記機器の機種情報と前記機器のソフトウェアの構成情報とに基づいて、前記機器のハードウェア環境及びソフトウェア環境を模倣する仮想環境を生成する生成手順とをコンピュータに実行させる障害対応支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害対応支援装置、障害対応支援システム、障害対応支援方法、及び障害対応支援プログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置等の機器に関する保守作業の効率化等を目的として、ネットワークを介し遠隔的に機器を監視するシステム（以下、「遠隔監視システム」という。）が構築されている（例えば、特許文献１）。遠隔監視システムによれば、機器において異常状態や異常の事前状態が検知された場合に、その時の機器の状態情報等がサーバに自動的に転送される。コールセンタのオペレータ又は保守員等は、転送された情報に基づいて保守作業を行う。
【０００３】
他方において、従来、画像形成装置等の機器においても、アプリケーションプラットフォームを備えているものが有る。アプリケーションプラットフォームのＡＰＩ（Application Program Interface）は公開され、機器の製造者や、ソフトウェアベンダ等によって、機器用のアプリケーションプログラムの開発及び販売等が行われている。ユーザは、例えば、自らの業務に適したアプリケーションプログラムを機器にインストールすることで、業務の効率化等を図ることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来、上記遠隔監視システムによって監視対象とされているのは、主として、機器のハードウェアに関する状態に限られていた。換言すれば、アプリケーションプログラム自体については監視の対象とされていなかった。
【０００５】
したがって、アプリケーションプログラムの動作不正に基づく障害に関しては、ユーザが別途報告する必要があった。
【０００６】
しかし、アプリケーションプログラムは、多数のソフトウェアベンダによって開発されている。したがって、ユーザは、アプリケーションプログラムごとに、販売者又は製造者を判断し、当該販売者又は製造者に対して調査を依頼する必要があった。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、機器におけるプログラムに関する障害の対応を効率化することを目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、障害対応支援装置は、機器より送信される障害情報を受信する受信部と、プログラムの識別情報に対応付けて該プログラムの障害に関する通知先の識別情報を記憶する記憶部を参照して、前記障害情報に含まれるプログラムの識別情報に基づいて、前記プログラムの通知先を特定する特定部と、前記障害情報が示す障害の発生を通知するための情報を、前記通知先に関する端末に送信する通知部とを有する。
【発明の効果】
【０００９】
機器におけるプログラムに関する障害の対応を効率化することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における障害対応支援システムの構成例を示す図である。
【図２】本発明の実施の形態における障害対応支援装置のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における複合機のハードウェア構成例を示す図である。
【図４】本発明の実施の形態における複合機のソフトウェア構成例を示す図である。
【図５】本発明の実施の形態における障害対応支援装置及び端末の機能構成例を示す図である。
【図６】複合機における通常時のログ情報の記録処理の処理手順の一例を説明するためのシーケンス図である。
【図７】障害発生時に複合機が実行する処理手順の一例を説明するためのシーケンス図である。
【図８】障害情報の受信に応じて障害対応支援装置が実行する処理手順の一例を説明するためのシーケンス図である。
【図９】障害情報記憶部の構成例を示す図である。
【図１０】アプリ開発情報記憶部の構成例を示す図である。
【図１１】障害対応処理の処理手順の一例を説明するためのシーケンス図である。
【図１２】統合開発環境の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における障害対応支援システムの構成例を示す図である。図１の障害対応支援システム１おいて、機器メーカ環境Ｅ２は、開発環境Ｅ３、及びユーザ環境Ｅ１のそれぞれと、インターネット等のネットワークＮ１を介して接続されている。
【００１２】
機器メーカ環境Ｅ２は、例えば、ユーザ環境Ｅ１において利用される複合機１０ａ、プリンタ１０ｂ、及びプロジェクタ１０ｃ等の機器や、会議システム１０ｄ（例えば、ビデオ会議システム１０ｄ）等のソリューションを製造及び販売する機器メーカが運営するシステム環境である。但し、機器メーカ環境Ｅ２は、必ずしも機器メーカのシステム環境でなくてもよい。機器のアプリケーションの提供環境を運営する企業や、ソフトハウス等によって運営されるシステム環境であってもよい。
【００１３】
本実施の形態において、機器メーカ環境Ｅ２は、障害対応支援装置２０を含む。障害対応支援装置２０は、ユーザ環境Ｅ１における機器において発生した障害、特に、機器にインストールされたアプリケーションに関する、開発者による障害対応を支援するためのサービス（以下、「障害対応支援サービス」という。）を、ネットワークＮ１を介して提供する。障害対応支援装置２０は、一台のコンピュータによって構成されてもよいし、ネットワーク上において分散された複数のコンピュータによって構成されてもよい。また、障害対応支援サービスは、クラウドサービス等として提供されてもよい。
【００１４】
なお、本実施の形態においては、便宜上、開発者という用語を用いるが、開発者又は開発担当者とは、実際に開発を行っているものでなくてもよい。窓口の担当者や管理者等、機器における障害の通知先となりうる者であればよい。また、開発者又は開発担当者は、個人でなくてもよい。通常、一つのアプリケーションの開発又は障害対応は、複数の個人又は組織によって行われる。したがって、開発者又は開発担当者は、開発環境Ｅ３（ソフトウェアベンダ）全体であってもよいし、開発の委託先であってもよい。また、開発者又は開発担当者は、必ずしも開発を業務としている組織でなくてもよい。機器に関する障害を受け付けるコールセンタ等であってもよい。
【００１５】
ユーザ環境Ｅ１は、複合機１０ａ、プリンタ１０ｂ、プロジェクタ１０ｃ、及び会議システム１０ｄ等のユーザのシステム環境である。ユーザ環境Ｅ１において、複合機１０ａ、プリンタ１０ｂ、プロジェクタ１０ｃ、及び会議システム１０ｄ等は、ＬＡＮ（Local Area Network）等のネットワークを介して接続されている。
【００１６】
開発環境Ｅ３は、機器にインストールされるアプリケーションを開発する企業（ソフトウェアベンダ）におけるシステム環境である。開発環境Ｅ３では、機器に実装されているアプリケーションプラットフォームにおいて公開されているＡＰＩ（Application Program Interface）を利用して、アプリケーションの開発が行われている。開発環境Ｅ３は、一以上の端末３０等を含む。端末３０は、アプリケーションの開発者が利用するＰＣ（Personal Computer）等の情報処理装置である。
【００１７】
図２は、本発明の実施の形態における障害対応支援装置のハードウェア構成例を示す図である。図２の障害対応支援装置２０は、それぞれバスＢで相互に接続されているドライブ装置２００、補助記憶装置２０２、メモリ装置２０３、ＣＰＵ２０４、及びインタフェース装置２０５等を有する。
【００１８】
障害対応支援装置２０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体２０１によって提供される。プログラムを記憶した記録媒体２０１がドライブ装置２００にセットされると、プログラムが記録媒体２０１からドライブ装置２００を介して補助記憶装置２０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体２０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置２０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１９】
メモリ装置２０３は、プログラムの起動指示があった場合に、補助記憶装置２０２からプログラムを読み出して格納する。ＣＰＵ２０４は、メモリ装置２０３に格納されたプログラムに従って障害対応支援装置２０に係る機能を実行する。インタフェース装置２０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２０】
図３は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。図３において、複合機１０ａは、コントローラ１１、スキャナ１２、プリンタ１３、モデム１４、操作パネル１５、ネットワークインタフェース１６、及びＳＤカードスロット１７等のハードウェアを有する。
【００２１】
コントローラ１１は、ＣＰＵ１１１、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等を有する。ＲＯＭ１１３には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。ＲＡＭ１１２は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。ＣＰＵ１１１は、ＲＡＭ１１２にロードされたプログラムを処理することにより、各種の機能を実現する。ＨＤＤ１１４には、プログラムやプログラムが利用する各種のデータ等が記憶される。ＮＶＲＡＭ１１５には、各種の設定情報等が記憶される。
【００２２】
スキャナ１２は、原稿より画像データを読み取るためのハードウェア（画像読取手段）である。プリンタ１３は、印刷データを印刷用紙に印刷するためのハードウェア（印刷手段）である。モデム１４は、電話回線に接続するためのハードウェアであり、ＦＡＸ通信による画像データの送受信を実行するために用いられる。操作パネル１５は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース１６は、ＬＡＮ等のネットワーク（有線又は無線の別は問わない。）に接続するためのハードウェアである。ＳＤカードスロット１７は、ＳＤカード８０に記憶されたプログラムを読み取るために利用される。すなわち、複合機１０ａでは、ＲＯＭ１１３に記憶されたプログラムだけでなく、ＳＤカード８０に記憶されたプログラムもＲＡＭ１１２にロードされ、実行されうる。なお、他の記録媒体（例えば、ＣＤ−ＲＯＭ又はＵＳＢ（Universal Serial Bus）メモリ等）によってＳＤカード８０が代替されてもよい。すなわち、ＳＤカード８０の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、ＳＤカードスロット１７は、記録媒体の種類に応じたハードウェアによって代替されればよい。
【００２３】
図４は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。図４において、複合機１０ａは、機器制御部１２１、アプリケーションプラットフォーム１２２、及び一以上のアプリケーション１２３を有する。機器制御部１２１は、複合機１０ａのハードウェアを制御する。なお、機器制御部１２１には、ＯＳ（Operating System）が含まれてもよい。
【００２４】
アプリケーションプラットフォーム１２２は、複合機１０ａにインストールされるアプリケーション１２３に対して、例えば、メソッド又は関数等の形式でＡＰＩを提供し、当該ＡＰＩの呼び出しに応じた処理を複合機１０ａに実行させる。アプリケーションプラットフォーム１２２は、また、アプリケーション１２３のインストール及びアンインストールや、インストールされたアプリケーション１２３の起動及び停止等、アプリケーション１２３のライフサイクルの管理等も行う。但し、図４に示されているアプリケーションプラットフォーム１２２の構成要素は、主に、複合機１０ａにおいて発生した障害に関する情報である障害情報の送信に関与するものに限定されている。
【００２５】
すなわち、図４において、アプリケーションプラットフォーム１２２は、機器イベント受信部１３１、機器情報取得部１３２、操作イベント受信部１３３、アプリ管理部１３４、プラットフォーム管理部１３５、ログ管理部１３６、及び障害情報送信部１３７等を含む。
【００２６】
機器イベント受信部１３１は、機器制御部１２１によって管理されている設定情報の変更や、複合機１０ａに対するユーザのログイン及びログアウト等、機器制御部１２１によって検知されるイベント（事象）を示す情報（以下、「機器イベント情報」という。）を、機器制御部１２１より受信する。機器イベント受信部１３１は、受信された機器イベント情報を、ログ管理部１３６に通知する。
【００２７】
機器情報取得部１３２は、複合機１０ａの固有情報や、複合機１０ａのハードウェアの構成情報及びソフトウェアの構成情報、並びに複合機１０ａに対する各種の設定情報等を、例えば、機器制御部１２１が有するインタフェース（ＡＰＩ）を介して、ＲＡＭ１１２、ＲＯＭ１１３、ＨＤＤ１１４、及びＮＶＲＡＭ１１５等より取得する。複合機１０ａの固有情報とは、例えば、複合機１０ａの機体の識別情報（以下、「機体番号」という。）等である。複合機１０ａのハードウェアの構成情報は、例えば、複合機１０ａの機種を示す機種情報や、複合機１０ａに設置されている周辺機器を示す情報等を含む。複合機１０ａのソフトウェアの構成情報とは、アプリケーションプラットフォーム１２２のバージョン情報や、複合機１０ａにインストールされているアプリケーションや各種のソフトウェアの識別情報（バージョン情報が含まれてもよい。）の一覧等を含む。以下、機器情報取得部１３２によって取得される情報を「機器情報」という。機器情報取得部１３２は、取得された機器情報を、ログ管理部１３６に通知する。
【００２８】
操作イベント受信部１３３は、操作パネル１５を介してユーザによって入力される操作指示等を示すイベントを、操作パネル１５より受信する。操作イベント受信部１３３は、受信されたイベントを示す情報（以下、「操作イベント情報」という。）を、ログ管理部１３６に通知する。
【００２９】
アプリ管理部１３４は、アプリケーション１２３毎に生成され、対応するアプリケーション１２３の状態の管理及び監視等を行う。例えば、アプリ管理部１３４は、アプリケーション１２３の起動及び停止等を行う。また、アプリ管理部１３４は、アプリケーション１２３の状態を示す情報（以下、「アプリ状態情報」という。）を、アプリケーション１２３より取得する。アプリケーション１２３の状態を示す情報には、例えば、アプリケーション１２３が実行中の処理の識別情報（例えば、メソッド名やステップ番号等）や、アプリケーション１２３が利用する各種変数の値等が含まれてもよい。アプリ管理部１３４は、また、アプリケーション１２３の異常状態を検知する。異常状態の検知は、例えば、アプリケーション１２３における例外の発生の検知や、アプリケーション１２３からのエラー情報の通知等によって行われる。エラー情報についても、アプリ状態情報の一例として説明する。アプリ管理部１３４は、取得されたアプリ状態情報を、ログ管理部１３６に通知する。アプリ状態情報には、当該アプリ状態情報に係るアプリケーション１２３の識別情報（以下、「アプリＩＤ」という。）も含まれる。なお、複数のアプリケーション１２３に対して共通の一つのアプリ管理部１３４が実現されてもよい。
【００３０】
プラットフォーム管理部１３５は、アプリケーションプラットフォーム１２２の状態を示す情報（以下、「プラットフォーム情報」という。）を、ログ管理部１３６に通知する。アプリケーションプラットフォーム１２２の状態を示す情報には、例えば、アプリケーションプラットフォーム１２２が実行中の処理の識別情報（例えば、メソッド名やステップ番号等）や、アプリケーションプラットフォーム１２２が利用する各種変数の値等が含まれてもよい。
【００３１】
ログ管理部１３６は、各部より通知された情報をログ記憶部１２４に記憶する。例えば、ログ記憶部１２４には、各情報に関して、過去Ｎ回分の履歴が記憶される。情報の種別ごとに、Ｎの値は異なっていてもよい。以下、ログ記憶部１２４に記憶される情報を「ログ情報」という。ログ記憶部１２４は、例えば、ＨＤＤ１１４、又は複合機１０ａにネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３２】
障害情報送信部１３７は、複合機１０ａにおいて障害の発生が検知された際に、ログ記憶部１２４に記憶されているログ情報等を含む障害情報を、障害対応支援装置２０に送信する。
【００３３】
アプリケーション１２３は、アプリケーションプラットフォーム１２２が提供するＡＰＩを利用して開発され、複合機１０ａにインストールされるプログラムである。
【００３４】
図５は、本発明の実施の形態における障害対応支援装置及び端末の機能構成例を示す図である。
【００３５】
図５において、障害対応支援装置２０は、障害情報受信部２１１、担当者特定部２１２、障害通知部２１３、フロントエンド部２１４、認証部２１５、評価環境構築部２１６、及び自動評価部２１７等を有する。これら各部は、障害対応支援装置２０にインストールされたプログラムが、ＣＰＵ２０４に実行させる処理により実現される。但し、各部は、複数のコンピュータに分散されてもよい。
【００３６】
障害対応支援装置２０は、また、障害情報記憶部２２１、アプリ開発情報記憶部２２２、認証情報記憶部２２３、及びモジュール記憶部２２４等を利用する。これら各記憶部は、例えば、補助記憶装置２０２、又は障害対応支援装置２０にネットワークを介して接続される記憶装置等を用いて実現可能である。
【００３７】
障害情報受信部２１１は、ユーザ環境Ｅ１において障害の発生を検知した複合機１０ａより送信される障害情報を受信する。障害情報受信部２１１は、受信された障害情報を、障害情報記憶部２２１に記憶する。
【００３８】
担当者特定部２１２は、障害情報受信部２１１によって受信された障害情報、及びアプリ開発情報記憶部２２２等を参照して、当該障害情報に係る障害の原因であると推測されるアプリケーション１２３の開発を担当した開発者（開発担当者）を特定する。担当者特定部２１２は、特定された開発担当者の識別情報を、障害情報記憶部２２１に記憶されている障害情報に関連付ける。
【００３９】
すなわち、障害情報には、例えば、障害発生時に複合機１０ａに処理を実行させていたアプリケーション１２３、又は障害発生時に異常状態であったアプリケーション１２３の識別情報等が含まれる。また、アプリ開発情報記憶部２２２は、アプリケーション１２３の識別情報ごとに、開発担当者の識別情報及び連絡先（例えば、メールアドレス等）等を記憶する。
【００４０】
但し、アプリケーション１２３の開発担当者に関する情報（以下、「担当者情報」という。）は、アプリケーション１２３の流通時（販売時）においてアプリケーション１２３に添付されていてもよい。この場合、担当者情報は、複合機１０ａへのアプリケーション１２３のインストールに伴って、複合機１０ａのＨＤＤ１１４又はＮＶＲＡＭ１１５に保存されてもよい。アプリケーション１２３と共に当該アプリケーション１２３の担当者情報が複合機１０ａに保存される場合、複合機１０ａより送信される障害情報には、担当者情報が含まれてもよい。そのような形態が採用される場合、担当者特定部２１２は、障害情報に含まれている担当者情報に基づいて、開発担当者を特定してもよい。
【００４１】
障害通知部２１３は、担当者特定部２１２によって特定された開発担当者に対して、障害の発生を通知する。障害の発生は、例えば、電子メールによって通知される。以下、障害の発生を通知する電子メールを、「通知メール」という。通知メールには、例えば、障害対応支援サービスへのリンク情報（ＵＲＬ（Uniform Resource Locator））が含まれている。なお、特定された開発担当者が個人でない場合、通知メールは、例えば、開発環境Ｅ３の代表メールアドレス宛に送信される。このような場合、開発環境Ｅ３内において、開発を担当した各個人に通知メールが転送されるようにしてもよい。
【００４２】
フロントエンド部２１４は、障害対応支援サービスのＧＵＩ（Graphical User Interface）を提供する。本実施の形態では、当該ＧＵＩは、ＨＴＭＬ（HyperText Markup Language）によって記述されたＨＴＭＬデータによって構成される。但し、ＨＴＭＬデータ以外のデータ形式によって、当該ＧＵＩが構成されてもよい。
【００４３】
認証部２１５は、障害対応支援サービスの利用を要求するユーザの認証を実行する。具体的には、本実施の形態では、通知メールを受信した開発担当者が、障害対応支援サービスのユーザとなる。したがって、認証部２１５は、端末３０において入力された認証情報（例えば、ユーザ名及びパスワード）を、認証情報記憶部２２３に記憶されている認証情報と照合することにより、開発担当者の認証を実行する。認証情報記憶部２２３には、障害対応支援サービスの利用契約を結んでいる各ユーザ（開発者）の認証情報が記憶されている。
【００４４】
評価環境構築部２１６は、問題となっている障害を再現させ、当該障害の原因であると推定されているアプリケーション１２３の動作を評価するための環境（以下、「評価環境２５０」という。）を構築（生成）する。評価環境２５０は、障害が発生した複合機１０ａと同様又はほぼ同様のハードウェア構成及びソフトウェア構成等を模倣又は有する仮想環境である。仮想環境という表現は、実際の複合機１０ａを利用して構築される環境ではなく、仮想的（ソフトウェア的）に複合機１０ａと同様のハードウェア構成及びソフトウェア構成が再現される環境であることに基づく。
【００４５】
図５に示されるように、評価環境２５０は、ハードウェア模倣部２５１及びプラットフォーム模倣部２５２等を含む。ハードウェア模倣部２５１は、複合機１０ａのハードウェアを模倣する。ハードウェア模倣部２５１は、複合機１０ａのハードウェアを表面的に模倣可能なものであってもよい。すなわち、ハードウェア模倣部２５１は、複合機１０ａのハードウェアと同様のインタフェースを提供し、当該インタフェースの呼び出しに応じた動作は、ダミーであってもよい。プラットフォーム模倣部２５２は、アプリケーションプラットフォーム１２２と同一のプログラム群によって実現されてもよいし、アプリケーションプラットフォーム１２２と同一のプログラム群が、ハードウェア模倣部２５１上での動作用に改変されたプログラム群によって実現されてもよい。すなわち、プラットフォーム模倣部２５２は、表面上の振る舞いのみならず、内部ロジックまでに関しても、実際のアプリケーションプラットフォーム１２２を模倣する。
【００４６】
なお、障害対応支援装置２０は、例えば、複合機１０ａの機種ごとに、コンピュータをハードウェア模倣部２５１として機能させるプログラム（以下、「ハードウェア模倣プログラム」という。）を有する。または、当該プログラムは一つであり、機種に応じた違いは、当該プログラムに対する設定情報とされてもよい。また、障害対応支援装置２０は、例えば、アプリケーションプラットフォーム１２２のバージョンごとに、コンピュータを当該バージョンに対応するプラットフォーム模倣部２５２として機能させるプログラム（以下、「プラットフォーム模倣プログラム」という。）を有する。プラットフォーム模倣部２５２は、障害情報の送信元の複合機１０ａ機種に対応するハードウェア模倣プログラムと、当該複合機１０ａのアプリケーションプラットフォーム１２２のバージョンに対応するプラットフォーム模倣プログラムとを選択し、これらのプログラムを起動させることにより、評価環境２５０を生成する。ハードウェア模倣プログラム及びプラットフォーム模倣プログラムは、一般的に、エミュレータ又はシミュレータと呼ばれるソフトウェアによって実現されてもよい。
【００４７】
評価環境構築部２１６は、更に、障害情報の送信元の複合機１０ａの機種に対応するハードウェア模倣部２５１、及び当該複合機１０ａが有するアプリケーションプラットフォーム１２２のバージョンに対応するプラットフォーム模倣部２５２等を組み合わせた評価環境２５０に対し、当該複合機１０ａにインストールされているアプリケーション１２３と同じアプリケーション１２３をインストールする。インストールされるアプリケーション１２３は、モジュール記憶部２２４に記憶されている。モジュール記憶部２２４は、これまでに販売され、保守期間に有る各アプリケーション１２３の実体（プログラムモジュール）を記憶する。
【００４８】
なお、評価環境２５０が構築される場所（ハードウェア模倣プログラム及びプラットフォーム模倣プログラムが起動される場所）は、障害対応支援装置２０でなくてもよい。障害対応支援装置２０にネットワークを介して接続されるコンピュータであってもよい。または、障害対応支援装置２０若しくは当該コンピュータにおいて仮想マシンを動作させ、そのうちの一つの仮想マシン上で、評価環境２５０が構築されてもよい。
【００４９】
自動評価部２１７は、評価環境２５０において障害を再現させるための処理を実行する。具体的には、自動評価部２１７は、障害情報に含まれている操作イベントの履歴等に基づいて、障害の発生した複合機１０ａにおいて行われた操作と同様の操作イベントを評価環境２５０において発生させる。
【００５０】
一方、端末３０は、ＵＩ部３１を含む。本実施の形態においてＵＩ部３１は、Ｗｅｂブラウザである。
【００５１】
以下、障害対応支援システム１において実行される処理手順について説明する。図６は、複合機における通常時のログ情報の記録処理の処理手順の一例を説明するためのシーケンス図である。図６において、インタフェース部１３０は、図４における機器イベント受信部１３１、機器情報取得部１３２、操作イベント受信部１３３、アプリ管理部１３４、及びプラットフォーム管理部１３５をまとめて表現したものである。
【００５２】
例えば、機器制御部１２１より機器イベント情報が機器イベント受信部１３１に通知されると（Ｓ１０１）、機器イベント受信部１３１は、当該機器イベント情報を、ログ管理部１３６に通知する（Ｓ１０２）。ログ管理部１３６は、ログ記憶部１２４に記憶されている、機器イベント情報の履歴に対して、新たに通知された機器イベント情報を追加する。
【００５３】
ユーザによって、操作パネル１５を介した操作が行われると、操作パネル１５は、当該操作を示すイベントを、操作イベント受信部１３３に送信する（Ｓ１０３）。操作イベント受信部１３３は、当該イベントを示す操作イベント情報を、ログ管理部１３６に通知する（Ｓ１０４）。ログ管理部１３６は、ログ記憶部１２４に記憶されている、操作イベント情報の履歴に対して、新たに通知された操作イベント情報を追加する。
【００５４】
なお、ステップＳ１０１及びＳ１０２、並びにＳ１０３及びＳ１０４は、不定期に行われる。
【００５５】
各アプリ管理部１３４は、例えば、定期的に、それぞれに対応するアプリケーション１２３より、アプリ状態情報を取得する（Ｓ１０５、Ｓ１０６）。アプリ管理部１３４は、取得されたアプリ状態情報を、ログ管理部１３６に通知する（Ｓ１０７）。ログ管理部１３６は、ログ記憶部１２４にアプリケーション１２３ごと（アプリＩＤごと）に記憶されている、アプリ状態情報の履歴に対して、新たに通知されたアプリ状態情報を追加する。
【００５６】
機器情報取得部１３２は、例えば、定期的に、機器制御部１２１を介して機器情報を取得する（Ｓ１０８、Ｓ１０９）。機器情報取得部１３２は、取得された機器情報を、ログ管理部１３６に通知する（Ｓ１１０）。ログ管理部１３６は、ログ記憶部１２４に記憶されている、機器情報の履歴に対して、新たに通知された機器情報を追加する。
【００５７】
プラットフォーム管理部１３５は、例えば、定期的にプラットフォーム情報を取得する（Ｓ１１１）。プラットフォーム管理部１３５は、取得されたプラットフォーム情報を、ログ管理部１３６に通知する（Ｓ１１２）。ログ管理部１３６は、ログ記憶部１２４に記憶されている、プラットフォーム情報の履歴に対して、新たに通知されたプラットフォーム情報を追加する。
【００５８】
なお、例えば、ログ管理部１３６は、ログ記憶部１２４に記憶されているログ情報を、障害対応支援装置２０に定期的に転送してもよい。転送されたログ情報は、ログ記憶部１２４より削除されてもよい。
【００５９】
続いて、複合機１０ａにおいて障害が発生した際に、複合機１０ａが実行する処理手順の一例を説明する。図７は、障害発生時に複合機が実行する処理手順の一例を説明するためのシーケンス図である。
【００６０】
障害情報送信部１３７は、障害の発生を検知すると、ログ情報の取得をログ管理部１３６に要求する（Ｓ１２１）。障害の発生は、例えば、機器イベント受信部１３１、アプリ管理部１３４、又はプラットフォーム管理部１３５等からの異常の発生を示す情報（以下、「エラー情報」という。）の通知に基づいて検知される。すなわち、アプリ管理部１３４及びプラットフォーム管理部１３５は、対応するアプリケーション１２３又はアプリケーションプラットフォーム１２２において異常が発生した際に、異常が発生したアプリケーション１２３のアプリＩＤ又はアプリケーションプラットフォーム１２２のアプリＩＤや、異常の内容（現象）を示す情報を含むエラー情報を、障害情報送信部１３７に通知する。
【００６１】
ログ管理部１３６は、障害情報送信部１３７からの要求に応じ、各アプリ管理部１３４、機器情報取得部１３２、及びプラットフォーム管理部１３５等に対して、ログ情報の取得を要求する（Ｓ１２２）。
【００６２】
各アプリ管理部１３４は、ログ管理部１３６からの要求に応じ、対応するアプリケーション１２３よりアプリ状態情報を取得する（Ｓ１２３、Ｓ１２４）。各アプリ管理部１３４は、取得されたアプリ状態情報をログ管理部１３６に通知する（Ｓ１２５）。
【００６３】
機器情報取得部１３２は、ログ管理部１３６からの要求に応じ、機器制御部１２１を介して機器情報を取得する（Ｓ１２６、Ｓ１２７）。機器情報取得部１３２は、取得された機器情報をログ管理部１３６に通知する（Ｓ１２８）。
【００６４】
プラットフォーム管理部１３５は、ログ管理部１３６からの要求に応じ、プラットフォーム情報を取得する（Ｓ１２９）。プラットフォーム管理部１３５は、取得されたプラットフォーム情報をログ管理部１３６に通知する（Ｓ１３０）。
【００６５】
なお、ログ管理部１３６は、ログ情報の取得要求先より通知されたログ情報を、ログ記憶部１２４に記憶する。ここで記憶されるログ情報は、障害発生時におけるログ情報として、他の履歴と区別可能とされるとよい。
【００６６】
ログ情報の取得要求先の全てよりログ情報が通知されると、ログ管理部１３６は、ログ情報の取得の完了を障害情報送信部１３７に通知する（Ｓ１３１）。続いて、障害情報送信部１３７は、ログ記憶部１２４に記憶されたログ情報を含む障害情報を、障害対応支援装置２０のログ情報受信部に送信する（Ｓ１３２）。障害情報には、例えば、ログ情報の他に、エラー情報等が含まれる。当該障害情報の送信によって、複合機１０ａにおける障害の発生が、障害対応支援装置２０に通知される。なお、障害情報に含まれるログ情報は、障害の発生に応じて取得されたログ情報のみならず、図６において説明した処理によってログ記憶部１２４に記憶されている履歴に係るログ情報も含まれるのが望ましい。
【００６７】
続いて、障害情報の受信に応じて障害対応支援装置２０が実行する処理手順の一例について説明する。図８は、障害情報の受信に応じて障害対応支援装置が実行する処理手順の一例を説明するためのシーケンス図である。図８中、図７と同一ステップには同一符号が付されている。
【００６８】
障害情報受信部２１１は、障害情報を受信すると（Ｓ１３２）、受信された障害情報を障害情報記憶部２２１に記憶する（Ｓ２０１）。
【００６９】
図９は、障害情報記憶部の構成例を示す図である。図９において、障害情報記憶部２２１に記憶されるレコードは、障害ＩＤ、障害情報、ステータス、及び開発担当者名等の項目を有する。一つのレコードは、一回の障害情報の受信に応じて生成される。
【００７０】
障害ＩＤは、各障害情報の識別情報である。障害ＩＤは、例えば、障害情報が障害情報記憶部２２１に記憶される際に、障害情報受信部２１１によって付与される。
【００７１】
障害情報は、受信された障害情報である。図９には、障害情報の中に、障害情報の送信元の複合機１０ａの機体番号、エラー情報、機器情報の履歴、アプリ状態情報の履歴、プラットフォーム情報の履歴、操作イベント情報の履歴、機器イベント情報の履歴等が含まれていることを示す。ステータスは、障害情報に係る障害に対する作業のステータスである。例えば、障害情報が障害情報記憶部２２１に記憶された際には、初期値として「未対応」が記憶される。開発担当者名は、障害情報に係る障害の原因である可能性の高いアプリケーション１２３の開発担当者の識別名である。障害情報が障害情報記憶部２２１に記憶される際は、開発担当者名の項目は、空である。
【００７２】
続いて、障害情報受信部２１１は、受信された障害情報の障害ＩＤを指定して、当該障害情報に係る障害の原因であると推定されるアプリケーション１２３の開発担当者の特定を、担当者特定部２１２に要求する（Ｓ２０２）。担当者特定部２１２は、当該障害情報のエラー情報に含まれているアプリＩＤと、アプリ開発情報記憶部２２２とに基づいて、開発担当者を特定する（Ｓ２０３）。
【００７３】
図１０は、アプリ開発情報記憶部の構成例を示す図である。図１０において、アプリ開発情報記憶部２２２は、アプリＩＤごと（アプリケーション１２３ごと）に、開発担当者名及びメールアドレス等、開発担当者に関する情報を記憶する。すなわち、アプリ開発情報記憶部２２２は、アプリケーション１２３と開発担当者との対応情報を記憶する。なお、本実施の形態において、アプリＩＤとは、アプリケーション１２３の各個体（各複製）に対する識別情報ではなく、アプリケーション１２３の名前に対応する識別情報である。具体的には、「ＡＡＡ」という名前の各アプリケーション１２３は、同一のアプリＩＤを有する。
【００７４】
ステップＳ２０３では、障害情報のエラー情報に含まれているアプリＩＤに対応付けられてアプリ開発情報記憶部２２２に記憶されている開発担当者名及びメールアドレスが、担当者特定部２１２によって取得される。
【００７５】
続いて、担当者特定部２１２は、開発担当者の特定要求に指定された障害ＩＤに係る障害情報に対して、ステップＳ２０３において特定された開発担当者名を対応付ける（Ｓ２０４）。具体的には、障害情報記憶部２２１において、当該障害情報が記憶されているレコードの開発担当者名の項目に、ステップＳ２０３において特定された開発担当者名が記憶される。
【００７６】
続いて、担当者特定部２１２は、開発担当者への障害の発生の通知を障害通知部２１３に要求する（Ｓ２０５）。当該要求には、例えば、障害ＩＤ、及びステップＳ２０３において特定された開発担当者のメールアドレス等が指定される。
【００７７】
続いて、障害通知部２１３は、指定されたメールアドレス宛に、通知メールを送信する（Ｓ２０６）。通知メールには、障害情報のエラー情報に含まれているアプリＩＤや、当該アプリＩＤに係るアプリケーション１２３に起因して障害が発生した可能性が有ることを示すメッセージ等が指定される。通知メールには、また、障害対応支援サービスへのリンク情報（ＵＲＬ（Uniform Resource Locator））が含まれている。なお、障害通知部２１３は、通知メールが正常に送信された場合、障害情報記憶部２２１におけるステータスの値を、例えば、「通知済み」等に変更してもよい。「通知済み」は、開発担当者に対して障害の発生を通知済みである状態を示す。
【００７８】
通知メールの送信先の開発環境Ｅ３の端末３０において、通知メールが閲覧されると、開発担当者は、障害の発生を認識することができる。
【００７９】
続いて、通知メールの閲覧に応じて実行される処理手順の一例について説明する。図１１は、障害対応処理の処理手順の一例を説明するためのシーケンス図である。
【００８０】
例えば、端末３０において表示されている通知メールにおけるリンク情報が、開発担当者によってクリックされると、ＵＩ部３１は、クリックされたリンク情報が示すＵＲＬ宛に、アクセス要求を送信する（Ｓ３０１）。障害対応支援装置２０において当該アクセス要求が受信されると、フロントエンド部２１４は、ログイン画面の画面情報を含むＨＴＭＬデータ（以下、「ログイン画面データ」という。）を、アクセス要求元に返信する（Ｓ３０２）。なお、本実施の形態では、ＨＴＭＬによって画面情報が記述又は定義される例を説明するが、画面情報は、他の形式によって記述又は定義されてもよい。
【００８１】
ＵＩ部３１は、返信されたログイン画面データに基づいて、ログイン画面を端末３０に表示させる。開発担当者は、ログイン画面に対して、例えば、ユーザ名及びパスワードを入力する。ＵＩ部３１は、入力されたユーザ名及びパスワードが指定されたログイン要求を、ログイン画面データに定義されている宛先に送信する（Ｓ３０３）。
【００８２】
フロントエンド部２１４は、ログイン要求を受信すると、当該ログイン要求に指定されているユーザ名及びパスワードに関する認証を、認証部２１５に要求する（Ｓ３０４）。認証部２１５は、当該ユーザ名及びパスワードを、認証情報記憶部２２３に記憶されているユーザ名及びパスワードと照合することにより、認証処理を実行する。認証に成功した場合、認証部２１５は、端末３０との通信に対してセッションＩＤを割り当てる。また、認証部２１５は、当該ユーザ名をログインユーザ名として、例えば、セッションＩＤに対応付けてメモリ装置２０３に記憶する。認証部２１５は、認証結果（認証の成否を示す情報）を、フロントエンド部２１４に返信する（Ｓ３０５）。
【００８３】
認証結果が認証の成功を示す場合、フロントエンド部２１４は、初期画面の画面情報を含むＨＴＭＬデータ（以下、「初期画面データ」という。）とセッションＩＤとを端末３０に返信する（Ｓ３０６）。なお、以降におけるＵＩ部３１からの要求には、セッションＩＤが指定される。当該セッションＩＤによって、ログインユーザ名等の識別が可能となる。
【００８４】
端末３０のＵＩ部３１は、返信された初期画面データに基づいて、初期画面を端末３０に表示させる。初期画面の表示内容は、所定のものに限定されない。本実施の形態において、初期画面は、障害対応支援サービスが提供する機能の中から所望の機能を選択させるためのメニュー項目群を含むこととする。
【００８５】
開発担当者は、通知メールによって通知された障害情報を確認すべく、障害情報の一覧の表示を指示するためのメニュー項目を選択する。ＵＩ部３１は、斯かる操作に対して初期画面データに定義されている情報に基づいて、障害情報の取得要求を、障害対応支援装置２０宛に送信する（Ｓ３０７）。
【００８６】
フロントエンド部２１４は、障害情報の取得要求の受信に応じ、当該取得要求に指定されているセッションＩＤに対応付いているログインユーザ名に対応する障害情報を、障害情報記憶部２２１より取得する（Ｓ３０８）。ログインユーザ名に対応する障害情報とは、例えば、当該障害情報に対して記憶されている開発担当者名が、ログインユーザ名と一致する障害情報である。又は、例えば、当該障害情報に対して記憶されている開発担当者名が、ログインユーザ名の属するグループ名に一致する障害情報であってもよい。すなわち、グインユーザ名に対応する障害情報とは、ログインユーザ名に基づいて所定のルールに従って特定される識別名が、開発担当者名と一致する障害情報である。なお、ステップＳ３０８において取得される障害情報は、ステータスが所定の値であるものに限定されてもよい。例えば、ステータスの値が、既に対応済み（解決済み）であることを示す「対応済み」である障害情報は、取得対象から除外されてもよい。
【００８７】
続いて、フロントエンド部２１４は、取得された障害情報の一覧画面（以下、「障害一覧画面」という。）を表示させるＨＴＭＬデータ（以下、「障害一覧画面データ」という。）を生成する（Ｓ３０９）。障害一覧画面データは、例えば、取得された障害情報に係る障害ごとに、当該障害情報に含まれる一部の情報（例えば、エラー情報の一部又は全部等）やステータスの値等が表示されるように生成される。続いて、フロントエンド部２１４は、生成された障害一覧画面データを、端末３０に返信する（Ｓ３１０）。
【００８８】
端末３０のＵＩ部３１は、返信された障害一覧画面データに基づいて、障害一覧画面を端末３０に表示させる。開発担当者は、障害一覧画面の閲覧によって、発生した障害の詳細を知ることができる。
【００８９】
なお、図１１の処理、すなわち、ステップＳ３０１は、必ずしも通知メールにおけるリンクのクリックに応じて開始されなくてもよい。例えば、開発担当者が、障害対応支援サービスに対するＵＲＬをＵＩ部３１に対して入力することにより開始されてもよい。すなわち、開発担当者が、日常の業務として、障害対応支援サービスにアクセスするように運用されてもよい。したがって、開発担当者は、通知メールが送信されなくても、障害対応支援サービスにアクセスすることで、新たな障害の発生を認識することができる。
【００９０】
開発担当者が、障害一覧画面において一つの障害を選択し、当該障害に関して評価環境２５０の構築の指示を入力すると、ＵＩ部３１は、障害一覧画面データの定義内容に基づいて、評価環境２５０の構築要求を障害対応支援装置２０に送信する（Ｓ３１１）。当該要求には、選択された障害の障害ＩＤが指定される。
【００９１】
フロントエンド部２１４は、評価環境２５０の構築要求の受信に応じ、当該要求に指定されている障害ＩＤを指定して、評価環境２５０の構築を評価環境構築部２１６に要求する（Ｓ３１２）。続いて、評価環境構築部２１６は、当該障害ＩＤに対応付けられている障害情報を、障害情報記憶部２２１より取得する（Ｓ３１３）。続いて、評価環境構築部２１６は、評価環境２５０を生成する（Ｓ３１４）。具体的には、取得された障害情報（以下、「対象障害情報」という。）の機器情報に含まれている機種情報が示す機種（複合機１０ａの機種）に対応するハードウェア模倣部２５１と、アプリケーションプラットフォーム１２２のバージョン情報に対応するプラットフォーム模倣部２５２とを含む仮想環境が、評価環境２５０として生成される。評価環境２５０の生成先は、障害対応支援装置２０にネットワークを介して接続される非図示のコンピュータであってもよいし、当該コンピュータ又は障害対応支援装置２０において稼動する仮想マシンであってもよい。
【００９２】
評価環境構築部２１６は、更に、対象障害情報の機器情報に含まれている、複合機１０ａにインストールされているアプリケーション１２３のアプリＩＤ及びバージョン情報の一覧に含まれている各アプリケーション１２３の実体（プログラムモジュール）を、評価環境２５０に対してインストールする。当該プログラムモジュールは、モジュール記憶部２２４より取得される。すなわち、モジュール記憶部２２４は、アプリＩＤ及びバージョン情報等に関連付けて、各アプリケーション１２３のプログラムモジュールを記憶する。
【００９３】
このように、評価環境２５０は、障害が発生した複合機１０ａのハードウェア構成及びソフトウェア構成を擬似的に再現するハードウェア構成及びソフトウェア構成を有するように生成される。なお、評価環境２５０を、障害が発生した複合機１０ａのハードウェア構成及びソフトウェア構成により近いものにするために、上記以外の処理が実行されてもよい。
【００９４】
続いて、評価環境構築部２１６は、評価環境２５０の構築の完了を示す応答を、フロントエンド部２１４に返信する（Ｓ３１５）。フロントエンド部２１４は、評価環境２５０の構築の完了を示す応答を、端末３０に返信する（Ｓ３１６）。なお、フロントエンド部２１４は、評価環境構築部２１６からの評価環境２５０の構築の完了を示す応答の受信に応じて、対象障害情報に対して障害情報記憶部２２１が記憶するステータスの値を、例えば、「評価環境構築済み」に更新してもよい。
【００９５】
続いて、開発担当者は、障害一覧画面において、対象障害情報に係る障害を選択し、当該障害に関して、自動評価の実行指示（再現テストの実行指示）を入力する。ＵＩ部３１は、当該実行指示の入力に応じ、障害一覧画面データの定義内容に基づいて、自動評価の実行要求を障害対応支援装置２０に送信する（Ｓ３１７）。当該要求には、選択された障害の障害ＩＤが指定される。
【００９６】
フロントエンド部２１４は、自動評価の実行要求の受信に応じ、当該要求に指定されている障害ＩＤを指定して、自動評価の実行を自動評価部２１７に要求する（Ｓ３１８）。続いて、自動評価部２１７は、当該障害ＩＤに対応付けられている障害情報を、障害情報記憶部２２１より取得する（Ｓ３１９）。続いて、自動評価部２１７は、テストシナリオを生成する（Ｓ３２０）。テストシナリオとは、例えば、評価環境２５０に対する入力情報の集合である。テストシナリオは、例えば、対象障害情報に含まれている操作イベント情報の履歴や、機器イベント情報の履歴等に基づいて生成される。すなわち、テストシナリオには、障害が発生した複合機１０ａにおいてユーザによって行われた操作を再現可能な情報が含まれる。続いて、自動評価部２１７は、生成されたテストシナリオに基づいて、評価環境２５０に対して自動評価を実行する（Ｓ３２１）。例えば、テストシナリオが示す通りに、ユーザによる操作指示が擬似的に、評価環境２５０に対して入力される。なお、自動評価の実行方法は、公知の自動評価システムと同様でもよい。
【００９７】
続いて、自動評価部２１７は、自動評価の実行結果をフロントエンド部２１４に返信する（Ｓ３２２）。自動評価の実行結果の返信のタイミングは、自動評価の実行結果に応じて異なりうる。例えば、自動評価の実行中に、障害が再現した場合、当該障害が再現された時点で自動評価の実行結果が返信されてもよい。また、自動評価の実行中に障害が再現しなかった場合、テストシナリオが終了した時点で、自動評価の実行結果が返信されてもよい。また、自動評価の実行結果の内容は、障害が再現した場合は、当該障害の内容を示す情報や、当該障害が発生した時点における、評価環境２５０の状態を示す情報であってもよい。障害が再現しなかった場合は、正常に動作したことを示す情報であってもよい。
【００９８】
続いて、フロントエンド部２１４は、自動評価の実行結果を示す情報を表示させる画面（以下、「評価結果画面」という。）を示すデータ（以下、「評価結果画面データ」という。）生成する（Ｓ３２３）。フロントエンド部２１４は、評価結果画面データを端末３０に返信する（Ｓ３２４）。
【００９９】
端末３０のＵＩ部３１は、評価結果画面データに基づいて、評価結果画面を端末３０に表示させる。開発担当者は、評価結果画面を参照して、その後の対策を検討する。
【０１００】
なお、評価環境２５０においては、自動評価の実行以外に、開発担当者が所望する他の評価が実行されてもよい。例えば、障害解析用に作成されたプログラムが評価環境２５０において実行されてもよい。
【０１０１】
上述したように、本実施の形態によれば、機器より送信される障害情報に基づいて、開発担当者が自動的に特定され、当該開発担当者に対して障害の発生が通知される。したがって、開発担当者は、迅速に障害の発生を認識することができ、当該障害の解析作業等に着手することができる。したがって、機器におけるプログラムに関する障害の対応を効率化することができる。
【０１０２】
また、本実施の形態によれば、機器より送信される障害情報に基づいて、機器のハードウェア環境及びソフトウェア環境を模倣する仮想環境としての評価環境２５０（障害の再現環境）が自動的に生成される。したがって、開発担当者は、当該評価環境２５０を利用して、障害の原因の解析を迅速に行うことができる。
【０１０３】
更に、本実施の形態によれば、機器より送信される障害情報に基づいて、評価環境２５０において、当該機器に対して行われた操作が自動的に再現される。その結果、評価環境２５０において、障害の発生が再現される可能性を高めることができる。
【０１０４】
なお、本実施の形態では、機器の一例として複合機１０ａを用いて説明したが、プリンタ１０ｂ等の他の画像形成装置や、プロジェクタ１０ｃ等の他の機器に関して、本実施の形態が適用されてもよい。また、デジタルカメラ等、非図示の機器に関して本実施の形態が適用されてもよい。更に、会議システム１０ｄ等、情報処理システムに関して、本実施の形態が適用されてもよい。
【０１０５】
ところで、障害対応支援装置２０が有する機能は、統合開発環境の一部を構成してもよい。図１２は、統合開発環境の一例を示す図である。図１２中、図５と同一部分には同一符号を付し、その説明は省略する。また、図１２において、障害情報受信部２１１、担当者特定部２１２、障害通知部２１３、障害情報記憶部２２１、及びアプリ開発情報記憶部２２２は、便宜上、省略されている。
【０１０６】
図１２において、統合開発環境４０は、更に、ソースコード記憶部２３１、ソースコード編集部２３２、ビルド部２３３、テスト部２３４、デバッグ部２３５、及び継続的インテグレーション部２３６等を含む。
【０１０７】
ソースコード記憶部２３１は、アプリケーション１２３のソースコードを記憶する。ソースコード編集部２３２は、ＵＩ部３１によって端末３０に表示されるソースコード編集画面を介して入力される指示に応じ、編集対象とされているソースコードを編集する。ビルド部２３３は、ソースコード記憶部２３１に記憶されているソースコードについてビルド（コンパイル及びリンク等）を実行する。テスト部２３４は、ビルド後のアプリケーション１２３に関するテストの実施の支援を行う。デバッグ部２３５は、ビルド後のアプリケーション１２３に関するデバッグの支援を行う。継続的インテグレーション部２３６は、例えば、ソースコード編集部２３２によって編集された後、ビルドされていないソースコードに関して、自動的にビルド及びテスト等を実行し、ビルド後のアプリケーション１２３のプログラムモジュールをモジュール記憶部２２４にアップロードする。
【０１０８】
障害対応支援装置２０の機能が、統合開発環境４０の一部とされることにより、開発者に対してより利便性の高いサービスを提供することができる。すなわち、開発者は、同一の仮想空間内において、評価環境２５０の構築、評価環境２５０における自動評価の実行、自動評価の実行結果を受けたアプリケーション１２３のソースコードの編集、編集後のソースコードのビルド、ビルド後のテスト及びデバッグ等を実行することができる。
【０１０９】
なお、図１２に示される統合開発環境４０は、障害対応支援装置２０と同じコンピュータ又はコンピュータ群によって実現されてもよいし、障害対応支援装置２０に対して更なるコンピュータ又はコンピュータ群が接続されることにより実現されてもよい。
【０１１０】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１１１】
１            障害対応支援システム
１０ａ        複合機
１０ｂ        プリンタ
１０ｃ        プロジェクタ
１０ｄ        会議システム
１１          コントローラ
１２          スキャナ
１３          プリンタ１０ｂ
１４          モデム
１５          操作パネル
１６          ネットワークインタフェース
１７          ＳＤカードスロット
２０          障害対応支援装置
３０          端末
３１          ＵＩ部
４０          統合開発環境
８０          ＳＤカード
１１１        ＣＰＵ
１１２        ＲＡＭ
１１３        ＲＯＭ
１１４        ＨＤＤ
１１５        ＮＶＲＡＭ
１２１        機器制御部
１２２        アプリケーションプラットフォーム
１２３        アプリケーション
１２４        ログ記憶部
１３０        インタフェース部
１３１        機器イベント受信部
１３２        機器情報取得部
１３３        操作イベント受信部
１３４        アプリ管理部
１３５        プラットフォーム管理部
１３６        ログ管理部
１３７        障害情報送信部
２００        ドライブ装置
２０１        記録媒体
２０２        補助記憶装置
２０３        メモリ装置
２０４        ＣＰＵ
２０５        インタフェース装置
２１１        障害情報受信部
２１２        担当者特定部
２１３        障害通知部
２１４        フロントエンド部
２１５        認証部
２１６        評価環境構築部
２１７        自動評価部
２２１        障害情報記憶部
２２２        アプリ開発情報記憶部
２２３        認証情報記憶部
２２４        モジュール記憶部
２３１        ソースコード記憶部
２３２        ソースコード編集部
２３３        ビルド部
２３４        テスト部
２３５        デバッグ部
２３６        継続的インテグレーション部
２５０        評価環境２５０
Ｂ            バス
Ｎ１          ネットワーク
【先行技術文献】
【特許文献】
【０１１２】
【特許文献１】特開平６−１６９３６６号公報
【図１】
0006024126.tif 000002
【図２】
0006024126.tif 000003
【図３】
0006024126.tif 000004
【図４】
0006024126.tif 000005
【図５】
0006024126.tif 000006
【図６】
0006024126.tif 000007
【図７】
0006024126.tif 000008
【図８】
0006024126.tif 000009
【図９】
0006024126.tif 000010
【図１０】
0006024126.tif 000011
【図１１】
0006024126.tif 000012
【図１２】
0006024126.tif 000013