(57)【特許請求の範囲】
【請求項１】
パケットを処理するパケット処理手段を有する情報処理装置であって、
前記パケット処理手段が参照する前記情報処理装置に係る装置情報を他の情報処理装置に送信する送信手段と、
省電力状態に移行する際に、前記パケット処理手段を前記他の情報処理装置に転送する転送手段と、
を有することを特徴とする情報処理装置。
【請求項２】
パケットを処理するパケット処理手段を有する情報処理装置であって、
省電力状態に移行する際に、前記パケット処理手段を、前記パケット処理手段が参照する前記情報処理装置に係る装置情報が記憶されている他の情報処理装置に転送する転送手段を有することを特徴とする情報処理装置。
【請求項３】
パケットを処理するパケット処理手段を有する情報処理装置であって、
前記パケット処理手段の転送先を、前記パケット処理手段が参照する前記情報処理装置に係る装置情報が記憶されている他の情報処理装置に決定する決定手段と、
省電力状態に移行する際に、前記決定手段で決定された前記他の情報処理装置に前記パケット処理手段を転送する転送手段と、
を有することを特徴とする情報処理装置。
【請求項４】
省電力状態に移行する省電力状態移行手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記他の情報処理装置からの復帰要求に応じて、前記省電力状態から通常状態に復帰する復帰手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
他の情報処理装置よりパケットを処理するパケット処理手段を受信する受信手段と、
前記パケット処理手段が参照する前記他の情報処理装置に係る装置情報を前記他の情報処理装置より受信する装置情報受信手段と、
前記受信手段で受信したパケット処理手段を動作させる実行手段と、
前記他の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、
を有し、
前記パケット処理手段は、前記パケットに応じて前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理装置。
【請求項７】
他の情報処理装置に係る装置情報を記憶する記憶手段と、
前記他の情報処理装置よりパケットを処理するパケット処理手段を受信する受信手段と、
前記受信手段で受信したパケット処理手段を動作させる実行手段と、
前記他の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、
を有し、
前記パケット処理手段は、前記パケットに応じて前記記憶手段に記憶されている前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理装置。
【請求項８】
前記他の情報処理装置を省電力状態から通常状態に復帰させる復帰要求を前記他の情報処理装置に送信する送信手段を更に有することを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記他の情報処理装置からの要求に基づいて、前記パケット処理手段における処理を一時停止させ、前記パケット処理手段を前記他の情報処理装置に転送する転送手段を更に有することを特徴とする請求項６乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
第一の情報処理装置と、第二の情報処理装置と、を含む情報処理システムであって、
前記第一の情報処理装置は、
パケットを処理するパケット処理手段が参照する前記第一の情報処理装置に係る装置情報を前記第二の情報処理装置に送信する送信手段と、
省電力状態に移行する際に、前記パケット処理手段を前記第二の情報処理装置に転送する転送手段と、
を有し、
前記第二の情報処理装置は、
前記第一の情報処理装置より前記装置情報を受信する装置情報受信手段と、
前記第一の情報処理装置より前記パケット処理手段を受信する受信手段と、
前記受信手段で受信したパケット処理手段を動作させる実行手段と、
前記第一の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、
を有し、
前記パケット処理手段は、前記パケットに応じて前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理システム。
【請求項１１】
第一の情報処理装置と、第二の情報処理装置と、を含む情報処理システムであって、
前記第一の情報処理装置は、
省電力状態に移行する際に、パケットを処理するパケット処理手段を、前記パケット処理手段が参照する前記第一の情報処理装置に係る装置情報が記憶されている前記第二の情報処理装置に転送する転送手段を有し、
前記第二の情報処理装置は、
前記装置情報を記憶する記憶手段と、
前記第一の情報処理装置より前記パケット処理手段を受信する受信手段と、
前記受信手段で受信したパケット処理手段を動作させる実行手段と、
前記第一の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、
を有し、
前記パケット処理手段は、前記パケットに応じて前記記憶手段に記憶されている前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理システム。
【請求項１２】
第一の情報処理装置と、第二の情報処理装置と、を含む情報処理システムであって、
前記第一の情報処理装置は、
省電力状態に移行する際に、パケットを処理するパケット処理手段の転送先を、前記パケット処理手段が参照する前記第一の情報処理装置に係る装置情報が記憶されている前記第二の情報処理装置に決定する決定手段と、
前記決定手段で決定された前記第二の情報処理装置に前記パケット処理手段を転送する転送手段と、
を有し、
前記第二の情報処理装置は、
前記第一の情報処理装置に係る装置情報を記憶する記憶手段と、
前記第一の情報処理装置より前記パケット処理手段を受信する受信手段と、
前記受信手段で受信した前記パケット処理手段を動作させる実行手段と、
前記第一の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、
を有し、
前記パケット処理手段は、前記パケットに応じて前記記憶手段に記憶されている前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理システム。
【請求項１３】
パケットを処理するパケット処理手段を有する情報処理装置における情報処理方法であって、
前記パケット処理手段が参照する前記情報処理装置に係る装置情報を他の情報処理装置に送信する送信ステップと、
省電力状態に移行する際に、前記パケット処理手段を前記他の情報処理装置に転送する転送ステップと、
を有することを特徴とする情報処理方法。
【請求項１４】
パケットを処理するパケット処理手段を有する情報処理装置における情報処理方法であって、
省電力状態に移行する際に、前記パケット処理手段を、前記パケット処理手段が参照する前記情報処理装置に係る装置情報が記憶されている他の情報処理装置に転送する転送ステップを有することを特徴とする情報処理方法。
【請求項１５】
パケットを処理するパケット処理手段を有する情報処理装置における情報処理方法であって、
前記パケット処理手段の転送先を、前記パケット処理手段が参照する前記情報処理装置に係る装置情報が記憶されている他の情報処理装置に決定する決定ステップと、
省電力状態に移行する際に、前記決定ステップで決定された前記他の情報処理装置に前記パケット処理手段を転送する転送ステップと、
を有することを特徴とする情報処理方法。
【請求項１６】
情報処理装置における情報処理方法であって、
他の情報処理装置よりパケットを処理するパケット処理手段を受信する受信ステップと、
前記パケット処理手段が参照する前記他の情報処理装置に係る装置情報を前記他の情報処理装置より受信する装置情報受信ステップと、
前記受信ステップで受信したパケット処理手段を動作させる実行ステップと、
前記他の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送ステップと、
を有し、
前記パケット処理手段は、前記パケットに応じて前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理方法。
【請求項１７】
情報処理装置における情報処理方法であって、
他の情報処理装置よりパケットを処理するパケット処理手段を受信する受信ステップと、
前記受信ステップで受信したパケット処理手段を動作させる実行ステップと、
前記他の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送ステップと、
を有し、
前記パケット処理手段は、前記パケットに応じて前記他の情報処理装置に係る装置情報を記憶する記憶手段に記憶されている前記装置情報を参照し、前記パケットを処理することを特徴とする情報処理方法。
【請求項１８】
パケットを処理するパケット処理手段を有するコンピュータに、
前記パケット処理手段が参照する前記コンピュータに係る装置情報を他のコンピュータに送信する送信ステップと、
省電力状態に移行する際に、前記パケット処理手段を前記他のコンピュータに転送する転送ステップと、
を実行させることを特徴とするプログラム。
【請求項１９】
パケットを処理するパケット処理手段を有するコンピュータに、
省電力状態に移行する際に、前記パケット処理手段を、前記パケット処理手段が参照する前記コンピュータに係る装置情報が記憶されている他のコンピュータに転送する転送ステップを実行させることを特徴とするプログラム。
【請求項２０】
パケットを処理するパケット処理手段を有するコンピュータに、
前記パケット処理手段の転送先を、前記パケット処理手段が参照する前記コンピュータに係る装置情報が記憶されている他のコンピュータに決定する決定ステップと、
省電力状態に移行する際に、前記決定ステップで決定された前記他のコンピュータに前記パケット処理手段を転送する転送ステップと、
を実行させることを特徴とするプログラム。
【請求項２１】
コンピュータに、
他のコンピュータよりパケットを処理するパケット処理手段を受信する受信ステップと、
前記パケット処理手段が参照する前記他のコンピュータに係る装置情報を前記他のコンピュータより受信する装置情報受信ステップと、
前記受信ステップで受信したパケット処理手段を動作させる実行ステップと、
前記他のコンピュータに対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送ステップと、
を実行させることを特徴とするプログラムであって、
前記パケット処理手段は、前記パケットに応じて前記装置情報を参照し、前記パケットを処理することを特徴とするプログラム。
【請求項２２】
コンピュータに、
他のコンピュータよりパケットを処理するパケット処理手段を受信する受信ステップと、
前記受信ステップで受信したパケット処理手段を動作させる実行ステップと、
前記他のコンピュータに対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送ステップと、
を実行させることを特徴とするプログラムであって、
前記パケット処理手段は、前記パケットに応じて前記他のコンピュータに係る装置情報を記憶する記憶手段に記憶されている前記装置情報を参照し、前記パケットを処理することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
ネットワーク環境の普及に伴い、ネットワークに接続可能なプリンタ装置やＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）が登場し、オフィス環境において、複数のユーザで複数のＭＦＰを共有して使用する環境が一般的になってきた。
また、ネットワークの速度向上により、ネットワークを介してストレージを共有するＮＡＳの技術が確立され、今後組み込み機器においても採用されていくと予想される。
このような環境において、複数のＭＦＰが必要な中〜大規模オフィスにおいては、全てのサービスを有効にするためには全てのＭＦＰをスタンバイ状態にしておく必要がある。
【０００３】
例えば、ＳＮＭＰのＭＩＢ等のプロトコルにより機器情報を取得することが必要であるが、特定のＭＦＰに対するＭＩＢの要求は、そのＭＦＰのネットワーク機能、ＣＰＵ、ストレージのデバイス等を使用してしまう。そのため、省電力中であってもＳＮＭＰパケットを受信した際には、ＭＦＰは、このデバイスを起床させて応答しなければならない。
その他、例えば、ＭＦＰ上で動作するアプリケーションが、外部機器と常に通信を行ない、サービスを提供している場合、深い省電力状態に入ることができないことになる。
【０００４】
これらの問題に対応するために省電力中に他のホストに対して代理サーバ上に代行動作を依頼する記述が特許文献１に開示されている。しかしながら、特許文献１に記載の技術では、代理サーバ側は、受ける依頼に応じたプログラムを事前に用意しておく必要がある。つまり、例えばＭＦＰ上で動作する独自のアプリケーションや、ＭＦＰだけが知っている特別な情報を、代理サーバ側のファームを変更せずに代理実行することは不可能であるため、代理処理可能な処理には限界がある。
【０００５】
一方、ＶＭｗａｒｅ、ｘｅｎ等に代表される仮想マシン技術がサーバ台数の削減目的等で、一般的になってきた。
仮想マシン技術ではＯＳを含め機器上で動作する全プログラムを一時停止し、停止した状態（ＣＰＵレジスタ上のデータ、ＲＡＭ上のデータ）を仮想マシンの状態ファイルとして保存し、停止した状態から再開する事を可能とするレジューム機能が提供されている。
【０００６】
複数のＭＦＰがこの仮想化マシン技術のプラットフォームを有する場合、特定のＭＦＰで動作するプログラムは仮想マシン技術を用いる事で、プログラムの一部若しくは全てのプログラムを他のＭＦＰに転送してそのまま実行することができる。
【０００７】
これらの技術を用いることで、低負荷時のＭＦＰの機能を特定のＭＦＰに集中させることで、多くの機械を深い省電力状態へと移行することが可能となり、システムとして高い省電力を実現することができる。
【０００８】
【特許文献１】特開２００６−２３５８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、仮に仮想マシン技術を用いて特定のＭＦＰのプログラムを他のＭＦＰで動作させた場合、プログラムやメモリ資源は転送できてもそのプログラムが参照する多くのデータは、ハードディスク等のストレージ上に記録されている。そのため、プリグラムはストレージ装置へのアクセスができず、特定のＭＦＰのプログラムは通常通り動作することができない問題があった。
【００１０】
本発明はこのような問題点に鑑みなされたもので、情報処理装置を省電力状態に移行させると共に、前記情報処理装置が提供するサービスを代理実行可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
そこで、本発明は、パケットを処理するパケット処理手段を有する情報処理装置であって、前記パケット処理手段が参照する前記情報処理装置に係る装置情報を他の情報処理装置に送信する送信手段と、省電力状態に移行する際に、前記パケット処理手段を前記他の情報処理装置に転送する転送手段と、を有することを特徴とする。
【００１２】
また、本発明は、パケットを処理するパケット処理手段を有する情報処理装置であって、省電力状態に移行する際に、前記パケット処理手段を、前記パケット処理手段が参照する前記情報処理装置に係る装置情報が記憶されている他の情報処理装置に転送する転送手段を有することを特徴とする。
【００１３】
また、本発明は、パケットを処理するパケット処理手段を有する情報処理装置であって、前記パケット処理手段の転送先を、前記パケット処理手段が参照する前記情報処理装置に係る装置情報が記憶されている他の情報処理装置に決定する決定手段と、省電力状態に移行する際に、前記決定手段で決定された前記他の情報処理装置に前記パケット処理手段を転送する転送手段と、を有することを特徴とする。
【００１４】
また、本発明は、他の情報処理装置よりパケットを処理するパケット処理手段を受信する受信手段と、前記パケット処理手段が参照する前記他の情報処理装置に係る装置情報を前記他の情報処理装置より受信する装置情報受信手段と、前記受信手段で受信したパケット処理手段を動作させる実行手段と、前記他の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、を有し、前記パケット処理手段は、前記パケットに応じて前記装置情報を参照し、前記パケットを処理することト処理手段は、前記パケットに応じて前記装置情報を参照し、前記パケットを処理することを特徴とする。
【００１５】
また、本発明は、他の情報処理装置に係る装置情報を記憶する記憶手段と、前記他の情報処理装置よりパケットを処理するパケット処理手段を受信する受信手段と、前記受信手段で受信したパケット処理手段を動作させる実行手段と、前記他の情報処理装置に対するパケットを受信した場合、前記パケット処理手段に転送するパケット転送手段と、を有し、前記パケット処理手段は、前記パケットに応じて前記記憶手段に記憶されている前記装置情報を参照し、前記パケットを処理することを特徴とする。
【００１６】
また、本発明は、情報処理システム、情報処理方法及びプログラムとしてもよい。
【発明の効果】
【００１７】
本発明によれば、情報処理装置を省電力状態に移行させると共に、前記情報処理装置が提供するサービスを代理実行可能とすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態について図面に基づいて説明する。
【００１９】
＜実施形態１＞
図１は、電子部品としての制御装置が搭載された情報処理装置の一例である画像入出力装置の機能構成及び画像入力装置を含むシステム構成の一例を示す図である。
画像入出力装置１は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４００にてホストコンピュータ（本実施形態では第一、第二のホストコンピュータ３、４）に接続されている。
【００２０】
画像入出力装置１は、画像データの読取処理を行うリーダ部２と、画像データの出力処理を行うプリンタ部６と、画像データの入出力操作を入力する及び画像データや各種機能の表示等を行う液晶パネルを備えた操作部７を備える。また、画像入出力装置１は、制御プログラムや画像データ等が予め書き込まれたハードディスク８を有する。
また、画像入出力装置１は、これら各構成要素に接続されて、各構成要素を制御する単一の電子部品からなる制御装置１１０を有する。
【００２１】
リーダ部２は、原稿用紙を搬送する原稿給紙ユニット１０と、原稿画像を光学的に読み取って電気信号としての画像データに変換するスキャナユニット１１と、を有する。
プリンタ部６は、記録用紙を収容する複数段の給紙カセットを備えた給紙ユニット１２と、画像データを記録用紙に転写、定着するマーキングユニット１３と、を有する。また、プリンタ部６は、印字された記録用紙にソート処理やステイプル処理を施して、外部に排出する排紙ユニット１４を有する。
【００２２】
図２は、リーダ部２及びプリンタ部６の内部構造の一例を示す図である。なお、図２の例では、リーダ部２はプリンタ部６に載置されている。
リーダ部２では、原稿給紙ユニット１０に積層された原稿用紙がその積層順に従って、先頭から順次１枚ずつプラテンガラス１５上に給送される。
スキャナユニット１１で所定の読取動作が終了した後、読み取られた原稿用紙はプラテンガラス１５上から原稿給紙ユニット１０に排出される。
【００２３】
また、スキャナユニット１１では、原稿用紙がプラテンガラス１５上に搬送されてくるとランプ１６が点灯し、次いで光学ユニット１７の移動を開始させ、読み取り位置で固定する。光学ユニット１７は、搬送される原稿用紙を下方から照射し、走査する。そして、原稿用紙からの反射光は、複数のミラー１８、１９、２０及びレンズ２１を介してＣＣＤイメージセンサー（以下、単にＣＣＤという）２２へと導かれ、走査された原稿画像はＣＣＤ２２によって読み取られる。そして、ＣＣＤ２２で読み取られた画像データは、所定の処理が施された後、制御装置１１０（図２では図示省略）に転送される。
【００２４】
或いは、原稿プラテン上に載置された原稿を、同様にランプ１６を点灯し、次いで光学ユニット１７の移動を開始させ、原稿用紙を下方から照射し、走査することで、走査された原稿画像をＣＣＤ２２によって読み取ることができる。
以上の手順で送出されたリーダからの画像データは、コネクタを介して制御装置１１０に送出される。
次いで、プリンタ部６では、制御装置１１０から出力された画像データに対応するレーザ光が、レーザドライバ２３により駆動されるレーザ発光部２４から発光される。
【００２５】
マーキングユニット１３の感光ドラム２５にはレーザ光に応じた静電潜像が形成され、現像器２６により静電潜像の部分に現像剤が付着する。
一方、レーザ光の照射開始と同期したタイミングで、給紙ユニット１２（給紙カセット１２ａ、１２ｂ）から記録用紙が給紙されて転写部２７に搬送され、感光ドラム２５に付着している現像剤を記録用紙に転写する。画像データが転写された記録用紙は定着部２８に搬送され、定着部２８における加熱・加圧処理により画像データが記録紙に定着される。
そして、画像データを記録用紙に片面記録する場合は、定着部２８を通過した記録用紙が排出ローラ２９によってそのまま排紙ユニット１４に排出される。
【００２６】
排紙ユニット１４は排出された記録用紙を束ねて記録用紙の仕分けを行い、また、仕分けされた記録用紙のステイプル処理を行う。
また、画像データを記録用紙に両面記録する場合は、排出ローラ２９まで記録用紙を搬送した後、排出ローラ２９の回転方向を逆転させる。
その後、フラッパ３０によって再給紙搬送路３１へと導かれ、再給紙搬送路３１に導かれた記録用紙は上述と同様にして転写部２７に搬送される。
【００２７】
制御装置１１０は、上述したように単一の電子部品で構成される。
画像入出力装置１は、リーダ部２で読み取った画像データをコードに変換し、ＬＡＮ４００を介して第一及び第二のホストコンピュータ３、４に送信するスキャナ機能を有する。
更に、画像入出力装置１は、ホストコンピュータ３、４からＬＡＮ４００を介して受信したコードデータを画像データに変換し、プリンタ部６に出力するプリンタ機能、その他の機能ブロックを有している。
【００２８】
図３は、制御装置１１０の一例を示す図である。
メインコントローラ３２は、ＣＰＵ３３とバスコントローラ３４と後述する各種コントローラ回路を含む機能ブロックとを内蔵する。
更に、メインコントローラ３２は、ＲＯＭＩ／Ｆ３５を介してＲＯＭ３６と接続され、ＤＲＡＭＩ／Ｆ３７を介してＤＲＡＭ３８と接続される。
【００２９】
更に、メインコントローラ３２は、コーデックＩ／Ｆ３９を介してコーデック（Ｃｏｄｅｃ）４０と接続され、また、ネットワークＩ／Ｆ４１を介してネットワークコントローラ（ＮｅｔｗｏｒｋＣｏｎｔｒｏｌｌｅｒ）４２と接続されている。
ＲＯＭ３６は、メインコントローラ３２のＣＰＵ３３で実行される各種制御プログラムや演算データが確認されている。ＤＲＡＭ３８は、ＣＰＵ３３が動作するための作業領域や画像データを蓄積するための領域として使用される。コーデック４０は、ＤＲＡＭ３８に蓄積されたラスターイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧ等の周知の圧縮方式で圧縮し、また圧縮されたデータをラスターイメージに伸長する。また、コーデック４０にはＳＲＡＭ４３が接続されており、ＳＲＡＭ４３は、コーデック４０の一時的な作業領域として使用される。
【００３０】
ネットワークコントローラ４２は、ネットワーク４４を介してＬＡＮ４００との間で所定の制御動作を行う。
また、メインコントローラ３２は、スキャナバス４５を介してスキャナＩ／Ｆ４６に接続され、プリンタバス４７を介してプリンタＩ／Ｆ４８に接続される。
更に、メインコントローラ３２は、ＰＣＩバス等の汎用高速バス４９を介して拡張ボードを接続するための拡張コネクタ５０及び入出力制御部（Ｉ／Ｏ制御部）５１に接続されている。
【００３１】
Ｉ／Ｏ制御部５１は、リーダ部２やプリンタ部６との間で制御コマンドを送受信するための調歩同期式のシリアル通信コントローラ５２が２チャンネル装備されている。
シリアル通信コントローラ５２は、Ｉ／Ｏバス５３を介してスキャナＩ／Ｆ４６及びプリンタＩ／Ｆ４８に接続されている。
スキャナＩ／Ｆ４８は、第一の調歩同期シリアルＩ／Ｆ５４及び第一のビデオＩ／Ｆ５５を介してスキャナコネクタ５６に接続され、更にスキャナコネクタ５６はリーダ部２のスキャナユニット１１に接続されている。
【００３２】
そして、スキャナＩ／Ｆ４６は、スキャナユニット１１から受信した画像データに対し所望の２値化処理や、主走査方向及び／又は副走査方向の変倍処理を行う。
また、スキャナユニット１１から送られてきたビデオ信号に基づいて制御信号を生成し、スキャナバス４５を介してメインコントローラ３２に転送する。
また、プリンタＩ／Ｆ４８は、第２の調歩同期シリアルＩ／Ｆ５７及び第２のビデオＩ／Ｆ５８を介してプリンタコネクタ５９に接続され、更にプリンタコネクタ５９はプリンタ部６のマーキングユニット１３に接続されている。
【００３３】
そして、プリンタＩ／Ｆ４８は、メインコントローラ３２から出力された画像データにスムージング処理を施して、画像データをマーキングユニット１３に出力する。
更にマーキングユニット１３から送られたビデオ信号に基づいて、生成された制御信号をプリンタバス４７に出力する。
そして、ＣＰＵ３３は、ＲＯＭ３６からＲＯＭＩ／Ｆ３５を介して読み込まれた制御プログラムに基づいて動作する。
【００３４】
例えば、ＣＰＵ３３は、第１及び第２のホストコンピュータ３、４から受信したＰＤＬ（ページ記述言語）データを解釈し、ラスターイメージデータに展開処理を行う。
また、バスコントローラ３４は、スキャナＩ／Ｆ４６プリンタＩ／Ｆ４８、その他、拡張コネクタ５０等に接続された外部機器から入出力されるデータ転送を制御するものであり、バス競合時のアービトレーション（調停）やＤＭＡデータ転送の制御を行う。即ち、例えば、上述したＤＲＡＭ３８とコーデック４０との間のデータ転送や、スキャナユニット１１からＤＲＡＭ３８へのデータ転送、ＤＲＡＭ３８からマーキングユニット１３へのデータ転送等は、バスコントローラ３４によって制御され、ＤＭＡ転送される。
【００３５】
また、Ｉ／Ｏ制御部５１は、ＬＣＤコントローラ６０及びキー入力Ｉ／Ｆ６１を介してパネルＩ／Ｆ６２に接続されている。パネルＩ／Ｆ６２は、操作部７に接続されている。
また、Ｉ／Ｏ制御部５１は、不揮発性メモリとしてのＥＥＰＲＯＭ６６に接続されている。
また、Ｉ／Ｏ制御部５１は、Ｅ−ＩＤＥコネクタ６３を介してハードディスク８及び９に接続され、更に、機器内で管理する日付と時刻を更新／保存するリアルタイムクロックモジュール６４に接続されている。
なお、リアルタイムクロックモジュール６４はバックアップ用電池６５に接続されてバックアップ用電池６５によりバックアップされている。
【００３６】
図４は、メインコントローラ３２の一例を示す図である。
バスコントローラ３４は、４×４の６４ビットクロスバススイッチで構成され、６４ビットのプロセッサーバス（Ｐバス）６７を介してＣＰＵ３３に接続される。
また、バスコントローラ３４は、メモリ専用のローカルバス（Ｍバス）６８を介してメモリコントローラ６９ａを備えたメモリコントローラ６９に接続されている。
なお、メモリコントローラ６９はＲＯＭ３６やＤＲＡＭ３８等のメモリ類と接続され、これらのメモリ類の動作を制御する。
【００３７】
更に、バスコントローラ３４は、グラフィックスバス（Ｇバス）７０を介してＧバスアービタ７１及びスキャン・プリンタコントローラ７２と接続される。
また、バスコントローラ３４は、入出力バス（Ｂバス）７３を介して、Ｂバスアービタ７４、Ｇバスアービタ７１、インタラプトコントローラ７５、及び各種機能ブロックと接続されている。
各種機能ブロックは、電力管理ユニット７６、ＵＡＲＴ等のシリアルＩ／Ｆコントローラ７７、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コントローラ７８、ＩＥＥＥ１２８４等のパラレルＩ／Ｆコントローラ７９で構成される。
【００３８】
更に、各種機能ブロックは、ＬＡＮコントローラ８０、汎用入出力コントローラ８１、Ｂバス７３と外部バスであるＰＣＩバスとの間でＩ／Ｆ動作を司るＰＣＩバスＩ／Ｆ８２、及びスキャナ・プリンタコントローラ７２で構成される。
Ｂバスアービタ７４は、Ｂバス７３を協調制御するアービトレーションであり、Ｂバス７３のバス使用要求を受け付け、調停の後、使用許可が選択された一つのマスタに与えられ、これにより同時に２つ以上のマスタがバスアクセスを行うのを禁止している。なお、アービトレーション方式は３段階の優先権を有し、それぞれの優先権に複数のマスタが割り当てられる。
【００３９】
インタラプトコントローラ７５は、上述した各機能ブロック及び制御装置１１０の外部からインタラプトを集積し、ＣＰＵ３３がサポートするコントローラ類７２、７７−８２及びノンマスカブルインタラプト（ＮＭＩ）に再配分する。
電力管理ユニット７６は、機能ブロック毎に電力を管理し、更に１チップで構成されている電子部品として制御装置１１０の消費電力量の監視を行う。電力管理ユニット７６は、機能ブロック毎に消費電力を管理し、各機能ブロックの消費電力量はパワーマネージメントレベルとして電力管理ユニット７６に集積される。そして、電力管理ユニット７６では各機能ブロックの消費電力量を合計し、消費電力量が限界消費電力を超えないように各機能ブロックの消費電力量を一括して、監視する。
【００４０】
Ｇバスアービタ７１は、中央アービトレーション方式によりＧバス７０を協調制御しており、各バスマスタに対して専用の要求信号と許可信号とを有する。
バスマスタへの優先権の付与方式として、全てのバスマスタを同じ優先権として、公平にバス権を付与する公平アービトレーション状態を指定できる。又は、何れか一つのバスマスタに対して優先的にバスを使用させる優先アービトレーション状態を指定することができる。
【００４１】
上述のような構成の画像入出力装置上で動作する仮想マシンのソフト構成について以下に示す。
図５は、仮想マシンを実現するための構成を説明するための図である。
仮想マシン１０６は、実マシン１００上で動作する１つのプログラムとして実現され、実マシン１００上では他の仮想マシン１１３や仮想マシン動作環境１０２と同時実行される構成を取る。
【００４２】
仮想マシン１０６上で動作するソフトも、実マシン１００上のソフトと同様にＣＰＵ、ＲＡＭ、ディスク等のデバイスと相互作用を行いながら処理を実現する。
このとき、仮想マシン１０６上のソフトから見えるデバイスは実マシンのデバイスではなく、仮想デバイスとなる。
仮想デバイスは全て、仮想マシン１０６上のソフトモジュールとして実現され、実デバイスをエミュレーションしている。
【００４３】
例えば仮想ＲＡＭ１０７は、仮想マシン１０６のプロセスのワークメモリ上に領域を割り当て、実ＲＡＭと同じレイアウトとＩ／Ｆとで値を保持することで、仮想マシン１０６上のソフトに実ＲＡＭがそこにあるように見せかける。
例えば仮想ＣＰＵ１０８は、仮想マシン１０６内のモジュールとして実ＣＰＵと同じ振る舞いを実現し、ワークメモリ上に割り当てた領域に実ＣＰＵと同じレジスタセットを保持する。このことで、仮想ＣＰＵ１０８は、仮想マシン１０６上のソフトに実ＣＰＵがそこにあるように見せかける。
【００４４】
例えば、仮想ディスク１１４は、実ディスクのビットパターンを保持する１つのファイルとして実現され、ファイルの実体は実マシン１００上の実ディスク１０５に保持され、更に仮想マシン１０６が実ディスクと同じＩ／Ｆでファイルの内容を見せる。このことで、仮想ディスク１１４は、仮想マシン１０６上のソフトに実ディスクがそこにあるように見せかける。
【００４５】
通常時は上記の構成で動作している事を踏まえて一時停止時の動作を以下に示す。
仮想マシン動作環境１０２から仮想マシン１０６に一時停止が指示されると、仮想マシン１０６は、指示を受け取ったタイミングで仮想ＣＰＵ１０８の動作を止め、仮想レジスタ１０９の内容を実マシン１００上のファイルとして実ディスク１０５に書き出す。
次に仮想マシン１０６は、仮想ＲＡＭ１０７上のビットパターンを実マシン１００上のファイルとして実ディスク１０５に書き出す。
その後、仮想マシン１０６のプロセスを終了して、実ＲＡＭ１０１上からいなくなる。
【００４６】
一時停止後に仮想マシン１０６を再開する時の動作を示す。
仮想マシン動作環境１０２から仮想マシン１０６の再開を指示されると、仮想マシン１０６のプロセスが起動する。
このとき、まだ仮想ＣＰＵ１０８のモジュールは動作をしていない。
次に仮想マシン１０６は、実ディスク１０５上のファイルから前回終了時の仮想レジスタ１０９の値を読み込み仮想ＣＰＵ１０８にセットする。
【００４７】
次に仮想マシン１０６は、実ディスク１０５上のファイルから前回終了時の仮想ＲＡＭ１０７の値を読み込み仮想ＲＡＭ１０７にセットする。
次に仮想マシン１０６は、前回終了時の状態で仮想ＣＰＵ１０８のモジュールの動作を開始させる。
以上の動作を行うことで、仮想マシン１０６上で様々なソフトが動作中であっても、ＣＰＵを含めその瞬間の状態を保持したまま動作を中断し、任意のタイミングで動作を再開することができる。
【００４８】
上述のような構成の画像入出力装置と仮想マシンの構成を例に挙げ、本実施形態の処理を説明する。
本実施形態において、省電力状態・ＯＦＦ状態に入り、代理処理を依頼する第一の情報処理装置の一例であるＭＦＰをＭＦＰ−Ａとする。また、代理処理を受け、代理処理を行なう第二の情報処理装置の一例であるＭＦＰをＭＦＰ−Ｂとする。
第三のネットワークデバイスであり、ＭＦＰ−Ａに対して処理依頼を行なうデバイスをＰＣとする。
多くのＭＦＰもＰＣと同じ機能を持っているため、ＰＣ同士、ＭＦＰ同士でも本実施形態を適用することが可能であるが、説明の都合上、上記構成を採用する。
【００４９】
本実施形態はネットワークを介して他の機器のストレージ装置にアクセスを行なう。
この技術は一般的に有名なものでは（ＮＦＳ）ＮｅｔｗｏｒｋＦｉｌｅＳｙｓｔｅｍがあり、特定の論理パーティションをネットワーク越しにマウントすることが可能であり、あたかもローカルのカーネル上にハードディスクがあるように見せる事が可能である。
Ｗｉｎｄｏｗｓ（登録商標）ではＳＭＢというファイル共有があるが、何れも同様の事が可能であり、本実施形態ではストレージの共有プロトコルを限定するものではない。
【００５０】
ＮＦＳの概念図を図６に示す。図６は、ＮＦＳの概念を示す図である。
６０３は、ＭＦＰ−Ｂに装着されたストレージ装置である。一般的にはハードディスク等である。
６０４は、ＭＦＰ−Ｂが使用する領域である。６０５は、ストレージサービス用に予約されている領域である。この領域は外部からストレージサービス要求が来たときにＭＦＰ−Ｂによって割り当てる。
【００５１】
６０６は、ＭＦＰ−Ａ用に割り当てられている領域である。
６０７は、ネットワークである。ＭＦＰ−Ａは、ストレージサービスの対象となっている論理パーティションに対してアクセスを行なうと、カーネルが自動的にネットワーク６０７を介してＭＦＰ−Ｂに通信を行ない、６０６の領域のデータにアクセスを行なう。
これらはカーネルが自動的に行なうため、ＮＦＳの登録が済んでいれば、ＭＦＰ−ＡとＭＦＰ−Ｂ上の各々のＭＦＰの制御プログラムは意識する事無くアクセスが完了される。
【００５２】
論理パーティションの一例を図７に示す。図７は、論理パーティションの一例を示す図である。
７０１は、ＭＦＰ−Ａ上のパーティション一覧である。
本実施形態では説明の簡略化のために、７０２〜７０５の４つだけのパーティションを使用して説明する。
【００５３】
７０２は、ブートデバイスパーティションである。仮にＭＦＰ−ＡをＲＯＭモデルとすると起動用のプログラムが入っているパーティションである。
ＭＦＰ−Ａがハードディスク等のストレージ装置をもっている場合、ハードディスク上にパーティションを作成してもよい。
ＭＦＰ−Ａは電源ＯＮ時にブートデバイス７０２からプログラムをメモリに展開して実行することで機器を立ち上げる。
【００５４】
７０３は、イメージデバイスである。デジタルカラー複写機等は原稿の読み込みと画像出力が非同期であるため、一時的にページメモリを保持しておくストレージが必要である。ＲＯＭモデルの場合はＲＡＭディスクが考えられ、ハードディスクモデルにおいてはハードディスク内にパーティションを作成する。
７０４は、アプリケーションパーティションである。ＭＦＰ−Ａ上で動作するアプリケーションが使用するパーティションである。
【００５５】
本実施形態においてはこのパーティションはＮＦＰ対象とし、ＭＦＰ−Ｂ上のパーティション一覧の７１１にＮＦＳで接続される。
７０５は、ＭＦＰ−Ａの機器情報である。
これはＭＦＰ−Ａ用の汎用情報を保持しておく。例えば機種名称、ユーザ設定情報、ＪＯＢ履歴情報、ＳＮＭＰの情報等である。これもＮＦＳで７１２に接続される。
各々のパーティションはカーネルが管理する。
【００５６】
プログラムからアクセスする際はファイルシステムを介してアクセスされる。
例えば、ＭＦＰ−Ａのプログラムは、
ｆｄ＝ｏｐｅｎ（"／Ｓｅｔｔｉｎｇ／ｓｅｔｆｉｌｅ"，−，−）；
ｗｒｉｔｅ（ｆｄ，ｓｉｚｅ，ｄａｔａ＿ｐｏｉｔｅｒ）
とすると、７０５の／Ｓｅｔｔｉｎｇパーティション内のｓｅｔｆｉｅに対して書き込むことが可能である。
【００５７】
７０５は、ＮＦＳ経由で７１１のストレージ装置にアクセスが行なわれる。
同様に、
７０６は、ＭＦＰ−Ｂのパーティション一覧である。
７０７は、ＭＦＰ−Ｂの起動用パーティションである。
７０８は、ＭＦＰ−Ｂの一時画像保存領域である。
７０９は、ＭＦＰ−Ｂのアプリケーションが使用する領域である。
ＭＦＰ−Ｂは他のＭＦＰのストレージサービスを使用しないため、ＮＦＳマウントを行なわず自分のローカルストレージにデータの実体を持つ。
【００５８】
７１０は、ＭＦＰ−Ｂ用の機器情報である。
これも同様に実体を持つ。
７０７〜７１０は、図６の６０４と等価である。
７１１〜７１２は、ＭＦＰ−Ａ用に用意された領域で、図６における６０６の領域となる。
７１１は、７０４の実体を格納する領域である。
７１２は、７０５の実体を格納する領域である。
以上、ネットワークのファイル共有の方法について述べた。
【００５９】
本実施形態においては、ＭＦＰ−Ａの２つのパーティションはＭＦＰ−Ｂのストレージサービスを使用していない。
これはＭＦＰ−Ｂが何らかの障害により起動しなくなった場合に、ＭＦＰ−Ａも起動しなくなるのを防止するためである。
スタンドアロンで動作を保証するためにはその必要な情報をローカルデバイス上に持つのは重要なことである。
従って本実施形態においては上述した２つのパーティションをＮＦＳ対象とする。
【００６０】
本実施形態においては、制御装置１１０上に仮想化プラットフォームを適用し、仮想化プラットフォーム上でソフトウェアを動作させる。その結果、制御装置１１０上の仮想マシン上のソフトウェアを、他のＭＦＰに転送して実行する事が可能となる。
この説明を行うにあたり、仮想マシンを送信するＭＦＰ−Ａ、仮想マシンを受け取るＭＦＰ−Ｂの各々の構成について述べる。
【００６１】
ＭＦＰ−Ａの制御装置１１０上のソフトウェア構成のブロックを、図８を用いて説明する。図８は、ＭＦＰ−Ａの制御装置１１０上のソフトウェア構成の一例を示す図である。
省電力・ＯＦＦ状態時に代理処理を依頼するＭＦＰの構成をこのように統一化することによって、全てのＭＦＰは同じシーケンスにより省電力中の代理処理を依頼することが可能となる。
【００６２】
８０１は、ＭＦＰ−Ａの識別である。この識別より上方向にスタックされているものは、ＭＦＰ−Ａ上にあることを示す。
８０２は、仮想マシン動作環境である。
８０３は、ＭＦＰ−Ａと外部へのインターフェイスであり、代表的なＬＡＮを用いている。
８１０は、仮想ディスクである。上述したＮＦＳ経由で仮想化されているパーティションがこれに該当する。
【００６３】
８１１は、ＮＦＳ上の／Ｓｅｔｔｉｎｇパーティションであり、図７の７０５であり、実体をＭＦＰ−Ｂの７１２に持つ。
８１２は、ＮＦＳ上の／Ａｐｐｒｉｃａｔｉｏｎパーティションであり、図７の７０４であり、実体をＭＦＰ−Ｂの７１１に持つ。
８４０は、実ディスクである。上述した仮想化されていないローカルのストレージ・メモリ上に構築されるストレージがこれにあたる。
【００６４】
８４１は、ＬｏｃａｌＤｉｓｋ上の／ＢｏｏｔＤｅｖｉｃｅパーティションである。図７の７０２であり、実体はＭＦＰ−Ａ内部にもつ。
８４２は、ＬｏｃａｌＤｉｓｋ上の／ＩｍａｇｅＤａｔａパーティションである。図７の７０３であり、実体はＭＦＰ−Ａ内部にもつ。
８２０は、仮想マシン上で動作するＭＦＰ−Ａのアプリケーションである。
８２１は、仮想マシン上で動作するカーネルである。
【００６５】
８２２は、カーネル８２１上で動作するＭＦＰ−Ａの機器制御プログラムである。本実施形態においては、この機器制御プログラム８２２はＭＦＰ−Ａ自身の機器制御プログラムを示す。機器制御プログラム８２２は操作部を制御したり、ＪＯＢ制御を実行したりする事が可能なプログラムである。機器制御プログラム８２２は必ずしも仮想マシン動作環境８０２上で動作させる必要は無いが、乗せて動作させる事も可能である。
８２３は、ＪＡＶＡ（登録商標）アプリケーションプラットフォームである。これはＭＦＰ−Ａに対して購入後プラグインできるアプリケーションを動作させるプラットフォームである。ＪＡＶＡアプリケーションプラットフォーム８２３は、例えばＪＡＶＡ−ＶｉｒｔｕａｌＭａｃｈｉｎ等を乗せることにより、そのプラットフォーム上で動作するＪＡＶＡアプリケーション８２４を動作させることが可能となる。
【００６６】
８３０は、機器制御プログラム８２２が／Ｓｅｔｔｉｎｇパーティション８１１に対してアクセスを行う事を示す。
８３１は、ＪＡＶＡアプリケーション８２４が／Ａｐｐｒｉｃａｔｉｏｎパーティション８１２にアクセスを行う事を示す。
８３２は、機器制御プログラム８２２が／Ｉｍａｇｅパーティション８４２に対してアクセスを行う事を示す。
【００６７】
ＭＦＰ−Ｂの制御装置１１０上のソフトウェア構成のブロック図を、図９を用いて説明する。図９は、ＭＦＰ−Ｂの制御装置１１０上のソフトウェア構成の一例を示す図である。
ＭＦＰ−Ｂも仮想化のプラットフォームを持つため、ＭＦＰ−Ａと同じような構成を持つ。
従って、９０１に示す領域については図８と同じ構成であるため説明を省く。
【００６８】
９１１は、ＭＦＰ−Ｂの識別である。この識別より上方向にスタックされているものは、ＭＦＰ−Ｂ上にあることを示す。
９１２は、ＭＦＰ−Ｂと外部へのインターフェイスであり、代表的なＬＡＮを用いている。
９０２は、実ディスクである。上述した仮想化されていないローカルのストレージ・メモリ上に構築されるストレージがこれにあたる。
【００６９】
９０３は、ＬｏｃａｌＤｉｓｋ上の／ＢｏｏｔＤｅｖｉｃｅパーティションである。図７の７０７であり、実体はＭＦＰ−Ｂの内部にもつ。
９０４は、ＬｏｃａｌＤｉｓｋ上の／ＩｍａｇｅＤａｔａパーティションである。図７の７０８であり、実体はＭＦＰ−Ｂの内部にもつ。
９０５は、ＬｏｃａｌＤｉｓｋ上の／Ｓｅｔｔｉｎｇパーティションである。図７の７１０であり、実体はＭＦＰ−Ｂの内部にもち、ＭＦＰ−Ｂの制御アプリケーションが使用する。
【００７０】
９０６は、ＬｏｃａｌＤｉｓｋ上の／Ａｐｐｒｉｃａｔｉｏｎパーティションである。図７の７０９であり、実体はＭＦＰ−Ｂの内部にもち、ＭＦＰ−ＢのＪＡＶＡアプリケーションが使用する。
９０７は、図６における６０６であり、ＭＦＰ−Ｂのストレージサービス上に作成したＭＦＰ−Ａ用の記憶領域である。ＭＦＰ−ＢのＬｏｃａｌＤｉｓｋ上に作成される。
【００７１】
９０８は、ＭＦＰ−Ａ用の／Ｓｅｔｔｉｎｇパーティションである。図８の８１１からＮＦＳ経由でアクセスされる。
９０９は、ＭＦＰ−Ａ用の／Ａｐｐｒｉｃａｔｉｏｎパーティションである。図８の８１２からＮＦＳ経由でアクセスされる。
９１０は、ゲスト用仮想マシン動作環境である。これは他のＭＦＰの仮想マシンを乗せるための環境である。９１３の仮想マシン動作環境と、８０２の仮想マシン動作環境とも同じと考えてよい。
【００７２】
図８で説明したＭＦＰ−Ａは８１１、８１２のパーティションをＭＦＰ−Ｂに接続していた。この接続のための処理を説明する。
本実施形態では、省電力状態時に代理で処理を行う。その時の代理とするマシン（ＭＦＰ−Ｂ）を設定し、代理マシンからストレージリソースをもらうための処理が必要となる。つまり、ＭＦＰ−Ａの８１１と８１２とをローカルディスク上の８４０から仮想ディスク移すための処理である。これを本実施形態ではストレージサービスの適用と呼ぶ。
【００７３】
図１０は、ストレージサービスの適用を説明するための図である。なお、図１０のシーケンスは、ＭＦＰ−Ａにてストレージサービスを使用するイベントを発行した場合のシーケンスである。
ＭＦＰ−Ａは、シーケンスＳＱ１００３（及びシーケンスＳＱ１００４）において、ストレージサービスの検索パケットを出す。例えばブロードキャスト等で検索パケットを出す。シーケンスＳＱ１００３の要求はＭＦＰ−Ｂに伝わる。シーケンスＳＱ１００４の要求は他のＭＦＰに通知される。なお、図１０では、説明の簡略化のため、ＭＦＰ−Ａは、シーケンスＳＱ１００３及びシーケンスＳＱ１００４において検索パケットを送信するように説明を行っているが、実際は、同時に検索パケットを送信する。
ＭＦＰ−Ｂは、シーケンスＳＱ１００５において、ストレージサービスを有していることをＭＦＰ−Ａに通知する。このとき、ＭＦＰ−ＢのＩＰアドレス、ストレージサービスの空き容量等の等の情報がＭＦＰ−Ａに通知される。
【００７４】
シーケンスＳＱ１００６において、ＭＦＰ−Ａ及びＭＦＰ−Ｂは、暗号認証を行う。ネットワークを介してデータをやり取りする場合、セキュリティを確保するために暗号化を行うことが好ましい。有名なものではＮｅｔｗｏｒｋレイヤで暗号化を行うＩｐＳｅｃ等があるが、普通に鍵交換を行い、暗号状態を確立できればよい。
ＭＦＰ−Ａは、シーケンスＳＱ１００７において、ＭＦＰ−Ａの／Ｓｅｔｔｉｎｇパーティションの作成依頼を行う。
ＭＦＰ−Ｂは、シーケンスＳＱ１００８において、ＭＦＰ−Ａに、正常終了した旨のＡＣＫを返す。
【００７５】
ＭＦＰ−Ａは、シーケンスＳＱ１００９において、ＭＦＰ−Ａの／Ａｐｐｒｉｃａｔｉｏｎパーティションの作成依頼を行う。ＭＦＰ−Ｂは、ＭＦＰ−Ａに、正常終了した旨のＡＣＫを返す。
これまでの処理で、図９における記憶領域９０７以下の９０８、９０９の領域が確保される。
ＭＦＰ−Ａは、シーケンスＳＱ１０１０において、ＭＦＰ−Ａの／Ｓｅｔｔｉｎｇパーティションの全データを領域９０８に対してコピーを行っている。ファイルのコピーはこの時点では独自プロトコルで行われる。なお、ＭＦＰ−Ａは、異なるボリュームでマウントしてＮＦＳ経由でコピーしてもよい。
【００７６】
ＭＦＰ−Ａは、シーケンスＳＱ１０１１において、ＭＦＰ−Ａの／Ａｐｐｒｉｃａｔｉｏｎパーティションの全データを領域９０９に対してコピーを行っている。ファイルのコピーはこの時点では独自プロトコルで行われる。なお、ＭＦＰ−Ａは、異なるボリュームでマウントしてＮＦＳ経由でコピーしてもよい。
この時点で、ＭＦＰ−Ａの／Ｓｅｔｔｉｎｇ、／Ａｐｐｒｉｃａｔｉｏｎパーティションの複製が、ＭＦＰ−Ｂの記憶領域９０７上に複製されたことになる。
ＭＦＰ−Ａは、シーケンスＳＱ１０１２において、非図示の図８の８４０内に存在した／Ｓｅｔｔｉｎｇパーティションをアンマウントしている。
【００７７】
ＭＦＰ−Ａは、シーケンスＳＱ１０１３において、非図示の図８の８４０内に存在した／Ａｐｐｒｉｃａｔｉｏｎパーティションをアンマウントしている。
ＭＦＰ−Ａは、シーケンスＳＱ１０１４において、図８の８１０上の／Ｓｅｔｔｉｎｇパーティション８１１をＮＦＳマウントしている。
ＭＦＰ−Ａは、シーケンスＳＱ１０１５において、図８の８１０上の／Ａｐｐｒｉｃａｔｉｏｎパーティション８１２をＮＦＳマウントしている。
以上の作業により、ＭＦＰ−Ａ上でローカルに使用していた／Ｓｅｔｔｉｎｇ及び／ＡｐｐｒｉｃａｔｉｏｎのパーティションをＭＦＰ−Ｂ上に移すことができる。よって、それ以降のアクセスは全てＭＦＰ−Ｂのローカルハードディスクをネットワーク経由で使用するような構成を取ることができる。
【００７８】
今回は置き換える実施形態で説明を行った。これはＭＦＰ−Ａが小規模ＭＦＰを想定しており、ＨＤＤ等の大容量ストレージ装置をもたない場合でも可能な構成を示したからである。ローカルに大容量ストレージ装置をもたない場合でも、ストレージサービスを利用して、ハードディスクを取り付けたかのような動作を行うことが可能とするためである。
例えばＭＦＰ−Ａ上にローカルハードディスクが十分にある場合、／Ｓｅｔｔｉｎｇ、／Ａｐｐｒｉｃａｔｉｏｎのパーティションはそのまま残しておき、ＭＦＰ−Ｂ上の対応するパーティションとの間は、ソフトミラーリングを行うこともできる。この場合、ＭＦＰ−ＡはＭＦＰ−Ｂの従属でありつつ、ＭＦＰ−Ｂが起動しなくなった場合でも自機内のキャッシュを使用して動作することが可能であり、より堅牢な構成をとることができる。
【００７９】
ＭＦＰ−Ａのストレージサービスの適用方法については先に述べた。
次にＭＦＰ−Ａの起動時に自動的に接続する説明を簡単に行う。
図１１は、ＭＦＰ−Ａの起動時の処理の一例を示すフローチャートである。
ＭＦＰ−Ａは、ＰｏｗｅｒＯｎされたとき、ステップＳ１１０１の処理を開始する。
【００８０】
ステップＳ１１０２において、ＭＦＰ−Ａは、ストレージサービスを利用しているか否かの判断を行う。ＭＦＰ−Ａは、ストレージサービスを利用していない場合、ステップＳ１１１０及びステップＳ１１１０において、各々のパーティションをローカルストレージ上からマウントする。
ＭＦＰ−Ａは、ストレージサービスを使用している場合、ステップＳ１１０４において、サービスを行っているホスト設定にアクセスを行う。そして、ステップＳ１１０５において、ＭＦＰ−Ａは、ストレージサービスを依頼しているホストを決定する。
【００８１】
ステップＳ１１０６とステップＳ１１０７とにおいて、ＭＦＰ−Ａは、２つのパーティションのＮＦＳマウント要求をＭＦＰ−Ｂに送信する。
ステップＳ１１１３において、ＭＦＰ−Ａは、マウントが正常に終了したか否かの情報をＭＦＰ−Ｂより取得し、正常に終了しなかった場合、ステップＳ１１１０に進み、正常に終了した場合、図１１に示す処理を終了する。
以上のように、一度設定したストレージサービスは電源をＯＦＦ／ＯＮしても再度接続されて、ローカルストレージ装置のように使用することができる。
【００８２】
ＭＦＰ−Ａは外部ＰＣと連携を行うが、そのＰＣの簡単な構成を図１２に示す。図１２は、ＰＣの構成の一例を示す図である。
１２０１は、ＰＣのプラットフォームである。これより上部にスタックしてあるものはそのプラットフォーム上で動作するという概念を示す。
１２０２は、ＭＦＰと情報のやりとりを行うためのネットワークである。
１２０３はプラットフォーム１２０１上で動作するＯＳである。
【００８３】
１２０４は、ＯＳ１２０３上で動作するアプリケーションＡである。アプリケーションＡ１２０４は、一定時間置きにＭＦＰ−ＡのＳＮＭＰをポーリングし、最新の機器情報を画面に表示する。
ＰＣは、ネットワーク１２０２からパケットを送信し、ネットワーク８００３からＭＦＰ−Ａが受信する。例えば、パケットソケット通信を行うことで、待ち受けているアプリケーションがパケットを受け取ることができる。本実施形態ではＮＮＭＰパケットの解釈は機器制御プログラム８２２が行い、ストレージ装置から情報を取得して要求元へと情報を返す。このＭＩＢの情報はＲＣＦで定義されているプロトコルで様々なデータを取ることができる。
【００８４】
また、各社で拡張されたＭＩＢも存在するため、ＪＯＢの履歴や給紙段情報等の非常に多くの項目のデータを取ることができる。
１２０５は、ＯＳ上で動作するアプリケーションＢである。アプリケーションＢ１２０５は、ＪＡＶＡアプリケーション８２４用のクライアントソフトであり、サーバソフトであるＪＡＶＡアプリケーション８２４が常にアクセスできなければ障害が発生するものである。上述したのと同様、ネットワークのソケット通信を行えば通常通りにアクセス可能である。
【００８５】
近年のオフィスで活躍するＭＦＰは主に画像出力装置を含むものであり、それが高機能化して様々なサーバ形態をとるようになってきた。ＭＦＰがサーバ的な動作を行うにあたり、サーバがいなくなることにより障害が発生するため、用途に応じては落とせないサーバも存在する。つまり、従来は、アイドル中の軽い処理の問い合わせを行うためだけに、サーバ機能を持つＭＦＰの電源を全て入れておかなければならない状態も存在した。
本実施形態はこのような問題を解決するためにサーバ機能を集約させるＭＦＰを規定し、その機器にサーバ機能を引き継げる仕組みを行うことで、他のＭＦＰが機能を落とすことなく省電力に入れるようにすることができる。これにより、複数のＭＦＰシステム網において、電源を落とすことのできるＭＦＰが多数存在させることができ、かつ、その機能を損なうことが無いシステムを提供することができる。
【００８６】
図１３は、ＭＦＰ−Ａが省電力状態に入るとき及び省電力状態から通常状態へ復帰するときの各装置の処理の一例を示す図である。
１３０１は、図１２で説明したＰＣである。
１３０２は、図８の仮想マシン動作環境８０２上に乗っている部分である（以下、ＭＦＰ−Ａ仮想マシン１３０２という。）。
１３０３は、図８のＭＦＰ−Ａ８０１の非仮想マシン動作環境である（以下、ＭＦＰ−Ａ１３０３という。）。
１３０４は、図９のＭＦＰ−Ｂ９１１の非仮想マシン動作環境である（以下、ＭＦＰ−Ｂ１３０４という）。
【００８７】
１３０５は、図９の仮想マシン動作環境９１３上に乗っている部分である（以下、ＭＦＰ−Ｂゲスト用仮想マシン１３０５という）。
シーケンスＳＱ１３０６において、ＰＣ１３０６のアプリケーションＡ１２０４、アプリケーションＢ１２０５は、ＭＦＰ−Ａ１３０３に対してサービス要求を行う。ＭＦＰ−Ａ１３０３は、ＭＦＰ−Ａ仮想マシン１３０２にパケットを転送する。パケットは、パケット種別に応じてＭＦＰ−Ａ仮想マシン１３０２上で動作している機器制御プログラム８２２、又はＪＡＶＡアプリケーション８２４に配信される。
シーケンスＳＱ１３０７では、機器制御プログラム８２２、又はＪＡＶＡアプリケーション８２４が、パケットに応じた処理を行う。
【００８８】
シーケンスＳＱ１３０８において、機器制御プログラム８２２、又はＪＡＶＡアプリケーション８２４は、サービス要求元に対して、サービス結果を返信する。
ＰＣ１３０１上のアプリケーションはＭＦＰ−Ａ１３０３が省電力状態に入ってパケットの処理を行うことができなくなると機能不全を起こしてしまう。
これを回避することが可能な、本実施形態における省電力状態移行時の処理を以下で述べる。
【００８９】
シーケンスＳＱ１３０９でＭＦＰ−Ａ１３０３において、省電力状態遷移イベントが発行されたとする。省電力状態は多くの場合は一定時間ジョブが発生しなかった場合にタイマーにより発行される。また、操作スイッチを押下されることで発行される場合もある。
シーケンスＳＱ１３１０において、ＭＦＰ−Ａ１３０３は、仮想マシンの代理処理開始の可否をＭＦＰ−Ｂ１３０４に対して問い合わせる。ＭＦＰ−Ｂ１３０４では複数あるゲスト用仮想マシン動作環境９１０に空きがあるか否かを判断し、空きがある場合はＭＦＰ−Ａ１３０３用にロックした上で、シーケンスＳＱ１３１１においてＡＣＫを返す。
【００９０】
次に、シーケンスＳＱ１３１２において、ＭＦＰ−Ａ１３０３は、ＭＦＰ−Ａ仮想マシン１３０２（又は仮想マシン動作環境８０２）に対してサスペンド（ＳＵＳＰＥＮＤ）要求（一時停止要求）を出す。サスペンド要求は先に説明した通り、仮想マシン動作環境８０２上の全てのコンテキスト及び資源を含む状態をサスペンド状態（一時停止状態）にするものである。仮想マシン動作環境８０２は、シーケンスＳＱ１３１３でサスペンド要求を受信後、ＭＦＰ−Ａ仮想マシン１３０２をサスペンドさせ、正常完了後にシーケンスＳＱ１３１４で状態をＭＦＰ−Ａ１３０３に通知する。ＭＦＰ−Ａ仮想マシン１３０２はＩｄｌｅ状態となり動作指示待ちとなる。
シーケンスＳＱ１３１５でＭＦＰ−Ａ１３０３は、サスペンド状態となった、ＭＦＰ−Ａ仮想マシン１３０２をＭＦＰ−Ｂ１３０４に全て転送する。
シーケンスＳＱ１３１６でＭＦＰ−Ｂ１３０４のゲスト用仮想マシン動作環境９１０上にて、受信したＭＦＰ−Ａ仮想マシン１３０２を起動する。
【００９１】
このときのＭＦＰ−Ｂ上のソフトウェア構成を図１４に記載する。図１４は、ＭＦＰ−Ｂ上でＭＦＰ−Ａ仮想マシンが動作しているときの一例を示す図である。
１４０３は、９１０と同じゲスト用の仮想マシン動作環境である。この上に、パケット処理手段の一例である図８の仮想マシン（アプリケーション）８２０がそのままロードされ、動作する。これはゲスト用仮想マシン動作環境１４０３と仮想マシン動作環境８０２とが同一のものであればＨ／Ｗプラットフォームに依存せずに動作させることができる。
【００９２】
ネットワーク１４０１を介して外部から受信したネットワークパケットは、ＭＦＰ−Ｂ内でルーティング等の一般的なネットワーク配信のための判断がなされる。そして、機器制御プログラム８２２、又はＪＡＶＡアプリケーション８２４宛のパケットだった場合、仮想化ソフト上のカーネルに通知され、機器制御プログラム８２２、ＪＡＶＡアプリケーション８２４の各アプリケーションに通知される。同様にして、ＭＦＰ−Ｂは、ネットワーク送信を行うこともできる。
仮想ディスク８１０の内部データはネットワーク上のロケーション及び、パス情報を含む。
【００９３】
機器制御プログラム８２２、ＪＡＶＡアプリケーション８２４が仮想ディスク８１０にアクセスを行った際、ゲスト用仮想マシン動作環境１４０３から、ＭＦＰ−ＢのシステムにＮＦＳパケットが送信される。しかしながら、ネットワークの参照先ロケーションが自分であるため、ＭＦＰ−Ｂのシステムにてアドレスが解決され、外部のネットワーク１４０１には出て行かずに、ＭＦＰ−Ｂのローカルストレージにアクセスする。
以上のようにすることで、ＭＦＰ−Ａの仮想ソフトである機器制御プログラム８２２、ＪＡＶＡアプリケーション８２４にとって、ＭＦＰ−Ａ上で動作しているのと同等なストレージアクセス状態と、プログラムの実行状態と、が保たれる。
この構成はＭＦＰ−Ｂ上でＭＦＰ−Ａ上のプログラムが通常と同様な形で起動して実行できる形態である。
【００９４】
再び図１３の説明に戻り、シーケンスＳＱ１３１７でＭＦＰ−Ａ仮想マシン１３０２が動作開始し、図１４で説明したようにＭＦＰ−ＢがＭＦＰ−Ａの処理を代行して行える状態となる。その後、シーケンスＳＱ１３１８でＭＦＰ−Ａ仮想マシン１３０２は、正常起動をＭＦＰ−Ｂ１３０４に伝える。そして、シーケンスＳＱ１３１９で、ＭＦＰ−Ｂ１３０４は、ＭＦＰ−Ａ１３０３にＭＦＰ−Ａ仮想マシン１３０２が正常起動したことを通知する。この通知により、ＭＦＰ−Ａ１３０３は、正常に機能の移行が完了したことを認識し、シーケンスＳＱ１３２０で、省電力状態へと移行する。ＭＦＰ−Ａの省電力状態遷移に従い、ハードリソースを共有する１３２１ＭＦＰ−Ａ仮想マシン１３０２もシーケンスＳＱ１３２１で省電力状態に入る。
【００９５】
この状態で、ＰＣ１３０１がシーケンスＳＱ１３２２で、ＭＦＰ−Ａに対する問い合わせを発行する。なお、ＭＦＰ−Ａ１３０３は、省電力状態に移行する際に、省電力状態に移行する旨及びＭＦＰ−Ｂ１３０４に代行を依頼している旨を、ネットワークを介して通信可能なＰＣに通知するようにしてもよい。このような構成とした場合、ＰＣ１３０１は、どのＭＦＰが省電力状態に移行し、省電力状態に移行したＭＦＰの代理を行っているＭＦＰがどのＭＦＰなのかを特定することができる。よって、シーケンスＳＱ１３２２において、ＰＣ１３０１は、ＭＦＰ−Ａに対する問い合わせをＭＦＰ−Ｂ１３０４に送信することができる。
【００９６】
また、ＭＦＰ−Ａ１３０３は、省電力状態に移行する際に、省電力状態に移行する旨を、ネットワークを介して通信可能なＰＣに通知するようにしてもよい。このような構成とした場合、ＰＣ１３０１は、どのＭＦＰが省電力状態に移行したのかを特定することができる。よって、シーケンスＳＱ１３２２において、ＰＣ１３０１は、ＭＦＰ−Ａに対する問い合わせを、ネットワークを介して通信可能なＭＦＰ−Ａ以外のＭＦＰに送信することができる。ＭＦＰ−Ａの代理として動作しているＭＦＰ（図１３の場合、ＭＦＰ−Ｂ１３０４）がこのＭＦＰ−Ａに対する問い合わせ要求を受けると、問い合わせ要求に対応する処理を実行する。
【００９７】
また、ＭＦＰ−Ａ１３０３は、省電力状態に移行する際に、省電力状態に移行する旨等を、ネットワークを介して通信可能なＰＣに通知しないようにしてもよい。このような構成とした場合、ＰＣ１３０１は、シーケンスＳＱ１３２２で、ＭＦＰ（今の例ではＭＦＰ−Ａ）に対する問い合わせ要求を、常に、ネットワークを介して通信可能な全てのＭＦＰに対して送信する。ＰＣ１３０１は、ＭＦＰ−Ａが通常状態（通常モード）の場合は、ＭＦＰ−Ａから問い合わせに対する応答を得る。また、ＰＣ１３０１は、ＭＦＰ−Ａが省電力状態の場合は、ＭＦＰ−Ａの代理ＭＦＰとして動作しているＭＦＰ（今の例ではＭＦＰ−Ｂ１３０４）から問い合わせに対する応答を得る。
【００９８】
ＭＦＰ−Ｂ１３０４は、ＰＣ１３０１から問い合わせ要求を受け取ると、シーケンスＳＱ１３２３において、この問い合わせ要求をゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２に転送する（パケット転送）。
シーケンスＳＱ１３２４において、例えば機器制御プログラム８２２及びＪＡＶＡアプリケーション８２４は、問い合わせ要求に対応する処理を行う。そして、シーケンスＳＱ１３２５において、ゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２は、問い合わせ要求に対する処理結果をＰＣ１３０１に返す。なお、上述したように、機器制御プログラム８２２及びＪＡＶＡアプリケーション８２４は、仮想ディスクにアクセスすることで、必要なデータの全てにアクセス可能であるため、問い合わせに対して応答可能である。例えば、以下に示すようにジョブが発行された場合でも、ＭＦＰ−Ａが持つ特別なハードウエアを使用せず、ソフトウェアで済む処理であるのであれば、機器制御プログラム８２２及びＪＡＶＡアプリケーション８２４は、処理を実行することができる。
【００９９】
シーケンスＳＱ１３２６において、ＰＣ１３０１は、ＭＦＰ−Ａに対するジョブを発行する。シーケンスＳＱ１３２７において、ＭＦＰ−Ｂ１３０４は、ジョブをゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２に転送する（パケット転送）。そして、シーケンスＳＱ１３２８において、ゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２は、ジョブに基づき処理を実行する。パケットを解析した結果、ＭＦＰ−Ａの画像処理装置を使用するジョブであることが分かった場合、ゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２は、ＭＦＰ−Ａ１３０３を省電力状態から起床するよう指示する（復帰要求）。
【０１００】
この指示を受け、シーケンスＳＱ１３２９において、ＭＦＰ−Ａ１３０３は、省電力状態から復帰する。同時にシーケンスＳＱ１３３０において、ＭＦＰ−ＡのＨ／Ｗ上で動作しているＭＦＰ−Ａ仮想マシン１３０２もＩｄｌｅ状態で起動するがシーケンスＳＱ１３１３で、サスペンド状態で停止しているため、動作はしない。
シーケンスＳＱ１３３１において、ＭＦＰ−Ａ１３０３は、プログラム（ＭＦＰ−Ａ）の代理処理終了要求を出す。この代理処理終了要求を受け取ったＭＦＰ−Ｂ１３０４は、ゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２に対してサスペンド要求を送信する。サスペンド要求を受け取った、ゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２は、シーケンスＳＱ１３３３において、状態を保持するサスペンド状態へと移行する。そして、サスペンド処理の終了後、ゲスト用仮想マシン動作環境１４０３上で動作しているＭＦＰ−Ａ仮想マシン１３０２は、シーケンスＳＱ１３３４において、ＭＦＰ−Ｂ１３０４に対してＡＣＫを返す。ＭＦＰ−Ｂ１３０４は、このＡＣＫをシーケンスＳＱ１３３５において、ＭＦＰ−Ａに１３０３に通知する。
【０１０１】
プログラム代理処理終了要求に対するＡＣＫを受け取ったＭＦＰ−Ａ１３０３は、シーケンスＳＱ１３３６において、ＭＦＰ−Ｂ１３０４に対してＭＦＰ−Ａ仮想マシン１３０２の獲得要求を出す。シーケンスＳＱ１３３７において、ＭＦＰ−Ｂ１３０４は、ＭＦＰ−Ｂゲスト用仮想マシン１３０５に対して、ＭＦＰ−Ａ仮想マシン１３０２の開放を指示する。そして、シーケンスＳＱ１３３９において、ＭＦＰ−Ｂ１３０４は、ジョブの処理途中でサスペンドしているＭＦＰ−Ａ仮想マシン１３０２をＭＦＰ−Ａ１３０３に転送する。
【０１０２】
シーケンスＳＱ１３４０において、ＭＦＰ−Ａ１３０３は、受信したＭＦＰ−Ａ仮想マシン１３０２を自分の仮想マシン動作環境上にロードして、サスペンドを解除する。
シーケンスＳＱ１３４１において、サスペンド解除されたＭＦＰ−Ａ仮想マシン１３０２は、ＭＦＰ−Ｂでサスペンドされていた状態から継続して動作を実行する。このとき、ＭＦＰ−Ａ１３０３は、実Ｈ／Ｗを持っているため、正常にＨ／Ｗにアクセスが行われ、途中で止まっていたジョブの処理が完了する。シーケンスＳＱ１３４２において、ＭＦＰ−Ａ仮想マシン１３０２は、ジョブを受け付けた旨のＡＣＫをＰＣ１３０１に返す。すると、シーケンスＳＱ１３４３において、ＰＣ１３０１は、ジョブデータを送信する。そして、シーケンスＳＱ１３４４において、ＭＦＰ−Ａ仮想マシン１３０２は、ジョブを実行する。
【０１０３】
以下、各機器内のソフトウェアがどのように連携するかを図１５、図１６、図１７を使用して説明する。
図１５は、ＭＦＰ−Ａが通常状態の場合を示す図である。
ＰＣのＪＡＶＡアプリケーション１５０９は、ＭＦＰ−Ａ上の機器制御プログラム８２２と連携を行う。経路１５０１は、ネットワーク経由でパケットが送信されることを表している。処理は、機器制御プログラム８２２において行われる。機器制御プログラム８２２は、ストレージ装置を使用する際、ローカルの仮想ディスク上にアクセスを行い、経路１５０３を経由し、ＭＦＰ−Ｂのローカルの実ストレージ上の実体にアクセスを行う。
【０１０４】
ＰＣのＪＡＶＡアプリケーション１５１０は、ＭＦＰ−Ａ上のＪＡＶＡアプリケーション８２４と連携を行う。１５０５経路は、ネットワーク経由でパケットが送信されることを表している。処理は、ＪＡＶＡアプリケーション８２４において行われる。ＪＡＶＡアプリケーション８２４は、ストレージ装置を使用する際、ローカルの仮想ディスク上にアクセスを行い、経路１５０７を経由し、ＭＦＰ−Ｂ上のローカルの実ストレージ上の実体にアクセスを行う。
【０１０５】
図１６は、ＭＦＰ−Ａの仮想マシンがサスペンド状態の場合を示す図である。
ＭＦＰ−Ａは、省電力状態・若しくはＯＦＦ状態に遷移する場合、ＭＦＰ−Ａの仮想マシン動作環境上の仮想マシンをネットワーク経由でＭＦＰ−Ｂのゲスト用仮想マシン動作環境上へと移行させる。
【０１０６】
図１７は、ＭＦＰ−Ａが省電力状態・ＯＦＦ状態に遷移した場合を示す図である。
ＭＦＰ−Ａは、省電力状態に移行し、状態を保持したまま機能を停止させる。
ＭＦＰ−Ａの機器制御プログラム及びＪＡＶＡアプリケーションはＭＦＰ−Ｂのゲスト用仮想マシン動作環境上で動作している。
ＰＣ上のアプリケーションは、経路１７０１、経路１７０５を経由して、ＭＦＰ−Ｂ上で動作しているＭＦＰ−Ａのアプリケーションと通信を行うことが可能である。ＭＦＰ−Ｂ上で動作しているＭＦＰ−Ａのアプリケーションは、経路１７０２、経路１７０３又は経路１７０６、経路１７０７を経由して、ＭＦＰ−Ａ上と同じ状態でストレージデバイスにアクセスすることができる。
【０１０７】
以上、上述した実施形態によれば、ＮＡＳを利用したＭＦＰネットワーク網において、複数のサーバを一台の機械に集めることとストレージサービスを効果的に利用することとでサーバの機能を落とすことなく特定のＭＦＰを省電力状態に移行させることができる。その結果、ネットワークの複数の機械が連携して省電力に移行することが可能なシステムを提供することができる。
【０１０８】
より具体的に説明すると、上述した実施形態によれば、ＭＦＰ−Ａは、ＭＦＰ−Ａの仮想マシンが参照するＭＦＰ−Ａの情報をＭＦＰ−Ｂに送信し、省電力状態に移行する際に、ＭＦＰ−Ａの仮想マシンをＭＦＰ−Ｂに転送する。又は、ＭＦＰ−Ａは、他のＭＦＰ（ＭＦＰ−Ｂ）とストレージを共有している場合、省電力状態に移行する際に、ＭＦＰ−Ａの仮想マシンが参照するＭＦＰ−Ａの情報が記憶されている（ストレージを共有している）ＭＦＰ−ＢにＭＦＰ−Ａの仮想マシンを転送する。又は、ＭＦＰ−Ａは、ＭＦＰ−Ａの仮想マシンを転送する転送先を、例えば、ストレージを共有しているＭＦＰ（ＭＦＰ−Ｂ）に決定する。そして、ＭＦＰ−Ａは、省電力状態に移行する際に、決定したＭＦＰ−Ｂに、ＭＦＰ−Ａの仮想マシンを転送する。
そして、ＭＦＰ−Ａは、その後、省電力状態に移行する。
一方、ＭＦＰ−Ｂでは、ＭＦＰ−Ａより、ＭＦＰ−Ａの仮想マシンが参照するＭＦＰ−Ａの情報を受信し（装置情報受信）、また、ＭＦＰ−Ａの仮想マシンを受信する。そして、ＭＦＰ−Ｂは、ＭＦＰ−Ａの仮想マシンを実行させ、ＭＦＰ−Ａに対するパケットを受信した場合、ＭＦＰ−Ａの仮想マシンに転送する。そうすると、ＭＦＰ−Ｂ上で動作しているＭＦＰ−Ａの仮想マシンは、前記情報を参照して、パケットに対する処理を行うことができる。又は、ＭＦＰ−Ｂは、ストレージを共有しており、ＭＦＰ−Ａの情報を記憶手段に記憶している。そして、ＭＦＰ−Ｂは、ＭＦＰ−Ａより、ＭＦＰ−Ａの仮想マシンを受信し、ＭＦＰ−Ａの仮想マシンを実行させ、ＭＦＰ−Ａに対するパケットを受信した場合、ＭＦＰ−Ａの仮想マシンに転送する。そうすると、ＭＦＰ−Ｂ上で動作しているＭＦＰ−Ａの仮想マシンは、前記情報を参照して、パケットに対する処理を行うことができる。
【０１０９】
よって、上述した実施形態によれば、機器（ＭＦＰ−Ａ）のスリープ時間を長く維持できる。したがって、機器網においてトータル消費電力を軽減することができる。また、代理応答を行う機器（ＭＦＰ−Ｂ）は、ゲスト用の仮想マシン動作環境を有していれば、機器のバージョンの違いやＣＰＵの違い等が異なる場合であっても、機器（ＭＦＰ−Ａ）の仮想マシンを安定して動作させることができる。つまり、ＭＦＰ−Ａと、ＭＦＰ−Ｂと、でバージョンの違いやＣＰＵの違い等があっても問題ない。
以上、上述した実施形態によれば、情報処理装置の一例であるＭＦＰを省電力状態に移行させると共に、前記ＭＦＰが提供するサービスを他の情報処理装置（例えばＭＦＰ）が代理実行可能とすることができる。
【０１１０】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１１１】
【図１】電子部品としての制御装置が搭載された情報処理装置の一例である画像入出力装置の機能構成及び画像入力装置を含むシステム構成の一例を示す図である。
【図２】リーダ部２及びプリンタ部６の内部構造の一例を示す図である。
【図３】制御装置１１０の一例を示す図である。
【図４】メインコントローラ３２の一例を示す図である。
【図５】仮想マシンを実現するための構成を説明するための図である。
【図６】ＮＦＳの概念を示す図である。
【図７】論理パーティションの一例を示す図である。
【図８】ＭＦＰ−Ａの制御装置１１０上のソフトウェア構成の一例を示す図である。
【図９】ＭＦＰ−Ｂの制御装置１１０上のソフトウェア構成の一例を示す図である。
【図１０】ストレージサービスの適用を説明するための図である。
【図１１】ＭＦＰ−Ａの起動時の処理の一例を示すフローチャートである。
【図１２】ＰＣの構成の一例を示す図である。
【図１３】ＭＦＰ−Ａが省電力状態に入るとき及び省電力状態から通常状態へ復帰するときの各装置の処理の一例を示す図である。
【図１４】ＭＦＰ−Ｂ上でＭＦＰ−Ａ仮想マシンが動作しているときの一例を示す図である。
【図１５】ＭＦＰ−Ａが通常状態の場合を示す図である。
【図１６】ＭＦＰ−Ａの仮想マシンがサスペンド状態の場合を示す図である。
【図１７】ＭＦＰ−Ａが省電力状態・ＯＦＦ状態に遷移した場合を示す図である。
【符号の説明】
【０１１２】
１００  実マシン
１０１  仮想マシン
１０２  仮想マシン動作環境
１０３  実ＣＰＵ
１０４  実レジスタ
１０５  実ディスク
【図１】
0005078671.tif 000002
【図２】
0005078671.tif 000003
【図３】
0005078671.tif 000004
【図４】
0005078671.tif 000005
【図５】
0005078671.tif 000006
【図６】
0005078671.tif 000007
【図７】
0005078671.tif 000008
【図８】
0005078671.tif 000009
【図９】
0005078671.tif 000010
【図１０】
0005078671.tif 000011
【図１１】
0005078671.tif 000012
【図１２】
0005078671.tif 000013
【図１３】
0005078671.tif 000014
【図１４】
0005078671.tif 000015
【図１５】
0005078671.tif 000016
【図１６】
0005078671.tif 000017
【図１７】
0005078671.tif 000018