画像形成装置及びその省電力制御方法とプログラム
【課題】 非省電力状態でコネクションを保持するような通信プロトコルでは省電力状態へ移行できなくなる。
【解決手段】 画像形成処理を制御する主制御手段と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御手段とを有する画像形成装置であって、主制御手段を省電力状態に移行させるとともに、ネットワークを介した通信の実行に伴って更新される通信接続情報を主制御手段から副制御手段に通知して保持させ、主制御手段が省電力状態にあるとき、情報処理装置からデータを受信すると当該受信したデータ及び副制御手段に保持されている通信接続情報に基づいて、主制御部を非省電力状態へ復帰させるか又は主制御部を非省電力状態へ復帰させることなく受信したデータに対する応答を行うかを判定する(S805,S811,S815)。
【解決手段】 画像形成処理を制御する主制御手段と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御手段とを有する画像形成装置であって、主制御手段を省電力状態に移行させるとともに、ネットワークを介した通信の実行に伴って更新される通信接続情報を主制御手段から副制御手段に通知して保持させ、主制御手段が省電力状態にあるとき、情報処理装置からデータを受信すると当該受信したデータ及び副制御手段に保持されている通信接続情報に基づいて、主制御部を非省電力状態へ復帰させるか又は主制御部を非省電力状態へ復帰させることなく受信したデータに対する応答を行うかを判定する(S805,S811,S815)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークに接続され、省電力制御を行う画像形成装置及び前記画像形成装置の省電力制御方法とプログラムに関する。
【背景技術】
【0002】
近年の環境問題への取り組みとして、プリンタや複合機などの画像形成装置における省電力化が進められている。その実現方法の一つとして、画像形成装置上の操作パネルの操作やネットワークを介した印刷ジョブの投入などが一定時間行われなかった場合に省電力状態に移行して、消費電力を抑えることが一般に行われている。特許文献1には、通常動作時の動作制御とは別に、省電力状態で動作制御を行う省電力制御機能を備えた通信制御装置が提案されている。この省電力制御機能は、省電力状態に移行する前に予め定められた条件を通信制御装置に通知してから省電力モードに移行する。そしてその後、省電力モードでの動作時に、通信制御装置がネットワークからパケットを受信した場合、そのパケットが予め定められた条件を満たすか否かに応じて画像形成装置を非省電力状態に復帰させるか否かを判定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−259906号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の従来技術では、省電力状態から非省電力状態へ復帰すべきかどうかを固定のパケットパターンに基づいて判定していた。しかし、このようなパケットを送受信する通信プロトコルでは、パケットに含まれる情報量が多くなっており、また通信シーケンスが複雑である。そのためネットワークから受信したパケットの構造が複雑になると、省電力状態から復帰すべきかどうかを正確に判定できなくなるという課題がある。
【0005】
また、通信プロトコルの種別によっては、一旦確立したコネクションを長時間保持し続ける場合がある。このような通信プロトコルで通信しながら、非省電力状態から省電力状態への移行や、省電力状態から非省電力状態への移行を行う場合、固定のパケットパターンを登録するだけでは、通信のためのコネクションを保持することができない。その結果、非省電力状態でコネクションを保持するような通信プロトコルでは省電力状態へ移行できなくなる。またHTTP,FTP,CIFSプロトコルのような、一般的に使用される多くのプロトコルはコネクションを必要とするプロトコルである。従って、これらのプロトコルでの動作時には省電力状態へ移行できなくなり、省電力の効率を大きく低下させてしまうことになる。
【0006】
本発明の目的は上記従来技術の問題点を解決することにある。
【0007】
本願発明の特徴は、通信の実行に伴って更新される通信接続情報を必要とする通信プロトコルを利用する場合に、省電力状態から非省電力状態への復帰を適切に制御できる技術を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
画像形成処理を制御する主制御手段と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御手段とを有する画像形成装置であって、
少なくとも前記主制御手段と前記副制御手段への電力供給を制御する電源制御手段と、
前記電源制御手段を制御して前記主制御手段を省電力状態に移行させるとともに、前記ネットワークを介した通信の実行に伴って更新される通信接続情報を前記主制御手段から前記副制御手段に通知して保持させるスリープ制御手段と、
前記主制御手段が省電力状態にあるとき、前記情報処理装置からデータを受信すると、当該受信したデータ及び前記通信接続情報に基づいて前記主制御手段を非省電力状態へ復帰させるか又は前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うかを判定する判定手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させると判定した場合、前記主制御手段を非省電力状態に復帰させる復帰手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うと判定した場合、前記受信したデータに対する応答情報を作成し、前記情報処理装置に対して送信する応答手段と、
を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、通信の実行に伴って更新される通信接続情報を必要とする通信プロトコルを利用する場合に、省電力状態から非省電力状態への復帰を適切に制御することが可能となる。
【図面の簡単な説明】
【0010】
【図1】本実施形態に係る画像形成装置を使用したネットワークシステムの構成を示す図。
【図2】本実施形態に係る画像形成装置の構成を示すブロック図。
【図3】実施形態に係る画像形成装置のソフトウェア構成を説明する図。
【図4】本実施形態で通信に利用されるパケットのフォーマット例を示す図。
【図5】コネクションを必要とする通信で利用されるTCPパケットのフォーマットを説明する図。
【図6】画像形成装置の主制御部と副制御部との間で最低限受け渡す必要のあるデータを説明する図。
【図7】本実施形態1に係る画像形成装置が非省電力状態から省電力状態へ移行する際の主制御部の処理を説明するフローチャート。
【図8】本実施形態1に係る画像形成装置が省電力状態へ移した後の副制御部の処理を説明するフローチャート。
【図9】SMB/CIFSプロトコルにおける通信パケットフォーマットの概要を示す図。
【図10】クライアントとサーバ間で最も典型的な正常シーケンスの例を示す図。
【図11】本実施形態2で、省電力状態時における副制御部の処理を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0012】
図1は、本発明の実施形態に係る画像形成装置101を使用したネットワークシステムの構成を示す図である。
【0013】
このネットワークシステムでは、プリンタ等の画像形成装置101と、パーソナルコンピュータなどの情報処理装置(PC)102がネットワーク103を介して接続され、相互に通信可能となっている。
【0014】
図2は、本実施形態に係る画像形成装置101の構成を示すブロック図である。
【0015】
画像形成装置101は、MainCPU(メインCPU)201が制御する主制御部200と、SubCPU(サブCPU)211が制御する副制御部210を有し、主制御部200と副制御部210はPCIバスにより接続されている。主制御部200は、読取制御部204や印刷制御部205を制御し、画像形成装置として周知のコピー、印刷処理等の画像形成処理機能を実現する。これらの機能や省電力制御機能を制御するプログラムは、ROM202やHDD206に格納されており、この画像形成装置101が起動時にRAM203に読み込まれ、メインCPU201により実行される。副制御部210はLAN制御部214を介してネットワーク103を介してパケットの送受信を行ったり、画像形成装置101が省電力状態に移行した後に非省電力状態へ復帰するための制御を行うための最低限の機能を実現する。副制御部210のこれらの機能を制御するプログラムはROM212に格納されており、画像形成装置101が起動した時にRAM213に読み込まれ、サブCPU211により実行される。画像形成装置101が非省電力状態から省電力状態へ移行する場合、その後で省電力状態から非省電力状態に復帰するための条件となる情報は、主制御部200から副制御部210に送信されてRAM213に格納される。電源制御部220は、画像形成装置101の各ブロックへの電力供給を制御し、特に、主制御部200への電力供給を停止して省電力状態に移行させることにより、画像形成装置101全体としての消費電力を抑えることが可能である。
【0016】
図3(A)(B)は、実施形態に係る画像形成装置101のソフトウェア構成を説明する図で、図3(A)は主制御部200のソフトウェアの構成を示し、図3(B)は、副制御部210のソフトウェアの構成を示している。尚、図に示す各部は、ソフトウェアの機能別に示すソフトウェアブロック(モジュール)を示し、これら各ブロックはCPUにより並行して実行される。
【0017】
図3(A)において、通常制御部301は、非省電力での通常の動作時の画像形成装置101の各種動作を制御する。復帰/代理応答情報管理部303は、省電力状態から非省電力状態へ復帰する条件や、省電力状態を維持したまま代理応答する条件を示す情報を保持する。スリープ制御部302は、復帰/代理応答情報管理部303に保持された条件情報やコネクション情報管理部305に保持されたコネクション管理情報(通信接続情報)を取得して通信部304に送信する。その後、電源制御部220に省電力状態へ移行するように指示する。通信部304は、副制御部210の通信部311と通信を行い、副制御部210との間で情報の交換を行う。コネクション情報監視ドライバ306は、ネットワーク送受信部314を通じて副制御部210が受信する通信パケットを監視し、後述するコネクション管理情報を取得し、コネクション情報管理部305へ格納する。コネクション情報管理部305は、コネクション情報監視ドライバ306から個々の通信コネクション毎におけるコネクション情報を受け取ってこの情報を保持する。
【0018】
アプリケーションプロトコル制御部307は、非省電力状態で動作する。画像形成装置101がクライアントから各種パケットを受信した時に、アプリケーションプロトコル制御部307は、通信制御部301を通じてアプリケーション毎のデータを取得する。またアプリケーションプロトコル制御部307は、スリープ制御部302を通じて非省電力状態から省電力状態への移行通知を受け取る。これによって、アプリケーションプロトコル制御部307は、非省電力状態から省電力状態への移行を認識することが可能となる。更にアプリケーションプロトコル制御部307は、省電力状態へ移行した後、省電力状態から非省電力状態への復帰条件、或いは代理応答するための条件を復帰/代理応答情報管理部303にセットする。
【0019】
次に図3(B)において、通信部311は、主制御部200の通信部304と通信を行い、主制御部200との間で情報の交換を行う。復帰/代理応答情報保持部312は、通信部311を介して復帰/代理応答情報管理部303が保持していた復帰/代理応答条件情報を受信して保持する。コネクション情報管理部315は、通信部311を介してコネクション情報管理部305が保持していたコネクション管理情報を受信して保持する。復帰/代理応答判定部313は、ネットワーク送受信部314から受信したパケットを解析する。そして復帰/代理応答判定部313は、復帰/代理応答情報保持部312に保持されている情報と、コネクション情報管理部315に保持されている情報とを利用して非省電力状態へ復帰させるか、省電力状態のまま代理応答を行うか、未処理とするか判定する。尚、非省電力状態では、ネットワーク送受信部314が受信したパケットはそのまま通信部311を介して主制御部200に渡される。一方、省電力状態では、ネットワーク送受信部314が受信したパケットは、復帰/代理応答判定部313に渡される。
【0020】
図4は、本実施形態で通信に利用されるパケットのフォーマット例を示す図である。
【0021】
通信パケットは、Etherヘッダ401に続いてIPヘッダ402が存在する。コネクションを必要とするパケットとして、例えばTCP(Transmission Control Packet)パケットがある。TCPパケットは、Etherヘッダ401、IPヘッダ402に続いてTCPパケットヘッダを備えた構造となっている。尚、TCPパケットは図5を参照して後述するが、TCP仕様は、RFC793において定義されている。
【0022】
図5は、コネクションを必要とする通信において利用されるTCPパケットのフォーマットを説明する図である。
【0023】
一般にコネクションを必要とする通信では、TCPヘッダ501が存在する。コネクションの管理は、TCPヘッダ501に含まれる情報を利用して行われる。このコネクションの管理とは、そのコネクションで送受信される通信パケットの順序制御やパケットロス時に行われる再送制御、パケットの流量制御、輻輳回避制御など、通信の信頼性を確保する制御を指す。送信元ポート番号502は2バイトで、通信パケットを送信する側のポート番号を示す。宛先ポート番号503は2バイトで、通信パケットを受信する側のポート番号を示す。コネクションを必要とする通信の場合、そのコネクションを閉じるか変更しない限り、送信元ポート番号502と宛先ポート番号503は固定の値となる。シーケンス番号504は4バイトで、送信したパケットのデータの位置を示し、データを送信するたびに送信データのサイズ分値が加算される。
【0024】
確認応答番号(Ack No)505は4バイトで、次に受信すべきデータのシーケンス番号を示す。従って、送信側が次に送るパケットのシーケンス番号504と受信パケットの確認応答番号505とが同じ場合は、そこまでの通信は正常に行われたことを示す。データオフセット506は4ビットで、TCPパケットにおけるデータ部フィールドが始まる位置を示す。コントロールフラグ507は6ビットで、TCPパケットの制御情報を示す。コントロールフラグ507は、1ビットずつ個々でフラグ種別が設定されており、それぞれURG,ACK,PSH,RST,SYN,FINを示す。URGは緊急データが含まれていることを示す。ACKは、確認応答番号505の値が有効であることを示す。PSHは、受信データを上位のアプリケーションプロトコルに渡さなければならないことを示す。RSTは、何らかの理由によりコネクションが強制的に切断されたことを示す。SYNはコネクションの確立要求を示す。FINは、今後送信するデータがない、コネクションの切断要求を示す。コネクションを必要とする通信の場合、通信シーケンス毎にコントロールフラグ507を制御することによって、コネクションの管理を行う。
【0025】
ウインドウサイズ508は2バイトで、確認応答番号505の値で示したデータの位置から、次に受信することができるデータサイズを示す。送信側はウインドウサイズ508の値を超えて送信することはできない。このウインドウサイズ508の値は、通信シーケンス毎で受信側において処理されるパケットの状態や、受信側で用意している受信バッファのサイズ、受信側のプロトコルスタックの設定などで動的に変化する。チェックサム509は2バイトで、TCPパケットのヘッダ部とデータ部の信頼性を提供する。送信側が個々のパケット毎にチェックサム509を計算してパケットに付加する。受信側は、受け取ったパケットからチェックサムをチェックすることによって、通信路上でパケットの破壊がないかをチェックすることができる。緊急ポインタ(URG)510は2バイトで、緊急を要するデータの格納位置ポインタを示す。緊急データを受け取った場合の動作は、受信側における個々のアプリケーションが決定する。上述したTCPパケットの個々の内容から、コネクションを必要とする通信を行う場合、通信シーケンス毎に値が動的に変更されるフィールドが存在する。従って、固定長のパケットパターン情報のみで省電力状態から非省電力状態へ復帰するかどうかを判断するのは困難である。
【0026】
図6は、本実施形態に係る画像形成装置101において、主制御部200と副制御部210との間で最低限受け渡す必要のあるデータを説明する図である。尚、図において、200は主制御部を示し、210は副制御部を示している。
【0027】
この図は、非省電力状態時にコネクションを保持している状況から省電力状態へ移行する場合に、主制御部200から副制御部210へ最低限引き継ぐ必要のあるデータの一覧を示している。また図6は、省電力状態時にコネクションを保持している状況で、非省電力状態へ移行する場合に副制御部210から主制御部200へ最低限引き継ぐ必要のあるデータの一覧も併せて示す。また図6は、送信側と受信側でコネクションを伴って行う通信シーケンスにおいて、最低限引き継ぐ必要のあるデータに変更の可能性があるかについても示す。更に図6は、各状態への移行において、主制御部200或いは副制御部210に対して個々のコネクション毎で保持しているデータを引き継ぐかどうかについても併せて示す。
【0028】
UDP通信など、コネクションが不必要な通信を行う場合には、非省電力状態時にパケットを受信すると主制御部200は、送信元/宛先MACアドレスと送信元/宛先IPアドレス、アプリケーションパケット情報を受信パケットから取得して保持する。その後、非省電力状態から省電力状態へ移行する場合、主制御部200は、その取得した情報を副制御部210へ引き継ぎ、省電力状態に移行する。また省電力状態時にパケットを受信した場合、副制御部210は、主制御部200から渡された送信元/宛先MACアドレスと送信元/宛先IPアドレスとパケットパターン情報から受信パケットをチェックする。このチェックの結果、副制御部210は省電力状態から非省電力状態に復帰するか、主制御部200の代わりに応答パケットを生成して代理応答するか、又は受信パケットを無視するかを判定する。この判定結果、代理応答もしくは受信パケットを無視する場合は、副制御部210は引き続き省電力状態のまま動作する。一方、省電力状態から非省電力状態に復帰すると判定した場合、副制御部210は受信パケットから送信元/宛先MACアドレスと送信元/宛先IPアドレスとアプリケーションプロコルパケットの情報を主制御部200へ引き継ぎ、非省電力状態へ移行する。
【0029】
次にTCP通信など、コネクションを必要とする通信を行う場合は、非省電力状態時にパケット受信すると、主制御部200は、コネクションが不必要な通信時において取得、管理するパケット情報のみではコネクションを管理し保持することはできない。よって、コネクションを管理し保持するためには、少なくとも図6のコネクション管理情報を取得して管理する必要がある。コネクションを保持したまま省電力状態へ移行する場合、主制御部200は、少なくともコネクション管理情報のコントロールフラグとウインドウサイズ、チェックサム、緊急ポインタ以外の全情報とアプリケーションパケット情報を副制御部210へ引き継ぐ。そして省電力状態時に副制御部210がパケットを受信した場合、主制御部200から引き継がれた情報から、その受信パケットをチェックする。このチェックの結果、副制御部210は省電力状態から非省電力状態に復帰するか、主制御部200の代わりに応答パケットを生成して代理応答するか、又は受信パケットを無視するかを判定する。
【0030】
受信パケットを無視すると判定した場合、副制御部210は引き続き省電力状態のまま動作する。また主制御部200の代わりに代理応答すると判定した場合は、副制御部210は受信パケットと主制御部200から渡された情報を利用して、図6の動的に変更されるデータを新たに生成又は更新する。副制御部210は、その動的に変更されるデータとそれ以外の固定データとを使用して応答パケットを生成し、送信元に送信する。また省電力状態から非省電力状態に復帰すると判定した場合、副制御部210は受信パケットから図6のコネクション管理情報とアプリケーションパケット情報を取得する。そして副制御部210は、これら情報のうち少なくともウインドウサイズとチェックサム以外の全コネクション管理情報とアプリケーションプロコルパケットの情報を主制御部200へ引き継いで非省電力状態へ移行する。非省電力状態へ復帰後、主制御部200は副制御部210から引き継いだコネクション管理情報を使用して、コネクションを保持したまま次シーケンスに関する処理を継続する。尚、非省電力状態から省電力状態への移行処理と、省電力状態から非省電力状態への移行処理は後述する。
【0031】
図7は、本実施形態1に係る画像形成装置101が非省電力状態から省電力状態へ移行する際の、主制御部200の処理を説明するフローチャートである。この処理はRAM203にロードされたプログラムに従ってメインCPU201の制御の下に実行される。
【0032】
まずS701で、スリープ制御部302は、主制御部200が省電力状態へ移行するかどうかを判定する。この省電力状態へ移行するかどうかの判定は、この画像形成装置101を使用するユーザの手動によってスリープモードへ移行指示が行われるかどうかにより判定される。また、画像形成装置101が一定時間無操作状態が続いたかどうかをスリープ制御部302が監視、判断することによってもなされる。S701で省電力状態へ移行しないと判定した場合は、スリープ制御部302は、一定時間後に再度判定するか、或いはユーザからのスリープ移行指示を受けるまで処理待ちとなる。省電力状態へ移行すると判定した場合はS702に進み、スリープ制御部302は、コネクション情報管理部305を利用して、現在確立しているコネクションが存在するかどうかをチェックする。そしてS703で、確立中のコネクションが存在すると判定するとS704に進む。S704では、スリープ制御部302は、コネクション情報管理部305からコネクション管理情報を取得して通信部304に渡す。次にS705に進み、スリープ制御部302は、S704で通信部304に渡したコネクション管理情報をコネクション情報管理部305から削除し、主制御部200側で処理していた対象のコネクション通信を停止する。そしてS706に進み、通信部304は、副制御部210通信部311へコネクション管理情報を送信する。これにより通信部311は、主制御部200の通信部304から受信したコネクション管理情報をコネクション情報管理部315へ渡してS702へ戻る。こうしてS703で、全コネクションのチェックが終了したかどうかを判定し、全コネクションのチェックが終了していないときはS704に進んで前述した処理を実行し、全コネクションのチェックが終了するとS707に進む。
【0033】
S707では、主制御部200のスリープ制御部302は、アプリケーションプロトコル制御部307へ省電力状態へ移行する通知を行う。この省電力状態への移行通知は、アプリケーションプロトコル制御部307側が用意するCall Back関数への通知や、スリープ制御部302からアプリケーションプロトコル制御部307へのメッセージの送受信処理等で行う。これによりアプリケーションプロトコル制御部307は、非省電力状態から省電力状態への移行を認識する。次にS708に進み、省電力状態への移行通知を受けたアプリケーションプロトコル制御部307は、省電力状態へ移行した後での非省電力状態への復帰、或いは代理応答するための条件を復帰/代理応答情報管理部303にセットする。次にS709に進み、スリープ制御部302は、復帰/代理応答情報管理部303からアプリケーションプロトコル毎の電源復帰、代理応答のためのパターンパケット情報を取得する。スリープ制御部302は、その取得したパターンパケット情報を通信部304に渡す。そしてS710で、通信部304は、副制御部210の通信部311へパターンパケット情報を送信する。これにより通信部311は、通信部304から受信したパターンパケット情報を復帰/代理応答情報保持部312へ送信する。そしてS711に進み、主制御部201のスリープ制御部302は、電源制御部220に省電力状態への移行を指示する。これによって、これ以降のコネクション管理やアプリケーション毎の通信管理は主制御部200から副制御部210へ処理されて、省電力状態を実現する。
【0034】
図8は、本実施形態1に係る画像形成装置101が省電力状態へ移した後の副制御部210の処理を説明するフローチャートである。この処理はROM212に記憶されたプログラムに従ってサブCPU211の制御の下に実行される。
【0035】
まずS801で、ネットワーク送受信部314は、ネットワーク103を介した相手先からのパケットを受信したかどうかを判定する。パケットを受信するとS802に進み、ネットワーク送受信部314は、コネクションを伴った通信かどうかを、受信パケットの送信元/宛先MACアドレスや送信元/宛先IPアドレス、送信元/宛先ポート番号を基に判定する。コネクションを伴った通信でないと判定するとS810に進んで処理を行う。一方、コネクションを伴った通信であると判定するとS803に進み、ネットワーク送受信部314は、通信路上でパケットの破壊がないかどうか、チェックサムを計算して判定する。次にS804に進み、ネットワーク送受信部314は、S801で受信したパケットのコントロールフラグをチェックする。このコントロールフラグがSYN以外の場合はS805に進む。S805でネットワーク送受信部314は、受信したパケットのシーケンス番号504と確認応答番号505(図5)とを取得する。またネットワーク送受信部314は、コネクション情報管理部315からシーケンス番号504と確認応答番号505を取得する。そしてネットワーク送受信部314は、両方から取得したシーケンス番号504と確認応答番号505とが一致するかどうかを判定する(S806)。S806で一致しない場合は異常を検出したと判定して、ネットワーク送受信部314は、受信パケットを破棄してS801へ戻る。
【0036】
S806で一致した場合はS807に進み、ネットワーク送受信部314は、コネクション情報管理部315に記憶されている、対象となるコネクション管理情報を検索する。そしてS808で、コネクション情報管理部315に対象のコネクションが登録されていない場合、ネットワーク送受信部314は、その受信パケットを破棄してS801へ戻る。一方、対象のコネクションが登録されている場合は、ネットワーク送受信部314は、コネクション情報管理部315から、対象となるコネクション管理情報を取得する。次にS809に進み、ネットワーク送受信部314は、その受信したパケットのコントロールフラグをチェックし、パケットの制御方法を確認する。
【0037】
コントロールフラグがAckである場合、ネットワーク送受信部314は、その受信パケットに含まれるコネクション管理情報をコネクション情報管理部315へ送信してS801へ戻る。またコントロールフラグがRST、或いはFINであった場合はS812に進み、ネットワーク送受信部314は、その受信パケットに対するAck応答パケットを生成し、ネットワーク103を介して相手先へ送信する。そしてS813で、ネットワーク送受信部314は、コネクション情報管理部315に格納している対象となるコネクション管理情報を消去してS801へ戻る。これによって、対象のコネクションが切断されたことを意味する。またS809で、コントロールフラグが、PSH、或いはURGであった場合はS810に進み、ネットワーク送受信部314は、その受信パケットを復帰/代理応答判定部313に渡す。これにより復帰/代理応答判定部313は、その受信パケットの宛先ポート番号503と、復帰/代理応答情報保持部312で保存しているポート番号から復帰/代理応答の必要があるアプリケーションプロトコルを検索する。次にS811に進み、その検索に成功して、その受信パケットに対して復帰/代理応答できるかどうかを判定する。復帰/代理応答する場合はS814に進み、復帰/代理応答判定部313は、受信パケットの宛先ポート番号503に該当するアプリケーションプロトコル毎のコマンド解析を行い、代理応答するかどうかを判定する(S815)。そしてS815で代理応答すると判定するとS816に進み、復帰/代理応答判定部313は、受信パケットの応答パケットを生成する。そしてS817に進み、復帰/代理応答判定部313は、ネットワーク送受信部314を通じて代理応答パケットをネットワーク103に送信する。一方、S811で、受信パケットが復帰/代理応答に該当しない場合はS818に進み、復帰/代理応答判定部313は、その受信パケットのエラー応答パケットを生成し、S817で応答パケットを送信する。またS818は、エラー応答パケットを生成して送信する場合もあるが、これとは別に、受信パケットを破棄して応答パケットを送信せずにS801へ戻る処理方法も1つの手段とする。
【0038】
またS815で代理応答しないと判定した場合はS819に進み、復帰/代理応答判定部313は、ネットワーク送受信部314とコネクション情報管理部315へコネクション制御処理の停止を命令する。また前述のS804で、コントロールフラグがSynの場合もS819に進み、復帰/代理応答判定部313は、ネットワーク送受信部314とコネクション情報管理部315へコネクション制御処理の停止を命令する。
【0039】
としてS820に進み、復帰/代理応答判定部313は、副制御部210の通信部311から主制御部200の通信部304を介して、全てのコネクション管理情報を主制御部200のコネクション情報管理部305へ渡す。そしてS821に進み、復帰/代理応答判定部313は、通信部311と通信部304を通じて主制御部200のスリープ制御部302へ省電力状態からの復帰を命令する。
【0040】
以上説明したように本実施形態1によれば、省電力状態時にコネクションを維持しながら非省電力状態から省電力状態に移行できるという効果がある。
【0041】
またパケットの構造が複雑になった場合であっても、省電力状態から非省電力状態に移行できるという効果がある。
【0042】
[実施形態2]
以下にコネクションを用いた通信プロトコルの一例として、SMB/CIFSプロトコルを使用した場合における実施形態2について図を用いて説明する。尚、この実施形態2に係る画像形成装置101の構成及びネットワークシステムの構成は前述の実施形態1と同様であるため、それらの説明を省略する。
【0043】
SMBプロトコル(Server Message Block)プロトコルは、ウインドウズ上で一般的に多く使用されているマイクロソフト社提供のリモートファイル交換プロトコルである。この詳細な仕様は、次のURLで定義されている。(http://msdn.microsoft.com/ja-jp/library/cc246231(en-us,PROT.10).aspx)
またCIFS(Common Internet File System)プロトコルは、SMBと類似したプロトコルであり、SMBと同じくリモートファイル交換プロトコルである。この詳細な仕様は、次のURLで定義されている。(http://www.monyo.com/technical/samba/translation)
またSMB/CIFSプロトコルには、その仕様上、処理の内容によってTCPプロトコル上で動作するパケットとUDPプロトコル上で動作するパケットが存在する。ここでは、本実施形態に関連するTCPプロトコルを用いた処理を例にして説明する。
【0044】
図9は、SMB/CIFSプロトコルにおける通信パケットフォーマットの概要を示す図である。
【0045】
901はSMB/CIFSパケット全体の構成を示している。SMB/CIFSパケット901は、Etherヘッダ401に続いてIPヘッダ402を持つ。またSMB/CIFSパケット901は、IPヘッダ402に続いてコネクションを必要とするTCPヘッダ501を保持する。SMB/CIFS901は、ファイル交換処理を行う場合、常にEtherヘッダ401、IPヘッダ402、TCPヘッダ501を持つ。902はSMB/CIFSプロトコルフィールドを示す。このSMB/CIFSプロトコルフィールド902は、SMB/CIFSヘッダ903とSMB/CIFS本体904の大きく2つに分けられる。SMB/CIFSヘッダ903は、クライアントからの要求種別やサーバから返す応答コード、各種処理におけるIDやオプションフラグを定義している。SMB/CIFS本体904は、SMB/CIFSヘッダ903で定義された要求種別やその要求の詳細情報を定義している。図10以降では、これらのパケットにおける個々の要求種別毎のフローとそれに関連するパケットの詳細を説明する。
【0046】
図10は、端末間でリモートのファイルを閲覧する場合や、ファイル交換を行う場合において、クライアントとサーバ間で最も典型的な正常シーケンスの例を示す図である。
【0047】
S1001で、クライアントは、SMB/CIFSプロトコルで通信するために、クライアントがサポートしているSMB/CIFSプロトコルにおけるバージョン情報を通知し、サーバに対してネゴシエートの要求を行う。S1002で、サーバはクライアントからのネゴシエート要求を受信し、プロトコルのバージョン情報を取得する。そしてサーバは、プロトコルのバージョン情報と自身がサポートしている情報とを比較し、クライアントとサーバの両者がサポートしているプロトコルのバージョンにおいてネゴシエートするべく、クライアントへ応答を返す。ここでクライアントとサーバが同じプロトコルバージョンをサポートしている場合、ネゴシエートが成功する。
【0048】
次にS1003で、クライアントはサーバへSMB/CIFSプロトコルのセッション確立要求を行う。このセッション確立処理では、通常、クライアントの認証処理などが行われる。次にS1004で、サーバは、このセッション確立処理が成功すると、クライアントに対して特定のユーザIDを割り当て、セッション確立応答にセットしてクライアントへ通知する。そしてS1005以降の処理で、サーバはユーザIDを使用してクライアントを特定する。このS1005において、クライアントは、閲覧、読出し、書込みしたいファイル等の共有リソースへアクセスするために、サーバに対して共有リソースへのパス情報を含めた共有リソースツリーの接続要求を行う。そしてS1006で、サーバは、受信した共有リソースツリーの接続要求から共有リソースへのパス情報とユーザIDを取得し、そのユーザIDに該当するクライアントをパス情報へアクセスさせるためのツリーIDを割り当てる。そしてサーバは、共有リソースツリーの接続応答にツリーIDをセットしてクライアントへ通知する。これによってクライアントはサーバ内の特定の共有リソースに対して閲覧、読み出し、書込み等のアクセスが可能となる。こうしてS1007以降の処理で、サーバは、そのツリーIDを使用してクライアントがアクセスする共有リソースのパス情報を特定する。
【0049】
S1007でクライアントは、アクセスしたい特定の共有フォルダ以下のファイルや、共有ファイルの属性情報を取得するためにサーバへ共有リソースの属性の取得要求を行う。これによりS1008では、サーバは、その共有リソースの属性の取得要求を受信し、該当する共有リソースの属性情報を取得して共有リソース属性応答にセットし、クライアントへ通知する。そしてクライアントが特定のファイルに対して読取り、書き込みなどのアクセスを行いたい場合は、S1009で、クライアントはサーバへアクセスする特定のパスに対してOpen要求を行う。これによりS1010でサーバは、受信したOpen要求からクライアントが処理したいリソースパス情報を取得し、該当するパスが存在するかを判定する。このリソースパスの存在の有無の判定結果に応じて、サーバはリソースパスをOpenしたり、新規に生成する。Open処理に成功した場合、サーバは該当するファイルに対してファイルIDを割り当てる。そしてサーバは、そのOpen処理の結果とファイルIDをOpen処理応答にセットしてクライアントに通知する。これによりクライアント、その共有リソースへのアクセスが可能になる。
【0050】
次にS1011に進み、Open処理が成功したことによりクライアントは、サーバへファイルIDに対して読み込み、或いは書き込みの要求を行う。そしてS1012で、サーバは、その受信した読出し、或いは書き込み要求からファイルIDを取得し、処理対象のファイルを特定する。そしてサーバは、クライアントから要求された処理を対象のファイルに対して行う。そしてこのファイルに対して行った結果を読出し、書き込み処理応答にセットしてクライアントへ通知する。
【0051】
次にS1013で、特定のファイルに対するアクセスを終了する場合、クライアントは、その特定のファイルに割り当てられているファイルIDを使用してサーバへリソースのClose要求を行う。これによりS1014でサーバは、その受信したリソースClose要求からファイルIDを取得し、そのファイルIDに割り当てているファイルを特定する。そしてサーバは、そのファイルIDに割り当てているファイルをCloseし、そのファイルに割り当てたファイルIDを消去する。そしてサーバは、そのファイルIDとClose処理の結果をリソースClose応答にセットしてクライアントへ通知する。これによって、クライアントから共有リソースの閲覧、操作が終了したことになる。
【0052】
しかしS1014が終了した時点では、クライアントとサーバとの間で共有リソースのツリーは保たれたままである。従って、ユーザIDやツリーIDも割り当てられたままであるため、ユーザIDのクライアントはサーバへツリーIDの共有リソースツリーのパスを使用して、S1007とS1008の処理を再度行うだけで共有リソースを閲覧できる。またユーザIDのクライアントは、ツリーIDを使用してサーバに対して、S1007〜S1014の処理や、S1009〜S1014の再処理のみで特定のファイルに対してアクセスすることができる。
【0053】
そして共有リソースのツリーを切断する場合は、S1015でクライアントは、そのツリーIDを使用してサーバへ共有リソースツリーの切断要求を行う。そしてS1016で、サーバは、その受信した共有リソースツリーの切断要求からツリーIDを取得し、そのツリーIDに割り当てた共有リソースツリーを特定する。そしてサーバは、該当する共有リソースツリーの情報やツリーIDを消去し、その結果と、そのツリーIDを共有リソースツリーの切断応答にセットしてクライアントへ通知する。これによって、クライアントから特定の共有リソースへのアクセスを終了することになる。しかしS1016が終了した時点では、クライアントとサーバとの間でSMB/CIFSセッションは保たれたままである。従ってユーザIDは割り当てられたままであるため、そのユーザIDを使用してクライアントは、サーバの共有リソースツリーや他の共有リソースツリーへ、S1005とS1006の再処理でアクセスできる。SMB/CIFSセッションを切断する場合、S1017において、クライアントは、ユーザIDを使用してサーバへSMB/CIFSセッションの切断要求を行う。これによりS1018で、サーバは、その受信したSMB/CIFSセッション切断要求からユーザIDを取得し、そのユーザIDに割り当てたSMB/CIFSセッションを特定する。そしてサーバは、該当するSMB/CIFSセッションの情報やユーザIDを消去し、その結果とそのユーザIDをSMB/CIFSセッション切断応答にセットしてクライアントへ通知する。
【0054】
本実施形態2では、非省電力状態において、主制御部200のアプリケーションプロトコル制御部307が、クライアントからのSMB/CIFSデータを受信して応答する。これによりユーザID、ツリーID、ファイルID、オプションフラグ等の管理データを保持している。即ち、本実施形態2では、アプリケーションプロトコル制御部307がSMB/CIFSプロトコル制御部となって図10に示すフローの制御を行っている。アプリケーションプロトコル制御部307は個々のネットワークプロトコル毎に複数存在するが、本実施形態2では、SMB/CIFSプロトコル制御部に対して説明する。
【0055】
図10を例に、非省電力状態時、SMB/CIFSプロトコル制御部はS1001,S1003,S1005,S1007,S1009,S1011,S1013,S1015,S1017での要求をクライアントのパケットを通じて受信する。またSMB/CIFSプロトコル制御部は、これらの要求に対する応答を、S1002,S1004,S1006,S1008,S1010,S1012,S1014,S1016,S1018でクライアントへ通知する。これらの処理を行っている間、SMB/CIFSプロトコル制御部は、ユーザID、ツリーID、ファイルID、オプションフラグ等の管理データを保持し、SMB/CIFSにおけるセッション、ツリー、リソースの管理を行っている。画像形成装置101が非省電力状態から省電力状態へ移行する場合におけるSMB/CIFSアプリケーションの移行処理は、図7のフローチャートのS707とS708の処理に当てはめることができる。即ち、S707で、スリープ制御部302は、SMB/CIFSプロトコル制御部へ省電力状態へ移行するように通知する。これによって、SMB/CIFSプロトコル制御部は、非省電力状態から省電力状態への移行が指示されたことを認識する。次にS708に進み、省電力状態への移行通知を受けたSMB/CIFSプロトコル制御部は、省電力状態に移行した後の非省電力状態への復帰、或いは代理応答するための条件を主制御部200の復帰/代理応答情報管理部303にセットする。このときSMB/CIFSプロトコル制御部は、管理中のユーザID、ツリーID、ファイルID、オプションフラグ等の情報と相手先IPアドレス、プロトコル種別(本実施形態2でSMB/CIFS)を復帰/代理応答情報管理部303にセットする。更に、SMB/CIFSプロトコル制御部は、特定のユーザID、ツリーIDを持つクライアントが図10のS1007で属性取得要求を行った全てのリソースに対して、そのパスと属性情報を復帰/代理応答情報管理部303にセットする。この属性情報には、リソース名、リソースサイズ、アクセス日時、更新日時、作成日時等が含まれる。これらの管理情報とコネクション管理情報が図7のフローを基にして副制御部210に渡されることによって、省電力状態への移行時における副制御部210での復帰/代理応答機能を実現する。
【0056】
図11は、本実施形態2で、省電力状態時における副制御部210の処理を説明するフローチャートである。この処理はROM212に記憶されたプログラムに従ってサブCPU211の制御の下に実行される。この図11は、SMB/CIFSプロトコルを、前述の図8のS814に当てはめた場合で説明する。
【0057】
まずS1101で、副制御部210の復帰/代理応答判定部313は、受信したSMB/CIFSデータからユーザIDを取得し、復帰/代理応答情報保持部312に格納しているSMB/CIFSデータから同じユーザIDを検索する。次にS1102で復帰/代理応答情報保持部312にユーザIDが存在するかどうかを判定し、存在しない場合は復帰/代理応答判定部313は、クライアントからの新たなSMB/CIFS接続を要求とみなしてS1115の非省電力状態への復帰処理へ進む。一方、S1102で復帰/代理応答情報保持部312にユーザIDが存在する場合はS1103に進み、復帰/代理応答判定部313は、受信したSMB/CIFSデータからクライアントが要求しているコマンドを解析する。そしてS1104に進み、要求コマンドがSMB/CIFSセッションの切断要求かどうかを判定する。そうであればS1105に進み、復帰/代理応答判定部313は、復帰/代理応答情報保持部312に存在するユーザIDと関連情報を削除してS1116に進む。この関連情報とは、そのユーザIDに関連する全てのSMB/CIFSデータのことを指す。
【0058】
一方、S1104で、要求コマンドがSMB/CIFSセッション切断要求でない場合はS1106に進む。S1106では、復帰/代理応答判定部313は、受信データからツリーIDを取得する。次にS1107に進み、復帰/代理応答判定部313は、復帰/代理応答情報保持部312の、ユーザIDに関連しているデータから、取得したツリーIDと同じものを検索する。ここで検索したツリーIDが存在しない場合は復帰/代理応答判定部313は、クライアントから新たなリソースツリーへの接続を要求されていると判断してS1115に進み、非省電力状態への復帰処理に移行する。
【0059】
一方、S1107で、検索したツリーIDが存在する場合はS1108に進み、復帰/代理応答判定部313は、S1103にて解析した要求コマンドを判別する。S1108で、その要求コマンドがツリー接続の切断要求である時はS1109に進み、復帰/代理応答判定部313は、復帰/代理応答情報保持部312に存在するツリーIDと関連リソース情報を削除してS1116に進む。この関連リソース情報とは、そのツリーIDに割り当てられている共有リソース以下に存在する全てのリソースのパス情報や属性情報を指す。
【0060】
一方、S1108で、その要求コマンドがツリー接続の切断要求でない場合はS1110に進み、復帰/代理応答判定部313は、受信データから処理対象となるリソースパスを取得する。そして復帰/代理応答判定部313は、復帰/代理応答情報保持部312の、ユーザID、ツリーIDに関連しているデータから、取得したリソースパスと同じものを検索する。そしてS1111で、その検索したリソースパスが存在するかどうかを判定する。ここでリソースパスが存在しない場合は、復帰/代理応答判定部313は、クライアントから新たなリソースパスへの接続を要求されていると判定してS1115に進み、非省電力状態への復帰処理へ移行する。本実施形態2では、S1115で非省電力状態への復帰処理へ移行することとしたが、代理応答処理の仕様によってはリソースパスが存在しないとみなし、その旨のエラーを代理応答することもあり得る。
【0061】
一方、S1111で、検索したリソースパスが存在する場合はS1112に進み、復帰/代理応答判定部313は、S1103で解析した要求コマンドを判別する。ここで要求コマンドが、検索したリソースパスに対するファイル制御要求であると判定すると、画像形成装置101のHDD206に格納している実体ファイルへの制御処理が必要となる。
【0062】
本実施形態2では、省電力状態では画像形成装置101のHDD206はスリープ中であり、非通電を伴った省電力状態であることから、実体ファイルへの制御処理が必要な場合は非省電力状態への復帰が必要となる。従ってこの場合、復帰/代理応答判定部313は、S1112からS1115に進んで、非省電力状態への復帰処理へ移行する。このS1112で判定したファイル制御要求とは、ファイルの読み取り、書き込み、複写、移動、削除処理などを指す。一方、S1112で、その要求コマンドがリソース検索やリソースの属性取得要求であると判定するとS1113に進む。S1113では、復帰/代理応答判定部313は、復帰/代理応答情報保持部312で管理中のリソース属性情報を取得する。そしてS1116に進む。またS1112で、要求コマンドがリソースへのCLOSE要求であると判定するとS1114に進む。S1114では、復帰/代理応答判定部313は、復帰/代理応答情報保持部312で管理しているリソースのファイルIDを消去する。画像形成装置101が非省電力状態へ復帰した場合は、復帰/代理応答情報保持部312で管理している全ての情報を、メインCPU201のアプリケーションプロトコル制御部307に通知する。これによってアプリケーションプロトコル制御部307は、そのファイルIDに該当するリソースがCLOSEされたことを認識でき、対象リソースに関係する以降の制御処理を行うことが可能となる。またS1112で、その要求コマンドがリソースへのOPEN要求である場合はS1114に進む。S1114では、復帰/代理応答判定部313は、復帰/代理応答情報保持部312で管理しているリソースに対して新規にファイルIDを付与する。画像形成装置101が非省電力状態へ復帰した場合は、復帰/代理応答情報保持部312で管理している全ての情報を、メインCPU201のアプリケーションプロトコル制御部307に通知する。これによってアプリケーションプロトコル制御部307は、そのファイルIDに該当するリソースがOPENされたことを認識でき、対象リソースに関係する以降の制御処理を行うことが可能となる。そしてS1116では、復帰/代理応答判定部313は、非電力状態への復帰は行わず、サブCPU211での代理応答処理へ移行する。
【0063】
以上説明したように本実施形態2によれば、省電力状態時において受信したプロトコルのパケットの内容に従って、非省電力状態に復帰したり、応答パケットを作成して代理応答することができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、ネットワークに接続され、省電力制御を行う画像形成装置及び前記画像形成装置の省電力制御方法とプログラムに関する。
【背景技術】
【0002】
近年の環境問題への取り組みとして、プリンタや複合機などの画像形成装置における省電力化が進められている。その実現方法の一つとして、画像形成装置上の操作パネルの操作やネットワークを介した印刷ジョブの投入などが一定時間行われなかった場合に省電力状態に移行して、消費電力を抑えることが一般に行われている。特許文献1には、通常動作時の動作制御とは別に、省電力状態で動作制御を行う省電力制御機能を備えた通信制御装置が提案されている。この省電力制御機能は、省電力状態に移行する前に予め定められた条件を通信制御装置に通知してから省電力モードに移行する。そしてその後、省電力モードでの動作時に、通信制御装置がネットワークからパケットを受信した場合、そのパケットが予め定められた条件を満たすか否かに応じて画像形成装置を非省電力状態に復帰させるか否かを判定している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−259906号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の従来技術では、省電力状態から非省電力状態へ復帰すべきかどうかを固定のパケットパターンに基づいて判定していた。しかし、このようなパケットを送受信する通信プロトコルでは、パケットに含まれる情報量が多くなっており、また通信シーケンスが複雑である。そのためネットワークから受信したパケットの構造が複雑になると、省電力状態から復帰すべきかどうかを正確に判定できなくなるという課題がある。
【0005】
また、通信プロトコルの種別によっては、一旦確立したコネクションを長時間保持し続ける場合がある。このような通信プロトコルで通信しながら、非省電力状態から省電力状態への移行や、省電力状態から非省電力状態への移行を行う場合、固定のパケットパターンを登録するだけでは、通信のためのコネクションを保持することができない。その結果、非省電力状態でコネクションを保持するような通信プロトコルでは省電力状態へ移行できなくなる。またHTTP,FTP,CIFSプロトコルのような、一般的に使用される多くのプロトコルはコネクションを必要とするプロトコルである。従って、これらのプロトコルでの動作時には省電力状態へ移行できなくなり、省電力の効率を大きく低下させてしまうことになる。
【0006】
本発明の目的は上記従来技術の問題点を解決することにある。
【0007】
本願発明の特徴は、通信の実行に伴って更新される通信接続情報を必要とする通信プロトコルを利用する場合に、省電力状態から非省電力状態への復帰を適切に制御できる技術を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
画像形成処理を制御する主制御手段と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御手段とを有する画像形成装置であって、
少なくとも前記主制御手段と前記副制御手段への電力供給を制御する電源制御手段と、
前記電源制御手段を制御して前記主制御手段を省電力状態に移行させるとともに、前記ネットワークを介した通信の実行に伴って更新される通信接続情報を前記主制御手段から前記副制御手段に通知して保持させるスリープ制御手段と、
前記主制御手段が省電力状態にあるとき、前記情報処理装置からデータを受信すると、当該受信したデータ及び前記通信接続情報に基づいて前記主制御手段を非省電力状態へ復帰させるか又は前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うかを判定する判定手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させると判定した場合、前記主制御手段を非省電力状態に復帰させる復帰手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うと判定した場合、前記受信したデータに対する応答情報を作成し、前記情報処理装置に対して送信する応答手段と、
を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、通信の実行に伴って更新される通信接続情報を必要とする通信プロトコルを利用する場合に、省電力状態から非省電力状態への復帰を適切に制御することが可能となる。
【図面の簡単な説明】
【0010】
【図1】本実施形態に係る画像形成装置を使用したネットワークシステムの構成を示す図。
【図2】本実施形態に係る画像形成装置の構成を示すブロック図。
【図3】実施形態に係る画像形成装置のソフトウェア構成を説明する図。
【図4】本実施形態で通信に利用されるパケットのフォーマット例を示す図。
【図5】コネクションを必要とする通信で利用されるTCPパケットのフォーマットを説明する図。
【図6】画像形成装置の主制御部と副制御部との間で最低限受け渡す必要のあるデータを説明する図。
【図7】本実施形態1に係る画像形成装置が非省電力状態から省電力状態へ移行する際の主制御部の処理を説明するフローチャート。
【図8】本実施形態1に係る画像形成装置が省電力状態へ移した後の副制御部の処理を説明するフローチャート。
【図9】SMB/CIFSプロトコルにおける通信パケットフォーマットの概要を示す図。
【図10】クライアントとサーバ間で最も典型的な正常シーケンスの例を示す図。
【図11】本実施形態2で、省電力状態時における副制御部の処理を説明するフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0012】
図1は、本発明の実施形態に係る画像形成装置101を使用したネットワークシステムの構成を示す図である。
【0013】
このネットワークシステムでは、プリンタ等の画像形成装置101と、パーソナルコンピュータなどの情報処理装置(PC)102がネットワーク103を介して接続され、相互に通信可能となっている。
【0014】
図2は、本実施形態に係る画像形成装置101の構成を示すブロック図である。
【0015】
画像形成装置101は、MainCPU(メインCPU)201が制御する主制御部200と、SubCPU(サブCPU)211が制御する副制御部210を有し、主制御部200と副制御部210はPCIバスにより接続されている。主制御部200は、読取制御部204や印刷制御部205を制御し、画像形成装置として周知のコピー、印刷処理等の画像形成処理機能を実現する。これらの機能や省電力制御機能を制御するプログラムは、ROM202やHDD206に格納されており、この画像形成装置101が起動時にRAM203に読み込まれ、メインCPU201により実行される。副制御部210はLAN制御部214を介してネットワーク103を介してパケットの送受信を行ったり、画像形成装置101が省電力状態に移行した後に非省電力状態へ復帰するための制御を行うための最低限の機能を実現する。副制御部210のこれらの機能を制御するプログラムはROM212に格納されており、画像形成装置101が起動した時にRAM213に読み込まれ、サブCPU211により実行される。画像形成装置101が非省電力状態から省電力状態へ移行する場合、その後で省電力状態から非省電力状態に復帰するための条件となる情報は、主制御部200から副制御部210に送信されてRAM213に格納される。電源制御部220は、画像形成装置101の各ブロックへの電力供給を制御し、特に、主制御部200への電力供給を停止して省電力状態に移行させることにより、画像形成装置101全体としての消費電力を抑えることが可能である。
【0016】
図3(A)(B)は、実施形態に係る画像形成装置101のソフトウェア構成を説明する図で、図3(A)は主制御部200のソフトウェアの構成を示し、図3(B)は、副制御部210のソフトウェアの構成を示している。尚、図に示す各部は、ソフトウェアの機能別に示すソフトウェアブロック(モジュール)を示し、これら各ブロックはCPUにより並行して実行される。
【0017】
図3(A)において、通常制御部301は、非省電力での通常の動作時の画像形成装置101の各種動作を制御する。復帰/代理応答情報管理部303は、省電力状態から非省電力状態へ復帰する条件や、省電力状態を維持したまま代理応答する条件を示す情報を保持する。スリープ制御部302は、復帰/代理応答情報管理部303に保持された条件情報やコネクション情報管理部305に保持されたコネクション管理情報(通信接続情報)を取得して通信部304に送信する。その後、電源制御部220に省電力状態へ移行するように指示する。通信部304は、副制御部210の通信部311と通信を行い、副制御部210との間で情報の交換を行う。コネクション情報監視ドライバ306は、ネットワーク送受信部314を通じて副制御部210が受信する通信パケットを監視し、後述するコネクション管理情報を取得し、コネクション情報管理部305へ格納する。コネクション情報管理部305は、コネクション情報監視ドライバ306から個々の通信コネクション毎におけるコネクション情報を受け取ってこの情報を保持する。
【0018】
アプリケーションプロトコル制御部307は、非省電力状態で動作する。画像形成装置101がクライアントから各種パケットを受信した時に、アプリケーションプロトコル制御部307は、通信制御部301を通じてアプリケーション毎のデータを取得する。またアプリケーションプロトコル制御部307は、スリープ制御部302を通じて非省電力状態から省電力状態への移行通知を受け取る。これによって、アプリケーションプロトコル制御部307は、非省電力状態から省電力状態への移行を認識することが可能となる。更にアプリケーションプロトコル制御部307は、省電力状態へ移行した後、省電力状態から非省電力状態への復帰条件、或いは代理応答するための条件を復帰/代理応答情報管理部303にセットする。
【0019】
次に図3(B)において、通信部311は、主制御部200の通信部304と通信を行い、主制御部200との間で情報の交換を行う。復帰/代理応答情報保持部312は、通信部311を介して復帰/代理応答情報管理部303が保持していた復帰/代理応答条件情報を受信して保持する。コネクション情報管理部315は、通信部311を介してコネクション情報管理部305が保持していたコネクション管理情報を受信して保持する。復帰/代理応答判定部313は、ネットワーク送受信部314から受信したパケットを解析する。そして復帰/代理応答判定部313は、復帰/代理応答情報保持部312に保持されている情報と、コネクション情報管理部315に保持されている情報とを利用して非省電力状態へ復帰させるか、省電力状態のまま代理応答を行うか、未処理とするか判定する。尚、非省電力状態では、ネットワーク送受信部314が受信したパケットはそのまま通信部311を介して主制御部200に渡される。一方、省電力状態では、ネットワーク送受信部314が受信したパケットは、復帰/代理応答判定部313に渡される。
【0020】
図4は、本実施形態で通信に利用されるパケットのフォーマット例を示す図である。
【0021】
通信パケットは、Etherヘッダ401に続いてIPヘッダ402が存在する。コネクションを必要とするパケットとして、例えばTCP(Transmission Control Packet)パケットがある。TCPパケットは、Etherヘッダ401、IPヘッダ402に続いてTCPパケットヘッダを備えた構造となっている。尚、TCPパケットは図5を参照して後述するが、TCP仕様は、RFC793において定義されている。
【0022】
図5は、コネクションを必要とする通信において利用されるTCPパケットのフォーマットを説明する図である。
【0023】
一般にコネクションを必要とする通信では、TCPヘッダ501が存在する。コネクションの管理は、TCPヘッダ501に含まれる情報を利用して行われる。このコネクションの管理とは、そのコネクションで送受信される通信パケットの順序制御やパケットロス時に行われる再送制御、パケットの流量制御、輻輳回避制御など、通信の信頼性を確保する制御を指す。送信元ポート番号502は2バイトで、通信パケットを送信する側のポート番号を示す。宛先ポート番号503は2バイトで、通信パケットを受信する側のポート番号を示す。コネクションを必要とする通信の場合、そのコネクションを閉じるか変更しない限り、送信元ポート番号502と宛先ポート番号503は固定の値となる。シーケンス番号504は4バイトで、送信したパケットのデータの位置を示し、データを送信するたびに送信データのサイズ分値が加算される。
【0024】
確認応答番号(Ack No)505は4バイトで、次に受信すべきデータのシーケンス番号を示す。従って、送信側が次に送るパケットのシーケンス番号504と受信パケットの確認応答番号505とが同じ場合は、そこまでの通信は正常に行われたことを示す。データオフセット506は4ビットで、TCPパケットにおけるデータ部フィールドが始まる位置を示す。コントロールフラグ507は6ビットで、TCPパケットの制御情報を示す。コントロールフラグ507は、1ビットずつ個々でフラグ種別が設定されており、それぞれURG,ACK,PSH,RST,SYN,FINを示す。URGは緊急データが含まれていることを示す。ACKは、確認応答番号505の値が有効であることを示す。PSHは、受信データを上位のアプリケーションプロトコルに渡さなければならないことを示す。RSTは、何らかの理由によりコネクションが強制的に切断されたことを示す。SYNはコネクションの確立要求を示す。FINは、今後送信するデータがない、コネクションの切断要求を示す。コネクションを必要とする通信の場合、通信シーケンス毎にコントロールフラグ507を制御することによって、コネクションの管理を行う。
【0025】
ウインドウサイズ508は2バイトで、確認応答番号505の値で示したデータの位置から、次に受信することができるデータサイズを示す。送信側はウインドウサイズ508の値を超えて送信することはできない。このウインドウサイズ508の値は、通信シーケンス毎で受信側において処理されるパケットの状態や、受信側で用意している受信バッファのサイズ、受信側のプロトコルスタックの設定などで動的に変化する。チェックサム509は2バイトで、TCPパケットのヘッダ部とデータ部の信頼性を提供する。送信側が個々のパケット毎にチェックサム509を計算してパケットに付加する。受信側は、受け取ったパケットからチェックサムをチェックすることによって、通信路上でパケットの破壊がないかをチェックすることができる。緊急ポインタ(URG)510は2バイトで、緊急を要するデータの格納位置ポインタを示す。緊急データを受け取った場合の動作は、受信側における個々のアプリケーションが決定する。上述したTCPパケットの個々の内容から、コネクションを必要とする通信を行う場合、通信シーケンス毎に値が動的に変更されるフィールドが存在する。従って、固定長のパケットパターン情報のみで省電力状態から非省電力状態へ復帰するかどうかを判断するのは困難である。
【0026】
図6は、本実施形態に係る画像形成装置101において、主制御部200と副制御部210との間で最低限受け渡す必要のあるデータを説明する図である。尚、図において、200は主制御部を示し、210は副制御部を示している。
【0027】
この図は、非省電力状態時にコネクションを保持している状況から省電力状態へ移行する場合に、主制御部200から副制御部210へ最低限引き継ぐ必要のあるデータの一覧を示している。また図6は、省電力状態時にコネクションを保持している状況で、非省電力状態へ移行する場合に副制御部210から主制御部200へ最低限引き継ぐ必要のあるデータの一覧も併せて示す。また図6は、送信側と受信側でコネクションを伴って行う通信シーケンスにおいて、最低限引き継ぐ必要のあるデータに変更の可能性があるかについても示す。更に図6は、各状態への移行において、主制御部200或いは副制御部210に対して個々のコネクション毎で保持しているデータを引き継ぐかどうかについても併せて示す。
【0028】
UDP通信など、コネクションが不必要な通信を行う場合には、非省電力状態時にパケットを受信すると主制御部200は、送信元/宛先MACアドレスと送信元/宛先IPアドレス、アプリケーションパケット情報を受信パケットから取得して保持する。その後、非省電力状態から省電力状態へ移行する場合、主制御部200は、その取得した情報を副制御部210へ引き継ぎ、省電力状態に移行する。また省電力状態時にパケットを受信した場合、副制御部210は、主制御部200から渡された送信元/宛先MACアドレスと送信元/宛先IPアドレスとパケットパターン情報から受信パケットをチェックする。このチェックの結果、副制御部210は省電力状態から非省電力状態に復帰するか、主制御部200の代わりに応答パケットを生成して代理応答するか、又は受信パケットを無視するかを判定する。この判定結果、代理応答もしくは受信パケットを無視する場合は、副制御部210は引き続き省電力状態のまま動作する。一方、省電力状態から非省電力状態に復帰すると判定した場合、副制御部210は受信パケットから送信元/宛先MACアドレスと送信元/宛先IPアドレスとアプリケーションプロコルパケットの情報を主制御部200へ引き継ぎ、非省電力状態へ移行する。
【0029】
次にTCP通信など、コネクションを必要とする通信を行う場合は、非省電力状態時にパケット受信すると、主制御部200は、コネクションが不必要な通信時において取得、管理するパケット情報のみではコネクションを管理し保持することはできない。よって、コネクションを管理し保持するためには、少なくとも図6のコネクション管理情報を取得して管理する必要がある。コネクションを保持したまま省電力状態へ移行する場合、主制御部200は、少なくともコネクション管理情報のコントロールフラグとウインドウサイズ、チェックサム、緊急ポインタ以外の全情報とアプリケーションパケット情報を副制御部210へ引き継ぐ。そして省電力状態時に副制御部210がパケットを受信した場合、主制御部200から引き継がれた情報から、その受信パケットをチェックする。このチェックの結果、副制御部210は省電力状態から非省電力状態に復帰するか、主制御部200の代わりに応答パケットを生成して代理応答するか、又は受信パケットを無視するかを判定する。
【0030】
受信パケットを無視すると判定した場合、副制御部210は引き続き省電力状態のまま動作する。また主制御部200の代わりに代理応答すると判定した場合は、副制御部210は受信パケットと主制御部200から渡された情報を利用して、図6の動的に変更されるデータを新たに生成又は更新する。副制御部210は、その動的に変更されるデータとそれ以外の固定データとを使用して応答パケットを生成し、送信元に送信する。また省電力状態から非省電力状態に復帰すると判定した場合、副制御部210は受信パケットから図6のコネクション管理情報とアプリケーションパケット情報を取得する。そして副制御部210は、これら情報のうち少なくともウインドウサイズとチェックサム以外の全コネクション管理情報とアプリケーションプロコルパケットの情報を主制御部200へ引き継いで非省電力状態へ移行する。非省電力状態へ復帰後、主制御部200は副制御部210から引き継いだコネクション管理情報を使用して、コネクションを保持したまま次シーケンスに関する処理を継続する。尚、非省電力状態から省電力状態への移行処理と、省電力状態から非省電力状態への移行処理は後述する。
【0031】
図7は、本実施形態1に係る画像形成装置101が非省電力状態から省電力状態へ移行する際の、主制御部200の処理を説明するフローチャートである。この処理はRAM203にロードされたプログラムに従ってメインCPU201の制御の下に実行される。
【0032】
まずS701で、スリープ制御部302は、主制御部200が省電力状態へ移行するかどうかを判定する。この省電力状態へ移行するかどうかの判定は、この画像形成装置101を使用するユーザの手動によってスリープモードへ移行指示が行われるかどうかにより判定される。また、画像形成装置101が一定時間無操作状態が続いたかどうかをスリープ制御部302が監視、判断することによってもなされる。S701で省電力状態へ移行しないと判定した場合は、スリープ制御部302は、一定時間後に再度判定するか、或いはユーザからのスリープ移行指示を受けるまで処理待ちとなる。省電力状態へ移行すると判定した場合はS702に進み、スリープ制御部302は、コネクション情報管理部305を利用して、現在確立しているコネクションが存在するかどうかをチェックする。そしてS703で、確立中のコネクションが存在すると判定するとS704に進む。S704では、スリープ制御部302は、コネクション情報管理部305からコネクション管理情報を取得して通信部304に渡す。次にS705に進み、スリープ制御部302は、S704で通信部304に渡したコネクション管理情報をコネクション情報管理部305から削除し、主制御部200側で処理していた対象のコネクション通信を停止する。そしてS706に進み、通信部304は、副制御部210通信部311へコネクション管理情報を送信する。これにより通信部311は、主制御部200の通信部304から受信したコネクション管理情報をコネクション情報管理部315へ渡してS702へ戻る。こうしてS703で、全コネクションのチェックが終了したかどうかを判定し、全コネクションのチェックが終了していないときはS704に進んで前述した処理を実行し、全コネクションのチェックが終了するとS707に進む。
【0033】
S707では、主制御部200のスリープ制御部302は、アプリケーションプロトコル制御部307へ省電力状態へ移行する通知を行う。この省電力状態への移行通知は、アプリケーションプロトコル制御部307側が用意するCall Back関数への通知や、スリープ制御部302からアプリケーションプロトコル制御部307へのメッセージの送受信処理等で行う。これによりアプリケーションプロトコル制御部307は、非省電力状態から省電力状態への移行を認識する。次にS708に進み、省電力状態への移行通知を受けたアプリケーションプロトコル制御部307は、省電力状態へ移行した後での非省電力状態への復帰、或いは代理応答するための条件を復帰/代理応答情報管理部303にセットする。次にS709に進み、スリープ制御部302は、復帰/代理応答情報管理部303からアプリケーションプロトコル毎の電源復帰、代理応答のためのパターンパケット情報を取得する。スリープ制御部302は、その取得したパターンパケット情報を通信部304に渡す。そしてS710で、通信部304は、副制御部210の通信部311へパターンパケット情報を送信する。これにより通信部311は、通信部304から受信したパターンパケット情報を復帰/代理応答情報保持部312へ送信する。そしてS711に進み、主制御部201のスリープ制御部302は、電源制御部220に省電力状態への移行を指示する。これによって、これ以降のコネクション管理やアプリケーション毎の通信管理は主制御部200から副制御部210へ処理されて、省電力状態を実現する。
【0034】
図8は、本実施形態1に係る画像形成装置101が省電力状態へ移した後の副制御部210の処理を説明するフローチャートである。この処理はROM212に記憶されたプログラムに従ってサブCPU211の制御の下に実行される。
【0035】
まずS801で、ネットワーク送受信部314は、ネットワーク103を介した相手先からのパケットを受信したかどうかを判定する。パケットを受信するとS802に進み、ネットワーク送受信部314は、コネクションを伴った通信かどうかを、受信パケットの送信元/宛先MACアドレスや送信元/宛先IPアドレス、送信元/宛先ポート番号を基に判定する。コネクションを伴った通信でないと判定するとS810に進んで処理を行う。一方、コネクションを伴った通信であると判定するとS803に進み、ネットワーク送受信部314は、通信路上でパケットの破壊がないかどうか、チェックサムを計算して判定する。次にS804に進み、ネットワーク送受信部314は、S801で受信したパケットのコントロールフラグをチェックする。このコントロールフラグがSYN以外の場合はS805に進む。S805でネットワーク送受信部314は、受信したパケットのシーケンス番号504と確認応答番号505(図5)とを取得する。またネットワーク送受信部314は、コネクション情報管理部315からシーケンス番号504と確認応答番号505を取得する。そしてネットワーク送受信部314は、両方から取得したシーケンス番号504と確認応答番号505とが一致するかどうかを判定する(S806)。S806で一致しない場合は異常を検出したと判定して、ネットワーク送受信部314は、受信パケットを破棄してS801へ戻る。
【0036】
S806で一致した場合はS807に進み、ネットワーク送受信部314は、コネクション情報管理部315に記憶されている、対象となるコネクション管理情報を検索する。そしてS808で、コネクション情報管理部315に対象のコネクションが登録されていない場合、ネットワーク送受信部314は、その受信パケットを破棄してS801へ戻る。一方、対象のコネクションが登録されている場合は、ネットワーク送受信部314は、コネクション情報管理部315から、対象となるコネクション管理情報を取得する。次にS809に進み、ネットワーク送受信部314は、その受信したパケットのコントロールフラグをチェックし、パケットの制御方法を確認する。
【0037】
コントロールフラグがAckである場合、ネットワーク送受信部314は、その受信パケットに含まれるコネクション管理情報をコネクション情報管理部315へ送信してS801へ戻る。またコントロールフラグがRST、或いはFINであった場合はS812に進み、ネットワーク送受信部314は、その受信パケットに対するAck応答パケットを生成し、ネットワーク103を介して相手先へ送信する。そしてS813で、ネットワーク送受信部314は、コネクション情報管理部315に格納している対象となるコネクション管理情報を消去してS801へ戻る。これによって、対象のコネクションが切断されたことを意味する。またS809で、コントロールフラグが、PSH、或いはURGであった場合はS810に進み、ネットワーク送受信部314は、その受信パケットを復帰/代理応答判定部313に渡す。これにより復帰/代理応答判定部313は、その受信パケットの宛先ポート番号503と、復帰/代理応答情報保持部312で保存しているポート番号から復帰/代理応答の必要があるアプリケーションプロトコルを検索する。次にS811に進み、その検索に成功して、その受信パケットに対して復帰/代理応答できるかどうかを判定する。復帰/代理応答する場合はS814に進み、復帰/代理応答判定部313は、受信パケットの宛先ポート番号503に該当するアプリケーションプロトコル毎のコマンド解析を行い、代理応答するかどうかを判定する(S815)。そしてS815で代理応答すると判定するとS816に進み、復帰/代理応答判定部313は、受信パケットの応答パケットを生成する。そしてS817に進み、復帰/代理応答判定部313は、ネットワーク送受信部314を通じて代理応答パケットをネットワーク103に送信する。一方、S811で、受信パケットが復帰/代理応答に該当しない場合はS818に進み、復帰/代理応答判定部313は、その受信パケットのエラー応答パケットを生成し、S817で応答パケットを送信する。またS818は、エラー応答パケットを生成して送信する場合もあるが、これとは別に、受信パケットを破棄して応答パケットを送信せずにS801へ戻る処理方法も1つの手段とする。
【0038】
またS815で代理応答しないと判定した場合はS819に進み、復帰/代理応答判定部313は、ネットワーク送受信部314とコネクション情報管理部315へコネクション制御処理の停止を命令する。また前述のS804で、コントロールフラグがSynの場合もS819に進み、復帰/代理応答判定部313は、ネットワーク送受信部314とコネクション情報管理部315へコネクション制御処理の停止を命令する。
【0039】
としてS820に進み、復帰/代理応答判定部313は、副制御部210の通信部311から主制御部200の通信部304を介して、全てのコネクション管理情報を主制御部200のコネクション情報管理部305へ渡す。そしてS821に進み、復帰/代理応答判定部313は、通信部311と通信部304を通じて主制御部200のスリープ制御部302へ省電力状態からの復帰を命令する。
【0040】
以上説明したように本実施形態1によれば、省電力状態時にコネクションを維持しながら非省電力状態から省電力状態に移行できるという効果がある。
【0041】
またパケットの構造が複雑になった場合であっても、省電力状態から非省電力状態に移行できるという効果がある。
【0042】
[実施形態2]
以下にコネクションを用いた通信プロトコルの一例として、SMB/CIFSプロトコルを使用した場合における実施形態2について図を用いて説明する。尚、この実施形態2に係る画像形成装置101の構成及びネットワークシステムの構成は前述の実施形態1と同様であるため、それらの説明を省略する。
【0043】
SMBプロトコル(Server Message Block)プロトコルは、ウインドウズ上で一般的に多く使用されているマイクロソフト社提供のリモートファイル交換プロトコルである。この詳細な仕様は、次のURLで定義されている。(http://msdn.microsoft.com/ja-jp/library/cc246231(en-us,PROT.10).aspx)
またCIFS(Common Internet File System)プロトコルは、SMBと類似したプロトコルであり、SMBと同じくリモートファイル交換プロトコルである。この詳細な仕様は、次のURLで定義されている。(http://www.monyo.com/technical/samba/translation)
またSMB/CIFSプロトコルには、その仕様上、処理の内容によってTCPプロトコル上で動作するパケットとUDPプロトコル上で動作するパケットが存在する。ここでは、本実施形態に関連するTCPプロトコルを用いた処理を例にして説明する。
【0044】
図9は、SMB/CIFSプロトコルにおける通信パケットフォーマットの概要を示す図である。
【0045】
901はSMB/CIFSパケット全体の構成を示している。SMB/CIFSパケット901は、Etherヘッダ401に続いてIPヘッダ402を持つ。またSMB/CIFSパケット901は、IPヘッダ402に続いてコネクションを必要とするTCPヘッダ501を保持する。SMB/CIFS901は、ファイル交換処理を行う場合、常にEtherヘッダ401、IPヘッダ402、TCPヘッダ501を持つ。902はSMB/CIFSプロトコルフィールドを示す。このSMB/CIFSプロトコルフィールド902は、SMB/CIFSヘッダ903とSMB/CIFS本体904の大きく2つに分けられる。SMB/CIFSヘッダ903は、クライアントからの要求種別やサーバから返す応答コード、各種処理におけるIDやオプションフラグを定義している。SMB/CIFS本体904は、SMB/CIFSヘッダ903で定義された要求種別やその要求の詳細情報を定義している。図10以降では、これらのパケットにおける個々の要求種別毎のフローとそれに関連するパケットの詳細を説明する。
【0046】
図10は、端末間でリモートのファイルを閲覧する場合や、ファイル交換を行う場合において、クライアントとサーバ間で最も典型的な正常シーケンスの例を示す図である。
【0047】
S1001で、クライアントは、SMB/CIFSプロトコルで通信するために、クライアントがサポートしているSMB/CIFSプロトコルにおけるバージョン情報を通知し、サーバに対してネゴシエートの要求を行う。S1002で、サーバはクライアントからのネゴシエート要求を受信し、プロトコルのバージョン情報を取得する。そしてサーバは、プロトコルのバージョン情報と自身がサポートしている情報とを比較し、クライアントとサーバの両者がサポートしているプロトコルのバージョンにおいてネゴシエートするべく、クライアントへ応答を返す。ここでクライアントとサーバが同じプロトコルバージョンをサポートしている場合、ネゴシエートが成功する。
【0048】
次にS1003で、クライアントはサーバへSMB/CIFSプロトコルのセッション確立要求を行う。このセッション確立処理では、通常、クライアントの認証処理などが行われる。次にS1004で、サーバは、このセッション確立処理が成功すると、クライアントに対して特定のユーザIDを割り当て、セッション確立応答にセットしてクライアントへ通知する。そしてS1005以降の処理で、サーバはユーザIDを使用してクライアントを特定する。このS1005において、クライアントは、閲覧、読出し、書込みしたいファイル等の共有リソースへアクセスするために、サーバに対して共有リソースへのパス情報を含めた共有リソースツリーの接続要求を行う。そしてS1006で、サーバは、受信した共有リソースツリーの接続要求から共有リソースへのパス情報とユーザIDを取得し、そのユーザIDに該当するクライアントをパス情報へアクセスさせるためのツリーIDを割り当てる。そしてサーバは、共有リソースツリーの接続応答にツリーIDをセットしてクライアントへ通知する。これによってクライアントはサーバ内の特定の共有リソースに対して閲覧、読み出し、書込み等のアクセスが可能となる。こうしてS1007以降の処理で、サーバは、そのツリーIDを使用してクライアントがアクセスする共有リソースのパス情報を特定する。
【0049】
S1007でクライアントは、アクセスしたい特定の共有フォルダ以下のファイルや、共有ファイルの属性情報を取得するためにサーバへ共有リソースの属性の取得要求を行う。これによりS1008では、サーバは、その共有リソースの属性の取得要求を受信し、該当する共有リソースの属性情報を取得して共有リソース属性応答にセットし、クライアントへ通知する。そしてクライアントが特定のファイルに対して読取り、書き込みなどのアクセスを行いたい場合は、S1009で、クライアントはサーバへアクセスする特定のパスに対してOpen要求を行う。これによりS1010でサーバは、受信したOpen要求からクライアントが処理したいリソースパス情報を取得し、該当するパスが存在するかを判定する。このリソースパスの存在の有無の判定結果に応じて、サーバはリソースパスをOpenしたり、新規に生成する。Open処理に成功した場合、サーバは該当するファイルに対してファイルIDを割り当てる。そしてサーバは、そのOpen処理の結果とファイルIDをOpen処理応答にセットしてクライアントに通知する。これによりクライアント、その共有リソースへのアクセスが可能になる。
【0050】
次にS1011に進み、Open処理が成功したことによりクライアントは、サーバへファイルIDに対して読み込み、或いは書き込みの要求を行う。そしてS1012で、サーバは、その受信した読出し、或いは書き込み要求からファイルIDを取得し、処理対象のファイルを特定する。そしてサーバは、クライアントから要求された処理を対象のファイルに対して行う。そしてこのファイルに対して行った結果を読出し、書き込み処理応答にセットしてクライアントへ通知する。
【0051】
次にS1013で、特定のファイルに対するアクセスを終了する場合、クライアントは、その特定のファイルに割り当てられているファイルIDを使用してサーバへリソースのClose要求を行う。これによりS1014でサーバは、その受信したリソースClose要求からファイルIDを取得し、そのファイルIDに割り当てているファイルを特定する。そしてサーバは、そのファイルIDに割り当てているファイルをCloseし、そのファイルに割り当てたファイルIDを消去する。そしてサーバは、そのファイルIDとClose処理の結果をリソースClose応答にセットしてクライアントへ通知する。これによって、クライアントから共有リソースの閲覧、操作が終了したことになる。
【0052】
しかしS1014が終了した時点では、クライアントとサーバとの間で共有リソースのツリーは保たれたままである。従って、ユーザIDやツリーIDも割り当てられたままであるため、ユーザIDのクライアントはサーバへツリーIDの共有リソースツリーのパスを使用して、S1007とS1008の処理を再度行うだけで共有リソースを閲覧できる。またユーザIDのクライアントは、ツリーIDを使用してサーバに対して、S1007〜S1014の処理や、S1009〜S1014の再処理のみで特定のファイルに対してアクセスすることができる。
【0053】
そして共有リソースのツリーを切断する場合は、S1015でクライアントは、そのツリーIDを使用してサーバへ共有リソースツリーの切断要求を行う。そしてS1016で、サーバは、その受信した共有リソースツリーの切断要求からツリーIDを取得し、そのツリーIDに割り当てた共有リソースツリーを特定する。そしてサーバは、該当する共有リソースツリーの情報やツリーIDを消去し、その結果と、そのツリーIDを共有リソースツリーの切断応答にセットしてクライアントへ通知する。これによって、クライアントから特定の共有リソースへのアクセスを終了することになる。しかしS1016が終了した時点では、クライアントとサーバとの間でSMB/CIFSセッションは保たれたままである。従ってユーザIDは割り当てられたままであるため、そのユーザIDを使用してクライアントは、サーバの共有リソースツリーや他の共有リソースツリーへ、S1005とS1006の再処理でアクセスできる。SMB/CIFSセッションを切断する場合、S1017において、クライアントは、ユーザIDを使用してサーバへSMB/CIFSセッションの切断要求を行う。これによりS1018で、サーバは、その受信したSMB/CIFSセッション切断要求からユーザIDを取得し、そのユーザIDに割り当てたSMB/CIFSセッションを特定する。そしてサーバは、該当するSMB/CIFSセッションの情報やユーザIDを消去し、その結果とそのユーザIDをSMB/CIFSセッション切断応答にセットしてクライアントへ通知する。
【0054】
本実施形態2では、非省電力状態において、主制御部200のアプリケーションプロトコル制御部307が、クライアントからのSMB/CIFSデータを受信して応答する。これによりユーザID、ツリーID、ファイルID、オプションフラグ等の管理データを保持している。即ち、本実施形態2では、アプリケーションプロトコル制御部307がSMB/CIFSプロトコル制御部となって図10に示すフローの制御を行っている。アプリケーションプロトコル制御部307は個々のネットワークプロトコル毎に複数存在するが、本実施形態2では、SMB/CIFSプロトコル制御部に対して説明する。
【0055】
図10を例に、非省電力状態時、SMB/CIFSプロトコル制御部はS1001,S1003,S1005,S1007,S1009,S1011,S1013,S1015,S1017での要求をクライアントのパケットを通じて受信する。またSMB/CIFSプロトコル制御部は、これらの要求に対する応答を、S1002,S1004,S1006,S1008,S1010,S1012,S1014,S1016,S1018でクライアントへ通知する。これらの処理を行っている間、SMB/CIFSプロトコル制御部は、ユーザID、ツリーID、ファイルID、オプションフラグ等の管理データを保持し、SMB/CIFSにおけるセッション、ツリー、リソースの管理を行っている。画像形成装置101が非省電力状態から省電力状態へ移行する場合におけるSMB/CIFSアプリケーションの移行処理は、図7のフローチャートのS707とS708の処理に当てはめることができる。即ち、S707で、スリープ制御部302は、SMB/CIFSプロトコル制御部へ省電力状態へ移行するように通知する。これによって、SMB/CIFSプロトコル制御部は、非省電力状態から省電力状態への移行が指示されたことを認識する。次にS708に進み、省電力状態への移行通知を受けたSMB/CIFSプロトコル制御部は、省電力状態に移行した後の非省電力状態への復帰、或いは代理応答するための条件を主制御部200の復帰/代理応答情報管理部303にセットする。このときSMB/CIFSプロトコル制御部は、管理中のユーザID、ツリーID、ファイルID、オプションフラグ等の情報と相手先IPアドレス、プロトコル種別(本実施形態2でSMB/CIFS)を復帰/代理応答情報管理部303にセットする。更に、SMB/CIFSプロトコル制御部は、特定のユーザID、ツリーIDを持つクライアントが図10のS1007で属性取得要求を行った全てのリソースに対して、そのパスと属性情報を復帰/代理応答情報管理部303にセットする。この属性情報には、リソース名、リソースサイズ、アクセス日時、更新日時、作成日時等が含まれる。これらの管理情報とコネクション管理情報が図7のフローを基にして副制御部210に渡されることによって、省電力状態への移行時における副制御部210での復帰/代理応答機能を実現する。
【0056】
図11は、本実施形態2で、省電力状態時における副制御部210の処理を説明するフローチャートである。この処理はROM212に記憶されたプログラムに従ってサブCPU211の制御の下に実行される。この図11は、SMB/CIFSプロトコルを、前述の図8のS814に当てはめた場合で説明する。
【0057】
まずS1101で、副制御部210の復帰/代理応答判定部313は、受信したSMB/CIFSデータからユーザIDを取得し、復帰/代理応答情報保持部312に格納しているSMB/CIFSデータから同じユーザIDを検索する。次にS1102で復帰/代理応答情報保持部312にユーザIDが存在するかどうかを判定し、存在しない場合は復帰/代理応答判定部313は、クライアントからの新たなSMB/CIFS接続を要求とみなしてS1115の非省電力状態への復帰処理へ進む。一方、S1102で復帰/代理応答情報保持部312にユーザIDが存在する場合はS1103に進み、復帰/代理応答判定部313は、受信したSMB/CIFSデータからクライアントが要求しているコマンドを解析する。そしてS1104に進み、要求コマンドがSMB/CIFSセッションの切断要求かどうかを判定する。そうであればS1105に進み、復帰/代理応答判定部313は、復帰/代理応答情報保持部312に存在するユーザIDと関連情報を削除してS1116に進む。この関連情報とは、そのユーザIDに関連する全てのSMB/CIFSデータのことを指す。
【0058】
一方、S1104で、要求コマンドがSMB/CIFSセッション切断要求でない場合はS1106に進む。S1106では、復帰/代理応答判定部313は、受信データからツリーIDを取得する。次にS1107に進み、復帰/代理応答判定部313は、復帰/代理応答情報保持部312の、ユーザIDに関連しているデータから、取得したツリーIDと同じものを検索する。ここで検索したツリーIDが存在しない場合は復帰/代理応答判定部313は、クライアントから新たなリソースツリーへの接続を要求されていると判断してS1115に進み、非省電力状態への復帰処理に移行する。
【0059】
一方、S1107で、検索したツリーIDが存在する場合はS1108に進み、復帰/代理応答判定部313は、S1103にて解析した要求コマンドを判別する。S1108で、その要求コマンドがツリー接続の切断要求である時はS1109に進み、復帰/代理応答判定部313は、復帰/代理応答情報保持部312に存在するツリーIDと関連リソース情報を削除してS1116に進む。この関連リソース情報とは、そのツリーIDに割り当てられている共有リソース以下に存在する全てのリソースのパス情報や属性情報を指す。
【0060】
一方、S1108で、その要求コマンドがツリー接続の切断要求でない場合はS1110に進み、復帰/代理応答判定部313は、受信データから処理対象となるリソースパスを取得する。そして復帰/代理応答判定部313は、復帰/代理応答情報保持部312の、ユーザID、ツリーIDに関連しているデータから、取得したリソースパスと同じものを検索する。そしてS1111で、その検索したリソースパスが存在するかどうかを判定する。ここでリソースパスが存在しない場合は、復帰/代理応答判定部313は、クライアントから新たなリソースパスへの接続を要求されていると判定してS1115に進み、非省電力状態への復帰処理へ移行する。本実施形態2では、S1115で非省電力状態への復帰処理へ移行することとしたが、代理応答処理の仕様によってはリソースパスが存在しないとみなし、その旨のエラーを代理応答することもあり得る。
【0061】
一方、S1111で、検索したリソースパスが存在する場合はS1112に進み、復帰/代理応答判定部313は、S1103で解析した要求コマンドを判別する。ここで要求コマンドが、検索したリソースパスに対するファイル制御要求であると判定すると、画像形成装置101のHDD206に格納している実体ファイルへの制御処理が必要となる。
【0062】
本実施形態2では、省電力状態では画像形成装置101のHDD206はスリープ中であり、非通電を伴った省電力状態であることから、実体ファイルへの制御処理が必要な場合は非省電力状態への復帰が必要となる。従ってこの場合、復帰/代理応答判定部313は、S1112からS1115に進んで、非省電力状態への復帰処理へ移行する。このS1112で判定したファイル制御要求とは、ファイルの読み取り、書き込み、複写、移動、削除処理などを指す。一方、S1112で、その要求コマンドがリソース検索やリソースの属性取得要求であると判定するとS1113に進む。S1113では、復帰/代理応答判定部313は、復帰/代理応答情報保持部312で管理中のリソース属性情報を取得する。そしてS1116に進む。またS1112で、要求コマンドがリソースへのCLOSE要求であると判定するとS1114に進む。S1114では、復帰/代理応答判定部313は、復帰/代理応答情報保持部312で管理しているリソースのファイルIDを消去する。画像形成装置101が非省電力状態へ復帰した場合は、復帰/代理応答情報保持部312で管理している全ての情報を、メインCPU201のアプリケーションプロトコル制御部307に通知する。これによってアプリケーションプロトコル制御部307は、そのファイルIDに該当するリソースがCLOSEされたことを認識でき、対象リソースに関係する以降の制御処理を行うことが可能となる。またS1112で、その要求コマンドがリソースへのOPEN要求である場合はS1114に進む。S1114では、復帰/代理応答判定部313は、復帰/代理応答情報保持部312で管理しているリソースに対して新規にファイルIDを付与する。画像形成装置101が非省電力状態へ復帰した場合は、復帰/代理応答情報保持部312で管理している全ての情報を、メインCPU201のアプリケーションプロトコル制御部307に通知する。これによってアプリケーションプロトコル制御部307は、そのファイルIDに該当するリソースがOPENされたことを認識でき、対象リソースに関係する以降の制御処理を行うことが可能となる。そしてS1116では、復帰/代理応答判定部313は、非電力状態への復帰は行わず、サブCPU211での代理応答処理へ移行する。
【0063】
以上説明したように本実施形態2によれば、省電力状態時において受信したプロトコルのパケットの内容に従って、非省電力状態に復帰したり、応答パケットを作成して代理応答することができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
画像形成処理を制御する主制御手段と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御手段とを有する画像形成装置であって、
少なくとも前記主制御手段と前記副制御手段への電力供給を制御する電源制御手段と、
前記電源制御手段を制御して前記主制御手段を省電力状態に移行させるとともに、前記ネットワークを介した通信の実行に伴って更新される通信接続情報を前記主制御手段から前記副制御手段に通知して保持させるスリープ制御手段と、
前記主制御手段が省電力状態にあるとき、前記情報処理装置からデータを受信すると、当該受信したデータ及び前記通信接続情報に基づいて前記主制御手段を非省電力状態へ復帰させるか又は前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うかを判定する判定手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させると判定した場合、前記主制御手段を非省電力状態に復帰させる復帰手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うと判定した場合、前記受信したデータに対する応答情報を作成し、前記情報処理装置に対して送信する応答手段と、
を有することを特徴とする画像形成装置。
【請求項2】
前記通信接続情報は、前記ネットワークを介した通信の実行に伴って更新される値と、前記ネットワークを介した通信の実行に伴う更新はされない固定の値とを含むことを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記応答手段は、前記主制御手段により制御されるアプリケーションにより設定されるパケットパターン情報を用いて前記応答情報を作成することを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記受信したデータの異常を検出する検出手段を更に備え、
前記検出手段が前記受信したデータの異常を検出した場合は、前記主制御手段の非省電力状態への復帰及び前記応答情報の送信を行うことなく、前記受信したデータを破棄することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項5】
前記応答手段が前記応答情報を送信する場合、前記主制御手段から前記副制御手段に通知され、保持されている通信接続情報を更新する更新手段を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
【請求項6】
前記復帰手段が前記主制御手段を非省電力状態へ復帰させる場合、前記更新手段により更新された通信接続情報を前記主制御手段に通知する通知手段を更に備えることを特徴とする請求項5に記載の画像形成装置。
【請求項7】
前記通信接続情報は、TCPプロトコルに関する情報を含むことを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
【請求項8】
前記通信接続情報は、SMBプロトコル又はCIFSプロトコルに関する情報を含むことを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
【請求項9】
画像形成処理を制御する主制御部と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御部とを有する画像形成装置の省電力制御方法であって、
前記主制御部を省電力状態に移行させるとともに、前記ネットワークを介した通信の実行に伴って更新される通信接続情報を前記主制御部から前記副制御部に通知して保持させるスリープ制御工程と、
前記主制御部が省電力状態にあるとき、前記情報処理装置からデータを受信すると、当該受信したデータ及び前記通信接続情報に基づいて前記主制御部を非省電力状態へ復帰させるか又は前記主制御部を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うかを判定する判定工程と、
前記判定工程で前記主制御部を非省電力状態へ復帰させると判定した場合、前記主制御部を非省電力状態に復帰させる復帰工程と、
前記判定工程で前記主制御部を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うと判定した場合、前記受信したデータに対する応答情報を作成し、前記情報処理装置に対して送信する応答工程と、
を有することを特徴とする省電力制御方法。
【請求項10】
請求項9に記載の画像形成装置の省電力制御方法をコンピュータに実行させるためのプログラム。
【請求項1】
画像形成処理を制御する主制御手段と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御手段とを有する画像形成装置であって、
少なくとも前記主制御手段と前記副制御手段への電力供給を制御する電源制御手段と、
前記電源制御手段を制御して前記主制御手段を省電力状態に移行させるとともに、前記ネットワークを介した通信の実行に伴って更新される通信接続情報を前記主制御手段から前記副制御手段に通知して保持させるスリープ制御手段と、
前記主制御手段が省電力状態にあるとき、前記情報処理装置からデータを受信すると、当該受信したデータ及び前記通信接続情報に基づいて前記主制御手段を非省電力状態へ復帰させるか又は前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うかを判定する判定手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させると判定した場合、前記主制御手段を非省電力状態に復帰させる復帰手段と、
前記判定手段が前記主制御手段を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うと判定した場合、前記受信したデータに対する応答情報を作成し、前記情報処理装置に対して送信する応答手段と、
を有することを特徴とする画像形成装置。
【請求項2】
前記通信接続情報は、前記ネットワークを介した通信の実行に伴って更新される値と、前記ネットワークを介した通信の実行に伴う更新はされない固定の値とを含むことを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記応答手段は、前記主制御手段により制御されるアプリケーションにより設定されるパケットパターン情報を用いて前記応答情報を作成することを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記受信したデータの異常を検出する検出手段を更に備え、
前記検出手段が前記受信したデータの異常を検出した場合は、前記主制御手段の非省電力状態への復帰及び前記応答情報の送信を行うことなく、前記受信したデータを破棄することを特徴とする請求項1乃至3のいずれか1項に記載の画像形成装置。
【請求項5】
前記応答手段が前記応答情報を送信する場合、前記主制御手段から前記副制御手段に通知され、保持されている通信接続情報を更新する更新手段を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の画像形成装置。
【請求項6】
前記復帰手段が前記主制御手段を非省電力状態へ復帰させる場合、前記更新手段により更新された通信接続情報を前記主制御手段に通知する通知手段を更に備えることを特徴とする請求項5に記載の画像形成装置。
【請求項7】
前記通信接続情報は、TCPプロトコルに関する情報を含むことを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
【請求項8】
前記通信接続情報は、SMBプロトコル又はCIFSプロトコルに関する情報を含むことを特徴とする請求項1乃至6のいずれか1項に記載の画像形成装置。
【請求項9】
画像形成処理を制御する主制御部と、ネットワークを介して情報処理装置とのデータの送受信を行う副制御部とを有する画像形成装置の省電力制御方法であって、
前記主制御部を省電力状態に移行させるとともに、前記ネットワークを介した通信の実行に伴って更新される通信接続情報を前記主制御部から前記副制御部に通知して保持させるスリープ制御工程と、
前記主制御部が省電力状態にあるとき、前記情報処理装置からデータを受信すると、当該受信したデータ及び前記通信接続情報に基づいて前記主制御部を非省電力状態へ復帰させるか又は前記主制御部を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うかを判定する判定工程と、
前記判定工程で前記主制御部を非省電力状態へ復帰させると判定した場合、前記主制御部を非省電力状態に復帰させる復帰工程と、
前記判定工程で前記主制御部を非省電力状態へ復帰させることなく前記受信したデータに対する応答を行うと判定した場合、前記受信したデータに対する応答情報を作成し、前記情報処理装置に対して送信する応答工程と、
を有することを特徴とする省電力制御方法。
【請求項10】
請求項9に記載の画像形成装置の省電力制御方法をコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−134017(P2011−134017A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−291404(P2009−291404)
【出願日】平成21年12月22日(2009.12.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願日】平成21年12月22日(2009.12.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]