(57)【要約】      （修正有）【課題】クライアント装置にエラーが発生した場合にテスト装置を用いてエラーを再現する技術において、エラーが発生する原因をより正確に絞り込む。【解決手段】サーバー装置は、クライアント装置にエラーが発生したときにＳ２０１、クライアント装置に設定されていた設定データと、エラーが発生したときにクライアント装置が実行したプロセスデータを受信するＳ２０２。設定データをテスト装置に送信しＳ２０２、テスト装置に設定データを設定させる。プロセスデータの実行順にプロセスデータを１つずつテスト装置に送信しＳ２０４、テスト装置がプロセスデータを１つずつ実行する毎に、エラーを再現したか否かを示す結果を受信する。テスト装置が何れかのプロセスデータを実行した後にエラーを再現したことを示す結果を受信するとＳ２０５、エラーを再現するまでにテスト装置が実行した１以上のプロセスデータを実行順に示すデータセットを生成するＳ２０６。【選択図】図７
2020149284.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置にエラーが発生したときに前記クライアント装置に設定されていた設定データと、前記エラーが発生したときに前記クライアント装置が実行した１以上のプロセスデータとを受信し、
前記設定データをテスト装置に送信して、前記テスト装置に前記設定データを設定させ、
前記プロセスデータの実行順に前記プロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に前記プロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットを、前記エラーを再現するためのデータセットであるエラーデータセットとして記憶する
サーバー装置。
【請求項２】
請求項１に記載のサーバー装置であって、
生成した前記データセットが複数のプロセスデータを含む場合、
前記データセットに含まれる前記複数のプロセスデータから、前記実行順が連続する１以上のプロセスデータを抽出し、
抽出した前記１以上のプロセスデータの実行順に抽出した前記１以上のプロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に抽出した前記１以上のプロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットで、前記エラーデータセットを更新する
サーバー装置。
【請求項３】
請求項２に記載のサーバー装置であって、
前記データセットに含まれる前記複数のプロセスデータから抽出される、前記実行順が連続する１以上のプロセスデータは、最後に実行されたプロセスデータを含む
サーバー装置。
【請求項４】
請求項２又は３に記載のサーバー装置であって、
前記クライアント装置に発生した前記エラーを示す情報であるエラー情報を取得し、
前記データセットに含まれる前記１以上のプロセスデータから、前記エラー情報に関する１以上のプロセスデータを抽出し、
抽出した前記１以上のプロセスデータを前記テスト装置に送信して、前記実行順に、前記テスト装置に抽出した前記１以上のプロセスデータを実行させ、
前記テスト装置が抽出した前記１以上のプロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
抽出した前記１以上のプロセスデータを前記実行順に示すデータセットを生成し、
前記生成したデータセットで、前記エラーデータセットを更新する
サーバー装置。
【請求項５】
サーバー装置のコンピューターを、
クライアント装置にエラーが発生したときに前記クライアント装置に設定されていた設定データと、前記エラーが発生したときに前記クライアント装置が実行した１以上のプロセスデータとを受信し、
前記設定データをテスト装置に送信して、前記テスト装置に前記設定データを設定させ、
前記プロセスデータの実行順に前記プロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に前記プロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットを、前記エラーを再現するためのデータセットであるエラーデータセットとして記憶する
よう動作させるエラー再現プログラム。
【請求項６】
クライアント装置と通信可能に接続されたサーバー装置と、
前記サーバー装置と通信可能に接続されたテスト装置
とを具備し、
前記サーバー装置は、
クライアント装置にエラーが発生したときに前記クライアント装置に設定されていた設定データと、前記エラーが発生したときに前記クライアント装置が実行した１以上のプロセスデータとを受信し、
前記設定データをテスト装置に送信して、前記テスト装置に前記設定データを設定させ、
前記プロセスデータの実行順に前記プロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に前記プロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットを、前記エラーを再現するためのデータセットであるエラーデータセットとして記憶する
エラー再現システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置に発生したエラーをテスト装置を用いて再現するサーバー装置及びエラー再現プログラムと、このサーバー装置及びテスト装置を有するエラー再現システムとに関する。
【背景技術】
【０００２】
クライアント装置にエラー（不具合）が発生した場合に、エラーが発生する原因を調査及び分析する等の目的で、テスト装置を用いてエラーを再現することがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１７７５７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クライアント装置にエラーが発生した場合にテスト装置を用いてエラーを再現する技術において、エラーが発生する原因をより正確に絞り込むことが望ましい。
【課題を解決するための手段】
【０００５】
本発明の一形態に係るサーバー装置は、
クライアント装置にエラーが発生したときに前記クライアント装置に設定されていた設定データと、前記エラーが発生したときに前記クライアント装置が実行した１以上のプロセスデータとを受信し、
前記設定データをテスト装置に送信して、前記テスト装置に前記設定データを設定させ、
前記プロセスデータの実行順に前記プロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に前記プロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットを、前記エラーを再現するためのデータセットであるエラーデータセットとして記憶する。
【０００６】
これにより、サーバー装置は、全てのプロセスデータから、エラーの原因である可能性の高いプロセスデータ（具体的には、テスト装置がエラーを再現するまでにテスト装置が実行した１以上のプロセスデータ）を絞り込むことができる。
【０００７】
前記サーバー装置は、
生成した前記データセットが複数のプロセスデータを含む場合、
前記データセットに含まれる前記複数のプロセスデータから、前記実行順が連続する１以上のプロセスデータを抽出し、
抽出した前記１以上のプロセスデータの実行順に抽出した前記１以上のプロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に抽出した前記１以上のプロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットで、前記エラーデータセットを更新する。
【０００８】
これにより、サーバー装置は、先に生成したエラーデータセットに含まれるプロセスデータ（具体的には、テスト装置がエラーを再現するまでにテスト装置が実行した１以上のプロセスデータ）から、エラーの原因である可能性の高いプロセスデータ（具体的には、抽出した１以上のプロセスデータ）をさらに絞り込むことができる。
【０００９】
前記データセットに含まれる前記複数のプロセスデータから抽出される、前記実行順が連続する１以上のプロセスデータは、最後に実行されたプロセスデータを含む。
【００１０】
これにより、エラーが発生したタイミングにより近いプロセスデータを抽出することができる。これにより、サーバー装置は、先に生成したエラーデータセットに含まれるプロセスデータ（具体的には、テスト装置がエラーを再現するまでにテスト装置が実行した１以上のプロセスデータから、抽出した１以上のプロセスデータ）から、エラーの原因である可能性の高いプロセスデータ（エラーが発生したタイミングにより近いプロセスデータ）をさらに絞り込むことができる。
【００１１】
前記サーバー装置は、
前記クライアント装置に発生した前記エラーを示す情報であるエラー情報を取得し、
前記データセットに含まれる前記１以上のプロセスデータから、前記エラー情報に関する１以上のプロセスデータを抽出し、
抽出した前記１以上のプロセスデータを前記テスト装置に送信して、前記実行順に、前記テスト装置に抽出した前記１以上のプロセスデータを実行させ、
前記テスト装置が抽出した前記１以上のプロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
抽出した前記１以上のプロセスデータを前記実行順に示すデータセットを生成し、
前記生成したデータセットで、前記エラーデータセットを更新する。
【００１２】
これにより、サーバー装置は、先に生成したエラーデータセットに含まれるプロセスデータから、エラーの原因である可能性の高いプロセスデータ（エラー情報に関する１以上のプロセスデータ）をさらに絞り込むことができる。
【００１３】
本発明の一形態に係るエラー再現プログラムは、
サーバー装置のコンピューターを、
クライアント装置にエラーが発生したときに前記クライアント装置に設定されていた設定データと、前記エラーが発生したときに前記クライアント装置が実行した１以上のプロセスデータとを受信し、
前記設定データをテスト装置に送信して、前記テスト装置に前記設定データを設定させ、
前記プロセスデータの実行順に前記プロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に前記プロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットを、前記エラーを再現するためのデータセットであるエラーデータセットとして記憶する
よう動作させる。
【００１４】
本発明の一形態に係るエラー再現システムは、
クライアント装置と通信可能に接続されたサーバー装置と、
前記サーバー装置と通信可能に接続されたテスト装置
とを具備し、
前記サーバー装置は、
クライアント装置にエラーが発生したときに前記クライアント装置に設定されていた設定データと、前記エラーが発生したときに前記クライアント装置が実行した１以上のプロセスデータとを受信し、
前記設定データをテスト装置に送信して、前記テスト装置に前記設定データを設定させ、
前記プロセスデータの実行順に前記プロセスデータを１つずつ前記テスト装置に送信して、前記テスト装置に前記プロセスデータを１つずつ実行させ、
前記テスト装置が１つの前記プロセスデータを実行する毎に、前記テスト装置が前記エラーを再現したか否かを示す結果を、前記テスト装置から受信し、
前記テスト装置が何れかの前記プロセスデータを実行した後に前記テスト装置が前記エラーを再現したことを示す結果を、前記テスト装置から受信すると、
前記テスト装置が前記エラーを再現するまでに前記テスト装置が実行した１以上の前記プロセスデータを実行順に示すデータセットを生成し、
前記生成したデータセットを、前記エラーを再現するためのデータセットであるエラーデータセットとして記憶する。
【発明の効果】
【００１５】
本発明によれば、クライアント装置にエラーが発生した場合にテスト装置を用いてエラーを再現する技術において、エラーが発生する原因をより正確に絞り込むことを図れる。
【００１６】
なお、ここに記載された効果は必ずしも限定されるものではなく、本発明中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係るエラー再現システムを示す。
【図２】テスト装置のハードウェア構成を示す。
【図３】サーバー装置のハードウェア構成を示す。
【図４】エラー再現システムの機能的構成を示す。
【図５】クライアント装置の動作フローを示す。
【図６】サーバー装置の第１の動作フローを示す。
【図７】サーバー装置の第２の動作フローを示す。
【図８】テスト装置の動作フローを示す。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００１９】
１．エラー再現システムの構成
【００２０】
図１は、本発明の一実施形態に係るエラー再現システムを示す。
【００２１】
エラー再現システム１は、テスト装置１０と、サーバー装置２０とを含む。エラー再現システム１は、クライアント装置３０をさらに含んでもよい。テスト装置１０と、サーバー装置２０と、クライアント装置３０とは、インターネット等のネットワークＮに接続される。テスト装置１０は、サーバー装置２０と通信可能である。クライアント装置３０は、サーバー装置２０と通信可能である。
【００２２】
クライアント装置３０は、エンドユーザーが使用する電子機器である。クライアント装置３０は、例えば、画像形成装置（ＭＦＰ、Multifunction Peripheral）である。
【００２３】
サーバー装置２０は、クライアント装置３０を保守管理するための情報処理装置である。サーバー装置２０は、例えば、パーソナルコンピューターである。サーバー装置２０を使用するのは、例えば、クライアント装置３０のベンダー側のアドミニストレーターである。
【００２４】
テスト装置１０は、クライアント装置３０と同種の電子機器である。本例のように、クライアント装置３０がＭＦＰの場合、テスト装置１０は、クライアント装置３０と同機種又は別機種のＭＦＰである。テスト装置１０は、サーバー装置２０に制御され、クライアント装置３０に発生したエラーを再現するためのプロセスを実行する。
【００２５】
２．テスト装置のハードウェア構成
【００２６】
図２は、テスト装置のハードウェア構成を示す。
【００２７】
テスト装置１０は、例えば、ＭＦＰである。テスト装置１０は、制御回路１１を備える。制御回路１１は、プロセッサーであるＣＰＵ１１ａ（Central Processing Unit）、ＲＡＭ１１ｂ（Random Access Memory）、メモリーであるＲＯＭ１１ｃ（Read Only Memory）及び専用のハードウェア回路等から構成され、テスト装置１０の全体的な動作制御を司る。ＣＰＵ１１ａは、ＲＯＭ１１ｃが記憶する情報処理プログラムをＲＡＭ１１ｂにロードして実行する。ＲＯＭ１１ｃは、ＣＰＵ１１ａが実行するプログラムやデータなどを固定的に記憶する。ＲＯＭ１１ｃは、非一過性のコンピューター読み取り可能な記録媒体の一例である。
【００２８】
制御回路１１は、画像読取部１２（イメージスキャナー）、画像処理部１４（ＧＰＵ（Graphics Processing Unit）を含む）、画像メモリー１５、画像形成部１６（プリンター）、表示部１７ａを備える操作部１７（タッチパネル）、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の大容量の不揮発性の記憶装置１８、ファクシミリ通信部１９及びネットワーク通信インターフェース１３等と接続されている。制御回路１１は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【００２９】
３．クライアント装置のハードウェア構成
【００３０】
クライアント装置３０のハードウェア構成は、テスト装置１０のハードウェア構成と同様であり、図示および説明を省略する。要するに、クライアント装置３０は、制御回路３１を備える。制御回路３１は、ＣＰＵ３１ａ、ＲＡＭ３１ｂ及びＲＯＭ３１ｃから構成される。制御回路３１は、画像読取部３２（イメージスキャナー）、画像処理部３４（ＧＰＵを含む）、画像メモリー３５、画像形成部３６（プリンター）、表示部３７ａを備える操作部３７（タッチパネル）、ＨＤＤやＳＳＤ等の大容量の不揮発性の記憶装置３８、ファクシミリ通信部３９及びネットワーク通信インターフェース３３等と接続されている。
【００３１】
４．サーバー装置のハードウェア構成
【００３２】
図３は、サーバー装置のハードウェア構成を示す。
【００３３】
サーバー装置２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、記憶装置２４、ネットワーク通信インターフェース２５、操作装置２６及び表示装置２７と、これらを相互に接続するバス２８とを有する。
【００３４】
ＣＰＵ２１、ＲＯＭ２２、及びＲＡＭ２３は、制御回路２００を構成する。ＣＰＵ２１は、ＲＯＭ２２が記憶する情報処理プログラムをＲＡＭ２３にロードして実行する。ＲＯＭ２２は、ＣＰＵ２１が実行するプログラムやデータなどを固定的に記憶する。ＲＯＭ２２は、非一過性のコンピューター読み取り可能な記録媒体の一例である。
【００３５】
５．エラー再現システムの機能的構成
【００３６】
図４は、エラー再現システムの機能的構成を示す。
【００３７】
クライアント装置３０の制御回路３１において、ＣＰＵ３１ａは、ＲＯＭ３１ｃが記憶する情報処理プログラムをＲＡＭ３１ｂにロードして実行することにより、クライアントシステム制御部３０１、システム設定保持部３０２、エラー再現プロセス保存部３０３及びプロセスデータ送信部３０５として動作する。
【００３８】
クライアントシステム制御部３０１は、システムの共通情報を管理し、システムの制御を実行する。
【００３９】
システム設定保持部３０２は、システムの設定データを保持する。
【００４０】
エラー再現プロセス保存部３０３は、エラーが再現した時のプロセス、データ、設定等のプロセスデータを、クライアントプロセスデータ記憶部３０４に記憶させる。
【００４１】
プロセスデータ送信部３０５は、設定データ及び１以上のプロセスデータを、サーバー装置２０に送信する。
【００４２】
サーバー装置２０の制御回路２００において、ＣＰＵ２１は、ＲＯＭ２２が記憶する情報処理プログラム（エラー再現プログラム）をＲＡＭ２３にロードして実行することにより、サーバーシステム制御部２０１及びプロセスデータ再生部２０３として動作する。
【００４３】
サーバーシステム制御部２０１は、システムの共通情報を管理し、システムの制御を実行する。サーバーシステム制御部２０１は、設定データ及び１以上のプロセスデータを、サーバープロセスデータ記憶部２０２に記憶させる。
【００４４】
プロセスデータ再生部２０３は、プロセスデータを使って、設定データ、動作指定データ、ネットワークデータ等をエラーが発生したときと同じ実行順（時系列順）にテスト装置１０に送る。
【００４５】
テスト装置１０の制御回路１１において、ＣＰＵ１１ａは、ＲＯＭ１１ｃが記憶する情報処理プログラムをＲＡＭ１１ｂにロードして実行することにより、テストシステム制御部１０１として動作する。
【００４６】
テストシステム制御部１０１は、サーバー装置２０から、設定データを受信して設定し、プロセスデータを受信して実行する。
【００４７】
６．クライアント装置の動作フロー
【００４８】
図５は、クライアント装置の動作フローを示す。
【００４９】
前提として、クライアント装置３０に過去にエラー（例えば、システムエラーやプロセッシングロック等）が発生した。クライアント装置３０のエンドユーザーは、このエラーの解決をベンダー側に要求するために、クライアント装置３０を操作して、以下の動作フローを実行させる。
【００５０】
ステップＳ１０１：クライアント装置３０のクライアントシステム制御部３０１は、エンドユーザーから操作部３７に入力された、エラー再現プロセス記録モードの開始を設定するための操作を検出すると、エラー再現プロセス記録モードの開始を設定する。あるいは、クライアントシステム制御部３０１は、ネットワーク通信インターフェース３３を介して外部デバイス（エンドユーザーが使用するパーソナルコンピューター等、図示せず）から、エラー再現プロセス記録モードの開始を設定するための制御コマンドを受信すると、エラー再現プロセス記録モードの開始を設定する。クライアントシステム制御部３０１は、クライアント装置３０がエラー再現プロセス記録モードで動作するのに必要なパラメータを設定する。このパラメータは、設定データを含む。「設定データ」は、クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていたデータである。システム設定保持部３０２は、クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データを保持する。この設定は、クライアント装置３０の操作部３７から設定してもよい。
【００５１】
ステップＳ１０２：クライアントシステム制御部３０１はシステム設定保持部３０２が保持するクライアント装置３０の設定データを、エラー再現プロセス保存部３０３に供給する。エラー再現プロセス保存部３０３は、取得した設定データを、クライアントプロセスデータ記憶部３０４に記憶させる。
【００５２】
ステップＳ１０３：エンドユーザーは、操作部３７を操作して、過去にエラーが発生したときと同様に操作する。クライアントシステム制御部３０１は、操作部３７に入力された操作に従って、１以上のプロセスデータを実行する。
【００５３】
ステップＳ１０４：エラー再現プロセス保存部３０３は、クライアントシステム制御部３０１がステップＳ１０３で実行した１以上のプロセスデータを収集し、クライアントプロセスデータ記憶部３０４に記憶する。
【００５４】
ステップＳ１０５：クライアントシステム制御部３０１は、エラーが発生（再現）したかどうかを判断する。
【００５５】
ステップＳ１０６：エンドユーザーは、操作部３７を操作して、過去にエラーが発生したときと同様の操作を、エラーが発生（再現）するまで（ステップＳ１０５でＮＯ、ステップＳ１０６でＮＯ）順次入力する。クライアントシステム制御部３０１は、操作部３７に順次入力された操作に従って、プロセスを実行する。
【００５６】
ステップＳ１０８：クライアントシステム制御部３０１は、エラーが発生（再現）したと判断すると（ステップＳ１０５、ＹＥＳ）、クライアントプロセスデータ記憶部３０４が記憶するデータを読み出す。具体的には、クライアントシステム制御部３０１は、クライアントプロセスデータ記憶部３０４から、クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データと、エラーが発生したときにクライアント装置３０が実行した１以上のプロセスデータとを読み出す。クライアントシステム制御部３０１は、プロセスデータ送信部３０５に、設定データ及び１以上のプロセスデータを、サーバー装置２０に送信するよう命令する。プロセスデータ送信部３０５は、ネットワーク通信インターフェース３３を介して、設定データ及び１以上のプロセスデータを、サーバー装置２０に（直接、あるいは、ネットワークＮに接続された所謂クラウドストレージ装置（図示せず）を介して）送信する。なお、プロセスデータ送信部３０５は、エラーが発生したときにクライアント装置３０が実行した１以上のプロセスデータを一度に送信してもよいし、あるいは、ステップＳ１０４を実行する毎に１つのプロセスデータを送信してもよい。
【００５７】
ステップＳ１０７：クライアント装置３０のクライアントシステム制御部３０１は、エンドユーザーから操作部３７に入力された、エラー再現プロセス記録モードの解除を設定するための操作を検出すると、エラー再現プロセス記録モードの解除を設定する。あるいは、クライアントシステム制御部３０１は、ネットワーク通信インターフェース３３を介して外部デバイス（エンドユーザーが使用するパーソナルコンピューター等、図示せず）から、エラー再現プロセス記録モードの解除を設定するための制御コマンドを受信すると、エラー再現プロセス記録モードの解除を設定する。
【００５８】
７．サーバー装置及びテスト装置の動作フロー
【００５９】
図６は、サーバー装置の第１の動作フローを示す。
【００６０】
ステップＳ３０１：サーバー装置２０のサーバーシステム制御部２０１は、クライアント装置３０が送信（ステップＳ１０８）した設定データ及び１以上のプロセスデータを、ネットワーク通信インターフェース２５を介して受信する。上述のように、設定データ及び１以上のプロセスデータは、具体的には、クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データと、エラーが発生したときにクライアント装置３０が実行した１以上のプロセスデータとである。
【００６１】
ステップＳ３０２：サーバー装置２０のサーバーシステム制御部２０１は、サーバー装置２０のサーバーシステム制御部２０１は、設定データ及び１以上のプロセスデータを、サーバープロセスデータ記憶部２０２に記憶させる。
【００６２】
図７は、サーバー装置の第２の動作フローを示す。
【００６３】
ステップＳ２０１：サーバー装置２０のサーバーシステム制御部２０１は、アドミニストレーターから操作装置２６に入力されたエラー情報を検出する。「エラー情報」は、エラーの種類を示す情報（例えば、エラーコード）や、使用すべきプロセスデータを示す情報等を含む。あるいは、サーバーシステム制御部２０１は、ネットワーク通信インターフェース２５を介して外部デバイス（アドミニストレーターが使用するパーソナルコンピューター等、図示せず）から、エラー情報を受信する。
【００６４】
ステップＳ２０２：サーバー装置２０のサーバーシステム制御部２０１は、アドミニストレーターから操作装置２６に入力された、エラー再現テストを開始するための操作を検出する。すると、サーバー装置２０のサーバーシステム制御部２０１は、クライアント装置３０にエラーが発生したときにクライアント装置３０が実行した１以上のプロセスデータの再生を開始する。本実施形態で「再生」とは、サーバー装置２０がプロセスデータを送信し、テスト装置１０が受信したプロセスデータを実行する、一連の動作を意味する。
【００６５】
ステップＳ２０３：サーバー装置２０のプロセスデータ再生部２０３は、サーバープロセスデータ記憶部２０２から設定データ（クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データ）を読み出す。サーバー装置２０のプロセスデータ再生部２０３は、読み出した設定データを、ネットワーク通信インターフェース２５を介して、テスト装置１０に送信する。
【００６６】
図８は、テスト装置の動作フローを示す。
【００６７】
ステップＳ４０１：テスト装置１０のテストシステム制御部１０１は、ネットワーク通信インターフェース１３を介してサーバー装置２０から、設定データ（クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データ）を受信する（ステップＳ４０１、ＹＥＳ）。
【００６８】
ステップＳ４０２：テスト装置１０のテストシステム制御部１０１は、受信した設定データ（クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データ）を設定する。
【００６９】
ステップＳ２０４：サーバー装置２０のプロセスデータ再生部２０３は、サーバープロセスデータ記憶部２０２からデータセット（エラーが発生したときにクライアント装置３０が実行した全て（１以上）のプロセスデータの集合）に含まれる１以上のプロセスデータを実行順に１つずつ読み出す。プロセスデータ再生部２０３は、読み出した１つのプロセスデータを、ネットワーク通信インターフェース２５を介してテスト装置１０に送信する。
【００７０】
例えば、サーバープロセスデータ記憶部２０２は、エラーが発生したときにクライアント装置３０が実行した１以上のプロセスデータとして、プロセスデータＤ１乃至Ｄ１０を実行順に記憶していると仮定する。この場合、プロセスデータ再生部２０３は、まず、実行順の最も早い１つのプロセスデータＤ１を読み出し、テスト装置１０に送信する。「実行順」は、クライアント装置３０が実行した順序であり、「時系列順」と同義である。
【００７１】
ステップＳ４０３：テスト装置１０のテストシステム制御部１０１は、ネットワーク通信インターフェース１３を介してサーバー装置２０から、１つのプロセスデータを受信する（ステップＳ４０３、ＹＥＳ）。
【００７２】
ステップＳ４０４：テスト装置１０のテストシステム制御部１０１は、受信した１つのプロセスデータを実行する。
【００７３】
ステップＳ４０５：テスト装置１０のテストシステム制御部１０１は、１つのプロセスデータを実行した結果として、エラー再現結果を、ネットワーク通信インターフェース１３を介してサーバー装置２０に送信する。「エラー再現結果」は、エラーを再現したか否かの結果と、エラーを再現した場合にはそのエラーの内容とを示す。
【００７４】
ステップＳ２０５：サーバー装置２０のサーバーシステム制御部２０１は、ネットワーク通信インターフェース２５を介してテスト装置１０から、エラー再現結果を受信する。サーバーシステム制御部２０１は、エラー再現結果に基づき、テスト装置１０がエラーを再現したか否かの結果と、エラーを再現した場合にはそのエラーの内容とを判断する。
【００７５】
ステップＳ２１０：サーバー装置２０のサーバーシステム制御部２０１が、テスト装置１０がエラーを再現しなかったと判断すると（ステップＳ２０５、ＮＯ）、プロセスデータ再生部２０３は、次の実行順の１つのプロセスデータ（本例の場合、プロセスデータＤ１の次の実行順のプロセスデータＤ２）を送信する（ステップＳ２１０でＮＯ、ステップＳ２０４）。サーバーシステム制御部２０１がテスト装置１０がエラーを再現したと判断するまで（ステップＳ２０５、ＹＥＳ）、プロセスデータ再生部２０３は、プロセスデータの実行順にプロセスデータを１つずつテスト装置１０に送信して、テスト装置１０にプロセスデータを１つずつ実行させる。
【００７６】
ステップＳ２１６：サーバーシステム制御部２０１がテスト装置１０がエラーを再現したと判断することなく（ステップＳ２０５、ＮＯ）、プロセスデータ再生部２０３が全てのプロセスデータ（本例の場合、プロセスデータＤ１乃至Ｄ１０）を送信し終えることがある（ステップＳ２１０、ＹＥＳ）。この場合、エラーを再現するためのデータセットであるエラーデータセットは、全てのプロセスデータＤ１乃至Ｄ１０を含むデータセットである。
【００７７】
ステップＳ２０６：一方、サーバー装置２０のサーバーシステム制御部２０１がテスト装置１０がエラーを再現したと判断すると（ステップＳ２０５、ＹＥＳ）、プロセスデータ再生部２０３は、データセットを生成する。「データセット」は、テスト装置１０がエラーを再現するまでにテスト装置１０が実行した１以上のプロセスデータを実行順に示す。プロセスデータ再生部２０３は、生成したデータセットを、エラーを再現するためのデータセットであるエラーデータセットとして、サーバープロセスデータ記憶部２０２に記憶させる。
【００７８】
本例の場合、サーバープロセスデータ記憶部２０２は、プロセスデータＤ１乃至Ｄ１０を実行順に記憶している。プロセスデータ再生部２０３は、プロセスデータＤ１乃至Ｄ１０の実行順にプロセスデータを１つずつテスト装置１０に送信して、テスト装置１０にプロセスデータを１つずつ実行させる（ステップＳ２０４）。サーバーシステム制御部２０１は、プロセスデータＤ１乃至Ｄ５のエラー再現結果に基づき、テスト装置１０がエラーを再現しなかったと判断する（ステップＳ２０５、ＮＯ）。一方、サーバーシステム制御部２０１は、プロセスデータＤ６のエラー再現結果に基づき、テスト装置１０がエラーを再現したと判断する（ステップＳ２０５、ＹＥＳ）。この場合、プロセスデータ再生部２０３は、プロセスデータＤ１乃至Ｄ６を含むデータセットを生成し、エラーを再現するためのデータセットであるエラーデータセットとして、サーバープロセスデータ記憶部２０２に記憶させる（ステップＳ２０６）。
【００７９】
ステップＳ２０７：サーバー装置２０のプロセスデータ再生部２０３は、生成したデータセットから、実行順が連続する１以上（典型的には、複数）のプロセスデータを抽出できるか否かを判断する。具体的には、生成したデータセットが複数のプロセスデータを含む場合、プロセスデータ再生部２０３は、生成したデータセットから、実行順が連続する１以上（典型的には、複数）のプロセスデータを抽出できると判断する。
【００８０】
ステップＳ２０８（ステップＳ２０３と同様）：サーバー装置２０のプロセスデータ再生部２０３は、サーバープロセスデータ記憶部２０２から設定データ（クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データ）を読み出す。サーバー装置２０のプロセスデータ再生部２０３は、読み出した設定データを、ネットワーク通信インターフェース２５を介して、テスト装置１０に送信する。
【００８１】
ステップＳ４０１（２巡目）：テスト装置１０のテストシステム制御部１０１は、ネットワーク通信インターフェース１３を介してサーバー装置２０から、設定データ（クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データ）を受信する（ステップＳ４０１、ＹＥＳ）。
【００８２】
ステップＳ４０２（２巡目）：テスト装置１０のテストシステム制御部１０１は、受信した設定データ（クライアント装置３０にエラーが発生したときにクライアント装置３０に設定されていた設定データ）を設定する。
【００８３】
ステップＳ２０９：サーバー装置２０のプロセスデータ再生部２０３は、データセットから、実行順が連続する１以上（典型的には、複数）のプロセスデータを抽出できると判断する（ステップＳ２０７、ＹＥＳ）。この場合、プロセスデータ再生部２０３は、データセットに含まれる複数のプロセスデータから、実行順が連続する１以上のプロセスデータ（典型的には、複数）を抽出する。具体的には、データセットに含まれる複数のプロセスデータから抽出される、実行順が連続する１以上のプロセスデータ（典型的には、複数）は、最後に実行されたプロセスデータを含む。「最後に実行されたプロセスデータ」を抽出するのは、エラーが発生したタイミングにより近いプロセスデータを抽出するためである。より具体的には、データセットに含まれる複数のプロセスデータから抽出される、実行順が連続する１以上のプロセスデータ（典型的には、複数）は、最後に実行されたプロセスデータを含む、データセットに含まれる複数のプロセスデータよりも少ない（例えば、約半数の）プロセスデータを含む。
【００８４】
本例の場合、プロセスデータ再生部２０３が生成した（ステップＳ２０６）データセット（エラーデータセット）は、プロセスデータＤ１乃至Ｄ６を含む。プロセスデータ再生部２０３は、データセットに含まれる複数のプロセスデータＤ１乃至Ｄ６から、実行順が連続する１以上のプロセスデータ（典型的には、複数）を抽出する。具体的には、データセットに含まれる複数のプロセスデータＤ１乃至Ｄ６から抽出される、実行順が連続する１以上のプロセスデータ（典型的には、複数）は、最後に実行されたプロセスデータＤ６を含む。より具体的には、データセットに含まれる複数のプロセスデータＤ１乃至Ｄ６から抽出される、実行順が連続する１以上のプロセスデータ（典型的には、複数）は、最後に実行されたプロセスデータＤ６を含む、半数のプロセスデータＤ４乃至Ｄ６を含む。
【００８５】
ステップＳ２０４：サーバー装置２０のプロセスデータ再生部２０３は、抽出したプロセスデータＤ４乃至Ｄ６を実行順に１つずつ、ネットワーク通信インターフェース２５を介してテスト装置１０に送信する。
【００８６】
ステップＳ４０３乃至ステップＳ４０５（２巡目）：テスト装置１０のテストシステム制御部１０１は、サーバー装置２０からプロセスデータを実行順に１つずつ受信し（ステップＳ４０３でＹＥＳ）、受信したプロセスデータを１つずつ実行し（ステップＳ４０４）、エラー再現結果をサーバー装置２０に送信する（ステップＳ４０５）。
【００８７】
ステップＳ２０６（２巡目）：サーバー装置２０のサーバーシステム制御部２０１がテスト装置１０がエラーを再現したと判断すると（ステップＳ２０５、ＹＥＳ）、プロセスデータ再生部２０３は、エラーを再現するためのデータセットであるエラーデータセットとして、データセットを生成する。プロセスデータ再生部２０３は、今回生成したデータセットで、前回（１巡目のステップＳ２０６）生成及び記憶したエラーデータセットを更新する。
【００８８】
本例の場合、プロセスデータ再生部２０３は、データセットに含まれるプロセスデータＤ４乃至Ｄ６を順に送信する（ステップＳ２０４）。サーバーシステム制御部２０１は、プロセスデータＤ４のエラー再現結果に基づき、テスト装置１０がエラーを再現しなかったと判断する（ステップＳ２０５、ＮＯ）。一方、サーバーシステム制御部２０１は、プロセスデータＤ５のエラー再現結果に基づき、テスト装置１０がエラーを再現したと判断する（ステップＳ２０５、ＹＥＳ）。この場合、プロセスデータ再生部２０３は、プロセスデータＤ４及びＤ５を含むデータセットで、エラーを再現するためのデータセットであるエラーデータセットを更新する（ステップＳ２０６）。その後、サーバー装置２０は、ステップＳ２０７及びステップＳ２０９（２巡目）を実行する。
【００８９】
ステップＳ２１６：サーバー装置２０のプロセスデータ再生部２０３は、データセットからプロセスデータを抽出できない（即ち、データセットに含まれるプロセスデータが１つである）と判断する（ステップＳ２０７、ＮＯ）。あるいは、サーバーシステム制御部２０１がテスト装置１０がエラーを再現したと判断することなく（ステップＳ２０５、ＮＯ）、プロセスデータ再生部２０３が全てのプロセスデータ（本例の場合、プロセスデータＤ４乃至Ｄ６）を送信し終える（ステップＳ２１０、ＹＥＳ）。これらの場合、エラーを再現するためのデータセットであるエラーデータセットは、現在サーバープロセスデータ記憶部２０２に記憶されている最新のデータセットである。
【００９０】
ステップＳ２１１：サーバー装置２０のプロセスデータ再生部２０３は、エラー情報（ステップＳ２０１）や、テスト装置１０が再現したエラーの内容（ステップＳ２０５、ＹＥＳ）から、エラーに関連する機能を特定する。「機能」は、例えば、テスト装置１０及びクライアント装置３０が画像形成装置の場合、印刷機能、スキャン機能等である。
【００９１】
ステップＳ２１２：サーバー装置２０のプロセスデータ再生部２０３は、エラーデータセットに含まれる１以上のプロセスデータから、エラー情報やエラーの内容に関する１以上のプロセスデータを抽出する。
【００９２】
例えば、エラー情報（ステップＳ２０１）が印刷エラーの場合、プロセスデータ再生部２０３は、エラーデータセットに含まれる１以上のプロセスデータから、印刷機能に関するプロセスデータだけを全て抽出する。
【００９３】
ステップＳ２１３：サーバー装置２０のプロセスデータ再生部２０３は、抽出した１以上のプロセスデータを、ネットワーク通信インターフェース２５を介してテスト装置１０に送信する。
【００９４】
ステップＳ４０３乃至ステップＳ４０５（３巡目）：テスト装置１０のテストシステム制御部１０１は、サーバー装置２０から１以上のプロセスデータを受信し（ステップＳ４０１でＮＯ、ステップＳ４０３でＹＥＳ）、受信した１以上のプロセスデータを実行し（ステップＳ４０４）、エラー再現結果をサーバー装置２０に送信する（ステップＳ４０５）。
【００９５】
ステップＳ２１４（ステップＳ２０５と同様）：サーバー装置２０のサーバーシステム制御部２０１は、ネットワーク通信インターフェース２５を介してテスト装置１０から、エラー再現結果を受信する。サーバーシステム制御部２０１は、エラー再現結果に基づき、テスト装置１０がエラーを再現したか否かの結果と、エラーを再現した場合にはそのエラーの内容とを判断する。
【００９６】
ステップＳ２１５：サーバー装置２０のサーバーシステム制御部２０１がテスト装置１０がエラーを再現したと判断すると（ステップＳ２１４、ＹＥＳ）、プロセスデータ再生部２０３は、今回（ステップＳ２１２）生成したデータセットで、生成及び記憶したエラーデータセット（ステップＳ２１６）を更新する。プロセスデータ再生部２０３が更新（ステップＳ２１５）した最新のエラーデータセットが、クライアント装置３０に発生したエラーの原因となったプロセスデータの集合の、最終的な候補となる。
【００９７】
一方、サーバー装置２０のサーバーシステム制御部２０１がテスト装置１０がエラーを再現しなかったと判断すると（ステップＳ２１４、ＮＯ）、プロセスデータ再生部２０３が確定（ステップＳ２１６）した最新のエラーデータセットが、クライアント装置３０に発生したエラーの原因となったプロセスデータの集合の、最終的な候補となる。
【００９８】
８．結語
【００９９】
（１）本実施形態によれば、サーバー装置２０は、プロセスデータの実行順にプロセスデータを１つずつテスト装置１０に送信して、テスト装置１０にプロセスデータを１つずつ実行させ、テスト装置１０が１つのプロセスデータを実行する毎に、テスト装置１０がエラーを再現したか否かを示す結果を、テスト装置１０から受信し、テスト装置１０が何れかのプロセスデータを実行した後にテスト装置１０がエラーを再現したことを示す結果を、テスト装置１０から受信すると、テスト装置１０がエラーを再現するまでにテスト装置１０が実行した１以上のプロセスデータを実行順に示すデータセットを生成する。これにより、サーバー装置２０は、全てのプロセスデータから、エラーの原因である可能性の高いプロセスデータ（具体的には、テスト装置１０がエラーを再現するまでにテスト装置１０が実行した１以上のプロセスデータ）を絞り込むことができる。
【０１００】
（２）本実施形態によれば、サーバー装置２０は、生成したデータセットが複数のプロセスデータを含む場合、データセットに含まれる複数のプロセスデータから、実行順が連続する１以上のプロセスデータを抽出し、抽出した１以上のプロセスデータの実行順に抽出した１以上のプロセスデータを１つずつテスト装置１０に送信して、テスト装置１０に抽出した１以上のプロセスデータを１つずつ実行させ、テスト装置１０が１つのプロセスデータを実行する毎に、テスト装置１０がエラーを再現したか否かを示す結果を、テスト装置１０から受信し、テスト装置１０が何れかのプロセスデータを実行した後にテスト装置１０がエラーを再現したことを示す結果を、テスト装置１０から受信すると、テスト装置１０がエラーを再現するまでにテスト装置１０が実行した１以上のプロセスデータを実行順に示すデータセットを生成し、生成したデータセットで、エラーデータセットを更新する。これにより、サーバー装置２０は、先に生成したエラーデータセットに含まれるプロセスデータ（具体的には、テスト装置１０がエラーを再現するまでにテスト装置１０が実行した１以上のプロセスデータ）から、エラーの原因である可能性の高いプロセスデータ（具体的には、抽出した１以上のプロセスデータ）をさらに絞り込むことができる。
【０１０１】
（３）本実施形態によれば、サーバー装置２０は、データセットに含まれる複数のプロセスデータから抽出される、実行順が連続する１以上のプロセスデータは、最後に実行されたプロセスデータを含む。これにより、エラーが発生したタイミングにより近いプロセスデータを抽出することができる。これにより、サーバー装置２０は、先に生成したエラーデータセットに含まれるプロセスデータ（具体的には、テスト装置１０がエラーを再現するまでにテスト装置１０が実行した１以上のプロセスデータから、抽出した１以上のプロセスデータ）から、エラーの原因である可能性の高いプロセスデータ（エラーが発生したタイミングにより近いプロセスデータ）をさらに絞り込むことができる。
【０１０２】
（４）本実施形態によれば、サーバー装置２０は、クライアント装置３０に発生したエラーを示す情報であるエラー情報を取得し、データセットに含まれる１以上のプロセスデータから、エラー情報に関する１以上のプロセスデータを抽出し、抽出した１以上のプロセスデータをテスト装置１０に送信して、実行順に、テスト装置１０に抽出した１以上のプロセスデータを実行させ、テスト装置１０が抽出した１以上のプロセスデータを実行した後にテスト装置１０がエラーを再現したことを示す結果を、テスト装置１０から受信すると、抽出した１以上のプロセスデータを実行順に示すデータセットを生成し、生成したデータセットで、エラーデータセットを更新する。これにより、サーバー装置２０は、先に生成したエラーデータセットに含まれるプロセスデータから、エラーの原因である可能性の高いプロセスデータ（エラー情報に関する１以上のプロセスデータ）をさらに絞り込むことができる。
【０１０３】
本技術の各実施形態及び各変形例について上に説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０１０４】
エラー再現システム１
テスト装置１０
サーバー装置２０
クライアント装置３０
テストシステム制御部１０１
サーバーシステム制御部２０１
サーバープロセスデータ記憶部２０２
プロセスデータ再生部２０３
クライアントシステム制御部３０１
システム設定保持部３０２
エラー再現プロセス保存部３０３
クライアントプロセスデータ記憶部３０４
プロセスデータ送信部３０５
【図１】
2020149284.tif 000003
【図２】
2020149284.tif 000004
【図３】
2020149284.tif 000005
【図４】
2020149284.tif 000006
【図５】
2020149284.tif 000007
【図６】
2020149284.tif 000008
【図７】
2020149284.tif 000009
【図８】
2020149284.tif 000010