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