(57)【要約】      （修正有）【課題】サスペンドモード等の省電力状態から通常状態に短時間に復帰するようなケースにおいては通信応答性を重視して電力状態を遷移し、他のケースでは省電力性能を重視して装置の電力状態を遷移可能な仕組みを提供する。【解決手段】ＭＦＰのＣＰＵ部は、サスペンド処理におけるネットワーク部の終了処理中等に起床要因が発生した場合、短時間で通常状態に復帰する起床要因予約を行う。ＣＰＵ部は、予約がされていない場合にはネットワーク部の通信速度の設定を通常状態よりも低速な設定に変更する変更処理を行い、予約がされた場合には変更処理を行わないＳ７０１〜Ｓ７０７。【選択図】図７
2015180527.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１の電力状態と前記第１の電力状態より消費電力の少ない第２の電力状態を切り替えて動作可能な情報処理装置であって、
前記第２の電力状態から前記第１の電力状態への復帰を予約する予約手段と、
前記第１の電力状態から前記第２の電力状態に移行する場合に、前記予約がない場合には通信手段の通信速度の設定を変更する変更処理を行い、前記予約がある場合には前記変更処理を行わない変更手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記予約手段は、前記第２の電力状態から前記第１の電力状態へ復帰するトリガとなる情報を保持手段にセットすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変更処理は、前記通信手段の通信速度の設定を第１の速度から第２の速度へ変更するものであり、
前記変更手段は、前記前記第２の電力状態から前記第１の電力状態へ復帰する場合に、前記移行時に前記予約がされていなかった場合には、前記通信手段の通信速度の設定を前記第２の速度から前記第１の速度へ変更することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記変更手段は、前記第１の電力状態において、前記通信手段の通信速度の設定が前記第２の通信速度である場合、前記通信手段の通信速度の設定を前記第２の速度から前記第１の速度へ変更することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記変更手段は、前記第１の電力状態において、前記通信手段の通信速度の設定が前記第２の通信速度で且つ前記通信手段による通信が所定の期間以上ない場合、前記通信手段の通信速度の設定を前記第２の速度から前記第１の速度へ変更することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記変更手段は、前記第１の電力状態において、前記通信手段の通信速度の設定が前記第２の通信速度で且つ前記通信手段による送信予約がない場合、前記通信手段の通信速度の設定を前記第２の速度から前記第１の速度へ変更することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項７】
前記変更手段は、前記第１の電力状態から前記第２の電力状態に移行する場合に、前記通信手段を前記第２の電力状態で動作する動作モードに変更する前に、前記予約がない場合には前記変更処理を行い、前記予約がある場合には前記変更処理を行わないことを特徴とする請求項４乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
少なくとも第１の電力状態と前記第１の電力状態より消費電力の少ない第２の電力状態を切り替えて動作可能な情報処理装置の制御方法であって、
前記第２の電力状態から前記第１の電力状態への復帰を予約する予約ステップと、
前記第１の電力状態から前記第２の電力状態に移行する場合に、前記予約がない場合には通信手段の通信速度の設定を変更する変更処理を行い、前記予約がある場合には前記変更処理を行わない変更ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載された手段として機能させるためのプログラム。
【請求項１０】
少なくとも第１の電力状態と前記第１の電力状態より消費電力の少ない第２の電力状態を切り替えて動作可能な情報処理装置であって、
前記第２の電力状態から前記第１の電力状態への復帰を予約する予約手段と、
前記第２の電力状態においても給電されうる給電対象部と、
前記第１の電力状態から前記第２の電力状態に移行する場合に、前記予約がない場合には前記給電対象部への給電を解除し、前記予約がある場合には前記給電対象部への給電を維持する給電変更手段と、
を有することを特徴とする情報処理装置。
【請求項１１】
前記給電対象部に記憶手段を含むことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記給電対象部にＨＤＤ部を含むことを特徴とする請求項１０に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の電力状態を切り替えて動作可能な画像形成装置等の情報処理装置の制御に関する。
【背景技術】
【０００２】
近年の画像形成装置や情報処理装置は、使用していない時の消費電力を下げ、かつ、現在の動作状態と同様な動作状態で復帰可能なように、実行中のプログラムなどの動作を休止した状態とするサスペンドと呼ばれる機能（サスペンドモード）を有するものがある。 
【０００３】
また、サスペンドモードにおいて起床要因が検知された場合、休止する直前の状態に復帰するレジュームと呼ばれる機能を有するものもある。起床要因としては、操作パネル上のキー操作、タイマ割り込み、ネットワークパケット受信のほか、起床予約フラグの有無といったものがある。このうち、起床予約フラグが設定されている場合は、システムはサスペンド完了後に即座にレジューム処理を実行する。
【０００４】
特許文献１には、上述のようなサスペンドおよびレジューム機能において、サスペンドモード時における通信速度を通常時よりも低速な設定に変更することによって、サスペンドモード時の消費電力を抑える技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１２９５８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１のように、通信速度を変更する通信速度変更処理では、通信速度変更処理中は、ハードウェアの通信規約上の制限から、数秒から数十秒間通信が不能となる。このため、起床予約設定がなされサスペンド完了後に即座にレジューム処理が実施される場合において通信速度変更処理を実行した場合、サスペンド期間が短いために省電力性能が期待されないばかりか、却って通信応答性能が低下するという課題が発生する。
【０００７】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、サスペンドモード等の省電力状態から通常状態に短時間に復帰するようなケースにおいては通信応答性を重視して電力状態を遷移し、他のケースでは省電力性能を重視して装置の電力状態を遷移可能な仕組みを提供することである。
【課題を解決するための手段】
【０００８】
本発明は、少なくとも第１の電力状態と前記第１の電力状態より消費電力の少ない第２の電力状態を切り替えて動作可能な情報処理装置であって、前記第２の電力状態から前記第１の電力状態への復帰を予約する予約手段と、前記第１の電力状態から前記第２の電力状態に移行する場合に、前記予約がない場合には通信手段の通信速度の設定を変更する変更処理を行い、前記予約がある場合には前記変更処理を行わない変更手段と、
を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、省電力な第２の電力状態から通常電力の第１の電力状態に短時間に復帰するようなケースにおいては通信応答性を重視し、他のケースでは省電力性能を重視して装置の電力状態を遷移させることができる。この結果、省電力と通信応答性をケースに応じて使い分け可能な優れた電力制御を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の情報処理装置を示す画像形成装置の概略構成を例示する図。
【図２】ＭＦＰコントローラ部の概略構成を例示する図。
【図３】サスペンド処理を例示するフローチャート。
【図４】サスペンド状態中の動作を例示するフローチャート。
【図５】電源制御部とＣＰＵ部の周辺を詳細に例示する図。
【図６】各デバイスの状態を時間経過毎に例示する図。
【図７】ネットワーク部の終了処理を例示するフローチャート。
【図８】レジューム処理を例示するフローチャート。
【図９】通信速度再設定処理を例示するフローチャート。
【図１０】別のＭＦＰコントローラ部の概略構成を例示する図。
【図１１】ＨＤＤ部の終了処理を例示するフローチャート。
【図１２】レジューム処理前の通電変更処理を例示するフローチャート。
【発明を実施するための形態】
【００１１】
[実施形態１]
以下、本発明の実施形態１について図面を参照しながら詳述する。
図１は、本発明の情報処理装置の一実施例を示す画像形成装置の概略構成の一例を示す図である。
図１において、１００は画像形成装置（以下、ＭＦＰ）で、コピー機能、プリンタ機能、スキャナ機能等の複合機能を備えている。
【００１２】
ＭＦＰコントローラ部１２は、ＭＦＰ１００全体の制御を行なう。スキャナ部１１は、原稿から光学的に画像を読み取りデジタル画像に変換する。プリンタ部１３は、例えば電子写真方式に従って画像形成処理を行う。なお、プリンタ部１３は、シート状の記録媒体（例えば、記録紙）に画像形成処理を可能なものであればその記録方式は電子写真方式に限定されるものではなく、他の記録方式、例えば、インクジェット方式や熱転写方式などを用いてもよい。
【００１３】
電源部１０は、ＡＣ電源から供給される電力をＭＦＰ１００の各部に対して供給する。操作部１５は、ＭＦＰ１００の操作を行なうためのユーザインタフェースである。電源スイッチ部１４は、ユーザにより電源のオンオフ操作が可能なスイッチであり、ＭＦＰ１００の電源状態を切り替える。
【００１４】
図２は、ＭＦＰコントローラ部１２の概略構成の一例を示す図である。なお、以下の説明では、既出の符号の説明については省略する。
図２において、電源制御部２３は、電源スイッチ部１４が操作されたことや、操作部１５上に配置された節電ボタン２９が操作されたことを検知すると、ＣＰＵ部２７に割り込みとして通知する機能を備える。また、電源制御部２３は、サスペンドモード移行時に後述する電源系Ｂ２１への電源の供給を遮断し、サスペンドモードからの復帰時に電源系Ｂ２１へ電源を供給するといった制御を行う。ＦＥＴ２０は、例えばField Effect Transistorで構成され、電源制御部２３からの信号により、電源系Ｂ２１への電力供給をオンオフするためのスイッチである。
【００１５】
ＣＰＵ部２７は、ＭＦＰ１００全体の制御を行う制御部である。メモリ部２５は、ＤＤＲ−ＳＤＲＡＭ等の揮発性メモリである。画像処理部２８は、スキャナ部１１からのデータを圧縮や、ＣＰＵ部２７で処理された画像データをプリンタ部１３に出力するなどの処理を行う制御部である。ＨＤＤ部２６は、外部記憶装置であり、例えばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）等である。
【００１６】
操作部１５は、節電ボタン２９、入出力装置（ＬＣＤ／テンキー）３０等を有し、ユーザによる入力操作を検知可能である。ネットワーク部２４は、ＭＦＰ１００の外部インタフェース（以下、外部Ｉ／Ｆ）の一つであり、不図示の外部ＰＣ（パーソナルコンピュータ）等からネットワーク経由でプリント要求を受け付けることが可能である。ＵＳＢ部３１もＭＦＰ１００の外部Ｉ／Ｆの一つであり、不図示の外部ＰＣ等からＵＳＢケーブル経由でプリント要求を受け付けることが可能である。
【００１７】
次に、ＭＦＰコントローラ部１２の電源系統について説明する。なお、本実施形態１では、省電力機能として、消費電力が通常状態よりも低く起動時間が高速な状態として、メモリにデータを保持するサスペンド方式を適用した場合を示す。しかし、省電力機能として、他の方式、例えば、ハイバネーション方式等を用いてもよい。
【００１８】
上述したように、ＭＦＰ１００は、所定の省電力移行要因が発生すると、該省電力移行要因の発生が検知されたときのＭＦＰ１００の状態（第１状態）をメモリ部２５に保存し、第２状態に移行する。第２状態とは、所定の起床要因が発生した場合に、第１状態に復帰可能なＭＦＰ１００の状態を示す。本実施形態１では、第１状態は通常状態、第２状態はサスペンド状態となっている。なお、サスペンド状態は省電力状態であり、サスペンド状態におけるＭＦＰ１００の消費電力量は、通常状態におけるＭＦＰ１００の消費電力量より小さいことは上述した通りである。
【００１９】
また、上記所定の省電力移行要因が発生した場合とは、例えば、電源スイッチ部１４のオフ操作や節電ボタン２９の押下操作を検知した場合や、入出力装置３０から一定時間入力が無かった場合等に対応する。上記所定の起床要因が発生した場合とは、例えば、電源スイッチ部１４のオン操作や節電ボタン２９の押下操作を検知した場合や、ネットワーク部２４やＵＳＢ部３１からジョブ等の所定の要求が入力された場合等のイベントを検知した場合に対応する。
【００２０】
電源系Ｂ２１は、ＣＰＵ部２７、画像処理部２８、ＨＤＤ部２６、操作部１５（節電ボタン２９以外）、スキャナ部１１、プリンタ部１３などに電源を供給する電源系統である。なお、電源系Ｂ２１の電源の遮断／供給の制御は、電源制御部２３から出力される制御信号によりＦＥＴ２０を制御することで実現する。
【００２１】
電源系Ａ２２は、電源制御部２３、ネットワーク部２４、メモリ部２５、ＵＳＢ部３１、節電ボタン２９などに電源を供給する電源系統である。なお、電源系Ａ２２は、第１状態および第２状態の双方の状態において、電源部１０から電源が供給される。ＭＦＰ１００は、複数の電力状態を切り替えて、少なくとも通常状態と、通常状態より消費電力の少ないサスペンド状態を切り替えて動作可能である。即ち、ネットワーク部２４、ＵＳＢ部３１は、サスペンド状態においても外部と通信可能である。
【００２２】
以下、図３と図６を用いてサスペンド処理のシーケンスを説明する。
図３は、本実施例におけるサスペンド処理の一例を示すフローチャートである。なお、サスペンド処理は、ＣＰＵ部２７がＨＤＤ部２６等に記録されたプログラムを読み出して実行することにより実現されるものである。
また、図６は、本実施例における各デバイスの状態を時間経過毎に例示する図である。 
【００２３】
入力装置３０から一定時間入力が無かった場合、または、電源スイッチ部１４や節電ボタン２９が押下された等の省電力移行要因の発生を検出すると、ＣＰＵ部２７は、図３に示すサスペンド処理を実行する。
【００２４】
Ｓ３０１において、ＣＰＵ部２７は、プリンタ部１３、スキャナ部１１等の全外部デバイスの終了処理を行う。外部デバイスとは、例えば、外部Ｉ／Ｆに接続されているデバイスであり、図１、図２ではプリンタ部１３、スキャナ部１１等が該当するが、これに限定されるものではない。外部デバイスには終了に時間が掛る部位もある。そのため、ＣＰＵ部２７は、サスペンドのキャンセル要因が発生するか確認しつつ（Ｓ３０２）、上記外部デバイスの終了処理が完了するまで外部デバイスの終了処理を継続する（Ｓ３０１〜Ｓ３０３、図６の状態６５；全外部デバイス終了処理）。なお、Ｓ３０２のキャンセル要因には、後述する起床要因に加え、以下に示すようなＣＰＵ部２７が指示したキャンセル要因が含まれる。ＣＰＵ部２７が指示したキャンセル要因は、ＣＰＵ部２７が処理を継続しないと障害が発生してしまう要因を示す。このような要因を検知した場合、ＣＰＵ部２７は、キャンセル要因発生と判断する。
【００２５】
なお、ＣＰＵ部２７は、外部デバイスの終了処理中に、例えばネットワーク部２４からジョブ等のキャンセル要因が発生したと判定した場合（Ｓ３０２でＹｅｓの場合）、サスペンド移行をキャンセルすることを決定する。既にいくつかのデバイスは終了処理を行っているため、ＣＰＵ部２７は、Ｓ３０４〜Ｓ３０５において、全デバイスの復帰処理と復帰完了を確認した後、Ｓ３０６において、キャンセル要因となった例えばジョブを実行し、サスペンド動作をキャンセルする。なお、図示しないが、サスペンド動作がキャンセルされた場合は、ＣＰＵ部２７は、キャンセル要因となった例えばジョブの実行完了後に、本サスペンド処理を再度実行する。
【００２６】
一方、ＣＰＵ部２７は、キャンセル要因が発生することなく全ての外部デバイスの終了処理が完了したと判定した場合（Ｓ３０２でＮｏ及びＳ３０３でＹｅｓの場合）、サスペンドキャンセルを行わないように制御し、Ｓ３０７に移行する。
【００２７】
Ｓ３０７では、ＣＰＵ部２７は、電源制御部２３内に記憶されている起床予約フラグ６１（図５）を「オフ」にクリアし（図６のイベント７１）、今後サスペンドに入るまでの間に起床要因が発生したことを保持するための状態を初期化する。
【００２８】
次に、Ｓ３０８において、ＣＰＵ部２７は、全内部デバイスの終了処理を行う。内部デバイスとは、図１、図２の例では、ネットワーク部２４、ＵＳＢ部３１、ＨＤＤ部２６、及び、画像処理部２８等が該当するが、これに限定されるものではない。また、内部デバイスの終了処理では、各々の内部デバイスについて、現在の状態をメモリ部２５に保持した後、サスペンド状態では停止されるＣＰＵ部２７の制御管理下から、サスペンド中でも独立して動作するように動作モードの変更が行われる。特にネットワーク部２４の終了処理については、後述の図７で詳細に説明する。
【００２９】
内部デバイスの終了処理にも時間が掛るものがある。そのため、ＣＰＵ部２７は、起床要因が発生するか確認しつつ（Ｓ３０９）、上記全内部デバイスの終了処理が完了するまで全内部デバイスの終了処理を継続する（Ｓ３０８〜Ｓ３１１、図６の状態６６；全内部デバイス終了処理）。
【００３０】
内部デバイスは、例えば、ＣＰＵ部２７とバス接続されたハードウェア等のＣＰＵ部２７と同一メインボード上に乗っているデバイスとするが、これに限定されるものではない。外部デバイスと異なり、内部デバイスは終了時にアクセスできなくなるため終了順番を厳密に決定する必要があり、安定動作のためにも、外部デバイスのように途中中断を行わない方がよい。よって、全内部デバイスの終了処理（Ｓ３０８）を開始するまではサスペンド処理は中断可能（キャンセル可能）であるが、全内部デバイスの終了処理（Ｓ３０８）を開始するとサスペンド処理は中断不可能（キャンセル不可能）となる。
【００３１】
そこで、本実施例のＭＦＰ１００では、内部デバイスの終了処理中に起床要因が発生したと判定した場合（Ｓ３０９でＹｅｓの場合）、電源制御部２３へ起床要求を予約し（Ｓ３１０、図６のイベント７２、状態６３；起床予約状態）、サスペンド処理を継続させる。即ち、サスペンド処理の途中の中断が不可能な状態で、起床要因となるイベントが発生した場合、電源制御部２３内の起床予約フラグ６１を「オン」にしてレジューム処理（復帰）を予約する。
【００３２】
ＣＰＵ部２７が実行するサスペンド処理プロセスは、全内部デバイスの終了処理（Ｓ３０８）を開始する際、その旨を、プロトコルスタック５７、ソケットＩ／Ｆ５８、アプリケーション５９（図５）に通知するものとする。この通知により、全内部デバイスの終了処理中において、プロトコルスタック５７、ソケットＩ／Ｆ５８、アプリケーション５９で起床要因発生の監視と復帰の予約が行われる。なお、ネットワーク部２４でも、全内部デバイスの終了処理中は、起床要因発生の監視と復帰の予約が行われる。
【００３３】
プロトコルスタック５７、ソケットＩ／Ｆ５８、又はアプリケーション５９で、起床要因発生と判断された場合、ＣＰＵ部２７から電源制御部２３内の起床予約フラグ６１が「オン」される。また、ネットワーク部２４で起床要因発生と判断された場合、ＣＰＵ部２７を介さず、ネットワーク部２４から電源制御部２３内の起床予約フラグ６１が「オン」される。なお、ネットワーク部２４、プロトコルスタック５７、ソケットＩ／Ｆ５８、又はアプリケーション５９は、ネットワーク部２４から所定の要求（例えば、印刷要求や応答要求）が受信されたと判断した場合、起床要因発生と判断し、該要求を処理するものとする。
【００３４】
さらに、操作部１５の入力装置３０の操作や、不図示の計時部としてのリアルタイムクロック（ＲＴＣ）等から指定時刻アラームがあった場合にも、起床要因発生と判断され、ＣＰＵ部２７から電源制御部２３内の起床予約フラグ６１が「オン」される。電源制御部２３はサスペンド移行後も起床予約フラグ６１を保持する。起床予約フラグ６１が「オン」されると、電源制御部２３は、起床予約状態（図６の状態６３；起床予約状態）となる。
【００３５】
そして、全ての内部デバイスの終了処理が完了したと判定した場合（Ｓ３１１でＹｅｓの場合）、ＣＰＵ部２７は、電源制御部２３にサスペンド移行指示を送り（イベント７３）、電源制御部２３を介してＦＥＴ２０をオフにする。これにより、電源系Ｂ２１の電源がオフになり、ＭＦＰ１００はサスペンド状態に移行する。
【００３６】
具体的には、サスペンド移行指示（イベント７３）を受けた電源制御部２３が、メモリ部２５をセルフリフレッシュの待機状態（図６の状態６２）に移行させ、また、ネットワーク部２４を起床条件監視状態（図６の状態７０）に移行させる。さらに、電源制御部２３が、電源系Ｂ２１をオフすることにより、ＣＰＵ部２７がオフ状態（図６の状態６７）になる。その後、電源制御部２３は、サスペンド状態（図６の状態６４）に移行する。このサスペンド状態（図６の状態６４）がＭＦＰコントローラ部１２全体のサスペンド状態と等価な状態である。
【００３７】
なお、本実施例では、メモリ部２５自身に値を保持するサスペンド方式で説明したが、ＨＤＤ部２６を利用するハイバネーション方式や、メモリ部２５をＭＲＡＭにする方式でも、サスペンド方式と同様の効果を得ることが可能である。
【００３８】
サスペンド中は電源系Ａ２２に含まれるデバイスだけが動作する。サスペンド中では、ネットワーク部２４は、受信したパケットがサスペンドから復帰しなければならないパケットか否かを監視する（図６の状態７０；起床条件監視中）。また、電源制御部２３が、レジューム開始を監視しながらサスペンド状態を継続する。なお、電源制御部２３は、ＣＰＵを内蔵したものでも、専用のハードウェアロジックで構成されるものでも構わない。
【００３９】
図４を用いて、電源制御部２３のサスペンド状態中（図６の状態６４、サスペンド中）の動作について説明する。
図４は、本実施例における電源制御部２３のサスペンド状態中の動作の一例を示すフローチャートである。なお、図４に示す処理は、電源制御部２３の図示しないＣＰＵが図示しないＲＯＭ等に記録されたプログラムを読み出して実行することにより実現されるものであっても、専用のハードウェアロジックで実現されるものであってもよい。
【００４０】
電源制御部２３は、電源系Ｂ２１がオフとなっているサスペンド中に、図４に示す処理を行う。サスペンド中の処理（図４）では、電源制御部２３は、以下Ｓ４０１〜Ｓ４０６に示すいずれかのイベントが発生を監視する。
【００４１】
Ｓ４０１では、電源制御部２３は、起床要因の予約（復帰の予約）の有無を確認する。この起床要因予約の有無の確認では、電源制御部２３内に記憶される起床予約フラグ６１が「オン」である場合に起床要因予約ありと判定する。この起床予約フラグ６１は、サスペンド状態に入った後、即座にレジュームを開始するトリガとして動作させるためのフラグとなる。この起床予約フラグ６１の「オン」は、上述したように、サスペンド処理中の中断不可能な状態において設定される。
【００４２】
また、Ｓ４０２では、電源制御部２３は、ネットワーク部２４からジョブや問合わせ等の有効なレジューム開始指示を受信したか監視する（図６の状態７０における起床条件が真になるか否かを監視する）。Ｓ４０３では、電源制御部２３は、不図示のＦＡＸ部から着信があった等の有効なレジューム開始指示を受信したか監視する。Ｓ４０４では、電源制御部２３は、不図示のリアルタイムクロック（ＲＴＣ）から指定時刻アラームがあったか監視する。Ｓ４０５では、電源制御部２３は、ＵＳＢ部３１からジョブを受信した等の有効なレジューム開始指示を受信したか監視する。Ｓ４０６では、電源制御部２３は、節電ボタン２９や電源スイッチ部１４の押下があったか監視する。
【００４３】
電源制御部２３は、上記Ｓ４０１〜Ｓ４０６に示すいずれかのイベントが発生するまで上記監視を続け、いずれかのイベントが発生した場合（Ｓ４０１〜Ｓ４０６のいずれかでＹｅｓの場合）、Ｓ４０７に移行する。
【００４４】
Ｓ４０７では、電源制御部２３は、最小サスペンド時間を保証するための処理（リセット不具合を回避するためにサスペンド中の最小時間を保証するための処理）を行い、Ｓ４０８において、レジュームを開始する。なお、Ｓ４０８の詳細は後述する図８に記載する。
【００４５】
すなわち、Ｓ４０８において、電源制御部２３は、ＦＥＴ２０をオンにし、電源系Ｂ２１に通電を開始させ、ＣＰＵ部２７に対してリセットの解除を行う。その後、ＣＰＵ部２７が、先に説明したサスペンド時にメモリ部２５に保持した各デバイスの中断状態を、各デバイスに設定することで、サスペンドを行う前の状態に移行する（図６の状態６８；レジューム処理）。
【００４６】
また、この時、ＣＰＵ部２７は、ネットワーク部２４やＵＳＢ部３１等の外部インタフェースの制御権をＣＰＵ部２７に取り戻す（図６の状態７４；ネットワーク部２４がスタンバイ中）、つまり通常状態に戻す。これにより、ＣＰＵ部２７がＭＦＰコントローラ部１２の全ての制御権を取り戻す。本実施形態１では、このサスペンド中の処理に、起床要求予約の有無を確認するようにする。これは、先に説明した図３のＳ３１０で電源制御部２３に設定した起床予約フラグ６１の確認である。この起床要求予約フラグ６１は、サスペンド状態に入った後、即座にレジュームを開始するトリガとして動作させるためのフラグとなる。 
【００４７】
以上のように、本実施例のＭＦＰ１００は、サスペンドに入る途中（移行の途中）において、中断すべきイベント（起床要因）が発生した場合、電源制御部２３にフラグ状態を保持することで復帰を予約し、そのままサスペンドに入る。この復帰予約により、ＭＦＰ１００は、サスペンドに入った後に自動的にレジューム動作を行って、通常状態に復帰することができる。
【００４８】
次に、起床予約フラグ６１を「オン」に設定する際の判断について述べる。
図５は、電源制御部２３とＣＰＵ部２７の周辺を詳細に例示する図である。
不図示の外部ＰＣから送られた電気信号は、ネットワーク（ＬＡＮ）を経由して、ネットワーク部２４に入り、その中のＰＨＹ５３でアナログ・デジタル変換される。該デジタル変換されたデータに基づいて、ＬＡＮコントローラ（ＬＡＮＣ）５４がデータパケットを生成する。該生成されたデータパケットは、内部バッファ（ＢＵＦ）５５を介して、メモリ部２５上に作られた、例えばデスクリプタテーブルから成るバッファ（ＢＵＦ）５６上に保存される。
【００４９】
例えば、イーサネット（登録商標）を介した通信の場合、受信データは、イーサネット（登録商標）フレームと呼ばれる単位のデータである。受信データは、プロトコルスタックと呼ばれるソフトウェア（プロトコルスタック５７）で所定の通信手順に基づいて解析され、例えばＴＣＰ／ＩＰのソケットＩ／Ｆ５８を介して、アプリケーション５９に渡される。なお、プロトコルスタック５７は、コンピュータ通信を実現するための一連の通信プロトコル群を実装しているソフトウェアモジュールであり、受信データをプロトコル毎に処理する通信処理機能を有する。
【００５０】
また、アプリケーション５９は、ソケットＩ／Ｆ５８に対して、ソケットを指定して回線を開き、データの送受信を行うソフトウェアである。ソケットＩ／Ｆ５８は、ソケットを用いて、データの受け渡しを行うためのソフトウェアモジュールであり、プロトコルスタック５７とアプリケーション５９との間でデータの受け渡しを仲介する。アプリケーション５９は、ソケットＩ／Ｆ５８を介して受け取ったデータの中身を解析して、そのパケットが例えばジョブ等の起床要求となるべきものであるか否かを判断する。
【００５１】
ネットワークは拡張し続けているインタフェースであり、上述のように複数のハードウェア上のバッファと、ソフトウェアで作られたバッファ（実体はメモリ部２５上）を介してアプリケーションに通知される。
【００５２】
ここで、ＴＣＰ／ＩＰのプロトコルによる印刷ジョブ送信を例にして説明する。ＴＣＰ／ＩＰのプロトコルスタックのウインドウサイズ（一度に受信できるデータのサイズ）に収まってしまうような小さいジョブは、プロトコルスタック５７内部（実体はメモリ部２５上）に存在している状態で、ＴＣＰ／ＩＰの転送は完全に完了する。従って、該印刷ジョブの送信元のホストＰＣ（不図示）は、この時点で送信終了とみなしてしまい、「印刷完了」状態になってしまう。
【００５３】
しかし、アプリケーション５９は、ソケットＩ／Ｆ５８に対して受信要求を出しているだけであり、上記のようにプロトコルスタック５７内部にデータが存在している状態では、アプリケーション５９は印刷ジョブを受信したこと自体を検知できない。つまり、この状態では、アプリケーション５９は、図３のＳ３０２のイベント（キャンセル要因）は発生しない。
【００５４】
この状態で、全外部デバイス終了となると（図３のＳ３０３でＹｅｓとなると）、全内部デバイスの終了処理（図３のＳ３０８）に入ってしまうため、ＭＦＰ１００は、途中復帰することが不可能な状態になる。つまり、ジョブがメモリ上にあっても、ＭＦＰ１００はサスペンド状態に移行することになる。
【００５５】
このようにＭＦＰ１００がサスペンド状態に移行した状態で、その後、ホストＰＣから起床要因となるネットワークパケットがＭＦＰ１００に送信された場合、ＭＦＰ１００では、図４のＳ４０２の条件が達成され、レジューム動作が開始される。この結果、ＭＦＰ１００では、上記メモリ上に保持されたままサスペンドされたジョブが処理されることになる。
【００５６】
しかし、このようなパケットが送信されるか否かは、外部Ｉ／Ｆの先にある送信元の仕様によるため、保障されていない。このようなパケットが送信されなければ、サスペンド状態のまま上記ジョブが処理されない可能性がある。
【００５７】
例えば、イーサネット（登録商標）１パケットで完了するジョブだった場合、次のパケットが送信される保証はなく、バッファ５５にジョブパケットが存在する状態でサスペンドに入ってしまう場合も考えられる。この場合、ＣＰＵ部２７のソフトウェアでは、いかなる方法を用いても、このジョブを検知することはできない。そこで、本実施例では、起床予約フラグ６１を用いた復帰の予約を行う。
【００５８】
上述したように、起床予約フラグ６１のオン操作は、サスペンド処理の途中であって、サスペンドをキャンセルできないタイミングからサスペンド完了まで有効となる。即ち、図３のフローチャートではＳ３０８〜終了までの間（図６の状態６６の区間）でのみ、起床予約フラグ６１のオン操作が有効となる。
【００５９】
以下、起床予約フラグ６１のオン操作について説明する。
（Ａ）ネットワーク部２４による起床予約フラグ６１のオン操作について説明する。バッファ５５にパケットが留まる可能性を救うために、ネットワーク部２４が起床要因となるパケットを監視し、該起床要因が発生したと判断した場合、割り込み線６０をアサートして、電源制御部２３に対し起床予約フラグ６１をセットさせる。この場合、イベント７２を、ＣＰＵ部２７を介在せずに割り込み線６０によって電源制御部２３に通知する。これにより、電源制御部２３では起床予約フラグが「オン」となり、スタンバイ中、かつ起床予約状態となる。なお、全てのパケットを対象にアサートした場合、ブロードキャストやアープパケット等でも起床予約がされてしまう。そのため、ネットワーク部２４では、ブロードキャストやアープパケット等ではなく、ジョブやＳＮＭＰ等の応答を必要としているパケットかを判断して割り込み線６０をアサートすることでより正確な起床予約を行うことが可能となる。
【００６０】
（Ｂ）プロトコルスタック５７による起床予約フラグ６１のオン操作について説明する。プロトコルスタック５７は、一般的にカーネル内ライブラリに存在する。ＩＰ、ＴＣＰ等、ネットワークの各プロトコルがスタック的に接続されたものであり、各々が独立した一時バッファを有する。スタックのレイヤに応じて判断できる情報は異なる。最も一般的なもので言えば、ＴＣＰプロトコルスタックのＴＣＰポートナンバーである。これは送信者・受信者共に任意のナンバーを使用するという疎結合な約束により通信を多重化することが可能な技術であり、印刷に使用するＲＡＷポートは９１００、ＬＰＲポートは５１５等の規定がある。このプロトコルスタック内部でポートナンバーを判定して任意のポートに割り振る処理があるが、この時点でそのデータがおおよそ印刷ジョブであろうと判断することができる。外部からの受信によりＣＰＵ部２７のカーネルは受信処理を行う。このプロトコルスタック内で、イベント７２をＣＰＵ部２７が発行し、電源制御部２３に通知する。これにより、電源制御部２３では起床予約フラグ６１を「オン」し、スタンバイ中、かつ起床予約状態となる。このように、プロトコルスタック５７が、ポートナンバーに応じて起床予約フラグ６１をセットするＣＰＵ部２７の命令を発行することにより、必要なデータ受信で起床予約することが可能となる。
【００６１】
（Ｃ）ソケットＩ／Ｆ５８による起床予約フラグ６１のオン操作について説明する。ソケットＩ／Ｆ５８は、カーネルのデータ送受信を多重化するための仕組みである。先に説明したポートと同じような疎結合型のデータ多重化方法で、このレイヤにバッファを持っている場合がある。仮想メモリマッピングを変更することでポインタ渡しを行う場合もある。アプリケーション５９は、カーネルのソケットを介して、例えばＴＣＰの任意ポートのデータを受信する。外部からの受信に対応したＣＰＵ部２７のアプリーションは受信処理を行う。受信した時点で、イベント７２をＣＰＵ部２７が発行し、電源制御部２３に通知する。電源制御部２３では起床予約フラグ６１を「オン」し、スタンバイ中、かつ起床予約状態となる。なお、ソケットは、ソケット毎に使用用途がほぼ確定している。このため、ソケットＩ／Ｆ５８は、印刷用途等のソケットからデータを取得できた時点で、起床予約フラグ６１をセットするようにＣＰＵ部２７の命令を発行することにより、必要なデータ受信で起床予約することが可能となる。
【００６２】
なお、アプリケーション５９でも起床要因と判断した場合は、その時点で起床予約フラグ６１をセットするようにＣＰＵ部２７の命令を発行し、起床予約してもよい。
【００６３】
上記説明では、上記（Ａ）、（Ｂ）、（Ｃ）の全てを採用する構成を示したが、上記（Ａ）、（Ｂ）、（Ｃ）の全てを採用しても良いし、いずれかを選択的に採用する構成でもよい。
【００６４】
上記（Ａ）、（Ｂ）、（Ｃ）の各階層では、アプリケーション５９にデータが渡るまでの時間、一時的に保持可能なバッファサイズが異なる。また、各階層において、パケットデータの解析方式が違い、この違いは、起床要因の判断の信頼性に関わってくる。これらの判断は、ネットワークでは一般的なものであるため、詳細な説明は省く。しかし、ネットワーク部２４にＣＰＵを搭載してサスペンド中のネットワーク応答を行うシステムにおいては（Ａ）の判断を用いることで、省電力メリットが最大となる。
【００６５】
なお、上記実施例では、ＣＰＵ部２７をオフにするサスペンドによる省電力モードを示した。しかし、ＣＰＵ部２７を割り込み待機状態（ドーズモード）等に移行させるWait For Interrupt型のスリープ制御においては、（Ｂ）の判断を用いることで、信頼性が最も高いシステムを構築できる。このように、構成と必要な信頼性、電力に応じて（Ａ）（Ｂ）（Ｃ）を選択すればよい。
【００６６】
また、ＰＤＬデータ等、アプリケーション５９が受信データをある程度受け取らなければジョブを判断できない場合もある。そのような場合は、ソケットＩ／Ｆ５８は、アプリケーション５９がソケットＩ／Ｆ５８からデータを受信開始した時点で、起床予約フラグ６１をセットするＣＰＵ部２７の命令を発行することより、必要なデータ受信で起床予約ことが可能となる。
【００６７】
以上、説明したように、本実施形態１のＭＦＰ１００では、サスペンドに入る間際に発生した外部からの問い合わせやジョブ等を処理途中のままサスペンドに入り、そのまま起床しないという障害を回避することができる。本実施例では、このような場合には、起床予約状態６３としてサスペンドに入り、サスペンド中かつ一定時間経過待ち状態（図６の６４）から、自動的にレジューム処理（図６の６８）が開始される。
【００６８】
なお、上記説明では、外部インタフェースでの受信に基づく復帰予約の例として、ネットワーク部２４でデータ受信する場合の復帰予約について説明したが、他の外部インタフェースでデータ受信して復帰予約する構成でもよい。例えば、ＵＳＢ部３１でデータ受信して復帰予約する構成でもよい。
【００６９】
ＵＳＢ部３１も代表的なブロックデバイスである。ＵＳＢ部３１とＣＰＵ部２７は、上述したネットワーク部２４とＣＰＵ部２７の場合と、おおよそ同じバッファ構成を取ることになるため、詳細な説明は省略する。本発明は、具体的な外部インタフェースデバイスをネットワーク部２４やＵＳＢ部３１等に限定するものではなく、その他の外部インタフェースデバイスを用いてもよい。例えば、図示しないBluetooth（登録商標）、赤外線、Thunderbolt等のその他の外部インタフェースでデータ受信して復帰予約する構成でもよい。本発明は、外部インタフェースのハードウェアから起床予約をセットする、また、外部インタフェースから受信したデータを処理するバッファの状態をソフト的に監視して起床予約を行う構成であれば、他の構成であってもよい。
【００７０】
また、上記実施例では、起床予約フラグ６１を、電源制御部２３内で保持する構成を示した。しかし、起床予約フラグ６１を、電源制御部２３外で保持する構成であってもよい。起床予約フラグ６１は、サスペンド状態で電源制御部２３が読み取り可能な記憶領域であれば、どこに保存されていてもよい。
【００７１】
また、起床予約フラグ６１を用いて復帰を予約する構成を示したが、他の方法により復帰を予約する構成であってもよい。例えば、サスペンド処理を中断できない状態で、復帰要因が発生した場合、全内部デバイス終了のタイミング等で、リアルタイムクロックにスリープ最小時間をセットし、電源系Ｂ２１を落とすようにせいてもよい。
【００７２】
以上示したように、ＭＦＰ１００では、サスペンドモードに入る間際に外部インタフェースからイベントを受信した際、一度サスペンドモードに入ってから自起動起床させ、サスペンドから自動起動後、イベントが継続処理されるように構成する。この構成により、サスペンドモードに入る間際に外部インタフェースからイベントを受信したまま、該イベント処理自体がサスペンドされたままになる事象の発生を抑えることができる。その結果、サスペンド状態等の省電力状態に移行する直前に外部からの受信した要求を、ユーザの手を煩わせることなく自動で処理できるようにすることが可能となる。
【００７３】
さらに、従来の画像形成装置では、サスペンドモードに入る直前では、ユーザ操作やリアルタイムクロック（ＲＴＣ）から指定時刻アラーム等があった場合でも、ユーザの意図に反し、そのままサスペンドモードに移行してしまっていた。しかし、本実施例のＭＦＰでは、サスペンドモードに入る間際に操作部１５のキー操作や不図示のリアルタイムクロック（ＲＴＣ）から指定時刻アラーム等があった場合にも、一度サスペンドモードに入ってから自起動起床させる。この構成により、ユーザの意図に反してサスペンドモードに移行してしまう現象の発生を抑えることができる。
【００７４】
以下、図７を用いて、図３のＳ３０８〜Ｓ３１１の処理のうちの、特にネットワーク部２４の終了処理について説明する。
図７は、図３のＳ３０８〜Ｓ３１１の処理のうちの、特にネットワーク部２４の終了処理の一例を示すフローチャートである。本フローチャートに基づけば、起床要因の有無に応じて、通信速度変更処理の実施の有無が変更される。なお、このフローチャートの処理は、ＣＰＵ部２７がＨＤＤ部２６等に記録されたプログラムを読み出して実行することにより実現されるものである。
【００７５】
まず、Ｓ７０１において、ＣＰＵ部２７は、メモリ部２５に通信速度予約フラグを「オン」にすることで、通信速度変更予約処理を行う。なお、図７のフローチャートの開始時には、通信速度予約フラグは「オフ」に初期化されているものとする。
【００７６】
次に、Ｓ７０２において、ＣＰＵ部２７は、起床要因が発生したか否かを判定する。そして、起床要因が発生していないと判定した場合（Ｓ７０２でＮｏの場合）、ＣＰＵ部２７は、Ｓ７０５に処理を進める。
【００７７】
一方、起床要因が発生したと判定した場合（Ｓ７０２でＹｅｓの場合）、ＣＰＵ部２７は、Ｓ７０３に処理を進める。ＣＰＵ部２７は、Ｓ７０３において、電源制御部２３に起床予約処理を行う（電源制御部２３の起床予約フラグ６１をオンする）とともに、Ｓ７０４において、通信速度変更予約フラグをクリアすることで通信速度変更予約をキャンセルし、Ｓ７０５に処理を進める。
【００７８】
Ｓ７０５では、ＣＰＵ部２７は、上記Ｓ７０１で設定された通信速度予約の有無を判定する。ＣＰＵ部２７は、通信速度予約フラグが「オン」の場合には通信速度予約があると判定し（Ｓ７０５でＹｅｓと判定し）、ネットワーク部２４に対し、通信速度変更処理を実行し（Ｓ７０６）、Ｓ７０７に処理を進める。一般的に通信速度が遅い設定ほどネットワーク部２４の消費電力が低くなる傾向があるため、上記Ｓ７０６にて、ネットワーク部２４の通信速度を低速に変更することで、サスペンド時の消費電力を抑える狙いがある。しかし、Ｓ７０６に伴いネットワーク部２４のリンクダウンが発生するため、設定が完了しリンクアップするまでの期間は通信不能な状態となる。
【００７９】
一方、ＣＰＵ部２７は、通信速度予約フラグが「オフ」の場合には通信速度予約がないと判定し（Ｓ７０５でＮｏと判定し）、そのままＳ７０７に処理を進める。通信速度予約フラグが「オフ」の場合は、上記Ｓ７０３で起床予約が設定されてＳ７０４を実行した場合である。このため、この場合は、サスペンド期間が短いことが予め分かるために、消費電力抑制よりもネットワーク応答性を重視するために、通信速度変更処理を実行しない。 
【００８０】
Ｓ７０７では、ＣＰＵ部２７は、ネットワーク部２４をサスペンドモードへ移行させる処理を実行する。具体的には、ネットワーク部２４が図４のＳ４０２の処理を実行可能なように、パケット受信時に起床予約フラグ６１を設定する動作モードに切り替える。これにより、ネットワーク部２４は、図３のＳ３１１で、デバイス終了状態であると判定されるようになる。
【００８１】
上記Ｓ７０７の完了後、Ｓ７０８において、ＣＰＵ部２７は、起床要因が発生したか否かを確認する。そして、起床要因が発生していないと判定した場合（Ｓ７０８でＮｏの場合）、ＣＰＵ部２７は、そのまま本フローチャートの処理を終了する。一方、起床要因が発生したと判定した場合（Ｓ７０８でＹｅｓの場合）、ＣＰＵ部２７は、電源制御部２３に起床予約処理を行い、本フローチャートの処理を終了する。この場合、ネットワーク部２４は既にサスペンド状態になっているため、ＣＰＵ部２７は、ネットワーク部２４の通信速度変更予約キャンセル処理を実施しない。すなわち、例えば上記Ｓ７０５以降に初めて起床要因が発生した場合は、ネットワーク部２４は通信速度変更処理（Ｓ７０６）がなされた上でサスペンドモードに移行することになる。
【００８２】
なお、図７の説明では、Ｓ７０３で起床要因を予約した場合、ＣＰＵ部２７が、Ｓ７０４で通信速度変更予約をキャンセルし、Ｓ７０５で通信速度変更予約の有無を判定する構成を説明した。即ち、ＣＰＵ部２７が、起床要因を予約していない場合には通信速度変更処理を実行し、一方、起床要因を予約した場合には通信速度変更処理を実行しないように制御する構成を説明した。しかし、電源制御部２３の起床予約フラグ６１がオンされると、電源制御部２３がネットワーク部２４へ出力される起床予約を示す信号をアサートするようにする。そして、Ｓ７０７でＣＰＵ部２７からサスペンドモードへ動作モードを移行させる指示を受けたネットワーク部２４が、自ら、上記起床予約を示す信号を判定し、自ら、起床予約がない場合に通信速度を変更し、起床予約がある場合に通信速度を変更しない制御を行う構成としてもよい。即ち、ＭＦＰ１００がサスペンド状態に移行する場合に、起床予約がない場合には、ネットワーク部２４の通信速度の設定を変更する変更処理を行い、起床予約がある場合には前記変更処理を行わない制御を実現できる構成であればよい。
【００８３】
次に、図８を用いて、起床予約フラグに基づきレジューム時の通信速度変更処理の制御を変更する処理について説明する。
図８は、本実施例のレジューム処理の一例を示すフローチャートである。本フローチャートは、起床予約フラグに基づきレジューム時の通信速度変更処理の制御を変更する処理に対応する。本フローチャートに従えば、起床予約フラグがオンである場合に通信応答性を重視したレジューム処理を実施することができる。その際、図７において起床要因発生タイミングによっては、通信速度の整合性が取れないケースが発生しうるが、後述の図９に示す処理によって解消する。なお、このフローチャートの処理は、ＣＰＵ部２７がＨＤＤ部２６等に記録されたプログラムを読み出して実行することにより実現されるものである。
【００８４】
まず、Ｓ８０１において、ＣＰＵ部２７は、全内部デバイスの復帰処理を実行する。この処理は、図３のＳ３０８の全内部デバイス終了処理と対を成す処理であり、各内部デバイスについて、動作モードを通常モードに切り替えた後、退避しておいた設定情報に基づき、デバイスの再設定を行う。
【００８５】
次に、Ｓ８０２において、ＣＰＵ部２７は、電源制御部２３上の起床予約フラグ６１の有無（オン／オフ）を調べる。そして、起床予約フラグ６０１が「オフ」と判定した場合（Ｓ８０２でＮｏの場合）、ＣＰＵ部２７は、Ｓ８０３に処理を進める。Ｓ８０３では、ＣＰＵ部２７は、ネットワーク部２４に対し、通常動作時の通信速度に再設定し、８０４に処理を進める。この処理により、図７のＳ７０６において低速に変更された通信速度が高速の値に再設定されるが、Ｓ７０６と同様に、変更過程において一定の通信不能期間が発生する。
【００８６】
一方、起床予約フラグ６０１が「オン」と判定した場合（Ｓ８０２でＹｅｓの場合）、ＣＰＵ部２７は、通信速度設定変更を行うことなく、そのままＳ８０４に処理を進める。Ｓ８０４では、ＣＰＵ部２７は、全外部デバイスの復帰処理を実行する。なお、Ｓ８０４の詳細は、図３のＳ３０４と同一の処理であるため説明を省略する。
【００８７】
次に、図９を用いて、レジューム後に低速な通信速度の場合に通信速度を再設定する際の処理について説明する。
図９は、レジューム後に通信速度が低速な場合に通信速度を再設定する処理の一例を示すフローチャートである。本処理は、図７のＳ７０７実行以降に起床要因が発生したケースにおいて、通信速度が低速に変更されたが、起床予約フラグが「オン」であるためにレジューム時に通信速度再設定（図８のＳ８０３）が実行されなかったケースのための再設定処理である。この処理は、例えば通常状態に復帰した直後や復帰後に定期的に実行される。なお、本フローチャートの処理は、ＣＰＵ部２７がＨＤＤ部２６等に記録されたプログラムを読み出して実行することにより実現されるものである。
【００８８】
まず、Ｓ９０１において、ＣＰＵ部２７は、起床予約フラグ６１の値とネットワーク部２４の通信速度設定の確認を行う。そして、起床予約フラグ６１がオン、又は、ネットワーク部２４の通信速度設定が「高速」であると判定した場合（Ｓ９０１でＮｏの場合）、ＣＰＵ部２７は、そのまま本フローチャートの処理を終了する。
【００８９】
一方、起床予約フラグ６１がオフ、且つ、ネットワーク部２４の通信速度設定が「低速」であると判定した場合（Ｓ９０１でＹｅｓの場合）、ＣＰＵ部２７は、Ｓ９０２に処理を進める。Ｓ９０２では、ＣＰＵ部２７は、前回ネットワークジョブからの経過時間を調べる。
【００９０】
そして、前回ジョブから所定時間が経過していないと判定した場合（Ｓ９０２でＮｏの場合）、ＣＰＵ部２７は、そのまま本フローチャートの処理を終了する。
【００９１】
一方、前回ジョブから所定時間が経過していると判定した場合（Ｓ９０２でＹｅｓの場合）、即ちネットワーク部２４による通信が所定の期間以上ない場合、ＣＰＵ部２７は、通信速度再設定処理を実行しても良いと判断し、Ｓ９０３に処理を進める。Ｓ９０３では、ＣＰＵ部２７は、通信速度変更処理を実行する。なお、通信速度変更処理の詳細は図８のＳ８０３と同一の処理であるため説明を省略する。
【００９２】
なお、本実施例では、図９のＳ９０１及びＳ９０２の判定条件に基づき、通信速度の再設定処理実行の可否を判定している。しかし、Ｓ９０２の代わりに又はＳ９０２に加えて、外部への送信予約設定を確認し、外部への送信予約設定が無いことを踏まえてから（外部への送信予約設定が無い場合に）、通信速度の再設定処理を実行するなど、他の条件に基づいて、通信速度の再設定処理実行の可否を判定するようにしてもよい。また、単に、通常状態において、ネットワーク部２４の通信速度設定が低速の場合に、ネットワーク部２４の通信速度設定を高速に戻す通信速度変更処理を実行するようにしてもよい。
【００９３】
以上示したように、本実施例によれば、サスペンドモードから即座に復旧するようなケースにおいては応答性を重視したレジューム処理を、それ以外のケースでは省電力性能を重視したサスペンド・レジューム機能を備えたシステムを提供することができる。即ち、サスペンドモード滞在時間が一定時間よりも長い場合にのみ、ネットワーク部２４の通信速度変更処理を実行する。例えば、サスペンドモードから即座に遷移するような起床予約設定がなされている場合は、ネットワーク部２４の通信速度変更処理を実行しないことで、通信応答性能を高めることができる。
【００９４】
［実施形態２］
以下、本発明の実施形態２について図面を参照しながら詳述する。
図１０はＭＦＰコントローラ部１２の概略構成の一例を示す図である。なお、同じくコントローラ部１２の概略構成を示す図２とはＨＤＤ部が属する電源系のみ異なっており、本図においてＨＤＤ部１１２６は電源系Ａ２２に属している。また、電源制御部２３は、ＨＤＤ部１１２６の電源投入および電源断の制御を行うことができる。なお、一般的にＨＤＤ部１１２６は電源投入された後、ＨＤＤ部１１２６上のデータをアクセス可能になるまで、数秒から数十秒の時間を要する。これは、電源投入によってＨＤＤ部１１２６内に備わる円盤状の磁気ディスクの回転が開始されるが、回転速度が所定の速度に達しない限り磁気ディスク上のデータへのアクセスを行うことができない為である。また、この回転開始処理はＨＤＤ１１２６部の回転機構に負荷を与える為、一般的に回転開始処理の回数を低減させる為に、通電回数を抑制することが望ましいとされている。よって、ＨＤＤ部１１２６の電源をＯＮのまま維持し、磁気ディスクの回転速度を常に維持することによって、応答性向上と損耗抑制の効果が期待される。この場合、サスペンド中もＨＤＤ部１１２６への通電がなされる為、消費電力が増加するデメリットがあるが、起床予約時はサスペンド中の期間が短い為、このデメリットを無視することができる。よって前述の起床予約がなされている場合はＨＤＤ部１１２６の通電を維持することがレジューム後の応答性の向上に繋がると言える。
【００９５】
以下、図１１を用いて、図３のＳ３０８〜Ｓ３１１の処理のうちの、特にＨＤＤ部１１２６の終了処理について説明する。
図１１は、図３のＳ３０８〜Ｓ３１１の処理のうちの、特にＨＤＤ部１１２６の終了処理の一例を示すフローチャートである。本フローチャートに基づけば、起床要因の有無に応じて、ＨＤＤ１１２６部の通電状態変更処理の実施の有無が変更される。なお、このフローチャートの処理は、ＣＰＵ部２７がＨＤＤ部１１２６やメモリ部２５に記録されたプログラムを読み出して実行することにより実現されるものである。以降、ＨＤＤ部１１２６は通電が解除されうる為、他のサスペンド処理に必要なプログラムは、予めメモリ部２５にロードしておく必要がある。
【００９６】
まず、Ｓ１１０１において、ＣＰＵ部２７は、メモリ部２５にＨＤＤ通電解除予約フラグを「オン」にすることで、ＨＤＤ通電解除予約処理を行う。なお、図１１のフローチャートの開始時には、ＨＤＤ通電解除予約フラグは「オフ」に初期化されているものとする。
【００９７】
次に、Ｓ１１０２において、ＣＰＵ部２７は、起床要因が発生したか否かを判定する。そして、起床要因が発生していないと判定した場合（Ｓ１１０２でＮｏの場合）、ＣＰＵ部２７は、Ｓ１１０５に処理を進める。
【００９８】
一方、起床要因が発生したと判定した場合（Ｓ１１０２でＹｅｓの場合）、ＣＰＵ部２７は、Ｓ１１０３に処理を進める。ＣＰＵ部２７は、Ｓ１１０３において、電源制御部２３に起床予約処理を行う（電源制御部２３の起床予約フラグ６１をオンする）。更にＳ１１０４において、ＨＤＤ通電解除予約フラグをクリアすることでＨＤＤ通電解除予約をキャンセルし、Ｓ１１０５に処理を進める。
【００９９】
Ｓ１１０５では、ＣＰＵ部２７は、上記Ｓ１１０１で設定されたＨＤＤ通電解除予約の有無を判定する。ＣＰＵ部２７は、ＨＤＤ通電解除予約フラグが「オン」の場合にはＨＤＤ通電解除予約があると判定し（Ｓ１１０５でＹｅｓと判定し）、ＨＤＤ部１１２６に対し、通電解除処理を実行し（Ｓ１１０６）、Ｓ１１０７に処理を進める。ＨＤＤ部１１２６の通電解除がなされた場合、サスペンド期間の消費電力を抑えることが可能となるが、レジューム時に前述したＨＤＤ１１２６の回転待ち時間が発生し、システムの応答性は低下する。
【０１００】
一方、ＣＰＵ部２７は、ＨＤＤ通電解除予約フラグが「オフ」の場合にはＨＤＤ通電解除予約がないと判定し（Ｓ１１０５でＮｏと判定し）、そのままＳ１１０７に処理を進める。ＨＤＤ通電解除予約フラグが「オフ」の場合は、上記Ｓ１１０３で解除予約が設定されてＳ１１０４を実行した場合である。このため、この場合は、サスペンド期間が短いことが予め分かるために、消費電力抑制よりもＨＤＤ応答性を重視するために、ＨＤＤ通電解除処理を実行しない。 
【０１０１】
Ｓ１１０７では、ＣＰＵ部２７は、ＨＤＤ部１１２６をサスペンドモードへ移行させる処理を実行する。具体的には、ＣＰＵ部２７からＨＤＤ部１１２６へのアクセス要求を遮断するようにレジスタ設定を行う。これにより、ＨＤＤ部１１２６は、図３のＳ３１１で、デバイス終了状態であると判定されるようになる。
【０１０２】
上記Ｓ１１０７の完了後、Ｓ１１０８において、ＣＰＵ部２７は、起床要因が発生したか否かを確認する。そして、起床要因が発生していないと判定した場合（Ｓ１１０８でＮｏの場合）、ＣＰＵ部２７は、そのまま本フローチャートの処理を終了する。一方、起床要因が発生したと判定した場合（Ｓ１１０８でＹｅｓの場合）、ＣＰＵ部２７は、電源制御部２３に起床予約処理を行い、本フローチャートの処理を終了する。この場合、ＨＤＤ部１１２６は既にサスペンド状態になっているため、ＣＰＵ部２７は、ＨＤＤ部１１２６の通電解除予約キャンセル処理を実施しない。すなわち、例えば上記Ｓ１１０５以降に初めて起床要因が発生した場合は、ＨＤＤ部１１２６は通電解除処理（Ｓ１１０６）がなされた上でサスペンドモードに移行することになる。
【０１０３】
図１２は、ＨＤＤ部１１２６についてのレジューム処理のフローチャートである。本処理は、起床予約フラグ６１の有無により、ＨＤＤ部１１２６の通電状態を変更する処理であり、図８のレジューム処理の直前に、電源制御部２３によって実施される。まず、電源制御部２３はＨＤＤ部１１２６への通電状態を確認する。ＨＤＤ部１１２６への通電がなされていない場合（Ｓ１２０１のＮｏ）、電源制御部２３はＨＤＤ部１１２６への通電を開始する。一方、既にＨＤＤ部１１２６に通電されている場合（Ｓ１２０１のＹｅｓ）は、通電状態の変更を行わない。この後、ＭＦＰコントローラ部１２は図８に記載のレジューム処理を実施する。
【０１０４】
上記実施形態では、画像形成装置（ＭＦＰ）を例に説明したが、複数の電力状態を切り替えて動作可能であり、外部インタフェースでジョブを受信可能な情報処理装置であれば、本発明を適用可能である。
【０１０５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成が可能である。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１０６】
２１    電源系Ｂ
２２    電源系Ａ
２３    電源制御部
２４    ネットワーク部
２９    節電ボタン
５７    プロトコルスタック
５８    ソケットＩ／Ｆ
５９    アプリケーション
１１２６  ＨＤＤ部
【図１】
2015180527.tif 000003
【図２】
2015180527.tif 000004
【図３】
2015180527.tif 000005
【図４】
2015180527.tif 000006
【図５】
2015180527.tif 000007
【図６】
2015180527.tif 000008
【図７】
2015180527.tif 000009
【図８】
2015180527.tif 000010
【図９】
2015180527.tif 000011
【図１０】
2015180527.tif 000012
【図１１】
2015180527.tif 000013
【図１２】
2015180527.tif 000014