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