(57)【特許請求の範囲】
【請求項１】
外部装置とＴＣＰ通信を実行する画像形成装置であって、
第１の制御部と、
第２の制御部とを備え、
前記第１の制御部は、
前記画像形成装置が第１の電力モードで動作する場合に、前記ＴＣＰ通信に必要な通信接続情報を記憶する第１の記憶手段と、
前記第１の記憶手段が記憶する前記通信接続情報を前記第２の制御部に通知する通知手段とを備え、
前記第２の制御部は、
前記通知手段によって通知された前記通信接続情報を記憶する第２の記憶手段と、
前記外部装置から送信されたパケットを受信する受信手段と、
前記画像形成装置が前記第１の電力モードよりも消費電力が小さい第２の電力モードで動作し、かつ前記受信手段がパケットを受信した場合に、前記第２の制御部が前記第１の制御部の代わりに受信パケットに応答するか否かを判定する判定手段と、
前記判定手段によって前記第２の制御部が前記第１の制御部の代わりに前記受信パケットに応答すると判定された場合に、前記受信パケットに対する応答パケットを前記外部装置に送信する送信手段と、
前記送信手段が前記応答パケットを前記外部装置に送信する場合に、前記第２の記憶手段が記憶する前記通信接続情報を更新する更新手段とを備える、
ことを特徴とする画像形成装置。
【請求項２】
前記第２の制御部は、前記判定手段によって前記第２の制御部が前記第１の制御部の代わりに前記受信パケットに応答しないと判定された場合に、前記第２の電力モードから前記第１の電力モードに移行するように制御することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１の制御部は、前記画像形成装置が前記第２の電力モードから前記第１の電力モードに移行した場合に、前記受信パケットに応答することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記画像形成装置が前記第２の電力モードから前記第１の電力モードに移行する場合に、前記第２の記憶手段が記憶する前記通信接続情報が前記第２の制御部から前記第１の制御部に通知されることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記判定手段は、前記受信パケットに基づいて、前記第２の制御部が前記第１の制御部の代わりに前記受信パケットに応答するか否かを判定することを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記第１の制御部は、前記画像形成装置が前記第１の電力モードから前記第２の電力モードに移行するための条件を満たしたことを検知する検知手段を更に備え、
前記通知手段は、前記検知手段が前記条件を満たしたことを検知した場合に、前記第１の記憶手段が記憶する前記通信接続情報を前記第２の制御部に通知する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
前記第１の制御部は、前記画像形成装置が前記第２の電力モードで動作する場合、前記第１の電力モードで動作しているときよりも消費電力が小さい状態であることを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
前記画像形成装置が前記第１の電力モードで動作する場合に、前記第１の制御部に電力が供給され、前記画像形成装置が前記第２の電力モードで動作する場合に、前記第１の制御部には電力が供給されないことを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項９】
前記通信接続情報は、前記ＴＣＰ通信によるコネクションを保持するために当該通信の実行に伴って動的に更新される値を含むことを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
第１の制御部と、第２の制御部とを備え、外部装置とＴＣＰ通信を実行する画像形成装置において実行される省電力制御方法であって、
前記第１の制御部が、
前記画像形成装置が第１の電力モードで動作する場合に、前記ＴＣＰ通信に必要な通信接続情報を記憶する第１の記憶工程と、
前記第１の記憶工程において記憶する前記通信接続情報を前記第２の制御部に通知する通知工程と、
前記第２の制御部が、
前記通知工程において通知された前記通信接続情報を記憶する第２の記憶工程と、
前記外部装置から送信されたパケットを受信する受信工程と、
前記画像形成装置が前記第１の電力モードよりも消費電力が小さい第２の電力モードで動作し、かつ前記受信工程においてパケットを受信した場合に、前記第２の制御部が前記第１の制御部の代わりに受信パケットに応答するか否かを判定する判定工程と、
前記判定工程において前記第２の制御部が前記第１の制御部の代わりに前記受信パケットに応答すると判定された場合に、前記受信パケットに対する応答パケットを前記外部装置に送信する送信工程と、
前記送信工程において前記応答パケットを前記外部装置に送信する場合に、前記第２の記憶工程において記憶する前記通信接続情報を更新する更新工程と、
を有することを特徴とする省電力制御方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の画像処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続され、省電力制御を行う画像形成装置及び前記画像形成装置の省電力制御方法とプログラムに関する。
【背景技術】
【０００２】
近年の環境問題への取り組みとして、プリンタや複合機などの画像形成装置における省電力化が進められている。その実現方法の一つとして、画像形成装置上の操作パネルの操作やネットワークを介した印刷ジョブの投入などが一定時間行われなかった場合に省電力状態に移行して、消費電力を抑えることが一般に行われている。特許文献１には、通常動作時の動作制御とは別に、省電力状態で動作制御を行う省電力制御機能を備えた通信制御装置が提案されている。この省電力制御機能は、省電力状態に移行する前に予め定められた条件を通信制御装置に通知してから省電力モードに移行する。そしてその後、省電力モードでの動作時に、通信制御装置がネットワークからパケットを受信した場合、そのパケットが予め定められた条件を満たすか否かに応じて画像形成装置を非省電力状態に復帰させるか否かを判定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２５９９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、省電力状態から非省電力状態へ復帰すべきかどうかを固定のパケットパターンに基づいて判定していた。しかし、このようなパケットを送受信する通信プロトコルでは、パケットに含まれる情報量が多くなっており、また通信シーケンスが複雑である。そのためネットワークから受信したパケットの構造が複雑になると、省電力状態から復帰すべきかどうかを正確に判定できなくなるという課題がある。
【０００５】
また、通信プロトコルの種別によっては、一旦確立したコネクションを長時間保持し続ける場合がある。このような通信プロトコルで通信しながら、非省電力状態から省電力状態への移行や、省電力状態から非省電力状態への移行を行う場合、固定のパケットパターンを登録するだけでは、通信のためのコネクションを保持することができない。その結果、非省電力状態でコネクションを保持するような通信プロトコルでは省電力状態へ移行できなくなる。またＨＴＴＰ，ＦＴＰ，ＣＩＦＳプロトコルのような、一般的に使用される多くのプロトコルはコネクションを必要とするプロトコルである。従って、これらのプロトコルでの動作時には省電力状態へ移行できなくなり、省電力の効率を大きく低下させてしまうことになる。
【０００６】
本発明の目的は上記従来技術の問題点を解決することにある。
【０００７】
本願発明の特徴は、通信の実行に伴って更新される通信接続情報を必要とする通信プロトコルを利用する場合に、省電力状態から非省電力状態への復帰を適切に制御できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
外部装置とＴＣＰ通信を実行する画像形成装置であって、
第１の制御部と、
第２の制御部とを備え、
前記第１の制御部は、
前記画像形成装置が第１の電力モードで動作する場合に、前記ＴＣＰ通信に必要な通信接続情報を記憶する第１の記憶手段と、
前記第１の記憶手段が記憶する前記通信接続情報を前記第２の制御部に通知する通知手段とを備え、
前記第２の制御部は、
前記通知手段によって通知された前記通信接続情報を記憶する第２の記憶手段と、
前記外部装置から送信されたパケットを受信する受信手段と、
前記画像形成装置が前記第１の電力モードよりも消費電力が小さい第２の電力モードで動作し、かつ前記受信手段がパケットを受信した場合に、前記第２の制御部が前記第１の制御部の代わりに受信パケットに応答するか否かを判定する判定手段と、
前記判定手段によって前記第２の制御部が前記第１の制御部の代わりに前記受信パケットに応答すると判定された場合に、前記受信パケットに対する応答パケットを前記外部装置に送信する送信手段と、
前記送信手段が前記応答パケットを前記外部装置に送信する場合に、前記第２の記憶手段が記憶する前記通信接続情報を更新する更新手段とを備える、
ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、通信の実行に伴って更新される通信接続情報を必要とする通信プロトコルを利用する場合に、省電力状態から非省電力状態への復帰を適切に制御することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る画像形成装置を使用したネットワークシステムの構成を示す図。
【図２】本実施形態に係る画像形成装置の構成を示すブロック図。
【図３】実施形態に係る画像形成装置のソフトウェア構成を説明する図。
【図４】本実施形態で通信に利用されるパケットのフォーマット例を示す図。
【図５】コネクションを必要とする通信で利用されるＴＣＰパケットのフォーマットを説明する図。
【図６】画像形成装置の主制御部と副制御部との間で最低限受け渡す必要のあるデータを説明する図。
【図７】本実施形態１に係る画像形成装置が非省電力状態から省電力状態へ移行する際の主制御部の処理を説明するフローチャート。
【図８】本実施形態１に係る画像形成装置が省電力状態へ移した後の副制御部の処理を説明するフローチャート。
【図９】ＳＭＢ／ＣＩＦＳプロトコルにおける通信パケットフォーマットの概要を示す図。
【図１０】クライアントとサーバ間で最も典型的な正常シーケンスの例を示す図。
【図１１】本実施形態２で、省電力状態時における副制御部の処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
図１は、本発明の実施形態に係る画像形成装置１０１を使用したネットワークシステムの構成を示す図である。
【００１３】
このネットワークシステムでは、プリンタ等の画像形成装置１０１と、パーソナルコンピュータなどの情報処理装置（ＰＣ）１０２がネットワーク１０３を介して接続され、相互に通信可能となっている。
【００１４】
図２は、本実施形態に係る画像形成装置１０１の構成を示すブロック図である。
【００１５】
画像形成装置１０１は、ＭａｉｎＣＰＵ（メインＣＰＵ）２０１が制御する主制御部２００と、ＳｕｂＣＰＵ（サブＣＰＵ）２１１が制御する副制御部２１０を有し、主制御部２００と副制御部２１０はＰＣＩバスにより接続されている。主制御部２００は、読取制御部２０４や印刷制御部２０５を制御し、画像形成装置として周知のコピー、印刷処理等の画像形成処理機能を実現する。これらの機能や省電力制御機能を制御するプログラムは、ＲＯＭ２０２やＨＤＤ２０６に格納されており、この画像形成装置１０１が起動時にＲＡＭ２０３に読み込まれ、メインＣＰＵ２０１により実行される。副制御部２１０はＬＡＮ制御部２１４を介してネットワーク１０３を介してパケットの送受信を行ったり、画像形成装置１０１が省電力状態に移行した後に非省電力状態へ復帰するための制御を行うための最低限の機能を実現する。副制御部２１０のこれらの機能を制御するプログラムはＲＯＭ２１２に格納されており、画像形成装置１０１が起動した時にＲＡＭ２１３に読み込まれ、サブＣＰＵ２１１により実行される。画像形成装置１０１が非省電力状態から省電力状態へ移行する場合、その後で省電力状態から非省電力状態に復帰するための条件となる情報は、主制御部２００から副制御部２１０に送信されてＲＡＭ２１３に格納される。電源制御部２２０は、画像形成装置１０１の各ブロックへの電力供給を制御し、特に、主制御部２００への電力供給を停止して省電力状態に移行させることにより、画像形成装置１０１全体としての消費電力を抑えることが可能である。
【００１６】
図３（Ａ）（Ｂ）は、実施形態に係る画像形成装置１０１のソフトウェア構成を説明する図で、図３（Ａ）は主制御部２００のソフトウェアの構成を示し、図３（Ｂ）は、副制御部２１０のソフトウェアの構成を示している。尚、図に示す各部は、ソフトウェアの機能別に示すソフトウェアブロック（モジュール）を示し、これら各ブロックはＣＰＵにより並行して実行される。
【００１７】
図３（Ａ）において、通常制御部３０１は、非省電力での通常の動作時の画像形成装置１０１の各種動作を制御する。復帰／代理応答情報管理部３０３は、省電力状態から非省電力状態へ復帰する条件や、省電力状態を維持したまま代理応答する条件を示す情報を保持する。スリープ制御部３０２は、復帰／代理応答情報管理部３０３に保持された条件情報やコネクション情報管理部３０５に保持されたコネクション管理情報（通信接続情報）を取得して通信部３０４に送信する。その後、電源制御部２２０に省電力状態へ移行するように指示する。通信部３０４は、副制御部２１０の通信部３１１と通信を行い、副制御部２１０との間で情報の交換を行う。コネクション情報監視ドライバ３０６は、ネットワーク送受信部３１４を通じて副制御部２１０が受信する通信パケットを監視し、後述するコネクション管理情報を取得し、コネクション情報管理部３０５へ格納する。コネクション情報管理部３０５は、コネクション情報監視ドライバ３０６から個々の通信コネクション毎におけるコネクション情報を受け取ってこの情報を保持する。
【００１８】
アプリケーションプロトコル制御部３０７は、非省電力状態で動作する。画像形成装置１０１がクライアントから各種パケットを受信した時に、アプリケーションプロトコル制御部３０７は、通信制御部３０１を通じてアプリケーション毎のデータを取得する。またアプリケーションプロトコル制御部３０７は、スリープ制御部３０２を通じて非省電力状態から省電力状態への移行通知を受け取る。これによって、アプリケーションプロトコル制御部３０７は、非省電力状態から省電力状態への移行を認識することが可能となる。更にアプリケーションプロトコル制御部３０７は、省電力状態へ移行した後、省電力状態から非省電力状態への復帰条件、或いは代理応答するための条件を復帰／代理応答情報管理部３０３にセットする。
【００１９】
次に図３（Ｂ）において、通信部３１１は、主制御部２００の通信部３０４と通信を行い、主制御部２００との間で情報の交換を行う。復帰／代理応答情報保持部３１２は、通信部３１１を介して復帰／代理応答情報管理部３０３が保持していた復帰／代理応答条件情報を受信して保持する。コネクション情報管理部３１５は、通信部３１１を介してコネクション情報管理部３０５が保持していたコネクション管理情報を受信して保持する。復帰／代理応答判定部３１３は、ネットワーク送受信部３１４から受信したパケットを解析する。そして復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２に保持されている情報と、コネクション情報管理部３１５に保持されている情報とを利用して非省電力状態へ復帰させるか、省電力状態のまま代理応答を行うか、未処理とするか判定する。尚、非省電力状態では、ネットワーク送受信部３１４が受信したパケットはそのまま通信部３１１を介して主制御部２００に渡される。一方、省電力状態では、ネットワーク送受信部３１４が受信したパケットは、復帰／代理応答判定部３１３に渡される。
【００２０】
図４は、本実施形態で通信に利用されるパケットのフォーマット例を示す図である。
【００２１】
通信パケットは、Ｅｔｈｅｒヘッダ４０１に続いてＩＰヘッダ４０２が存在する。コネクションを必要とするパケットとして、例えばＴＣＰ（Transmission Control Packet）パケットがある。ＴＣＰパケットは、Ｅｔｈｅｒヘッダ４０１、ＩＰヘッダ４０２に続いてＴＣＰパケットヘッダを備えた構造となっている。尚、ＴＣＰパケットは図５を参照して後述するが、ＴＣＰ仕様は、ＲＦＣ７９３において定義されている。
【００２２】
図５は、コネクションを必要とする通信において利用されるＴＣＰパケットのフォーマットを説明する図である。
【００２３】
一般にコネクションを必要とする通信では、ＴＣＰヘッダ５０１が存在する。コネクションの管理は、ＴＣＰヘッダ５０１に含まれる情報を利用して行われる。このコネクションの管理とは、そのコネクションで送受信される通信パケットの順序制御やパケットロス時に行われる再送制御、パケットの流量制御、輻輳回避制御など、通信の信頼性を確保する制御を指す。送信元ポート番号５０２は２バイトで、通信パケットを送信する側のポート番号を示す。宛先ポート番号５０３は２バイトで、通信パケットを受信する側のポート番号を示す。コネクションを必要とする通信の場合、そのコネクションを閉じるか変更しない限り、送信元ポート番号５０２と宛先ポート番号５０３は固定の値となる。シーケンス番号５０４は４バイトで、送信したパケットのデータの位置を示し、データを送信するたびに送信データのサイズ分値が加算される。
【００２４】
確認応答番号（Ａｃｋ  Ｎｏ）５０５は４バイトで、次に受信すべきデータのシーケンス番号を示す。従って、送信側が次に送るパケットのシーケンス番号５０４と受信パケットの確認応答番号５０５とが同じ場合は、そこまでの通信は正常に行われたことを示す。データオフセット５０６は４ビットで、ＴＣＰパケットにおけるデータ部フィールドが始まる位置を示す。コントロールフラグ５０７は６ビットで、ＴＣＰパケットの制御情報を示す。コントロールフラグ５０７は、１ビットずつ個々でフラグ種別が設定されており、それぞれＵＲＧ，ＡＣＫ，ＰＳＨ，ＲＳＴ，ＳＹＮ，ＦＩＮを示す。ＵＲＧは緊急データが含まれていることを示す。ＡＣＫは、確認応答番号５０５の値が有効であることを示す。ＰＳＨは、受信データを上位のアプリケーションプロトコルに渡さなければならないことを示す。ＲＳＴは、何らかの理由によりコネクションが強制的に切断されたことを示す。ＳＹＮはコネクションの確立要求を示す。ＦＩＮは、今後送信するデータがない、コネクションの切断要求を示す。コネクションを必要とする通信の場合、通信シーケンス毎にコントロールフラグ５０７を制御することによって、コネクションの管理を行う。
【００２５】
ウインドウサイズ５０８は２バイトで、確認応答番号５０５の値で示したデータの位置から、次に受信することができるデータサイズを示す。送信側はウインドウサイズ５０８の値を超えて送信することはできない。このウインドウサイズ５０８の値は、通信シーケンス毎で受信側において処理されるパケットの状態や、受信側で用意している受信バッファのサイズ、受信側のプロトコルスタックの設定などで動的に変化する。チェックサム５０９は２バイトで、ＴＣＰパケットのヘッダ部とデータ部の信頼性を提供する。送信側が個々のパケット毎にチェックサム５０９を計算してパケットに付加する。受信側は、受け取ったパケットからチェックサムをチェックすることによって、通信路上でパケットの破壊がないかをチェックすることができる。緊急ポインタ（ＵＲＧ）５１０は２バイトで、緊急を要するデータの格納位置ポインタを示す。緊急データを受け取った場合の動作は、受信側における個々のアプリケーションが決定する。上述したＴＣＰパケットの個々の内容から、コネクションを必要とする通信を行う場合、通信シーケンス毎に値が動的に変更されるフィールドが存在する。従って、固定長のパケットパターン情報のみで省電力状態から非省電力状態へ復帰するかどうかを判断するのは困難である。
【００２６】
図６は、本実施形態に係る画像形成装置１０１において、主制御部２００と副制御部２１０との間で最低限受け渡す必要のあるデータを説明する図である。尚、図において、２００は主制御部を示し、２１０は副制御部を示している。
【００２７】
この図は、非省電力状態時にコネクションを保持している状況から省電力状態へ移行する場合に、主制御部２００から副制御部２１０へ最低限引き継ぐ必要のあるデータの一覧を示している。また図６は、省電力状態時にコネクションを保持している状況で、非省電力状態へ移行する場合に副制御部２１０から主制御部２００へ最低限引き継ぐ必要のあるデータの一覧も併せて示す。また図６は、送信側と受信側でコネクションを伴って行う通信シーケンスにおいて、最低限引き継ぐ必要のあるデータに変更の可能性があるかについても示す。更に図６は、各状態への移行において、主制御部２００或いは副制御部２１０に対して個々のコネクション毎で保持しているデータを引き継ぐかどうかについても併せて示す。
【００２８】
ＵＤＰ通信など、コネクションが不必要な通信を行う場合には、非省電力状態時にパケットを受信すると主制御部２００は、送信元／宛先ＭＡＣアドレスと送信元／宛先ＩＰアドレス、アプリケーションパケット情報を受信パケットから取得して保持する。その後、非省電力状態から省電力状態へ移行する場合、主制御部２００は、その取得した情報を副制御部２１０へ引き継ぎ、省電力状態に移行する。また省電力状態時にパケットを受信した場合、副制御部２１０は、主制御部２００から渡された送信元／宛先ＭＡＣアドレスと送信元／宛先ＩＰアドレスとパケットパターン情報から受信パケットをチェックする。このチェックの結果、副制御部２１０は省電力状態から非省電力状態に復帰するか、主制御部２００の代わりに応答パケットを生成して代理応答するか、又は受信パケットを無視するかを判定する。この判定結果、代理応答もしくは受信パケットを無視する場合は、副制御部２１０は引き続き省電力状態のまま動作する。一方、省電力状態から非省電力状態に復帰すると判定した場合、副制御部２１０は受信パケットから送信元／宛先ＭＡＣアドレスと送信元／宛先ＩＰアドレスとアプリケーションプロコルパケットの情報を主制御部２００へ引き継ぎ、非省電力状態へ移行する。
【００２９】
次にＴＣＰ通信など、コネクションを必要とする通信を行う場合は、非省電力状態時にパケット受信すると、主制御部２００は、コネクションが不必要な通信時において取得、管理するパケット情報のみではコネクションを管理し保持することはできない。よって、コネクションを管理し保持するためには、少なくとも図６のコネクション管理情報を取得して管理する必要がある。コネクションを保持したまま省電力状態へ移行する場合、主制御部２００は、少なくともコネクション管理情報のコントロールフラグとウインドウサイズ、チェックサム、緊急ポインタ以外の全情報とアプリケーションパケット情報を副制御部２１０へ引き継ぐ。そして省電力状態時に副制御部２１０がパケットを受信した場合、主制御部２００から引き継がれた情報から、その受信パケットをチェックする。このチェックの結果、副制御部２１０は省電力状態から非省電力状態に復帰するか、主制御部２００の代わりに応答パケットを生成して代理応答するか、又は受信パケットを無視するかを判定する。
【００３０】
受信パケットを無視すると判定した場合、副制御部２１０は引き続き省電力状態のまま動作する。また主制御部２００の代わりに代理応答すると判定した場合は、副制御部２１０は受信パケットと主制御部２００から渡された情報を利用して、図６の動的に変更されるデータを新たに生成又は更新する。副制御部２１０は、その動的に変更されるデータとそれ以外の固定データとを使用して応答パケットを生成し、送信元に送信する。また省電力状態から非省電力状態に復帰すると判定した場合、副制御部２１０は受信パケットから図６のコネクション管理情報とアプリケーションパケット情報を取得する。そして副制御部２１０は、これら情報のうち少なくともウインドウサイズとチェックサム以外の全コネクション管理情報とアプリケーションプロコルパケットの情報を主制御部２００へ引き継いで非省電力状態へ移行する。非省電力状態へ復帰後、主制御部２００は副制御部２１０から引き継いだコネクション管理情報を使用して、コネクションを保持したまま次シーケンスに関する処理を継続する。尚、非省電力状態から省電力状態への移行処理と、省電力状態から非省電力状態への移行処理は後述する。
【００３１】
図７は、本実施形態１に係る画像形成装置１０１が非省電力状態から省電力状態へ移行する際の、主制御部２００の処理を説明するフローチャートである。この処理はＲＡＭ２０３にロードされたプログラムに従ってメインＣＰＵ２０１の制御の下に実行される。
【００３２】
まずＳ７０１で、スリープ制御部３０２は、主制御部２００が省電力状態へ移行するかどうかを判定する。この省電力状態へ移行するかどうかの判定は、この画像形成装置１０１を使用するユーザの手動によってスリープモードへ移行指示が行われるかどうかにより判定される。また、画像形成装置１０１が一定時間無操作状態が続いたかどうかをスリープ制御部３０２が監視、判断することによってもなされる。Ｓ７０１で省電力状態へ移行しないと判定した場合は、スリープ制御部３０２は、一定時間後に再度判定するか、或いはユーザからのスリープ移行指示を受けるまで処理待ちとなる。省電力状態へ移行すると判定した場合はＳ７０２に進み、スリープ制御部３０２は、コネクション情報管理部３０５を利用して、現在確立しているコネクションが存在するかどうかをチェックする。そしてＳ７０３で、確立中のコネクションが存在すると判定するとＳ７０４に進む。Ｓ７０４では、スリープ制御部３０２は、コネクション情報管理部３０５からコネクション管理情報を取得して通信部３０４に渡す。次にＳ７０５に進み、スリープ制御部３０２は、Ｓ７０４で通信部３０４に渡したコネクション管理情報をコネクション情報管理部３０５から削除し、主制御部２００側で処理していた対象のコネクション通信を停止する。そしてＳ７０６に進み、通信部３０４は、副制御部２１０通信部３１１へコネクション管理情報を送信する。これにより通信部３１１は、主制御部２００の通信部３０４から受信したコネクション管理情報をコネクション情報管理部３１５へ渡してＳ７０２へ戻る。こうしてＳ７０３で、全コネクションのチェックが終了したかどうかを判定し、全コネクションのチェックが終了していないときはＳ７０４に進んで前述した処理を実行し、全コネクションのチェックが終了するとＳ７０７に進む。
【００３３】
Ｓ７０７では、主制御部２００のスリープ制御部３０２は、アプリケーションプロトコル制御部３０７へ省電力状態へ移行する通知を行う。この省電力状態への移行通知は、アプリケーションプロトコル制御部３０７側が用意するＣａｌｌ Ｂａｃｋ関数への通知や、スリープ制御部３０２からアプリケーションプロトコル制御部３０７へのメッセージの送受信処理等で行う。これによりアプリケーションプロトコル制御部３０７は、非省電力状態から省電力状態への移行を認識する。次にＳ７０８に進み、省電力状態への移行通知を受けたアプリケーションプロトコル制御部３０７は、省電力状態へ移行した後での非省電力状態への復帰、或いは代理応答するための条件を復帰／代理応答情報管理部３０３にセットする。次にＳ７０９に進み、スリープ制御部３０２は、復帰／代理応答情報管理部３０３からアプリケーションプロトコル毎の電源復帰、代理応答のためのパターンパケット情報を取得する。スリープ制御部３０２は、その取得したパターンパケット情報を通信部３０４に渡す。そしてＳ７１０で、通信部３０４は、副制御部２１０の通信部３１１へパターンパケット情報を送信する。これにより通信部３１１は、通信部３０４から受信したパターンパケット情報を復帰／代理応答情報保持部３１２へ送信する。そしてＳ７１１に進み、主制御部２０１のスリープ制御部３０２は、電源制御部２２０に省電力状態への移行を指示する。これによって、これ以降のコネクション管理やアプリケーション毎の通信管理は主制御部２００から副制御部２１０へ処理されて、省電力状態を実現する。
【００３４】
図８は、本実施形態１に係る画像形成装置１０１が省電力状態へ移した後の副制御部２１０の処理を説明するフローチャートである。この処理はＲＯＭ２１２に記憶されたプログラムに従ってサブＣＰＵ２１１の制御の下に実行される。
【００３５】
まずＳ８０１で、ネットワーク送受信部３１４は、ネットワーク１０３を介した相手先からのパケットを受信したかどうかを判定する。パケットを受信するとＳ８０２に進み、ネットワーク送受信部３１４は、コネクションを伴った通信かどうかを、受信パケットの送信元／宛先ＭＡＣアドレスや送信元／宛先ＩＰアドレス、送信元／宛先ポート番号を基に判定する。コネクションを伴った通信でないと判定するとＳ８１０に進んで処理を行う。一方、コネクションを伴った通信であると判定するとＳ８０３に進み、ネットワーク送受信部３１４は、通信路上でパケットの破壊がないかどうか、チェックサムを計算して判定する。次にＳ８０４に進み、ネットワーク送受信部３１４は、Ｓ８０１で受信したパケットのコントロールフラグをチェックする。このコントロールフラグがＳＹＮ以外の場合はＳ８０５に進む。Ｓ８０５でネットワーク送受信部３１４は、受信したパケットのシーケンス番号５０４と確認応答番号５０５（図５）とを取得する。またネットワーク送受信部３１４は、コネクション情報管理部３１５からシーケンス番号５０４と確認応答番号５０５を取得する。そしてネットワーク送受信部３１４は、両方から取得したシーケンス番号５０４と確認応答番号５０５とが一致するかどうかを判定する（Ｓ８０６）。Ｓ８０６で一致しない場合は異常を検出したと判定して、ネットワーク送受信部３１４は、受信パケットを破棄してＳ８０１へ戻る。
【００３６】
Ｓ８０６で一致した場合はＳ８０７に進み、ネットワーク送受信部３１４は、コネクション情報管理部３１５に記憶されている、対象となるコネクション管理情報を検索する。そしてＳ８０８で、コネクション情報管理部３１５に対象のコネクションが登録されていない場合、ネットワーク送受信部３１４は、その受信パケットを破棄してＳ８０１へ戻る。一方、対象のコネクションが登録されている場合は、ネットワーク送受信部３１４は、コネクション情報管理部３１５から、対象となるコネクション管理情報を取得する。次にＳ８０９に進み、ネットワーク送受信部３１４は、その受信したパケットのコントロールフラグをチェックし、パケットの制御方法を確認する。
【００３７】
コントロールフラグがＡｃｋである場合、ネットワーク送受信部３１４は、その受信パケットに含まれるコネクション管理情報をコネクション情報管理部３１５へ送信してＳ８０１へ戻る。またコントロールフラグがＲＳＴ、或いはＦＩＮであった場合はＳ８１２に進み、ネットワーク送受信部３１４は、その受信パケットに対するＡｃｋ応答パケットを生成し、ネットワーク１０３を介して相手先へ送信する。そしてＳ８１３で、ネットワーク送受信部３１４は、コネクション情報管理部３１５に格納している対象となるコネクション管理情報を消去してＳ８０１へ戻る。これによって、対象のコネクションが切断されたことを意味する。またＳ８０９で、コントロールフラグが、ＰＳＨ、或いはＵＲＧであった場合はＳ８１０に進み、ネットワーク送受信部３１４は、その受信パケットを復帰／代理応答判定部３１３に渡す。これにより復帰／代理応答判定部３１３は、その受信パケットの宛先ポート番号５０３と、復帰／代理応答情報保持部３１２で保存しているポート番号から復帰／代理応答の必要があるアプリケーションプロトコルを検索する。次にＳ８１１に進み、その検索に成功して、その受信パケットに対して復帰／代理応答できるかどうかを判定する。復帰／代理応答する場合はＳ８１４に進み、復帰／代理応答判定部３１３は、受信パケットの宛先ポート番号５０３に該当するアプリケーションプロトコル毎のコマンド解析を行い、代理応答するかどうかを判定する（Ｓ８１５）。そしてＳ８１５で代理応答すると判定するとＳ８１６に進み、復帰／代理応答判定部３１３は、受信パケットの応答パケットを生成する。そしてＳ８１７に進み、復帰／代理応答判定部３１３は、ネットワーク送受信部３１４を通じて代理応答パケットをネットワーク１０３に送信する。一方、Ｓ８１１で、受信パケットが復帰／代理応答に該当しない場合はＳ８１８に進み、復帰／代理応答判定部３１３は、その受信パケットのエラー応答パケットを生成し、Ｓ８１７で応答パケットを送信する。またＳ８１８は、エラー応答パケットを生成して送信する場合もあるが、これとは別に、受信パケットを破棄して応答パケットを送信せずにＳ８０１へ戻る処理方法も１つの手段とする。
【００３８】
またＳ８１５で代理応答しないと判定した場合はＳ８１９に進み、復帰／代理応答判定部３１３は、ネットワーク送受信部３１４とコネクション情報管理部３１５へコネクション制御処理の停止を命令する。また前述のＳ８０４で、コントロールフラグがＳｙｎの場合もＳ８１９に進み、復帰／代理応答判定部３１３は、ネットワーク送受信部３１４とコネクション情報管理部３１５へコネクション制御処理の停止を命令する。
【００３９】
としてＳ８２０に進み、復帰／代理応答判定部３１３は、副制御部２１０の通信部３１１から主制御部２００の通信部３０４を介して、全てのコネクション管理情報を主制御部２００のコネクション情報管理部３０５へ渡す。そしてＳ８２１に進み、復帰／代理応答判定部３１３は、通信部３１１と通信部３０４を通じて主制御部２００のスリープ制御部３０２へ省電力状態からの復帰を命令する。
【００４０】
以上説明したように本実施形態１によれば、省電力状態時にコネクションを維持しながら非省電力状態から省電力状態に移行できるという効果がある。
【００４１】
またパケットの構造が複雑になった場合であっても、省電力状態から非省電力状態に移行できるという効果がある。
【００４２】
［実施形態２］
以下にコネクションを用いた通信プロトコルの一例として、ＳＭＢ／ＣＩＦＳプロトコルを使用した場合における実施形態２について図を用いて説明する。尚、この実施形態２に係る画像形成装置１０１の構成及びネットワークシステムの構成は前述の実施形態１と同様であるため、それらの説明を省略する。
【００４３】
ＳＭＢプロトコル（Server Message Block）プロトコルは、ウインドウズ上で一般的に多く使用されているマイクロソフト社提供のリモートファイル交換プロトコルである。この詳細な仕様は、次のＵＲＬで定義されている。（http://msdn.microsoft.com/ja-jp/library/cc246231(en-us,PROT.10).aspx）
またＣＩＦＳ（Common Internet File System）プロトコルは、ＳＭＢと類似したプロトコルであり、ＳＭＢと同じくリモートファイル交換プロトコルである。この詳細な仕様は、次のＵＲＬで定義されている。（http://www.monyo.com/technical/samba/translation）
またＳＭＢ／ＣＩＦＳプロトコルには、その仕様上、処理の内容によってＴＣＰプロトコル上で動作するパケットとＵＤＰプロトコル上で動作するパケットが存在する。ここでは、本実施形態に関連するＴＣＰプロトコルを用いた処理を例にして説明する。
【００４４】
図９は、ＳＭＢ／ＣＩＦＳプロトコルにおける通信パケットフォーマットの概要を示す図である。
【００４５】
９０１はＳＭＢ／ＣＩＦＳパケット全体の構成を示している。ＳＭＢ／ＣＩＦＳパケット９０１は、Ｅｔｈｅｒヘッダ４０１に続いてＩＰヘッダ４０２を持つ。またＳＭＢ／ＣＩＦＳパケット９０１は、ＩＰヘッダ４０２に続いてコネクションを必要とするＴＣＰヘッダ５０１を保持する。ＳＭＢ／ＣＩＦＳ９０１は、ファイル交換処理を行う場合、常にＥｔｈｅｒヘッダ４０１、ＩＰヘッダ４０２、ＴＣＰヘッダ５０１を持つ。９０２はＳＭＢ／ＣＩＦＳプロトコルフィールドを示す。このＳＭＢ／ＣＩＦＳプロトコルフィールド９０２は、ＳＭＢ／ＣＩＦＳヘッダ９０３とＳＭＢ／ＣＩＦＳ本体９０４の大きく２つに分けられる。ＳＭＢ／ＣＩＦＳヘッダ９０３は、クライアントからの要求種別やサーバから返す応答コード、各種処理におけるＩＤやオプションフラグを定義している。ＳＭＢ／ＣＩＦＳ本体９０４は、ＳＭＢ／ＣＩＦＳヘッダ９０３で定義された要求種別やその要求の詳細情報を定義している。図１０以降では、これらのパケットにおける個々の要求種別毎のフローとそれに関連するパケットの詳細を説明する。
【００４６】
図１０は、端末間でリモートのファイルを閲覧する場合や、ファイル交換を行う場合において、クライアントとサーバ間で最も典型的な正常シーケンスの例を示す図である。
【００４７】
Ｓ１００１で、クライアントは、ＳＭＢ／ＣＩＦＳプロトコルで通信するために、クライアントがサポートしているＳＭＢ／ＣＩＦＳプロトコルにおけるバージョン情報を通知し、サーバに対してネゴシエートの要求を行う。Ｓ１００２で、サーバはクライアントからのネゴシエート要求を受信し、プロトコルのバージョン情報を取得する。そしてサーバは、プロトコルのバージョン情報と自身がサポートしている情報とを比較し、クライアントとサーバの両者がサポートしているプロトコルのバージョンにおいてネゴシエートするべく、クライアントへ応答を返す。ここでクライアントとサーバが同じプロトコルバージョンをサポートしている場合、ネゴシエートが成功する。
【００４８】
次にＳ１００３で、クライアントはサーバへＳＭＢ／ＣＩＦＳプロトコルのセッション確立要求を行う。このセッション確立処理では、通常、クライアントの認証処理などが行われる。次にＳ１００４で、サーバは、このセッション確立処理が成功すると、クライアントに対して特定のユーザＩＤを割り当て、セッション確立応答にセットしてクライアントへ通知する。そしてＳ１００５以降の処理で、サーバはユーザＩＤを使用してクライアントを特定する。このＳ１００５において、クライアントは、閲覧、読出し、書込みしたいファイル等の共有リソースへアクセスするために、サーバに対して共有リソースへのパス情報を含めた共有リソースツリーの接続要求を行う。そしてＳ１００６で、サーバは、受信した共有リソースツリーの接続要求から共有リソースへのパス情報とユーザＩＤを取得し、そのユーザＩＤに該当するクライアントをパス情報へアクセスさせるためのツリーＩＤを割り当てる。そしてサーバは、共有リソースツリーの接続応答にツリーＩＤをセットしてクライアントへ通知する。これによってクライアントはサーバ内の特定の共有リソースに対して閲覧、読み出し、書込み等のアクセスが可能となる。こうしてＳ１００７以降の処理で、サーバは、そのツリーＩＤを使用してクライアントがアクセスする共有リソースのパス情報を特定する。
【００４９】
Ｓ１００７でクライアントは、アクセスしたい特定の共有フォルダ以下のファイルや、共有ファイルの属性情報を取得するためにサーバへ共有リソースの属性の取得要求を行う。これによりＳ１００８では、サーバは、その共有リソースの属性の取得要求を受信し、該当する共有リソースの属性情報を取得して共有リソース属性応答にセットし、クライアントへ通知する。そしてクライアントが特定のファイルに対して読取り、書き込みなどのアクセスを行いたい場合は、Ｓ１００９で、クライアントはサーバへアクセスする特定のパスに対してＯｐｅｎ要求を行う。これによりＳ１０１０でサーバは、受信したＯｐｅｎ要求からクライアントが処理したいリソースパス情報を取得し、該当するパスが存在するかを判定する。このリソースパスの存在の有無の判定結果に応じて、サーバはリソースパスをＯｐｅｎしたり、新規に生成する。Ｏｐｅn処理に成功した場合、サーバは該当するファイルに対してファイルＩＤを割り当てる。そしてサーバは、そのＯｐｅｎ処理の結果とファイルＩＤをＯｐｅｎ処理応答にセットしてクライアントに通知する。これによりクライアント、その共有リソースへのアクセスが可能になる。
【００５０】
次にＳ１０１１に進み、Ｏｐｅｎ処理が成功したことによりクライアントは、サーバへファイルＩＤに対して読み込み、或いは書き込みの要求を行う。そしてＳ１０１２で、サーバは、その受信した読出し、或いは書き込み要求からファイルＩＤを取得し、処理対象のファイルを特定する。そしてサーバは、クライアントから要求された処理を対象のファイルに対して行う。そしてこのファイルに対して行った結果を読出し、書き込み処理応答にセットしてクライアントへ通知する。
【００５１】
次にＳ１０１３で、特定のファイルに対するアクセスを終了する場合、クライアントは、その特定のファイルに割り当てられているファイルＩＤを使用してサーバへリソースのＣｌｏｓｅ要求を行う。これによりＳ１０１４でサーバは、その受信したリソースＣｌｏｓｅ要求からファイルＩＤを取得し、そのファイルＩＤに割り当てているファイルを特定する。そしてサーバは、そのファイルＩＤに割り当てているファイルをＣｌｏｓｅし、そのファイルに割り当てたファイルＩＤを消去する。そしてサーバは、そのファイルＩＤとＣｌｏｓｅ処理の結果をリソースＣｌｏｓｅ応答にセットしてクライアントへ通知する。これによって、クライアントから共有リソースの閲覧、操作が終了したことになる。
【００５２】
しかしＳ１０１４が終了した時点では、クライアントとサーバとの間で共有リソースのツリーは保たれたままである。従って、ユーザＩＤやツリーＩＤも割り当てられたままであるため、ユーザＩＤのクライアントはサーバへツリーＩＤの共有リソースツリーのパスを使用して、Ｓ１００７とＳ１００８の処理を再度行うだけで共有リソースを閲覧できる。またユーザＩＤのクライアントは、ツリーＩＤを使用してサーバに対して、Ｓ１００７〜Ｓ１０１４の処理や、Ｓ１００９〜Ｓ１０１４の再処理のみで特定のファイルに対してアクセスすることができる。
【００５３】
そして共有リソースのツリーを切断する場合は、Ｓ１０１５でクライアントは、そのツリーＩＤを使用してサーバへ共有リソースツリーの切断要求を行う。そしてＳ１０１６で、サーバは、その受信した共有リソースツリーの切断要求からツリーＩＤを取得し、そのツリーＩＤに割り当てた共有リソースツリーを特定する。そしてサーバは、該当する共有リソースツリーの情報やツリーＩＤを消去し、その結果と、そのツリーＩＤを共有リソースツリーの切断応答にセットしてクライアントへ通知する。これによって、クライアントから特定の共有リソースへのアクセスを終了することになる。しかしＳ１０１６が終了した時点では、クライアントとサーバとの間でＳＭＢ／ＣＩＦＳセッションは保たれたままである。従ってユーザＩＤは割り当てられたままであるため、そのユーザＩＤを使用してクライアントは、サーバの共有リソースツリーや他の共有リソースツリーへ、Ｓ１００５とＳ１００６の再処理でアクセスできる。ＳＭＢ／ＣＩＦＳセッションを切断する場合、Ｓ１０１７において、クライアントは、ユーザＩＤを使用してサーバへＳＭＢ／ＣＩＦＳセッションの切断要求を行う。これによりＳ１０１８で、サーバは、その受信したＳＭＢ／ＣＩＦＳセッション切断要求からユーザＩＤを取得し、そのユーザＩＤに割り当てたＳＭＢ／ＣＩＦＳセッションを特定する。そしてサーバは、該当するＳＭＢ／ＣＩＦＳセッションの情報やユーザＩＤを消去し、その結果とそのユーザＩＤをＳＭＢ／ＣＩＦＳセッション切断応答にセットしてクライアントへ通知する。
【００５４】
本実施形態２では、非省電力状態において、主制御部２００のアプリケーションプロトコル制御部３０７が、クライアントからのＳＭＢ／ＣＩＦＳデータを受信して応答する。これによりユーザＩＤ、ツリーＩＤ、ファイルＩＤ、オプションフラグ等の管理データを保持している。即ち、本実施形態２では、アプリケーションプロトコル制御部３０７がＳＭＢ／ＣＩＦＳプロトコル制御部となって図１０に示すフローの制御を行っている。アプリケーションプロトコル制御部３０７は個々のネットワークプロトコル毎に複数存在するが、本実施形態２では、ＳＭＢ／ＣＩＦＳプロトコル制御部に対して説明する。
【００５５】
図１０を例に、非省電力状態時、ＳＭＢ／ＣＩＦＳプロトコル制御部はＳ１００１，Ｓ１００３，Ｓ１００５，Ｓ１００７，Ｓ１００９，Ｓ１０１１，Ｓ１０１３，Ｓ１０１５，Ｓ１０１７での要求をクライアントのパケットを通じて受信する。またＳＭＢ／ＣＩＦＳプロトコル制御部は、これらの要求に対する応答を、Ｓ１００２，Ｓ１００４，Ｓ１００６，Ｓ１００８，Ｓ１０１０，Ｓ１０１２，Ｓ１０１４，Ｓ１０１６，Ｓ１０１８でクライアントへ通知する。これらの処理を行っている間、ＳＭＢ／ＣＩＦＳプロトコル制御部は、ユーザＩＤ、ツリーＩＤ、ファイルＩＤ、オプションフラグ等の管理データを保持し、ＳＭＢ／ＣＩＦＳにおけるセッション、ツリー、リソースの管理を行っている。画像形成装置１０１が非省電力状態から省電力状態へ移行する場合におけるＳＭＢ／ＣＩＦＳアプリケーションの移行処理は、図７のフローチャートのＳ７０７とＳ７０８の処理に当てはめることができる。即ち、Ｓ７０７で、スリープ制御部３０２は、ＳＭＢ／ＣＩＦＳプロトコル制御部へ省電力状態へ移行するように通知する。これによって、ＳＭＢ／ＣＩＦＳプロトコル制御部は、非省電力状態から省電力状態への移行が指示されたことを認識する。次にＳ７０８に進み、省電力状態への移行通知を受けたＳＭＢ／ＣＩＦＳプロトコル制御部は、省電力状態に移行した後の非省電力状態への復帰、或いは代理応答するための条件を主制御部２００の復帰／代理応答情報管理部３０３にセットする。このときＳＭＢ／ＣＩＦＳプロトコル制御部は、管理中のユーザＩＤ、ツリーＩＤ、ファイルＩＤ、オプションフラグ等の情報と相手先ＩＰアドレス、プロトコル種別（本実施形態２でＳＭＢ／ＣＩＦＳ）を復帰／代理応答情報管理部３０３にセットする。更に、ＳＭＢ／ＣＩＦＳプロトコル制御部は、特定のユーザＩＤ、ツリーＩＤを持つクライアントが図１０のＳ１００７で属性取得要求を行った全てのリソースに対して、そのパスと属性情報を復帰／代理応答情報管理部３０３にセットする。この属性情報には、リソース名、リソースサイズ、アクセス日時、更新日時、作成日時等が含まれる。これらの管理情報とコネクション管理情報が図７のフローを基にして副制御部２１０に渡されることによって、省電力状態への移行時における副制御部２１０での復帰／代理応答機能を実現する。
【００５６】
図１１は、本実施形態２で、省電力状態時における副制御部２１０の処理を説明するフローチャートである。この処理はＲＯＭ２１２に記憶されたプログラムに従ってサブＣＰＵ２１１の制御の下に実行される。この図１１は、ＳＭＢ／ＣＩＦＳプロトコルを、前述の図８のＳ８１４に当てはめた場合で説明する。
【００５７】
まずＳ１１０１で、副制御部２１０の復帰／代理応答判定部３１３は、受信したＳＭＢ／ＣＩＦＳデータからユーザＩＤを取得し、復帰／代理応答情報保持部３１２に格納しているＳＭＢ／ＣＩＦＳデータから同じユーザＩＤを検索する。次にＳ１１０２で復帰／代理応答情報保持部３１２にユーザＩＤが存在するかどうかを判定し、存在しない場合は復帰／代理応答判定部３１３は、クライアントからの新たなＳＭＢ／ＣＩＦＳ接続を要求とみなしてＳ１１１５の非省電力状態への復帰処理へ進む。一方、Ｓ１１０２で復帰／代理応答情報保持部３１２にユーザＩＤが存在する場合はＳ１１０３に進み、復帰／代理応答判定部３１３は、受信したＳＭＢ／ＣＩＦＳデータからクライアントが要求しているコマンドを解析する。そしてＳ１１０４に進み、要求コマンドがＳＭＢ／ＣＩＦＳセッションの切断要求かどうかを判定する。そうであればＳ１１０５に進み、復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２に存在するユーザＩＤと関連情報を削除してＳ１１１６に進む。この関連情報とは、そのユーザＩＤに関連する全てのＳＭＢ／ＣＩＦＳデータのことを指す。
【００５８】
一方、Ｓ１１０４で、要求コマンドがＳＭＢ／ＣＩＦＳセッション切断要求でない場合はＳ１１０６に進む。Ｓ１１０６では、復帰／代理応答判定部３１３は、受信データからツリーＩＤを取得する。次にＳ１１０７に進み、復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２の、ユーザＩＤに関連しているデータから、取得したツリーＩＤと同じものを検索する。ここで検索したツリーＩＤが存在しない場合は復帰／代理応答判定部３１３は、クライアントから新たなリソースツリーへの接続を要求されていると判断してＳ１１１５に進み、非省電力状態への復帰処理に移行する。
【００５９】
一方、Ｓ１１０７で、検索したツリーＩＤが存在する場合はＳ１１０８に進み、復帰／代理応答判定部３１３は、Ｓ１１０３にて解析した要求コマンドを判別する。Ｓ１１０８で、その要求コマンドがツリー接続の切断要求である時はＳ１１０９に進み、復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２に存在するツリーＩＤと関連リソース情報を削除してＳ１１１６に進む。この関連リソース情報とは、そのツリーＩＤに割り当てられている共有リソース以下に存在する全てのリソースのパス情報や属性情報を指す。
【００６０】
一方、Ｓ１１０８で、その要求コマンドがツリー接続の切断要求でない場合はＳ１１１０に進み、復帰／代理応答判定部３１３は、受信データから処理対象となるリソースパスを取得する。そして復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２の、ユーザＩＤ、ツリーＩＤに関連しているデータから、取得したリソースパスと同じものを検索する。そしてＳ１１１１で、その検索したリソースパスが存在するかどうかを判定する。ここでリソースパスが存在しない場合は、復帰／代理応答判定部３１３は、クライアントから新たなリソースパスへの接続を要求されていると判定してＳ１１１５に進み、非省電力状態への復帰処理へ移行する。本実施形態２では、Ｓ１１１５で非省電力状態への復帰処理へ移行することとしたが、代理応答処理の仕様によってはリソースパスが存在しないとみなし、その旨のエラーを代理応答することもあり得る。
【００６１】
一方、Ｓ１１１１で、検索したリソースパスが存在する場合はＳ１１１２に進み、復帰／代理応答判定部３１３は、Ｓ１１０３で解析した要求コマンドを判別する。ここで要求コマンドが、検索したリソースパスに対するファイル制御要求であると判定すると、画像形成装置１０１のＨＤＤ２０６に格納している実体ファイルへの制御処理が必要となる。
【００６２】
本実施形態２では、省電力状態では画像形成装置１０１のＨＤＤ２０６はスリープ中であり、非通電を伴った省電力状態であることから、実体ファイルへの制御処理が必要な場合は非省電力状態への復帰が必要となる。従ってこの場合、復帰／代理応答判定部３１３は、Ｓ１１１２からＳ１１１５に進んで、非省電力状態への復帰処理へ移行する。このＳ１１１２で判定したファイル制御要求とは、ファイルの読み取り、書き込み、複写、移動、削除処理などを指す。一方、Ｓ１１１２で、その要求コマンドがリソース検索やリソースの属性取得要求であると判定するとＳ１１１３に進む。Ｓ１１１３では、復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２で管理中のリソース属性情報を取得する。そしてＳ１１１６に進む。またＳ１１１２で、要求コマンドがリソースへのＣＬＯＳＥ要求であると判定するとＳ１１１４に進む。Ｓ１１１４では、復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２で管理しているリソースのファイルＩＤを消去する。画像形成装置１０１が非省電力状態へ復帰した場合は、復帰／代理応答情報保持部３１２で管理している全ての情報を、メインＣＰＵ２０１のアプリケーションプロトコル制御部３０７に通知する。これによってアプリケーションプロトコル制御部３０７は、そのファイルＩＤに該当するリソースがＣＬＯＳＥされたことを認識でき、対象リソースに関係する以降の制御処理を行うことが可能となる。またＳ１１１２で、その要求コマンドがリソースへのＯＰＥＮ要求である場合はＳ１１１４に進む。Ｓ１１１４では、復帰／代理応答判定部３１３は、復帰／代理応答情報保持部３１２で管理しているリソースに対して新規にファイルＩＤを付与する。画像形成装置１０１が非省電力状態へ復帰した場合は、復帰／代理応答情報保持部３１２で管理している全ての情報を、メインＣＰＵ２０１のアプリケーションプロトコル制御部３０７に通知する。これによってアプリケーションプロトコル制御部３０７は、そのファイルＩＤに該当するリソースがＯＰＥＮされたことを認識でき、対象リソースに関係する以降の制御処理を行うことが可能となる。そしてＳ１１１６では、復帰／代理応答判定部３１３は、非電力状態への復帰は行わず、サブＣＰＵ２１１での代理応答処理へ移行する。
【００６３】
以上説明したように本実施形態２によれば、省電力状態時において受信したプロトコルのパケットの内容に従って、非省電力状態に復帰したり、応答パケットを作成して代理応答することができる。
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005424856.tif 000002
【図２】
0005424856.tif 000003
【図３】
0005424856.tif 000004
【図４】
0005424856.tif 000005
【図５】
0005424856.tif 000006
【図６】
0005424856.tif 000007
【図７】
0005424856.tif 000008
【図８】
0005424856.tif 000009
【図９】
0005424856.tif 000010
【図１０】
0005424856.tif 000011
【図１１】
0005424856.tif 000012