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