(57)【要約】【課題】画像形成装置の動作状態が許容条件から外れる原因のジョブを容易に特定することが可能な仮想実行装置を提供する。【解決手段】仮想実行装置は、稼働中の画像形成装置をシミュレートすることにより仮想装置を形成するシミュレート部２５１と、画像形成装置の動作状態が予め定められた許容条件から外れた場合、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれを参照ジョブとして取得する参照ジョブ取得部２５４と、取得された複数の参照ジョブから１以上の参照ジョブを除外ジョブとして選択する選択部２５５と、選択された１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合に除外ジョブを原因ジョブとして特定する原因ジョブ特定部２５７と、を備える。【選択図】        図７
2019057200.tif 000002
【特許請求の範囲】
【請求項１】
稼働中の画像形成装置をシミュレートすることにより仮想装置を形成するシミュレート手段と、
前記画像形成装置の動作状態が予め定められた許容条件から外れた場合、前記画像形成装置の動作状態が前記許容条件から外れる前に前記画像形成装置が外部から受信した複数のジョブそれぞれを参照ジョブとして取得する参照ジョブ取得手段と、
前記取得された複数の参照ジョブから１以上の参照ジョブを除外ジョブとして選択する選択手段と、
前記選択された１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして前記仮想装置に処理させ、前記仮想装置の動作状態が前記許容条件を満たす場合に前記除外ジョブを原因ジョブとして特定する原因ジョブ特定手段と、を備える、仮想実行装置。
【請求項２】
前記原因ジョブ特定手段により原因ジョブが特定される場合、前記特定された原因ジョブと同じ種類のジョブを受信しないように前記画像形成装置を設定する非受信設定手段を、さらに備える、請求項１記載の仮想実行装置。
【請求項３】
前記原因ジョブ特定手段により原因ジョブが特定される場合、前記原因ジョブを送信してきた外部装置からジョブを受信しないように前記画像形成装置を設定する非受信設定手段を、さらに備える、請求項１記載の仮想実行装置。
【請求項４】
前記選択手段は、前記取得された複数の参照ジョブのうち同一の装置から送信された複数の参照ジョブのすべてを除外ジョブとして選択する、請求項１〜３のいずれかに記載の仮想実行装置。
【請求項５】
前記原因ジョブ特定手段により原因ジョブが特定される場合、前記原因ジョブを送信してきた外部装置をユーザーに通知する通知手段を、さらに備える、請求項１〜４のいずれかに記載の仮想実行装置。
【請求項６】
前記原因ジョブ特定手段は、前記１以上の除外ジョブが選択されるごとに前記仮想装置の動作状態が前記許容条件を満たすか否かを判断し、前記仮想装置の動作状態が前記許容条件を満たす前記１以上の除外ジョブの組が複数の場合、前記仮想装置が処理対象ジョブの処理に要する単位データ量当たりの処理時間が最も短い組に含まれる１以上の除外ジョブを前記原因ジョブに特定する、請求項１〜５のいずれかに記載の仮想実行装置。
【請求項７】
前記画像形成装置は複数であり、
前記原因ジョブ特定手段は、前記複数の画像形成装置それぞれについて共通の原因ジョブを特定する、請求項１〜６のいずれかに記載の仮想実行装置。
【請求項８】
稼働中の画像形成装置をシミュレートすることにより仮想装置を形成するシミュレート手段と、
前記画像形成装置の動作状態が予め定められた許容条件から外れた場合、前記画像形成装置の動作状態が前記許容条件から外れる前に前記画像形成装置が外部から受信したジョブを参照ジョブとして取得する参照ジョブ取得手段と、
前記画像形成装置に設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を前記仮想装置に設定し、前記仮想装置に前記参照ジョブを処理させて前記仮想装置の動作状態が前記許容条件を満たすか否かを判断する判断手段と、
前記判断手段により前記仮想装置の動作状態が前記許容条件を満たすと判断された１以上の仮想設定値を目標設定値に特定する設定値特定手段と、
前記画像形成装置に、前記特定された１以上の目標設定値を設定する設定値設定手段と、を備える、仮想実行装置。
【請求項９】
前記判断手段は、前記１以上の仮想設定値を設定するごとに前記仮想装置の動作状態が前記許容条件を満たすか否かを判断し、
前記設定値特定手段は、前記仮想装置の動作状態が前記許容条件を満たす前記１以上の仮想設定値の組が複数の場合、前記仮想装置が前記参照ジョブの処理に要する処理時間が最も短い組に含まれる１以上の仮想設定値を前記目標設定値に特定する、請求項８記載の仮想実行装置。
【請求項１０】
前記画像形成装置に設定された複数種類の設定値は、ジョブを処理するために前記画像形成装置に確保される作業領域のサイズを含む、請求項８または９記載の仮想実行装置。
【請求項１１】
前記画像形成装置は複数であり、
前記設定値設定手段は、前記特定された１以上の目標設定値を前記複数の画像形成装置それぞれに設定する、請求項８〜１０のいずれかに記載の仮想実行装置。
【請求項１２】
前記許容条件は、前記画像形成装置が備える中央演算装置の使用率が前記画像形成装置に対して定められた値以下である条件、または、前記画像形成装置が備える中央演算装置が予め定められた処理を開始してから終了するまでの処理時間が前記画像形成装置に対して定められた値以下である条件である、請求項１〜１１のいずれかに記載の仮想実行装置。
【請求項１３】
稼働中の画像形成装置をシミュレートすることにより前記画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、
前記画像形成装置の動作状態が予め定められた許容条件から外れた場合、前記画像形成装置の動作状態が前記許容条件から外れる前に前記画像形成装置が外部から受信した複数のジョブそれぞれを参照ジョブとして取得する参照ジョブ取得ステップと、
前記取得された複数の参照ジョブから１以上の参照ジョブを除外ジョブとして選択する選択ステップと、
前記選択された１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして前記仮想装置に処理させ、前記仮想装置の動作状態が前記許容条件を満たす場合に前記除外ジョブを原因ジョブとして特定する原因ジョブ特定ステップと、を仮想実行装置に実行させる仮想実行方法。
【請求項１４】
前記画像形成装置は複数であり、
前記原因ジョブ特定ステップにおいて、前記複数の画像形成装置それぞれについて共通の原因ジョブを特定する、請求項１３記載の仮想実行方法。
【請求項１５】
稼働中の画像形成装置をシミュレートすることにより前記画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、
前記画像形成装置の動作状態が予め定められた許容条件から外れた場合、前記画像形成装置の動作状態が前記許容条件から外れる前に前記画像形成装置が外部から受信したジョブを参照ジョブとして取得する参照ジョブ取得ステップと、
前記画像形成装置に設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を前記仮想装置に設定し、前記仮想装置に前記参照ジョブを処理させて前記仮想装置の動作状態が前記許容条件を満たすか否かを判断する判断ステップと、
前記判断手段により前記仮想装置の動作状態が前記許容条件を満たすと判断された１以上の仮想設定値を目標設定値に特定する設定値特定ステップと、
前記画像形成装置に、前記特定された１以上の目標設定値を設定する設定値設定ステップと、を仮想実行装置に実行させる仮想実行方法。
【請求項１６】
前記画像形成装置は複数であり、
前記設定値設定ステップにおいて、前記特定された１以上の目標設定値を前記複数の画像形成装置それぞれに設定する、請求項１５記載の仮想実行方法。
【請求項１７】
稼働中の画像形成装置をシミュレートすることにより前記画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、
前記画像形成装置の動作状態が予め定められた許容条件から外れた場合、前記画像形成装置の動作状態が前記許容条件から外れる前に前記画像形成装置が外部から受信した複数のジョブそれぞれを参照ジョブとして取得する参照ジョブ取得ステップと、
前記取得された複数の参照ジョブから１以上の参照ジョブを除外ジョブとして選択する選択ステップと、
前記選択された１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして前記仮想装置に処理させ、前記仮想装置の動作状態が前記許容条件を満たす場合に前記除外ジョブを原因ジョブとして特定する原因ジョブ特定ステップと、を仮想実行装置を制御するコンピューターに実行させる仮想実行プログラム。
【請求項１８】
前記画像形成装置は複数であり、
前記原因ジョブ特定ステップにおいて、前記複数の画像形成装置それぞれについて共通の原因ジョブを特定する、請求項１７記載の仮想実行プログラム。
【請求項１９】
稼働中の画像形成装置をシミュレートすることにより前記画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、
前記画像形成装置の動作状態が予め定められた許容条件から外れた場合、前記画像形成装置の動作状態が前記許容条件から外れる前に前記画像形成装置が外部から受信したジョブを参照ジョブとして取得する参照ジョブ取得ステップと、
前記画像形成装置に設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を前記仮想装置に設定し、前記仮想装置に前記参照ジョブを処理させて前記仮想装置の動作状態が前記許容条件を満たすか否かを判断する判断ステップと、
前記判断手段により前記仮想装置の動作状態が前記許容条件を満たすと判断された１以上の仮想設定値を目標設定値に特定する設定値特定ステップと、
前記画像形成装置に、前記特定された１以上の目標設定値を設定する設定値設定ステップと、を仮想実行装置を制御するコンピューターに実行させる仮想実行プログラム。
【請求項２０】
前記画像形成装置は複数であり、
前記設定値設定ステップにおいて、前記特定された１以上の目標設定値を前記複数の画像形成装置それぞれに設定する、請求項１９記載の仮想実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、仮想実行装置、仮想実行方法および仮想実行プログラムに関し、特に、画像形成装置をシミュレートする仮想実行装置、その仮想実行装置で実行される仮想実行方法および仮想実行プログラムに関する。
【背景技術】
【０００２】
例えば、特開平９−２０５４２９号公報には、複数のノードと、このノード間を接続するデータ伝送路とを有するネットワークシステムにおいて、データ伝送路上の伝送フレームを受信し、当該伝送フレームの状態から得られる情報またはその伝送フレームの内容に基づいて、システム状態データを作成するシステム状態データ生成手段と、システム状態データの内容が、予め設定された異常現象の何れかに適合するか否かを判定する異常検出手段と、異常検出手段により何れかの異常現象に適合すると判定された場合に、当該異常現象に対応し、かつ予め設定された少なくとも一つの異常原因の中から推定される異常原因を選択する異常原因推定手段と、推定される異常原因を有する場合におけるネットワークシステムの挙動をシミュレーションするシミュレータ手段と、シミュレータ手段によるシミュレーション結果と、システム状態データの内容とを比較して、推定される異常原因の正誤を判定する異常原因判定手段とを備えたことを特徴とするネットワーク故障診断装置が記載されている。
【０００３】
一般的に、装置が処理対象とするデータが予め定められており、装置にインストールされているプログラムは、そのデータを処理できるように設計されている。一方、装置がネットワークに接続される場合は、他の装置から受信するデータが、装置にインストールされたプログラムとの互換性が保証されていないデータの場合がある。装置は、プログラムとの互換性が保証されていないデータを処理する場合、そのデータを正常に処理することができずに、エラーが生じる場合がある。
【特許文献１】特開平９−２０５４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、画像形成装置の動作状態が許容条件から外れる原因のジョブを容易に特定することが可能な仮想実行装置を提供することである。
【０００５】
この発明の他の目的は、画像形成装置の使用環境に適した設定値を設定することが可能な仮想実行装置を提供することである。
【０００６】
この発明のさらに他の目的は、画像形成装置の動作状態が許容条件から外れる原因のジョブを容易に特定することが可能な仮想実行方法を提供することである。
【０００７】
この発明のさらに他の目的は、画像形成装置の使用環境に適した設定値を設定することが可能な仮想実行方法を提供することである。
【０００８】
この発明のさらに他の目的は、画像形成装置の動作状態が許容条件から外れる原因のジョブを容易に特定することが可能な仮想実行プログラムを提供することである。
【０００９】
この発明のさらに他の目的は、画像形成装置の使用環境に適した設定値を設定することが可能な仮想実行プログラムを提供することである。
【課題を解決するための手段】
【００１０】
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、仮想実行装置は、稼働中の画像形成装置をシミュレートすることにより仮想装置を形成するシミュレート手段と、画像形成装置の動作状態が予め定められた許容条件から外れた場合、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれを参照ジョブとして取得する参照ジョブ取得手段と、取得された複数の参照ジョブから１以上の参照ジョブを除外ジョブとして選択する選択手段と、選択された１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合に除外ジョブを画像形成装置に異常が生じた原因である原因ジョブとして特定する原因ジョブ特定手段と、を備える。
【００１１】
この局面に従えば、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれが参照ジョブとして取得され、取得された参照ジョブのうち、１以上の除外ジョブ以外の参照ジョブが処理対象ジョブとして仮想装置により処理される。画像形成装置の動作状態が許容条件から外れる原因となるジョブが、処理対象ジョブから除外された除外ジョブである場合、処理対象ジョブを仮想装置に処理させても、仮想装置の動作状態が許容条件から外れないので、仮想装置の動作状態が許容条件を満たす場合における除外ジョブが原因ジョブに特定される。これにより、画像形成装置の動作状態が許容条件から外れる原因のジョブを容易に特定することが可能な仮想実行装置を提供することができる。
【００１２】
好ましくは、原因ジョブ特定手段により原因ジョブが特定される場合、特定された原因ジョブと同じ種類のジョブを受信しないように画像形成装置を設定する非受信設定手段を、さらに備える。
【００１３】
この局面に従えば、画像形成装置の動作状態が許容条件から外れることが防止される。
【００１４】
好ましくは、原因ジョブ特定手段により原因ジョブが特定される場合、原因ジョブを送信してきた外部装置からジョブを受信しないように画像形成装置を設定する非受信設定手段を、さらに備える。
【００１５】
この局面に従えば、画像形成装置の動作状態が許容条件から外れることが防止される。
【００１６】
好ましくは、選択手段は、取得された複数の参照ジョブのうち同一の装置から送信された複数の参照ジョブのすべてを除外ジョブとして選択する。
【００１７】
この局面に従えば、ジョブを送信してきた装置単位で、仮想装置の動作状態が許容条件を満たすか否かを判断することができる。それにより、仮想装置の動作状態が許容条件から外れる原因の外部装置を容易に特定することができる。
【００１８】
好ましくは、原因ジョブ特定手段により原因ジョブが特定される場合、原因ジョブを送信してきた外部装置をユーザーに通知する通知手段を、さらに備える。
【００１９】
この局面に従えば、原因ジョブを送信してきた外部装置をユーザーが容易に認識することができる。
【００２０】
好ましくは、原因ジョブ特定手段は、１以上の除外ジョブが選択されるごとに仮想装置の動作状態が許容条件を満たすか否かを判断し、仮想装置の動作状態が許容条件を満たす１以上の除外ジョブの組が複数の場合、仮想装置が処理対象ジョブの処理に要する単位データ量当たりの処理時間が最も短い組に含まれる１以上の除外ジョブを原因ジョブに特定する。
【００２１】
この局面に従えば、複数の参照ジョブのうち、画像形成装置の動作状態が許容条件から外れる原因のジョブを適切に特定することができる。
【００２２】
好ましくは、画像形成装置は複数であり、非受信設定手段は、複数の画像形成装置それぞれについて共通の原因ジョブを特定する。
【００２３】
この局面に従えば、いずれかの画像形成装置をシミュレートすることにより、複数の画像形成装置それぞれについて共通の原因ジョブを特定することができる。それにより、複数の画像形成装置を容易に管理することができる。
【００２４】
この発明に他の局面によれば、仮想実行装置は、稼働中の画像形成装置をシミュレートすることにより仮想装置を形成するシミュレート手段と、画像形成装置の動作状態が予め定められた許容条件から外れた場合、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信したジョブを参照ジョブとして取得する参照ジョブ取得手段と、画像形成装置に設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を仮想装置に設定し、仮想装置に参照ジョブを処理させて仮想装置の動作状態が許容条件を満たすか否かを判断する判断手段と、判断手段により仮想装置の動作状態が許容条件を満たすと判断された１以上の仮想設定値を目標設定値に特定する設定値特定手段と、画像形成装置に、特定された１以上の目標設定値を設定する設定値設定手段と、を備える。
【００２５】
この局面に従えば、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれが参照ジョブとして取得され、１以上の仮想設定値が仮想装置に設定された状態で、取得された参照ジョブが仮想装置により処理される。仮想装置の動作状態が許容条件を満たす場合の１以上の仮想設定値が目標設定値として画像形成装置に設定される。これにより、画像形成装置の使用環境に適した設定値を設定することが可能な仮想実行装置を提供することができる。
【００２６】
好ましくは、判断手段は、１以上の仮想設定値を設定するごとに仮想装置の動作状態が許容条件を満たすか否かを判断し、設定値特定手段は、仮想装置の動作状態が許容条件を満たす１以上の仮想設定値の組が複数の場合、仮想装置が参照ジョブの処理に要する処理時間が最も短い組に含まれる１以上の仮想設定値を目標設定値に特定する。
【００２７】
この局面に従えば、画像形成装置をより良好に動作させることができる。
【００２８】
好ましくは、画像形成装置に設定された複数種類の設定値は、ジョブを処理するために画像形成装置に確保される作業領域のサイズを含む。
【００２９】
この局面に従えば、画像形成装置に確保される作業領域のサイズを画像形成装置の使用環境に適した値に調整することができる。
【００３０】
好ましくは、画像形成装置は複数であり、設定値設定手段は、特定された１以上の目標設定値を複数の画像形成装置それぞれに設定する。
【００３１】
この局面に従えば、いずれかの画像形成装置をシミュレートすることにより、複数の画像形成装置それぞれの使用環境に適した設定値を設定することができる。それにより、複数の画像形成装置を容易に管理することができる。
【００３２】
好ましくは、許容条件は、画像形成装置が備える中央演算装置の使用率が画像形成装置に対して定められた値以下である条件、または、画像形成装置が備える中央演算装置が予め定められた処理を開始してから終了するまでの処理時間が画像形成装置に対して定められた値以下である条件である。
【００３３】
この局面に従えば、画像形成装置の動作状態が許容条件から外れたことを容易に検出することができる。
【００３４】
この発明のさらに他の局面によれば、仮想実行方法は、稼働中の画像形成装置をシミュレートすることにより画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、画像形成装置の動作状態が予め定められた許容条件から外れた場合、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信したジョブを参照ジョブとして取得する参照ジョブ取得ステップと、画像形成装置に設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を仮想装置に設定し、仮想装置に参照ジョブを処理させて仮想装置の動作状態が許容条件を満たすか否かを判断する判断ステップと、判断手段により仮想装置の動作状態が許容条件を満たすと判断された１以上の仮想設定値を目標設定値に特定する設定値特定ステップと、画像形成装置に、特定された１以上の目標設定値を設定する設定値設定ステップと、を仮想実行装置に実行させる。
【００３５】
この局面に従えば、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれが参照ジョブとして取得され、１以上の仮想設定値が仮想装置に設定された状態で、取得された参照ジョブが仮想装置により処理される。仮想装置の動作状態が許容条件を満たす場合の１以上の仮想設定値が目標設定値として画像形成装置に設定される。これにより、画像形成装置の使用環境に適した設定値を設定することが可能な仮想実行方法を提供することができる。
【００３６】
好ましくは、画像形成装置は複数であり、設定値設定ステップにおいて、特定された１以上の目標設定値を複数の画像形成装置それぞれに設定する。
【００３７】
この局面に従えば、いずれかの画像形成装置をシミュレートすることにより、複数の画像形成装置それぞれの使用環境に適した設定値を設定することができる。それにより、複数の画像形成装置を容易に管理することができる。
【００３８】
この発明のさらに他の局面によれば、仮想実行プログラムは、稼働中の画像形成装置をシミュレートすることにより画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、画像形成装置の動作状態が予め定められた許容条件から外れた場合、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれを参照ジョブとして取得する参照ジョブ取得ステップと、取得された複数の参照ジョブから１以上の参照ジョブを除外ジョブとして選択する選択ステップと、選択された１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合に除外ジョブを画像形成装置に異常が生じた原因である原因ジョブとして特定する原因ジョブ特定ステップと、を仮想実行装置を制御するコンピューターに実行させる。
【００３９】
この局面に従えば、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれが参照ジョブとして取得され、取得された参照ジョブのうち、１以上の除外ジョブ以外の参照ジョブが処理対象ジョブとして仮想装置により処理される。画像形成装置の動作状態が許容条件から外れる原因となるジョブが、処理対象ジョブから除外された除外ジョブである場合、処理対象ジョブを仮想装置に処理させても、仮想装置の動作状態が許容条件から外れないので、仮想装置の動作状態が許容条件を満たす場合における除外ジョブが原因ジョブに特定される。これにより、画像形成装置の動作状態が許容条件から外れる原因のジョブを容易に特定することが可能な仮想実行プログラムを提供することができる。
【００４０】
好ましくは、画像形成装置は複数であり、原因ジョブ特定ステップにおいて、複数の画像形成装置それぞれについて共通の原因ジョブを特定する。
【００４１】
この局面に従えば、いずれかの画像形成装置をシミュレートすることにより、複数の画像形成装置それぞれについて共通の原因ジョブを特定することができる。それにより、複数の画像形成装置を容易に管理することができる。
【００４２】
この発明のさらに他の局面によれば、仮想実行プログラムは、稼働中の画像形成装置をシミュレートすることにより画像形成装置を仮想装置として仮想的に形成するシミュレートステップと、画像形成装置の動作状態が予め定められた許容条件から外れた場合、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信したジョブを参照ジョブとして取得する参照ジョブ取得ステップと、画像形成装置に設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を仮想装置に設定し、仮想装置に参照ジョブを処理させて仮想装置の動作状態が許容条件を満たすか否かを判断する判断ステップと、判断手段により仮想装置の動作状態が許容条件を満たすと判断された１以上の仮想設定値を目標設定値に特定する設定値特定ステップと、画像形成装置に、特定された１以上の目標設定値を設定する設定値設定ステップと、を仮想実行装置を制御するコンピューターに実行させる。
【００４３】
この局面に従えば、画像形成装置の動作状態が許容条件から外れる前に画像形成装置が外部から受信した複数のジョブそれぞれが参照ジョブとして取得され、１以上の仮想設定値が仮想装置に設定された状態で、取得された参照ジョブが仮想装置により処理される。仮想装置の動作状態が許容条件を満たす場合の１以上の仮想設定値が目標設定値として画像形成装置に設定される。これにより、画像形成装置の使用環境に適した設定値を設定することが可能な仮想実行プログラムを提供することができる。
【００４４】
好ましくは、画像形成装置は複数であり、設定値設定ステップにおいて、特定された１以上の目標設定値を複数の画像形成装置それぞれに設定する。
【００４５】
この局面に従えば、いずれかの画像形成装置をシミュレートすることにより、複数の画像形成装置それぞれの使用環境に適した設定値を設定することができる。それにより、複数の画像形成装置を容易に管理することができる。
【図面の簡単な説明】
【００４６】
【図１】第１の実施の形態における情報処理システムの全体概要の一例を示す図である。
【図２】第１の実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。
【図３】第１の実施の形態におけるＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】第１の実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。
【図５】第１の実施の形態におけるサーバーが備えるシミュレータの概要の一例を示す図である。
【図６】第１の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図７】第１の実施の形態におけるサーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図８】第１の実施の形態におけるＭＦＰが受信するジョブの一例を示す図である。
【図９】第１の実施の形態における除外ジョブおよび処理対象ジョブの選択および原因ジョブの特定の一例を示す図である。
【図１０】第１の実施の形態における状態通知処理の流れの一例を示すフローチャートである。
【図１１】第１の実施の形態における仮想実行処理の流れの一例を示すフローチャートである。
【図１２】第１の実施の形態の変形例における除外ジョブおよび処理対象ジョブの選択および原因ジョブの特定の例を示す図である。
【図１３】第２の実施の形態におけるサーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。
【図１４】第２の実施の形態における仮想設定値の設定例を示す図である。
【図１５】第２の実施の形態における仮想実行処理の流れの一例を示すフローチャートである。
【図１６】第３の実施の形態におけるサーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。
【発明を実施するための形態】
【００４７】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。従ってそれらについての詳細な説明は繰り返さない。
【００４８】
図１は、本発明の実施の形態の一つにおける情報処理システムの全体概要の一例を示す図である。図１を参照して、情報処理システム１は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ，１００Ｂと、サーバー２００と、パーソナルコンピューター（ＰＣ）３４０と、ネットワーク機器３５０と、を含む。
【００４９】
ＭＦＰ１００，１００Ａ，１００Ｂは、画像形成装置の一例であり、画像データに基づいて用紙などの記録媒体に画像を形成するための画像形成機能を少なくとも備えている。ＭＦＰ１００，１００Ａ，１００Ｂは、画像形成機能に加えて、原稿を読み取るための原稿読取機能、およびファクシミリデータを送受信するファクシミリ送受信機能を備えてもよい。サーバー２００およびＰＣ３４０は、一般的なコンピューターである。ネットワーク機器３５０は、例えばルーターまたはハブであり、データの送受信を中継する。
【００５０】
サーバー２００、ＰＣ３４０、ネットワーク機器３５０およびＭＦＰ１００，１００Ａ，１００Ｂそれぞれは、ネットワーク３に接続される。ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。ネットワーク３は、さらに、インターネットに接続されてもよい。この場合、サーバー２００、ＰＣ３４０およびＭＦＰ１００，１００Ａ，１００Ｂそれぞれは、ネットワーク３を介してインターネットに接続されたコンピューターと互いに通信可能である。また、ネットワーク３は、ＬＡＮに限らず、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワークであってもよい。さらに、ネットワーク３は、インターネットなどのワイドエリアネットワーク（ＷＡＮ）であってもよい。
【００５１】
図２は、本実施の形態におけるサーバーのハードウェア構成の概要の一例を示すブロック図である。図２を参照して、サーバー２００は、サーバー２００の全体を制御するための中央演算装置（ＣＰＵ）２０１と、ＣＰＵ２０１が実行するためのプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＣＰＵ２０１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、データを不揮発的に記憶するハードディスクドライブ（ＨＤＤ）２０４と、ＣＰＵ２０１をネットワーク３に接続する通信部２０５と、情報を表示する表示部２０６と、ユーザーの操作の入力を受け付ける操作部２０７と、外部記憶装置２０８と、を含む。
【００５２】
表示部２０６は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置である。操作部２０７は、キーボードなどのハードキーである。また、操作部２０７は、タッチパネルであってもよい。タッチパネルは、表示部２０６の上面または下面に表示部２０６に重畳して設けられる。タッチパネルは、表示部２０６の表示面中でユーザーにより指示された位置を検出する。
【００５３】
通信部２０５は、ＣＰＵ２０１をネットワーク３に接続するためのインターフェースである。通信部２０５は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続されたＭＦＰ１００，１００Ａ，１００Ｂと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。サーバー２００に、ＭＦＰ１００，１００Ａ，１００ＢそれぞれのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを登録しておくことにより、サーバー２００は、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれと通信することができ、データの送受信が可能となる。
【００５４】
ＨＤＤ２０４は、ＣＰＵ２０１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＣＰＵ２０１は、ＨＤＤ２０４に記録されたプログラムを、ＲＡＭ２０３にロードして実行する。
【００５５】
外部記憶装置２０８は、プログラムを記憶したＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）２０９が装着される。ＣＰＵ２０１は、外部記憶装置２０８を介してＣＤ−ＲＯＭ２０９にアクセス可能である。ＣＰＵ２０１は、外部記憶装置２０８に装着されたＣＤ−ＲＯＭ２０９に記録されたプログラムをＲＡＭ２０３にロードして実行する。なお、ＣＰＵ２０１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ２０９に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭまたはＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリであってもよい。
【００５６】
また、ＣＰＵ２０１が実行するプログラムは、ＣＤ−ＲＯＭ２０９に記録されたプログラムに限られず、ＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０３にロードして実行するようにしてもよい。この場合、ネットワーク３に接続された他のコンピューターが、ＨＤＤ２０４に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、サーバー２００が、ネットワーク３またはインターネットに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ２０４に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５７】
ＭＦＰ１００，１００Ａ，１００Ｂのハードウェア構成および機能は同じなので、ここでは、ＭＦＰ１００を例に説明する。図３は、本実施の形態におけるＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン基板１１１と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、通信インターフェース（Ｉ／Ｆ）部１６０と、ファクシミリ部１７０と、外部記憶装置１８０と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１３と、ユーザーインターフェースとしての操作パネル１１５とを含む。
【００５８】
メイン基板１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３、および操作パネル１１５と接続され、ＭＦＰ１００の全体を制御する。
【００５９】
自動原稿搬送装置１２０は、原稿トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。
【００６０】
給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイに排出する。
【００６１】
通信Ｉ／Ｆ部１６０は、ネットワーク３にＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１６０は、ＴＣＰまたはＵＤＰ等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。
【００６２】
通信Ｉ／Ｆ部１６０は、ネットワーク３から受信されるデータをメイン基板１１１に出力し、メイン基板１１１から入力されるデータをネットワーク３に出力する。通信Ｉ／Ｆ部１６０は、ネットワーク３から受信されるデータのうちＭＦＰ１００宛てのデータのみを、メイン基板１１１に出力し、ネットワーク３から受信されるデータのうちＭＦＰ１００とは異なる装置宛てのデータを廃棄する。
【００６３】
ファクシミリ部１７０は、公衆交換電話網（ＰＳＴＮ）に接続され、ファクシミリデータを送受信する。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１、または半導体メモリが装着される。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１または半導体メモリに記憶されたデータを読み出す。外部記憶装置１８０は、ＣＤ−ＲＯＭ１８１または半導体メモリにデータを記憶する。
【００６４】
操作パネル１１５は、ＭＦＰ１００の上面に設けられ、表示部１１８と操作部１１９とを含む。表示部１１８は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１９は、複数のハードキーと、タッチパネルと、を含む。タッチパネルは、表示部１１８の上面または下面に表示部に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１１８の表示面中でユーザーにより指示された位置を検出する。
【００６５】
図４は、本実施の形態におけるメイン基板の詳細な構成の一例を示すブロック図である。図４を参照して、メイン基板１１１は、ＣＰＵ１７１と、ＲＯＭ１７３と、ＲＡＭ１７５と、画像制御ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１７７と、を含む。
【００６６】
ＣＰＵ１７１、ＲＯＭ１７３、ＲＡＭ１７５および画像制御ＡＳＩＣ１７７それぞれは、バス１７９に接続されており、データの転送が可能である。ＣＰＵ１７１は、ＭＦＰ１００の全体を制御する。ＲＯＭ１７３は、ＣＰＵ１７１が実行するプログラムを記憶する。ＲＡＭ１７５は、ＣＰＵ１７１の作業領域として用いられる揮発性の半導体メモリである。
【００６７】
ＣＰＵ１７１は、ＨＤＤ１１３に記憶されたプログラムをＲＡＭ１７５にロードして実行する。ＣＰＵ１７１が実行するプログラムは、ハードウェア資源を制御するための制御プログラム、およびアプリケーションプログラムを含む。ハードウェア資源は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、の通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、ＨＤＤ１１３および操作パネル１１５を含む。アプリケーションプログラムは、例えば、ファクシミリ部１７０を制御してファクシミリデータを送信するファクシミリ送信プログラム、ファクシミリ部１７０を制御してファクシミリデータを受信するファクシミリ受信プログラム、通信Ｉ／Ｆ部１６０を制御してプリントジョブを受信し、画像形成部１４０および給紙部１５０を制御してプリントジョブに基づいて画像を形成するプリントプログラム、原稿読取部１３０を制御して原稿を読み取る原稿読取プログラムを含む。また、アプリケーションプログラムは、ＭＦＰ１００が備える消耗品を管理するメンテナンスプログラム、エラー状態を通知するエラー状態通知プログラムを、含んでもよい。なお、ＣＰＵ１７１が実行するアプリケーションプログラムを、これらに限定するものではない。
【００６８】
画像制御ＡＳＩＣ１７７は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、および給紙部１５０と接続され、それらを制御する。また、画像制御ＡＳＩＣ１７７は、原稿読取部１３０が原稿を読み取って出力する画像データに所定の画像処理を実行する機能、画像データを画像形成部１４０がプリントするためのラスターデータに変換する機能を有する。
【００６９】
本実施の形態におけるサーバー２００は、ＭＦＰ１００，１００Ａ，１００Ｂをシミュレートするシミュレータを備えている。サーバー２００によるＭＦＰ１００，１００Ａ，１００Ｂそれぞれのシミュレートは同じなので、ここでは、サーバー２００がＭＦＰ１００をシミュレートする場合を例に説明する。
【００７０】
図５は、サーバーが備えるシミュレータの概要の一例を示す図である。このシミュレータは、ＣＰＵ２０１がシミュレートプログラムを実行することにより、ＣＰＵ２０１に形成される。図５を参照して、シミュレータは、ＣＰＵ周辺シミュレータ３００と、ハードウェア（ＨＷ）シミュレータ３２０と、を含む。ＣＰＵ周辺シミュレータ３００は、ＭＦＰ１００が備えるＣＰＵ１７１をシミュレートする仮想ＣＰＵ３０１と、ＲＯＭ１７３およびＲＡＭ１７５をエミュレートする仮想メモリ３０３と、周辺モデル３０５と、同期設定モデル３０７と、割込制御部３０９と、を含む。仮想ＣＰＵ３０１、仮想メモリ３０３、周辺モデル３０５および同期設定モデル３０７は、バス（Ｂｕｓ）３１１に接続されている。
【００７１】
周辺モデル３０５は、ＭＦＰ１００が備えるＨＤＤ１１３、操作パネル１１５、通信Ｉ／Ｆ部１６０および外部記憶装置１８０をそれぞれエミュレートするＨＤＤ１１３Ａ、操作パネル１１５Ａ、通信Ｉ／Ｆ部１６０Ａおよび外部記憶装置１８０Ａを含む。
【００７２】
同期設定モデル３０７は、仮想ＣＰＵ３０１が、仮想メモリ３０３および周辺モデル３０５と同期するための設定をする。割込制御部３０９は、仮想ＣＰＵ３０１が仮想メモリ３０３および周辺モデル３０５と同期するための設定時に、仮想ＣＰＵ３０１に割り込みを発生させる。
【００７３】
ＨＷシミュレータ３２０は、ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１と、画像制御ＡＳＩＣモデル３２３と、ハードウェア資源モデル３２５と、を含む。ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル３２１は、バス３１１に接続され、ＰＣＩ−Ｅｘｐｒｅｓｓ規格に従った接続をエミュレートする。画像制御ＡＳＩＣモデル３２３は、ＭＦＰ１００が備える画像制御ＡＳＩＣ１７７をエミュレートする。ハードウェア資源モデル３２５は、ＭＦＰ１００が備えるハードウェア資源をエミュレートする。具体的には、ハードウェア資源モデル３２５は、ＭＦＰ１００が備える自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０およびファクシミリ部１７０をそれぞれエミュレートする自動原稿搬送装置１２０Ａ、原稿読取部１３０Ａ、画像形成部１４０Ａ、給紙部１５０Ａおよびファクシミリ部１７０Ａを含む。
【００７４】
図６は、第１の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示すブロック図である。図６に示す機能は、ＭＦＰ１００が備えるＣＰＵ１７１が、ＲＯＭ１７３、ＨＤＤ１１３またはＣＤ−ＲＯＭ１８１に記憶されたエラー通知プログラムを実行することにより、ＣＰＵ１７１により実現される機能である。エラー通知プログラムは、仮想実行プログラムの一部である。図６を参照して、ＣＰＵ１７１は、動作状態取得部５１と、エラー検出部５３と、装置情報送信部５５と、参照ジョブ特定部５７と、参照ジョブ送信部５９と、を含む。
【００７５】
動作状態取得部５１は、ＭＦＰ１００の動作状態を取得する。ＭＦＰ１００の動作状態は、ＭＦＰ１００が備えるＣＰＵ１７１全体の負荷に対応する。ここでは、動作状態取得部５１は、ＣＰＵ１７１の使用率を動作状態として取得する。ＣＰＵ１７１の使用率は、ＣＰＵ１７１がジョブを実行するタスクを実行する時間が占める割合である。なお、動作状態取得部５１は、ユーザーにより入力される操作を受け付けてから、その操作に対応する処理が終了するまでのレスポンスタイムを動作状態として取得してもよく、あるいは、ＲＡＭ１７５の使用率、ＲＡＭ１７５とＨＤＤ１１３のスワップ領域との間でデータ転送するスワップの回数を動作状態として取得してもよい。動作状態取得部５１は、取得された動作状態を、エラー検出部５３に出力する。
【００７６】
エラー検出部５３は、動作状態取得部５１から入力されるＭＦＰ１００の動作状態が予め定められた許容条件から外れたか否かを判断し、ＭＦＰ１００の動作状態が許容条件から外れた場合にエラーを検出し、装置情報送信部５５および参照ジョブ特定部５７にエラー信号を出力する。ここでは、ＣＰＵ１７１の使用率が予め定められた上限値を超えた場合に、ＭＦＰ１００の動作状態が予め定められた許容条件から外れたと判定される。予め定められた許容条件は、ＣＰＵ１７１の使用率が上限値以下となる条件である。ＣＰＵ１７１の使用率が上限値を超えた場合にエラーとなり、エラー検出部５３は、装置情報送信部５５および参照ジョブ特定部５７にエラー信号を出力する。
【００７７】
なお、予め定められた許容条件は、レスポンスタイムが規定時間より短い条件としてもよい。その場合、レスポンスタイムが規定時間に達すると、ＭＦＰ１００の動作状態が許容条件から外れる。これにより、タイムアウトエラーとなる。ＣＰＵ１７１が第１のジョブを実行している最中に第２のジョブを受信する場合、ＣＰＵ１７１が第２のジョブを受信する第２のタスクのＣＰＵ１７１の使用率が上昇することにより、ＣＰＵ１７１が第１のジョブを実行する第１のタスクのＣＰＵ１７１の使用率が相対的に低下する。この場合に、第１のタスクの処理に遅延が生じ、レスポンスタイムが規定時間に達する場合がある。また、ある期間内に受信した第１のジョブを実行する第１のタスクのＣＰＵ１７１の使用率が上昇することにより、その期間内に受信した第２のジョブを実行する第２のタスクのＣＰＵ１７１の使用率が相対的に低下する。この場合に、第２のタスクの処理に遅延が生じる場合があり、レスポンスタイムが規定時間に達する場合がある。
【００７８】
装置情報送信部５５は、エラー検出部５３からエラー信号が入力された場合、すなわちＭＦＰ１００の動作状態が許容条件から外れた場合、通信Ｉ／Ｆ部１６０を制御して、ＭＦＰ１００の装置情報をサーバー２００に送信する。装置情報は、ＭＦＰ１００に搭載されているＣＰＵ１７１の機種名、ＭＦＰ１００にインストールされたハードウェア資源に関するハード情報と、ＭＦＰ１００にインストールされたソフトウェア資源に関するソフト情報と、ＭＦＰ１００に設定されている設定値と、を含む。
【００７９】
参照ジョブ特定部５７は、エラー検出部５３からエラー信号が入力された場合、すなわちＭＦＰ１００の動作状態が許容条件から外れた場合、その動作状態が許容条件から外れる前に外部から受信したジョブを参照ジョブとして特定し、特定した参照ジョブを参照ジョブ送信部５９に出力する。具体的には、参照ジョブ特定部５７は、エラー発生時点（エラー信号が入力された時点）を終点とし、エラー発生時点から予め定められた時間だけ前の時点を始点とし、始点から終点までの期間を対象受信期間に特定する。参照ジョブ特定部５７は、対象受信期間内に通信Ｉ／Ｆ部１６０が受信した複数のジョブを参照ジョブとして特定する。参照ジョブ送信部５９は、参照ジョブ特定部５７から入力された複数の参照ジョブを、通信Ｉ／Ｆ部１６０を制御してサーバー２００に送信する。
【００８０】
参照ジョブ特定部５７が特定する参照ジョブは、外部装置から受信されたジョブであり、ＣＰＵ１７１の負荷が増大する原因となったジョブを含む。外部装置は、例えばＰＣ３４０またはネットワーク機器３５０である。外部装置から受信されるデータは、外部装置から受信されてＨＤＤ１１３に記憶されたデータを含む。例えば、原稿読取部１３０が原稿を読み取って出力するデータ等、ＭＦＰ１００が生成するデータに関しては、ＣＰＵ１７１が実行するプログラムは確実に処理することができるように設計されている。原稿読取部１３０を制御するプログラムと、原稿読取部１３０が出力するデータを処理するプログラムとが整合するように設計されているからである。一方、外部の装置から受信されるデータは、ＣＰＵ１７１が実行するプログラムの設計段階で対応できていないデータが存在する可能性がある。例えば、外部から受信されるデータのフォーマットに、プログラムが対応していない場合などである。
【００８１】
図７は、第１の実施の形態におけるサーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。図７に示す機能は、サーバー２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９に記憶された仮想実行プログラムを実行することにより、ＣＰＵ２０１により実現される機能である。
【００８２】
図７を参照して、サーバー２００が備えるＣＰＵ２０１は、シミュレート部２５１と、装置情報取得部２５３と、参照ジョブ取得部２５４と、選択部２５５と、原因ジョブ特定部２５７と、非受信設定部２５８と、通知部２５９と、を含む。
【００８３】
装置情報取得部２５３は、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかから装置情報を取得する。上述したように、ＭＦＰ１００，１００Ａ，１００Ｂのいずれかは、エラーが発生した場合に、装置情報および複数の参照ジョブを送信する。装置情報取得部２５３は、通信部２０５がＭＦＰ１００，１００Ａ，１００Ｂのいずれかから装置情報を受信すると、通信部２０５が受信した装置情報を取得する。ここでは、ＭＦＰ１００から装置情報を取得する場合を例に説明する。装置情報取得部２５３がＭＦＰ１００から装置情報を取得する場合、ＭＦＰ１００はエラー対象に設定される。装置情報は、装置に搭載されている中央演算装置の機種名、装置にインストールされたハードウェア資源に関するハード情報と、装置にインストールされたソフトウェア資源に関するソフト情報と、設定値と、を含む。設定値は、エラー対象であるＭＦＰ１００が備えるＣＰＵ１７１が実行するタスクの負荷に影響する設定値である。例えば、設定値は、ＲＡＭ１７５に確保されるＣＰＵ１７１の処理領域のサイズ（以下、「バッファサイズ」という）である。
【００８４】
参照ジョブ取得部２５４は、通信部２０５がＭＦＰ１００，１００Ａ，１００Ｂのいずれかから複数の参照ジョブを受信すると、通信部２０５が受信した複数の参照ジョブを取得する。ＭＦＰ１００がエラー対象である場合、参照ジョブは、ＭＦＰ１００が対象受信期間内に外部装置から受信したジョブであり、参照ジョブ取得部２５４は、ＭＦＰ１００から参照ジョブを取得する。参照ジョブ取得部２５４は、参照ジョブを取得する場合、参照ジョブを選択部２５５に出力する。
【００８５】
シミュレート部２５１は、装置情報取得部２５３から入力される装置情報に基づいて、エラー対象であるＭＦＰ１００をシミュレートする。シミュレート部２５１は、エラー対象であるＭＦＰ１００に装着されたハードウェア資源を設定し、ＭＦＰ１００のＣＰＵ１７１が実行するソフトウェア資源を仮想ＣＰＵ３０１に実行させ、設定値を設定し、ＭＦＰ１００のＣＰＵ１７１で実行されているジョブを仮想ＣＰＵ３０１に実行させる。
【００８６】
ＭＦＰ１００は、ハードウェア資源として、画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５を含む。このため、装置情報に含まれるハード情報は、画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５をハードウェア資源として定める。シミュレート部２５１は、装置情報に含まれるハード情報で定められた画像制御ＡＳＩＣ１７７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、通信Ｉ／Ｆ部１６０、ファクシミリ部１７０、外部記憶装置１８０、ＨＤＤ１１３および操作パネル１１５それぞれをエミュレートするエミュレータを設定する。さらに、シミュレート部２５１は、エミュレートするハードウェア資源との同期を設定する。例えば、図５に示したＣＰＵ周辺シミュレータ３００の同期設定モデル３０７に、仮想ＣＰＵ３０１が、ハードウェア資源のエミュレータと同期するように仮想ＣＰＵ３０１のレジスタ値を設定させるとともに、仮想メモリ３０３のメモリマップを書き換える。
【００８７】
また、シミュレート部２５１は、装置情報に含まれるソフト情報で定められたソフトウェア資源を仮想ＣＰＵが実行する状態に設定し、装置情報に含まれる設定値を設定する。具体的には、シミュレート部２５１は、装置情報に含まれるソフト情報で定められたソフトウェア資源をインストールし、装置情報に含まれる設定値を設定する。このように、シミュレート部２５１は、ＭＦＰ１００をシミュレートすることにより、ＭＦＰ１００を仮想装置として仮想的に形成する。なお、ＭＦＰ１００のＲＡＭ１７５に記憶されたデータをスナップショットとして取得し、仮想メモリ３０３に記憶するようにしてもよい。
【００８８】
シミュレート部２５１は、装置情報取得部２５３がＭＦＰ１００，１００Ａ，１００Ｂのいずれか、例えばＭＦＰ１００から装置情報を受信することに応じて、ＭＦＰ１００をシミュレートするので、装置情報取得部２５３がＭＦＰ１００から装置情報を受信するまで、ＭＦＰ１００をシミュレートしない。このため、サーバー２００のＣＰＵ２０１の負荷をできるだけ低くすることができる。
【００８９】
なお、シミュレート部２５１は、エラー対象であるＭＦＰ１００に加えて、ＭＦＰ１００に接続された外部装置をシミュレートしてもよい。例えば、装置情報取得部２５３からシミュレート部２５１に入力される装置情報が外部装置に関する設定値を含む。その場合、シミュレート部２５１は、装置情報から外部装置に関する設定値を取得し、取得した設定値に基づいて外部装置をシミュレートすることができる。あるいは、参照ジョブ取得部２５４が取得する参照ジョブが、送信元である外部装置に関する設定値を含む場合、参照ジョブ取得部２５４がシミュレート部２５１に参照ジョブを出力し、シミュレート部２５１は、参照ジョブから外部機器に関する設定値を取得し、取得した設定値に基づいて外部装置をシミュレートしてもよい。
【００９０】
選択部２５５は、参照ジョブ取得部２５４から複数の参照ジョブが入力されることに応じて、入力された複数の参照ジョブから１以上の除外ジョブを選択し、除外ジョブ以外の参照ジョブを処理対象ジョブとして原因ジョブ特定部２５７に出力する。本例では、選択部２５５は、複数の参照ジョブから１以上の除外ジョブの組を順次選択し、選択した除外ジョブの組以外の参照ジョブを処理対象ジョブとして順次出力する。例えば、エラー対象であるＭＦＰ１００が、対象受信期間にＮ個（Ｎは、正の整数）のジョブを受信した場合を例に説明する。この場合、参照ジョブ取得部２５４から選択部２５５にＮ個の参照ジョブが入力される。最初に、選択部２５５は、Ｎ個の参照ジョブのうちＭＦＰ１００が受信した時点が最も早い参照ジョブを除外ジョブに選択し、残りの（Ｎ―１）個の参照ジョブを処理対象ジョブとして原因ジョブ特定部２５７に出力する。次に、選択部２５５は、Ｎ個の参照ジョブのうちＭＦＰ１００が受信した時点が２番目に早い参照ジョブを除外ジョブに選択し、残りの（Ｎ―１）個の参照ジョブを処理対象ジョブとして原因ジョブ特定部２５７に出力する。その後も同様に、ＭＦＰ１００が受信した時点が早い順に、Ｎ個の参照ジョブから１つずつ除外ジョブに選択し、残りの（Ｎ−１）個の参照ジョブを処理対象ジョブとして原因ジョブ特定部２５７に出力する。これにより、Ｎ個の参照ジョブからＮ個の除外ジョブが順次選択され、Ｎ組の処理対象ジョブが順次出力される。除外ジョブの選択順および選択数は、予め定められていてもよく、あるいはユーザーが指定可能であってもよい。
【００９１】
原因ジョブ特定部２５７は、選択部２５５から処理対象ジョブが入力されることに応じて、入力された処理対象ジョブを、シミュレート部２５１が形成した仮想装置に処理させる。処理対象ジョブを処理する仮想装置の動作状態が許容条件を満たす場合、すなわち仮想装置がエラーとならない場合、原因ジョブ特定部２５７は、除外ジョブを原因ジョブとして特定する。原因ジョブは、エラー対象のＭＦＰ１００にエラー（異常）が生じた原因のジョブである。本例では、原因ジョブ特定部２５７は、選択部２５５が１以上の除外ジョブを選択する毎に、処理対象ジョブを仮想装置に処理させ、仮想装置の動作状態が許容条件を満たすか否か判断する。仮想装置の動作状態が許容条件を満たす除外ジョブの組が複数の場合、原因ジョブ特定部２５７は、仮想装置が処理対象ジョブの処理に要する単位データ当たりの処理時間が最も短い組に含まれる除外ジョブを原因ジョブに特定する。
【００９２】
例えば、選択部２５５から原因ジョブ特定部２５７にＮ組の処理対象ジョブが順次入力される場合、原因ジョブ特定部２５７は、Ｎ組の処理対象ジョブそれぞれを仮想装置に処理させ、Ｎ組の処理対象ジョブそれぞれについて仮想装置の動作状態が許容条件を満たすか否か判断する。また、原因ジョブ特定部２５７は、仮想装置がＮ組の処理対象ジョブそれぞれを処理するために要した時間を計測する。Ｎ組の処理対象ジョブのうち、Ｍ組（Ｍは、Ｎ以下の正の整数）の処理対象ジョブの処理時に仮想装置の動作状態が許容条件を満たす場合、原因ジョブ特定部２５７は、Ｍ組の処理対象ジョブそれぞれについて、処理時間をデータ量で除算することにより単位データ量当たりの処理時間を算出し、算出した処理時間が最も短い処理対象ジョブの組を特定する。特定した組に含まれる処理対象ジョブ以外の参照ジョブ（除外ジョブ）を原因ジョブに特定する。原因ジョブ特定部２５７は、特定した原因ジョブを非受信設定部２５８および通知部２５９に出力する。
【００９３】
非受信設定部２５８は、原因ジョブ特定部２５７から原因ジョブが入力されることに応じて、原因ジョブと同じ種類のジョブを受信しないようにエラー対象であるＭＦＰ１００を設定する。この場合、原因ジョブ特定部２５７により特定された原因ジョブと、他の１以上の参照ジョブとを比較することにより、原因ジョブが他の１以上の参照ジョブのすべてと異なる部分が特定されるので、その異なる部分を含むジョブは、原因ジョブと同じ種類のジョブとされる。例えば、ジョブに含まれる印刷条件で定められる複数の項目のうち、原因ジョブに設定されているが、他の１以上の参照ジョブのいずれにも設定されていない特定項目が存在する場合、その特定項目が設定されたジョブが、原因ジョブと同じ種類のジョブである。
【００９４】
非受信設定部２５８は、通信部２０５を制御して、原因ジョブの種類を識別するジョブ種類識別情報を含む設定コマンドをエラー対象であるＭＦＰ１００に送信する。ＭＦＰ１００は、サーバー２００から送信された設定コマンドが入力されると、設定コマンドに含まれるジョブ種類識別情報により特定される種類のジョブを受信拒否対象に設定する。この場合、ＭＦＰ１００は、サーバー２００から設定コマンドが入力された後は、外部装置から送信されるジョブのうち、受信拒否対象の種類のジョブを受信しない。
【００９５】
なお、非受信設定部２５８は、原因ジョブを送信してきた外部装置からジョブを受信しないようにエラー対象であるＭＦＰ１００を設定してもよい。例えば、外部装置からＭＦＰ１００に送信されるジョブそれぞれは、送信元の外部装置を識別するための装置識別情報を含む。非受信設定部２５８は、原因ジョブに含まれる装置識別情報を取得し、取得した装置識別情報を含む設定コマンドをＭＦＰ１００に送信する。ＭＦＰ１００は、サーバー２００から送信された設定コマンドが入力されると、設定コマンドに含まれる装置識別情報により特定される外部装置から送信されるジョブを受信拒否対象に設定する。
【００９６】
ＭＦＰ１００の使用環境として、ＭＦＰ１００が接続されるネットワーク３の環境がある。ネットワーク３に接続される外部装置は変動し、接続される外部装置がＭＦＰ１００に送信するデータは、その外部装置によって定まる。このため、原因ジョブを送信してきた外部装置は、再度、ＭＦＰ１００が許容条件を満たさなくなるジョブを送信する可能性がある。その外部装置からジョブを受信しないようにすることで、ＭＦＰ１００が、原因ジョブにより許容条件を満たさなくなった場合と同様の原因で許容条件を満たさなくなる事象が発生しないようにすることができる。
【００９７】
通知部２５９は、原因ジョブ特定部２５７から原因ジョブが入力されることに応じて、原因ジョブを送信してきた外部装置をユーザーに通知する。例えば、原因ジョブは、送信元の外部装置を識別するための装置識別情報を含む。通知部２５９は、通信部２０５を制御して、原因ジョブの装置識別情報をエラー対象であるＭＦＰ１００に送信する。ＭＦＰ１００は、サーバー２００から送信された装置識別情報を操作パネル１１５上に表示する。また、装置識別情報とともに、その装置識別情報で特定される外部装置がＭＦＰ１００のエラーの原因であること、あるいはその装置識別情報で特定される外部装置をＭＦＰ１００から切り離すべきであることを示す案内情報が表示されてもよい。ユーザーは、操作パネル１１５に表示される装置識別情報で特定される外部装置とＭＦＰ１００との接続を切り離す、あるいは操作パネル１１５に表示される装置識別情報で特定される外部装置の設定を変更することができる。これにより、ＭＦＰ１００におけるエラーの発生を防止することができる。なお、通知部２５９は、送信元の外部装置を識別するための装置識別情報、または、装置識別情報および案内情報を、ユーザーに電子メールで送信するようにしてもよい。通知部２５９がユーザーに外部装置を通知する場合、ユーザーが外部装置の設定を変更する等によってＭＦＰ１００におけるエラーの発生を防止することができるので、非受信設定部２５８は、ＭＦＰ１００にジョブ単位での受信拒否の設定、および装置単位での受信拒否を設定しないようにしてもよい。
【００９８】
図８は、ＭＦＰ１００が受信するジョブの一例を示す図である。図８を参照して、ＭＦＰ１００は、８時１９分に、動作状態が許容条件から外れ、エラーとなる。この場合、参照ジョブ特定部５７が、８時１９分を終点とする対象受信期間を特定する。ここでは、対象受信期間の長さが１０分に定められる。そのため、対象受信期間は、８時９分から８時１９分までの期間である。対象受信期間に、ＭＦＰ１００はパケットＰ３〜Ｐ１０を受信する。パケットＰ３，Ｐ４はジョブＢを構成し、パケットＰ５，Ｐ６はジョブＣを構成し、パケットＰ７，Ｐ８はジョブＤを構成し、パケットＰ９，Ｐ１０はジョブＥを構成する。参照ジョブ特定部５７は、ジョブＢ〜Ｅを参照ジョブに特定し、参照ジョブ送信部５９は、参照ジョブＢ〜Ｅをサーバー２００に送信する。サーバー２００の参照ジョブ取得部２５４は、参照ジョブＢ〜Ｅを取得する。
【００９９】
図９は、除外ジョブおよび処理対象ジョブの選択および原因ジョブの特定の一例を示す図である。図９を参照して、サーバー２００の選択部２５５は、参照ジョブＢ〜ＥからＭＦＰ１００が受信した時点が早い順に除外ジョブを選択し、原因ジョブ特定部２５７は、除外ジョブ以外の参照ジョブを処理対象ジョブとして仮想装置に処理させる。具体的には、最初に、選択部２５５が参照ジョブＢを除外ジョブに選択し、原因ジョブ特定部２５７が参照ジョブＣ，Ｄ，Ｅを処理対象ジョブとして仮想装置に処理させる。次に、選択部２５５が参照ジョブＣを除外ジョブに選択し、原因ジョブ特定部２５７が参照ジョブＢ，Ｄ，Ｅを処理対象ジョブとして仮想装置に処理させる。次に、選択部２５５が参照ジョブＤを除外ジョブに選択し、原因ジョブ特定部２５７が参照ジョブＢ，Ｃ，Ｅを処理対象ジョブとして仮想装置に処理させる。次に、選択部２５５が参照ジョブＥを除外ジョブに選択し、原因ジョブ特定部２５７が参照ジョブＢ，Ｃ，Ｄを処理対象ジョブとして仮想装置に処理させる。
【０１００】
図９においては、除外ジョブの選択毎に処理対象ジョブを仮想装置に処理させた結果、除外ジョブＢの選択時および除外ジョブＤの選択時には、仮想装置の動作状態が許容条件から外れ、除外ジョブＣの選択時および除外ジョブＥの選択時には、仮想装置の動作状態が許容条件を満たす場合を示している。また、除外ジョブＣの選択時における単位データ量当たりの処理時間Ｔ１は、除外ジョブＥの選択時における単位データ量当たりの処理時間Ｔ２よりも短い場合を示している。この場合、原因ジョブ特定部２５７は、除外ジョブＢを原因ジョブに特定する。
【０１０１】
図１０は、第１の実施の形態における状態通知処理の流れの一例を示すフローチャートである。状態通知処理は、ＭＦＰ１００が備えるＣＰＵ１７１が、ＲＯＭ１７３、ＨＤＤ１１３またはＣＤ−ＲＯＭ１８１に記憶された状態通知プログラムを実行することにより、ＣＰＵ２０１により実現される機能である。状態通知プログラムは、仮想実行プログラムの一部である。図１０を参照して、ＣＰＵ１７１は、ジョブを受け付けたか否かを判断する（ステップＳ５１）。ジョブを受け付けるまで待機状態となり（ステップＳ５１でＮＯ）、ジョブを受け付けたならば（ステップＳ５１でＹＥＳ）、処理をステップＳ５２に進める。ＣＰＵ１７１は、通信Ｉ／Ｆ部１６０が外部装置（例えばＰＣ３４０）からジョブを受信したならばジョブを受け付ける。また、ＣＰＵ１７１は、操作部１１９がユーザーによるジョブを入力する操作を受け付ける場合に、ジョブを受け付ける。ステップＳ５２においては、ステップＳ５１で受け付けたジョブを開始し、処理をステップＳ５３に進める。
【０１０２】
ステップＳ５３においては、ステップＳ５２で開始したジョブが終了したか否かを判断する。ジョブが終了したならば処理をステップＳ５１に戻すが、そうでなければ処理をステップＳ５４に進める。ステップＳ５４においては、動作状態が許容条件を満たすか否かを判定する。ここでは、ＣＰＵ１７１の使用率が上限値以下である場合に、動作状態が許容条件を満たすと判断する。動作状態が許容条件を満たすならば、処理をステップＳ５３に戻すが、そうでなければ処理をステップＳ５５に進める。
【０１０３】
ステップＳ５５においては、ステップＳ５４で動作状態が許容条件から外れた時点を基準に対象受信期間を特定し、処理をステップＳ５６に進める。具体的には、ＣＰＵ１７１の使用率が上限値を超えた時点を対象受信期間の終点とし、それよりも一定時間だけ前の時点を対象受信期間の始点とする。ステップＳ５６においては、対象受信期間内に通信Ｉ／Ｆ部１６０が外部装置から受信したジョブを参照ジョブに特定し、処理をステップＳ５７に進める。
【０１０４】
ステップＳ５７においては、装置情報を生成し、通信Ｉ／Ｆ部１６０を制御して、サーバー２００に装置情報を送信し、処理をステップＳ５８に進める。ステップＳ５８においては、通信Ｉ／Ｆ部１６０を制御して、ステップＳ５６で特定した参照ジョブをサーバー２００に送信し、処理を終了する。
【０１０５】
図１１は、第１の実施の形態における仮想実行処理の流れの一例を示すフローチャートである。仮想実行処理は、第１の実施の形態におけるサーバー２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０９に記憶された状態予測プログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図１１を参照して、サーバー２００が備えるＣＰＵ２０１は、装置情報を受信したか否かを判断する。通信部２０５がＭＦＰ１００，１００Ａ，１００Ｂのいずれかから装置情報を受信すると、装置情報を受信したと判断する。装置情報を受信するまで待機状態となり（ステップＳ０１でＮＯ）、装置情報を受信したならば（ステップＳ０１でＹＥＳ）、処理をステップＳ０２に進める。通信部２０５が受信した装置情報を取得する。
【０１０６】
ステップＳ０２においては、装置情報を送信してきた装置をエラー対象に決定し、処理をステップＳ０３に進める。ここでは、ＭＦＰ１００から装置情報を受信する場合を例に説明する。この場合、ＭＦＰ１００をエラー対象に決定する。ステップＳ０３においては、仮想装置を設定する。ステップＳ０１において受信された装置情報に基づいて、エラー対象であるＭＦＰ１００をシミュレートする。具体的には、装置情報に含まれるハード情報で定められたハードウェア資源をエミュレートするエミュレータを設定し、装置情報に含まれるソフト情報で定められたソフトウェア資源を仮想ＣＰＵ３０１が実行する状態に設定し、装置情報に含まれる設定値を設定する。
【０１０７】
次のステップＳ０４においては、エラー対象の装置から参照ジョブを受信したか否かを判断する。ＭＦＰ１００がエラー対象である場合、通信部２０５がＭＦＰ１００から参照ジョブを受信すると、参照ジョブを受信したと判断する。参照ジョブを受信するまで待機状態となり、参照ジョブを受信したならば、処理をステップＳ０５に進める。
【０１０８】
ステップＳ０５においては、受信した参照ジョブから１以上の除外ジョブを選択し、処理をステップＳ０６に進める。例えば、ＭＦＰ１００がエラー対象である場合、ＭＦＰ１００が受信した時点が早い順に参照ジョブを除外ジョブに選択する。ステップＳ０６においては、ステップＳ０４で受信した参照ジョブのうち、ステップＳ０５で選択した除外ジョブ以外の参照ジョブを処理対象ジョブに特定し、処理をステップＳ０７に進める。ステップＳ０７においては、ステップＳ０３で設定した仮想装置において、ステップＳ０６で特定した処理対象ジョブの処理を開始し、処理をステップＳ０８に進める。
【０１０９】
ステップＳ０８においては、仮想装置の動作状態が許容条件を満たすか否かを判断する。ここでは、仮想ＣＰＵ３０１の使用率が上限値以下である場合に、仮想装置に動作状態が許容条件を満たすと判断する。仮想装置の動作条件が許容条件を満たす場合、処理をステップＳ０９に進めるが、そうでなければ処理をステップＳ１０に進める。ステップＳ０９においては、ステップＳ０７で開始した処理対象ジョブの処理が終了したか否かを判断する。処理対象ジョブの処理が終了したならば、処理をステップＳ１１に進めるが、そうでなければ処理をステップＳ０８に戻す。
【０１１０】
ステップＳ１０においては、ステップＳ０５で選択した１以上の除外ジョブを仮原因ジョブに決定し、処理をステップＳ１１に進める。ステップＳ１１においては、全ての参照ジョブを除外ジョブに選択したか否かを判断する。全ての参照ジョブを除外ジョブに選択したならば、処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ０５に戻し、未選択の参照ジョブを除外ジョブに選択し、ステップＳ０５〜Ｓ１１を繰り返す。
【０１１１】
ステップＳ１２においては、ステップＳ１０で決定した仮原因ジョブのいずれかを原因ジョブに特定し、処理をステップＳ１３に進める。１組の除外ジョブのみが仮原因ジョブに決定されている場合、その組に含まれる除外ジョブを原因ジョブに特定する。複数組の除外ジョブが仮原因ジョブに決定されている場合、仮想装置が処理対象ジョブの処理に要する単位データ当たりの処理時間が最も短い組に含まれる除外ジョブを原因ジョブに特定する。
【０１１２】
ステップＳ１３においては、ステップＳ１２で特定した原因ジョブを受信しないようにエラー対象の装置を設定し、処理をステップＳ１４に進める。例えば、ＭＦＰ１００がエラー対象である場合、通信部２０５を制御して、ＭＦＰ１００に原因ジョブを識別するジョブ識別情報をＭＦＰ１００に送信する。ＭＦＰ１００は、ジョブ識別情報により特定されるジョブを受信拒否対象に設定する。
【０１１３】
ステップＳ１４においては、ステップＳ１２で特定した原因ジョブを送信してきた外部装置をユーザーに通知し、処理を終了する。例えば、ＭＦＰ１００がエラー対象である場合、通信部２０５を制御して、原因ジョブの装置識別情報をＭＦＰ１００に送信すると、ＭＦＰ１００は、装置識別情報を案内情報とともに操作パネル１１５上に表示する。
【０１１４】
以上説明したように第１の実施の形態に係るサーバー２００は、エラー対象の装置、ここではＭＦＰ１００の動作状態が許容条件から外れる前にＭＦＰ１００が外部から受信した複数のジョブそれぞれを参照ジョブとして取得し、取得した参照ジョブのうち、１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合における除外ジョブを原因ジョブに特定する。これにより、ＭＦＰ１００の動作状態が許容条件から外れる原因のジョブを容易に特定することができる。
【０１１５】
また、サーバー２００は、特定された原因ジョブと同じ種類のジョブを受信しないようにＭＦＰ１００を設定する。これにより、ＭＦＰ１００の動作状態が許容条件から外れることが防止される。
【０１１６】
また、サーバー２００は、原因ジョブが特定される場合、原因ジョブを送信してきた外部装置をユーザーに通知する。これにより、原因ジョブを送信してきた外部装置をユーザーが容易に認識することができる。また、ユーザーは、通知を受けた場合に、ＭＦＰ１００が外部装置から原因ジョブと同様のジョブを受信しないように、外部装置の設定を変更する、あるいは外部装置をＭＦＰ１００から切り離すことができる。
【０１１７】
また、サーバー２００は、１以上の除外ジョブが選択されるごとに仮想装置の動作状態が許容条件を満たすか否かを判断し、仮想装置の動作状態が許容条件を満たす１以上の除外ジョブの組が複数の場合、仮想装置が処理対象ジョブの処理に要する単位データ量当たりの処理時間が最も短い組に含まれる１以上の除外ジョブを原因ジョブに特定する。これにより、複数の参照ジョブのうち、ＭＦＰ１００の動作状態が許容条件から外れる原因のジョブを適切に特定することができる。
【０１１８】
＜第１の実施の形態の変形例＞
第１の実施の形態に変形例におけるサーバー２００は、ＣＰＵ２０１が有する選択部２５５を変更したものである。第１の実施の形態の変形例における選択部２５５は、同一の外部装置から送信される複数の参照ジョブの全てを除外ジョブに選択する。例えば、選択部２５５は、複数の外部装置から１つの外部装置を順次選択し、外部装置の選択毎に選択した外部装置から送信された複数の参照ジョブの全てを除外ジョブに選択し、他の外部装置から送信される参照ジョブを処理対象ジョブとして原因ジョブ特定部２５７に出力する。原因ジョブ特定部２５７は、入力された処理対象ジョブを仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合に除外ジョブを原因ジョブに特定する。換言すれば、原因ジョブ特定部２５７は、原因ジョブを送信してきた外部装置から複数の参照ジョブが受信される場合、原因ジョブを送信してきた外部装置から受信される複数の参照ジョブの全てを原因ジョブに特定する。
【０１１９】
図１２は、除外ジョブおよび処理対象ジョブの選択および原因ジョブの特定の他の例を示す図である。図１２の例では、図９の例と同様に、図８に示したジョブＢ，Ｃ，Ｄ，ＥがＭＦＰ１００からサーバー２００に参照ジョブとして送信される。図１２の例が図９の例と異なる点は、選択部２５５が外部装置単位で除外ジョブを選択する点である。具体的には、最初に、選択部２５５は、ＰＣ３４０から送信されたジョブＢ，Ｄを除外ジョブに選択し、原因ジョブ特定部２５７は、ネットワーク機器３５０から送信された参照ジョブＣ，Ｅを処理対象ジョブとして仮想装置に処理させる。次に、選択部２５５は、ネットワーク機器３５０から送信されたジョブＣ，Ｅを除外ジョブに選択し、原因ジョブ特定部２５７は、ＰＣ３４０から送信されたジョブＢ，Ｄを処理対象ジョブとして仮想装置に処理させる。
【０１２０】
図１２においては、ＰＣ３４０から送信された除外ジョブＢ，Ｄの選択時には、仮想装置の動作状態が許容条件から外れ、ネットワーク機器３５０から送信された除外ジョブＣ，Ｅの選択時には、仮想装置の動作状態が許容条件を満たす場合を示している。この場合、原因ジョブ特定部２５７は、ネットワーク機器３５０から送信された除外ジョブＣ，Ｅを原因ジョブに特定する。
【０１２１】
このように第１の実施の形態の変形例におけるサーバー２００は、取得された複数の参照ジョブのうち同一の外部装置から送信された複数の参照ジョブのすべてを除外ジョブとして選択する。これにより、ジョブを送信してきた外部装置単位で、仮想装置の動作状態が許容条件を満たすか否かを判断することができる。これにより、仮想装置の動作状態が許容条件から外れる原因の外部装置を容易に特定することができる。また、ジョブ毎にシミュレートを行う場合に比べて、外部装置単位でシミュレートを行うことにより、シミュレート回数を少なくして、ＣＰＵ２０１の負荷を低減することができる。特に、原因ジョブを送信してきた外部装置からジョブを受信しないようにエラー対象であるＭＦＰ１００に外部装置単位で受信拒否の設定を行う場合には、外部機器単位で除外ジョブを設定してシミュレートを行うことで、原因ジョブを送信してきた外部機器を効率良く特定することができる。
【０１２２】
なお、外部装置が生成するジョブとは別に、ＭＦＰ１００が外部装置との間で通信する処理に、ＭＦＰ１００が許容条件を満たさなくなる原因が存在する場合がある。その場合、シミュレート部２５１が、エラー対象であるＭＦＰ１００に加えて、ＭＦＰ１００に接続された外部装置をシミュレートすることによって仮想外部装置を形成し、仮想装置と外部仮想装置との間で通信する処理を実行し、ＭＦＰ１００が許容条件を満たさなくなる原因を特定してもよい。
【０１２３】
また、サーバー２００は、エラー対象の装置をシミュレートすることによって原因ジョブを特定した場合、原因ジョブと同じ種類のジョブを受信しないように、あるいは原因ジョブを送信してきた外部装置からジョブを受信しないように、エラー対象の装置に加えて他の装置を設定してもよい。例えば、ＭＦＰ１００がエラー対象である場合に、ＭＦＰ１００をシミュレートすることによって原因ジョブを特定し、特定した原因ジョブと同じ種類のジョブを受信しないように、あるいは原因ジョブを送信してきた外部装置からジョブを受信しないように、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれを設定してもよい。これにより、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの動作状態が許容条件から外れることが防止される。また、エラー対象の装置と他の装置とを同様に設定することにより、複数の装置の管理が容易になる。
【０１２４】
＜第２の実施の形態＞
図１３は、第２の実施の形態におけるサーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。図１３を参照して、第２の実施の形態におけるサーバー２００が備えるＣＰＵ２０１が有する機能が図７に示した機能と異なる点は、選択部２５５、原因ジョブ特定部２５７、非受信設定部２５８および通知部２５９が削除された点、判断部２６１、設定値特定部２６３および設定値設定部２６５が追加された点である。
【０１２５】
判断部２６１は、装置情報取得部２５３から装置情報が入力され、参照ジョブ取得部２５４から１以上の参照ジョブが入力される。判断部２６１は、エラー対象のＭＦＰに設定された複数種類の設定値の１以上を変更した１以上の仮想設定値をシミュレート部２５１が形成した仮想装置に設定する。判断部２６１は、１以上の仮想設定値を設定した仮想装置に参照ジョブを処理させて仮想装置の動作状態が許容条件を満たすか否かを判断し、仮想装置の動作状態が許容条件を満たす場合、仮想装置に設定した１以上の仮想設定値を仮目標設定値として設定値特定部２６３に出力する。
【０１２６】
例えば、ＭＦＰ１００がエラー対象である場合、判断部２６１に入力される装置情報は、ＭＦＰ１００に設定された設定値を含む。ＭＦＰ１００に設定された設定値は、例えば、ＲＡＭ１７５に確保されるＣＰＵ１７１の処理領域のサイズ（バッファサイズ）である。判断部２６１は、装置情報が含む複数種類の設定値のうち、１以上の設定値を変更して１以上の仮想設定値を決定し、決定した１以上の仮想設定値を仮想装置に設定する。仮想設定値は、例えば、仮想メモリ３０３に確保される仮想ＣＰＵ３０１の処理領域のサイズ（以下、「仮想バッファサイズ」という）である。
【０１２７】
本例では、判断部２６１は、１以上の仮想設定値の組の複数を順次仮想装置に設定し、１以上の仮想設定値を設定する毎に、仮想装置の動作状態が許容条件を満たすか否かを判断する。仮想装置の動作状態が許容条件を満たす場合、設定した組に含まれる１以上の仮想設定値を仮目標設定値として設定値特定部２６３に出力する。
【０１２８】
設定値特定部２６３は、判断部２６１から入力された１以上の仮目標設定値を目標設定値に特定し、１以上の目標設定値を設定値設定部２６５に出力する。判断部２６１から仮目標設定値の組が複数入力される場合、設定値特定部２６３は、仮想装置が参照ジョブの処理に要する処理時間が最も短い組に含まれる１以上の仮目標設定値を目標設定値に特定する。設定値設定部２６５は、設定値特定部２６３から１以上の目標設定値が入力されることに応じて、エラー対象のＭＦＰに１以上の目標設定値を設定する。例えば、設定値設定部２６５は、通信部２０５を制御して、目標設定値と、目標設定値を設定すべき設定項目を示す項目情報との組を、エラー対象であるＭＦＰ１００に送信する。ＭＦＰ１００は、サーバー２００から送信された項目情報が示す設定項目に、サーバー２００から送信された目標設定値を設定する。
【０１２９】
図１４は、仮想設定値の設定例を示す図である。ここでは、仮想設定値として仮想バッファサイズを設定する場合を例に説明する。図１４を参照して、判断部２６１は、仮想バッファサイズを１００ＭＢ〜２００ＭＢの範囲で仮想装置に順次設定する。判断部２６１は、仮想バッファサイズの設定毎に、参照ジョブを仮想装置に処理させ、仮想装置の動作状態が許容条件を満たすか否かを判定する。例えば、図８に示したジョブＢ，Ｃ，Ｄ，ＥがＭＦＰ１００からサーバー２００に参照ジョブとして送信された場合、判断部２６１は、仮想バッファサイズの設定毎に、ジョブＢ，Ｃ，Ｄ，Ｅそれぞれを仮想装置に処理させる。
【０１３０】
図１４においては、仮想バッファサイズを１００ＭＢに設定した場合および仮想バッファサイズを１２０ＭＢに設定した場合に仮想装置の動作状態が許容条件から外れ、仮想バッファサイズを１４０ＭＢ〜２００ＭＢの範囲で設定した場合に仮想装置の動作状態が許容条件を満たす場合を示している。また、仮想バッファサイズを１８０ＭＢに設定した場合および仮想バッファサイズを２００ＭＢに設定した場合の参照ジョブの処理時間が２０秒と最も短くなる場合を示している。この場合、仮想バッファサイズが１８０ＭＢ以上であると、仮想装置は参照ジョブを滞りなく処理することができる。仮想バッファサイズを１８０ＭＢよりも大きくしても、処理時間は変化しないので、ハードウェア資源またはソフトウェア資源の使用率を抑えるため、設定値特定部２６３は、１８０ＭＢを目標設定値に特定する。
【０１３１】
図１５は、第２の実施の形態における仮想実行処理の流れの一例を示すフローチャートである。図１５を参照して、第２の実施の形態における仮想実行処理が図１１に示した処理と異なる点は、ステップＳ０５〜Ｓ１３がステップＳ２１〜Ｓ２８に変更された点である。その他の処理は、図１１に示した処理と同じなので、ここでは説明を繰り返さない。
【０１３２】
ＣＰＵ２０１は、ステップＳ２１において、予め用意された複数組の仮想設定値のうち１組の仮想設定値を仮想装置に設定し、処理をステップＳ２２に進める。ステップＳ２２においては、仮想装置において、ステップＳ０４で受信した参照ジョブの処理を開始し、処理をステップＳ２３に進める。ステップＳ２３においては、仮想装置の動作状態が許容条件を満たすか否かを判断する。仮想装置の動作状態が許容条件を満たす場合、処理をステップＳ２４に進めるが、そうでなければ処理をステップＳ２５に進める。ステップＳ２４においては、ステップＳ２２で開始した参照ジョブの処理が終了したか否かを判断する。参照ジョブの処理が終了したならば、処理をステップＳ２６に進めるが、そうでなければ処理をステップＳ２３に戻す。
【０１３３】
ステップＳ２５においては、ステップＳ２１で設定した組の仮想設定値を仮目標設定値に決定し、処理をステップＳ２６に進める。ステップＳ２６においては、予め用意された全ての組の仮想設定値を設定したか否かを判断する。全ての組の仮想設定値を設定したならば、処理をステップＳ２７に進めるが、そうでなければ処理をステップＳ２１に戻し、次の組の仮想設定値を仮想装置に設定する。ステップＳ２７においては、ステップＳ２５で決定した仮目標設定値の組のうちいずれかの組に含まれる仮目標設定値を目標設定値に特定し、処理をステップＳ２８に進める。１組の仮想設定値のみが仮目標設定値に決定されている場合、その組に含まれる仮想設定値を目標設定値に特定する。一方、複数組の仮想設定値が仮目標設定値に決定されている場合、仮想装置が参照ジョブの処理に要する処理時間が最も短い組に含まれる仮想設定値を目標設定値に特定する。また、処理時間が最も短い組が複数の場合には、複数組の仮想設定値において処理時間が同じである場合には、その複数の組のうち、ハードウェア資源およびソフトウェア資源の使用率が最も低い組に含まれる仮想設定値を目標設定値に特定する。
【０１３４】
ステップＳ２８においては、ステップＳ２７で特定した目標設定値をエラー装置に設定し、処理を終了する。例えば、ＭＦＰ１００がエラー対象である場合、通信部２０５を制御して、目標設定値と項目情報との組をＭＦＰ１００に送信する。ＭＦＰ１００は、項目情報が示す設定項目に目標設定値を設定する。
【０１３５】
以上説明したように第２の実施の形態に係るサーバー２００は、エラー対象であるＭＦＰ１００の動作状態が許容条件から外れる前にＭＦＰ１００が外部から受信した複数のジョブそれぞれを参照ジョブとして取得し、１以上の仮想設定値を仮想装置に設定した状態で、取得した参照ジョブを仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合の１以上の仮想設定値を目標設定値として画像形成装置に設定する。これにより、画像形成装置の使用環境に適した設定値を設定することができる。
【０１３６】
例えば、ＭＦＰ１００の使用環境として、ＭＦＰ１００が接続されるネットワーク３の環境がある。ネットワーク３に接続される外部装置は変動し、接続される外部装置がＭＦＰ１００に送信するデータは、その外部装置によって定まる。このため、原因ジョブを送信してきた外部装置は、再度、ＭＦＰ１００が許容条件を満たさなくなるジョブを送信する可能性がある。目標設定値を決定してＭＦＰ１００に設定することにより、次に、外部装置から受信されるジョブを実行する場合に、許容条件を満たした状態にすることができる。
【０１３７】
また、サーバー２００は、１以上の仮想設定値を設定するごとに仮想装置の動作状態が許容条件を満たすか否かを判断し、仮想装置の動作状態が許容条件を満たす１以上の仮想設定値の組が複数の場合、仮想装置が参照ジョブの処理に要する処理時間が最も短い組に含まれる１以上の仮想設定値を目標設定値に特定する。これにより、エラー対象であるＭＦＰ１００をより良好に動作させることができる。
【０１３８】
また、サーバー２００は、仮想バッファサイズを仮想装置に設定してシミュレートを行い、仮想装置の動作状態が許容条件を満たす場合の仮想バッファサイズをＭＦＰ１００のバッファサイズとして設定する。これにより、ＭＦＰ１００のバッファサイズをＭＦＰ１００の使用環境に適した値に調整することができる。
【０１３９】
また、サーバー２００は、エラー対象の装置をシミュレートすることによって目標設定値を特定した場合、特定した目標設定値を、エラー対象の装置に加えて他の装置に設定してもよい。例えば、ＭＦＰ１００がエラー対象である場合に、ＭＦＰ１００をシミュレートすることによって目標設定値を特定し、特定した目標設定値をＭＦＰ１００，１００Ａ，１００Ｂそれぞれに設定してもよい。これにより、ＭＦＰ１００，１００Ａ，１００Ｂそれぞれの動作状態が許容条件から外れることが防止される。また、エラー対象の装置と他の装置とを同様に設定することにより、複数の装置の管理が容易になる。
【０１４０】
＜第３の実施の形態＞
図１６は、第３の実施の形態におけるサーバーが備えるＣＰＵが有する機能の一例を示すブロック図である。図１６を参照して、第３の実施の形態におけるサーバー２００が備えるＣＰＵ２０１が有する機能が図７に示した機能と異なる点は、原因ジョブ特定部２５７が原因ジョブ特定部２５７Ａに変更された点、非受信設定部２５８および通知部２５９が削除された点、判断部２６１Ａ、設定値特定部２６３Ａおよび設定値設定部２６５Ａが追加された点である。
【０１４１】
原因ジョブ特定部２５７Ａは、第１の実施の形態における原因ジョブ特定部２５７と同様に、選択部２５５から入力された処理対象ジョブを、シミュレート部２５１が形成した仮想装置に処理させることにより、１以上の原因ジョブを特定する。原因ジョブ特定部２５７Ａは、特定した原因ジョブを判断部２６１に出力する。
【０１４２】
判断部２６１Ａは、装置情報取得部２５３から装置情報が入力され、原因ジョブ特定部２５７Ａから１以上の原因ジョブが入力される。判断部２６１Ａは、エラー対象のＭＦＰに設定された複数種類の設定値の１以上を変更した１以上の仮想設定値を仮想装置に設定する。ＭＦＰ１００に設定された設定値は、例えばバッファサイズであり、その場合、仮想設定値は仮想バッファサイズである。判断部２６１Ａは、１以上の仮想設定値を設定した仮想装置に原因ジョブを処理させて、仮想装置の動作状態が許容条件を満たすか否かを判断し、仮想装置の動作状態が許容条件を満たす場合の１以上の仮想設定値を仮目標設定値に特定する。本例では、判断部２６１Ａは、１以上の仮想設定値の組の複数を順次仮想装置に設定し、１以上の仮想設定値を設定する毎に、仮想装置の動作状態が許容条件を満たすか否かを判断する。仮想装置の動作状態が許容条件を満たす場合、設定した組に含まれる１以上の仮想設定値を仮目標設定値として設定値特定部２６３Ａに出力する。
【０１４３】
設定値特定部２６３Ａは、判断部２６１Ａから入力された１以上の仮目標設定値を目標設定値に特定し、１以上の目標設定値を設定値設定部２６５に出力する。判断部２６１Ａから仮目標設定値の組が複数入力される場合、設定値特定部２６３Ａは、仮想装置が原因ジョブの処理に要する処理時間が最も短い組の１以上の仮目標設定値を目標設定値に特定する。設定値設定部２６５Ａは、設定値特定部２６３から１以上の目標設定値が入力されることに応じて、エラー対象のＭＦＰに１以上の目標設定値を設定する。
【０１４４】
第３の実施の形態に係るサーバー２００は、エラー対象であるＭＦＰ１００の動作状態が許容条件から外れる前にＭＦＰ１００が外部から受信した複数のジョブそれぞれを参照ジョブとして取得し、取得した参照ジョブのうち、１以上の除外ジョブ以外の参照ジョブを処理対象ジョブとして仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合における除外ジョブを原因ジョブに特定する。さらに、サーバー２００は、１以上の仮想設定値を仮想装置に設定した状態で、特定した原因ジョブを仮想装置に処理させ、仮想装置の動作状態が許容条件を満たす場合の１以上の仮想設定値を目標設定値としてＭＦＰ１００に設定する。これにより、ＭＦＰ１００の動作状態が許容条件から外れる原因のジョブを容易に特定することができ、かつＭＦＰ１００が原因ジョブを適切に処理することができるように、ＭＦＰ１００の使用環境に適した設定値を設定することができる。
【０１４５】
なお、上述した実施の形態においては、仮想実行装置の一例としてサーバー２００を示したが、図１１または図１５に示した仮想実行処理を、サーバー２００に実行させる仮想実行方法、また、その仮想実行方法をサーバー２００のＣＰＵ２０１に実行させる仮想実行プログラムとして発明を捉えることができるのは言うまでもない。
【０１４６】
また、上述した実施の形態においては、画像形成装置の一例としてＭＦＰ１００，１００Ａ，１００Ｂを説明したが、ＭＦＰ１００，１００Ａ，１００Ｂの他、プリンターまたはファクシミリ装置であってもよい。
【０１４７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４８】
１  情報処理システム、３  ネットワーク、５１  動作状態取得部、５３  エラー検出部、５５  装置情報送信部、５７  参照ジョブ特定部、５９  参照ジョブ送信部、１００，１００Ａ，１００Ｂ  ＭＦＰ、２００  サーバー、１１１  メイン基板、１１５  操作パネル、１１５Ａ  操作パネル、１１８  表示部、１１９  操作部、１２０，１２０Ａ  自動原稿搬送装置、１３０，１３０Ａ  原稿読取部、１４０，１４０Ａ  画像形成部、１５０，１５０Ａ  給紙部、１６０，１６０Ａ  通信Ｉ／Ｆ部、１７０，１７０Ａ  ファクシミリ部、１７１  ＣＰＵ、１７３  ＲＯＭ、１７５  ＲＡＭ、１７７  画像制御ＡＳＩＣ、１７９  バス、１８０，１８０Ａ  外部記憶装置、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ＨＤＤ、２０５  通信部、２０６  表示部、２０７  操作部、２０９  外部記憶装置、２５１  シミュレート部、２５３  装置情報取得部、２５４  参照ジョブ取得部、２５５  選択部、２５７，２５７Ａ  原因ジョブ特定部、２５８  非受信設定部、２５９  通知部、２６１，２６１Ａ  判断部、２６３，２６３Ａ  設定値特定部、２６５，２６５Ａ  設定値設定部、３００  ＣＰＵ周辺シミュレータ、３０１  仮想ＣＰＵ、３０３  仮想メモリ、３０５  周辺モデル、３０７  同期設定モデル、３０９  割込制御部、３１１  バス、３２０  ＨＷシミュレータ、３２１  ＰＣＩ−ＥｘｐｒｅｓｓＢｕｓモデル、３２３  画像制御ＡＳＩＣモデル、３２５  ハードウェア資源モデル。
【図１】
2019057200.tif 000003
【図２】
2019057200.tif 000004
【図３】
2019057200.tif 000005
【図４】
2019057200.tif 000006
【図５】
2019057200.tif 000007
【図６】
2019057200.tif 000008
【図７】
2019057200.tif 000009
【図８】
2019057200.tif 000010
【図９】
2019057200.tif 000011
【図１０】
2019057200.tif 000012
【図１１】
2019057200.tif 000013
【図１２】
2019057200.tif 000014
【図１３】
2019057200.tif 000015
【図１４】
2019057200.tif 000016
【図１５】
2019057200.tif 000017
【図１６】
2019057200.tif 000018