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