(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、及びプログラム
(51)【国際特許分類】
H04L 12/28 20060101AFI20240111BHJP
【FI】
H04L12/28 200Z
(21)【出願番号】P 2019068070
(22)【出願日】2019-03-29
【審査請求日】2022-03-29
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】木村 朋博
【審査官】大石 博見
(56)【参考文献】
【文献】特開2013-161122(JP,A)
【文献】特開2010-130151(JP,A)
【文献】特開2015-222920(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 13/00
H04L 47/24
B41J 29/38
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
外部装置から受信したパケットをバッファリングできる通信制御部と、
アプリケーションを実行する主制御部と、
前記主制御部に供給する電力を制限する第1の電力モードと、前記主制御部に供給する電力を制限しない第2の電力モードのいずれかで、前記通信制御部と前記主制御部とに対する電力供給を制御する電源制御手段と
前記第1の電力モードにおいて、および、前記第1の電力モードから前記第2の電力モードへの遷移中において、受信したパケットのうちから、設定された選択パターンに基づいてパケットを破棄するか否かを制御する第1の制御を実行する第1制御手段と、
前記第1の電力モードにおいては、
前記第1の制御が実行された後、前記第1制御手段によって破棄されなかったパケットをバッファリングするための領域に空きがあるか否か
の判定を実行せずに、前記第1制御手段によって破棄されなかったパケットを前記領域にバッファリングし、前記第1の電力モードから前記第2の電力モードへの遷移中においては、
前記第1の制御が実行された後、前記領域に空きがあるか否かの判定を実行し、前記領域に空きがあると判定された場合に、前記第1制御手段によって破棄されなかったパケットを
前記領域に
バッファリングし、前記第1制御手段によって破棄されなかったパケットをバッファリングするための領域に空きがないと判定された場合に、前記第1制御手段によって破棄されなかったパケットを破棄する
第2制御手段と
を有することを特徴とする情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記第1制御手段は、前記受信したパケットのうち、前記選択パターンに一致するポート番号を持つパケットを破棄することを特徴とする情報処理装置。
【請求項3】
請求項1に記載の情報処理装置であって、
前記第1制御手段は、前記受信したパケットのうち、前記選択パターンに一致するポート番号を持つパケットを破棄しないことを特徴とする情報処理装置。
【請求項4】
請求項1乃至3のいずれか一項に記載の情報処理装置であって、
前記選択パターンは、前記パケットのあて先ポート番号を含むことを特徴とする情報処理装置。
【請求項5】
請求項1乃至4のいずれか一項に記載の情報処理装置であって、
前記主制御部が、前記選択パターンを前記通信制御部に設定することを特徴とする情報処理装置。
【請求項6】
請求項1乃至5のいずれか一項に記載の情報処理装置であって、
前記主制御部は、前記第1の電力モードから前記第2の電力モードへの遷移が完了した後、前記通信制御部の前記
第2制御手段により格納された前記パケットを取得して処理することを特徴とする情報処理装置。
【請求項7】
請求項1乃至6のいずれか一項に記載の情報処理装置であって、
前記主制御部により処理されたデータを印刷する印刷手段をさらに有する
ことを特徴とする情報処理装置。
【請求項8】
請求項1乃至7のいずれか一項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項9】
外部装置から受信したパケットをバッファリングできる通信制御部と、アプリケーションを実行する主制御部と、電力制御手段と、第1制御手段と、第2制御手段とを有する情報処理装置の制御方法であって、
前記電力制御手段が、前記主制御部に供給する電力を制限する第1の電力モードと、前記主制御部に供給する電力を制限しない第2の電力モードのいずれかで、前記通信制御部と前記主制御部とに対する電力供給を制御し、
前記第1制御手段が、前記第1の電力モードにおいて、および、前記第1の電力モードから前記第2の電力モードへの遷移中において、受信したパケットのうちから、設定された選択パターンに基づいてパケットを破棄か否かを制御
する第1の制御を実行し、
前記第2制御手段が、前記第1の電力モードにおいては、
前記第1の制御が実行された後、前記第1制御手段によって破棄されなかったパケットをバッファリングするための領域に空きがあるか否か
の判定を実行せずに、前記第1制御手段によって破棄されなかったパケットを前記領域にバッファリングし、前記第1の電力モードから前記第2の電力モードへの遷移中においては、
前記第1の制御が実行された後、前記領域に空きがあるか否かの判定を実行し、前記領域に空きがあると判定された場合に、前記第1制御手段によって破棄されなかったパケットを
前記領域に
バッファリングし、前記第1制御手段によって破棄されなかったパケットをバッファリングするための領域に空きがないと判定された場合に、前記第1制御手段によって破棄されなかったパケットを破棄することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
プリンタやデジタル複合機などの情報処理装置において、消費電力を低減させたいという要求が高まっている。この要求に対して、例えば情報処理装置が所定時間動作していない場合に、情報処理装置の電力モードを通常電力モードから省電力モードに移行させる技術が知られている。通常電力モードでは、情報処理装置の主制御部と通信部の両方に電力が供給される。一方、省電力モードでは、情報処理装置の通信部への電力供給を継続されるが、情報処理装置の主制御部への電力供給は遮断される。従って、省電力モードでは、通常電力モードと比較して情報処理装置全体の消費電力が低減する。ただし、一般的には省電力モードにおいて機能する処理は限定的であり、省電力モードで処理が実行できないと判断した場合には省電力モードから通常電力モードを移行し、処理が実行される。なお、情報処理装置は、電力モードの移行中に受信したネットワークパケット(以下、パケット)を通信部がバッファリングし、通常電力モードへの遷移が完了後に主制御部で処理をする場合もある。例えば、特許文献1では、省電力モード中に受信したパケットに対して通信部で応答ができない場合には主制御部を復帰させてから応答する構成が説明されている。また、特許文献2では、電力モードの移行においても外部装置との通信を正常に維持することを目的として、通信部が受信したパケットに対して応答する機能を持っていた場合には、事前に通信部で応答を返したうえで省電力モードから通常電力モードへの復帰するような技術も存在する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2006-259906号公報
【文献】特開2017-149119号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1においては、情報処理装置が省電力モードから通常電力モードへと状態移行する要因となったパケット(以下、復帰パケット)を通常電力モードへの移行が完了後に主操作部へ受け渡すことが望ましい構成であることが述べられている。一方で、本来は情報処理装置が状態移行中に受信した受信パケットに対しても、主制御部へ引き継ぐことが最も望ましいと考えられる。しかしながら、情報処理装置がそのような構成にあった場合でも、移行処理中の受信パケットをバッファリングするためのバッファ領域は有限であるため、すべての受信パケットを必ずしもバッファリングできるとは限らない。
【0005】
また、特許文献2の手段では、外部装置との接続を先立って確立しておくことで、前記状態移行中であっても通信を維持しておく効果があるが、バッファがフルの状態なった際にはそのパケットをロストするため、情報処理装置に後続するパケットが到達した場合情報処理装置が応答できない。
【0006】
そのため、情報処理装置が短時間に大量のパケットを受信するような環境に設置された場合や、情報処理装置の移行処理に長い時間を要するような場合には、バッファがフルとなる状態が発生し、必要な後続の受信パケットが受け取れない可能性が高くなるという課題がある。例えば、mDNS(multicast Domain Name System)のように1つクエリが複数パケットに分割されて到達する可能性があるパケットでは、先頭に到達したパケットだけでなく、後続で到達するパケットも受け取らなければならない。
【0007】
本発明はその課題を鑑み、電力モードの移行処理中の情報処理装置が受信したパケットを解析し、バッファリングする受信パケットを選択することで上述した課題の解決を目的とする。
【課題を解決するための手段】
【0008】
前記課題を解決するために、本発明が提供する情報処理装置は、以下の構成を有する。
本発明の一側面によれば、外部装置から受信したパケットをバッファリングできる通信制御部と、
アプリケーションを実行する主制御部と、
前記主制御部に供給する電力を制限する第1の電力モードと、前記主制御部に供給する電力を制限しない第2の電力モードのいずれかで、前記通信制御部と前記主制御部とに対する電力供給を制御する電源制御手段と
前記第1の電力モードにおいて、および、前記第1の電力モードから前記第2の電力モードへの遷移中において、受信したパケットのうちから、設定された選択パターンに基づいてパケットを破棄するか否かを制御する第1の制御を実行する第1制御手段と、
前記第1の電力モードにおいては、前記第1の制御が実行された後、前記第1制御手段によって破棄されなかったパケットをバッファリングするための領域に空きがあるか否かの判定を実行せずに、前記第1制御手段によって破棄されなかったパケットを前記領域にバッファリングし、前記第1の電力モードから前記第2の電力モードへの遷移中においては、前記第1の制御が実行された後、前記領域に空きがあるか否かの判定を実行し、前記領域に空きがあると判定された場合に、前記第1制御手段によって破棄されなかったパケットを前記領域にバッファリングし、前記第1制御手段によって破棄されなかったパケットをバッファリングするための領域に空きがないと判定された場合に、前記第1制御手段によって破棄されなかったパケットを破棄する第2制御手段と
を有することを特徴とする情報処理装置が提供される。
【発明の効果】
【0009】
本発明によれば、情報処理装置が省電力モードから通常電力モードへの復帰処理中の受信パケットを選択してバッファリングすることにより、電力モードの復帰処理中に発生する必要なパケットのロストの可能性を低減できる。
【図面の簡単な説明】
【0010】
【
図1】画像形成装置100が設置されるネットワーク環境を示す図である。
【
図2】画像形成装置100のハードウェア構成を示す図である。
【
図3】画像形成装置100のソフトウェア構成を示す図である。
【
図4】画像形成装置100の省電力モードに係る処理を示すフローチャートである。
【
図5】実施例1に係る破棄パターンの動的な生成の処理を示すフローチャートである。
【
図6】実施例2に係る破棄パターンの動的な生成の処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0012】
(実施形態1)
図1に、情報処理装置が設置されるネットワーク環境(あるいはネットワークシステムとも呼ぶ。)の一例を示す。
図1のネットワーク環境においては、情報処理装置である画像形成装置100とPC(Personal Computer)101が存在する。それぞれの装置はネットワーク102を介して互いに接続される。
【0013】
プリンタ100は、PC101から印刷データを受け取って印刷処理を実行したり、機器情報の要求を受け取って消耗品に関する情報などの機器情報を応答したりする。また、画像形成装置100は、PC101がプリンタ100以外の他の機器と通信するためのパケットをはじめ、ネットワーク102上を流れる様々なパケットを受け取る環境にある。
【0014】
●画像形成装置のハードウエア
図2を用いて、まずは、情報処理装置である画像形成装置100のハードウェア構成について説明する。画像形成装置100は、プリント機能を備える画像形成装置である。なお、本実施形態ではプリンタを情報処理装置の例にして説明するが、情報処理装置はプリンタの限りではない。例えば、情報処理装置は、コピー機能やスキャン機能を備えるデジタル複合機などの画像形成装置であってもよいし、その他の機能を備えた機器であってもよい。
【0015】
画像形成装置100は、主制御部200、プリンタ211、操作部212、通信部220、電源制御部230を備える。各ユニットの構成について説明する。 主制御部200について説明する。主制御部200は、CPU201、拡張I/F202、ROM203、RAM204、電源制御I/F205、プリンタI/F206、操作部I/F207、NVRAM208を備える。各ユニットは通信バスを介して他界に通信可能に接続される。
【0016】
CPU(Central Processing Unit)201は、ROM(Read Only Memory)203に記憶された制御プログラムを読み出し、画像形成装置100全体の動作を制御する。RAM(Random Access Memory)204は、CPU201の主メモリやワークエリア等の一時記憶領域として用いたれる。NVRAM(Non Volatile RAM)208は、不揮発性メモリであり、画像形成装置100の設定情報など様々な情報を記憶するための記憶領域として用いられる。拡張I/F202は、通信部220との通信を行う。なお、画像形成装置100の主制御部200は1つのCPU201と1つのメモリ(RAM204)を用いて後述のフローチャートに示す各処理を実施するものとするが、他の形態であっても構わない。例えば、複数のプロセッサや複数のRAMまたは不図示のHDDのような他の記憶媒体を協働させて処理を実行することもできる。
【0017】
プリンタI/F(インタフェース)206は、主制御部200とプリンタ211を接続する。プリンタ211は、印刷命令に基づいて印刷処理を実行する。プリンタ211で印刷される印刷データは、プリンタI/F206を介して主制御部200からプリンタ211へ転送される。
【0018】
操作部I/F207は、主制御部200と操作部212とを接続する。操作部212にはタッチパネル機能を有する液晶表示部やキーボードなどが備えられている。操作部212を用いて利用者が入力した情報は、操作部I/F207を介して主制御部200へ転送される。このように操作部212はユーザに情報を提示する表示部やユーザから情報を受け付ける受付部として機能する。
【0019】
電源制御部I/F205は、主制御部200と電源制御部230とを接続する。電源制御I/F205を介して、後述する省電力モードへの指示が、主制御部200から電源制御部230へと転送される。
【0020】
通信部220について説明する。通信部200は、CPU221、拡張I/F222、ROM223、RAM224、ネットワークI/F225、電源制御部I/F226、NVRAM227を備える。各ユニットは、バスを介して通信可能に接続される。通信部220は独立したASIC(特定用途向集積回路)であることを想定するが、NIC(Network Interface Card)のような画像形成装置100に着脱可能な構成であってもよい。主制御部200は、通信部220を介してネットワーク102に接続され、PC101などの外部装置と通信可能である。なお通信部220は、通信を制御するユニットであり、主制御部に対して通信制御部と呼ぶこともある。
【0021】
CPU221は、ROM223に記憶された制御プログラムを読み出し、通信部220の動作を制御する。RAM224は、CPU221の主メモリやワークエリア等の一時記憶領域として用いたれる。NVRAM227は、不揮発性メモリであり、通信部220の設定情報など様々な情報を記憶するための記憶領域として用いられる。拡張I/F222は、主制御部200との通信を行う。なお、通信部220は1つのCPU221と1つのメモリ(RAM224)を用いて後述のフローチャートに示す各処理を実施するものとするが、他の形態であっても構わない。例えば、複数のプロセッサや複数のRAMまたは不図示のHDDのような他の記憶媒体を協働させて処理を実行することもできる。また、一部の処理はハードウェア回路やDSPなどで実現することもできる。
【0022】
ネットワークI/F225は、ネットワーク102に接続され、PC101などの外部装置との間でデータの送受信を行う。ネットワークI/F225で受信したデータは、CPU221により処理され、主制御部200へ転送される。
【0023】
電源制御I/F226は、通信部220と電源制御部230とを接続する。電源制御I/F226を介して、後述する省電力モードから通常電力モードへの復帰指示が通信部220から電源制御部230へ転送される。
【0024】
電源制御部230は、電源供給ライン232を介して電源231から供給される交流電源を直流電源に変換し、電力供給ライン233、234を介して主制御部200と通信部220とに直流電源を供給する。なお、本実施形態では、プリンタ211と操作部213のそれぞれに対しても、不図示の電力供給ラインを介して電源制御部230が直流電源を供給する。電源制御部230は、電源制御部I/F205,226から受け付けた、電力モードを省電力モードへ移行させるための移行指示および通常電力モードへ復帰させるための復帰指示に基づいて画像形成装置100の電力モードを制御する。
【0025】
次に、画像形成装置100が有する電力モードについて説明する。情報処理装置は通常電力モードと省電力モードの2つの電力モードを有する。
【0026】
各ユニットに対して、それぞれの電力モードで電力供給がされるか否を表1に示す。画像形成装置100が通常電力モードで動作する場合、主制御部200と通信部220の両方に電源制御部230から電力が供給される。このとき、プリンタ211と操作部213の両方のユニットに対しては常に電力供給されていてもよいし、各ユニットが使用されていない場合には使用されていないユニットに対する電力の供給が遮断されてもよい。つまり、通常電力モードとは、少なくとも主制御部200と通信部220の両方に対して、電源制御部230から電力が供給される電力モードである。
【0027】
一方、画像形成装置100が省電力モードで動作する場合、PC101などの外部装置から送信されたパケットの処理を、主制御部200に代わり通信部220が実行する。このとき、通信部220は、破棄パターンに基づいて、受信パケットに対する処理を決定する。
【0028】
画像形成装置100が、省電力モードへの移行および通常電力モードへの復帰を実行する際の処理については
図4にて詳細に説明する。なお、省電力モードにおいて主制御部200は、基本的に電力の供給が停止される。そのため、RAM204などの揮発性メモリの情報を保存するため、不揮発性メモリなどの一部の装置にのみ電力が供給された状態、もしくは一時的にNVRAM227やその他の不揮発性メモリへ退避される状態となる。本発明では省電力モードであっても一部の装置に電力供給がされる形態を想定して説明するが、本発明の解決手段としては不揮発性メモリに退避される形態であってもよい。
【0029】
【0030】
●画像形成装置のソフトウェア
図3を用いて、情報処理装置である画像形成装置100のソフトウェアブロックの構成について説明する。なお、本実施形態に示すソフトウェア構成については一例であり、本発明を実現するソフトウェア構成はこの限りではない。
【0031】
画像形成装置100は、各ユニットを制御するための制御プログラムを各ユニット上に有する。まず、主制御部200では、CPU201が、ROM203に記憶した制御プログラムをRAM204に読み出して制御処理を実行する。
【0032】
主制御部200の制御プログラムは、電源処理部301、ネットワーク制御部302、設定管理部303、アプリケーション部310を備える。さらに、アプリケーション部310は、電力モード制御アプリケーション311、プリンタ制御アプリケーション312、操作部制御アプリケーション313を有する。電源処理部301は、電源制御部230と通信を行い、省電力モードへの移行指示を電源制御部230へ転送する。ネットワーク制御部302は、主制御部200と通信部220との通信の制御を行う。例えば、画像形成装置100がPC101などの外部装置と通信の際に使用するパケットの転送や、省電力モードにおける通信部220の制御プログラムが使用するIPアドレスや破棄パターンなどの設定情報の転送を行う。設定管理部303は、RAM204やNVRAM208などの記憶装置に記憶された設定情報の読み出しや保存の処理を行う。例えば、IPアドレスなどのネットワークに関する設定情報や、パケットの破棄パターンなどの省電力モードにおける動作設定などの設定情報を管理する。
【0033】
アプリケーション部310は、画像形成装置100の高級機能を実現するアプリケーション群である。電力モード制御アプリケーション311は、省電力モードへの移行の可否を判断し、電源制御部301に省電力モードへの移行を指示したり、ネットワーク制御部302に通信部220への動作設定を指示したりする。また、電力モード制御アプリケーション311は、省電力モードからの復帰要因となったパケットを解析する。画像形成装置100が処理する必要がないパケットと判断された場合には、前記パケットの解析結果から破棄パターンを生成し、新たな破棄パターンとして設定管理部303へ記録するとともに、通信部220として破棄パターンの設定を行う。なお、本実施形態においては省電力モードから復帰要因となったパケットを解析し処理するがその限りではなく、通常電力モードにおいて受信したパケットや省電力モードからの復帰処理中に受信してバッファリングされたパケットなどを解析の対象としてもよい。プリンタ制御アプリケーション312は、PC101などの外部装置から受信した印刷データを通信部220からネットワーク制御部302を介して受け取り、プリンタ211が印刷可能となるように処理した上でプリンタ211へデータを転送する。これにより、外部装置から印刷処理を実行することが可能となる。また、プリンタ211のさまざま状態を取得し、印刷処理の実行状況や消耗品の残量などの情報を設定管理部303に記憶させる。操作部制御アプリケーション313は、操作部212に対して設定管理部303で記憶した設定情報などを表示する処理をしたり、利用者が操作部212を介して入力したデータを設定管理部303に記憶したり、入力されたデータを各制御部およびアプリケーションへ転送したりする。これにより、画像形成装置100に対する入出力処理を実現できる。
【0034】
次に、通信部220は、CPU201が、ROM223に記憶した制御プログラムをRAM224に読み出して制御処理を実行する。
【0035】
通信部220の制御プログラムは、電源処理部321、設定管理部322、データバッファ部323、パケット処理324、通信制御部325を備える。電源処理部321は、電源制御部230と通信を行い、通常電力モードへの復帰指示を電源制御部230へ転送する。設定管理部322は、RAM224やNVRAM227などの記憶装置とのデータの入出力を管理する。例えば、ネットワーク制御部302から転送されたIPアドレスやパケットの破棄パターンなどの情報をRAM224上に書き込んだり、MACアドレスなどの情報をNVRAM227に記憶したりする。
【0036】
データバッファ部323は、ネットワーク制御部302が、通信部220で受信したパケットを取得するまでにバッファリングされる記憶領域である。なお、データバッファ部323は、少なくとも1つ以上の記憶領域(RAM224またはNVRAM227)のいずれかに存在し、受信した直後のパケットがハードウェア処理で一時的に格納される。それと同時に、通信部220の制御プログラムからは設定管理部323を介してもデータバッファ部323にアクセス可能である。また、画像形成装置100が省電力モードからの復帰要因となったパケットをはじめ、復帰処理中であって即時にネットワーク制御部302へパケットの転送ができない場合のバッファリング処理も行う。
【0037】
パケット処理部324は、通信制御部325を介してネットワーク102を介して受信したパケットの解析処理を実行する。省電力モードおよび省電力モードから通常電力モードへの復帰処理中に受信したパケットが破棄パターンに合致するか否かの判断は、パケット処理部324により実行される。パケット処理部324は、受信したパケットが破棄パターンに合致する場合には、受信パケットを破棄して省電力モードを維持する。一方、受信したパケットが破棄パターンに合致しない場合については、パケット処理部324は、省電力モードから通常電力モードへの復帰命令を電源処理部321に通知する。通信制御部325は、ネットワークI/F225からのパケットの入出力を制御する。ネットワークI/F225で受信したパケットをデータバッファ部323に格納すると同時にパケット処理部に対してパケットの受信を通知する。また、通常電力モードと省電力モードとに限らず、画像形成装置100からネットワーク102上へ転送さえるパケットは、通信制御部325を介して送信される。なお、パターンに合致したパケットをバッファリングし、それ以外を破棄してもよい。この場合にはこのパターンを例えば選択パターンと呼んでもよい。また破棄パターンと選択パターンとをまとめてパターンあるいは選択パターンと呼んでもよい。
【0038】
なお、プリンタ211、操作部212、電源制御部230においても、それぞれが有する制御プログラムにより、各ユニットの処理が実現されるものとする。
【0039】
●電力モードの遷移
続けて、
図4を用いて、省電力モードへの移行および通常電力モードへの復帰を実行する際の処理について説明する。この処理はCPU201およびCPU221、また各ユニットを制御する制御プログラムが実行する。実行主体が主制御部200に属しているステップについてはCPU201が、通信部220に属しているステップについてはCPU221が実行する。
【0040】
まず、通常電力モードにおいて、電力モード制御アプリケーション311は、設定管理部303から読み出したIPアドレスや破棄パターンの情報から、省電力モードにおいて通信処理部200が使用する各種パラメータを、ネットワーク制御部302を介して通信部200の設定管理部322に対して設定する(S401)。本実施例においては、破棄パターンとして、破棄されるべきパケットの宛先ポート番号を設定するものとする。但し、破棄パターンとして登録する情報は宛先ポート番号に限らず、受信パケットから判断することができるその他の情報であってもよい。例えば、受信ポートだけでなく、データペイロード部に特定文字列が含まれている場合など、
パケットから読み取れる情報の組み合わせを破棄パターンとして登録してもよい。具体的には、WSD(Web Service on Device)のような機器の能力要求が可能なプロトコルにおいて、スキャナを備えない画像形成装置100に対してスキャナの能力を要求するパケットは破棄パターンとするという形態などであってもよい。また、前記パラメータの設定処理は、省電力モードへの移行前であれば、画像形成装置100の起動時や省電力移行モードへの移行直前など少なくとも1回以上実行されればよい。なおステップS401は、これにつづくステップとは非同期に実行されてもよい。
【0041】
そして、電力モード制御アプリケーション311は、省電力モードへの移行条件が成立するのを待つ(S402)。移行条件は例えば明示的な指示や、一定時間にわたり外部装置からの印刷ジョブを受信しないことなどであってよい。またステップS402を繰り返し行っている間に、並行して他の処理を実行することもできる。この移行条件の判定を繰り返す状態で、操作部212から利用者の操作により省電力モードへの指示などによって省電力モードへの移行条件が満たされると、電力モード制御アプリケーション311は、電源処理制御部301に対して省電力モードへの移行指示を送信する(S403)。電源処理制御部301が省電力モードへの移行指示を受け取ると、電源制御部230に対して省電力モードへの移行指示が転送される。もし、揮発性のメモリのデータを不揮発性メモリへ退避する場合には、この電源制御部230に省電力モードへの移行指示が転送される前に、データの退避の処理を実装する。電力制御部230は、受信した電源モードの移行指示に応じた電源モードへと移行する。省電力モードが主制御部への電力供給の停止を伴う場合には、電力制御部230は、主制御部200への電力供給を停止し、通信部230への電力供給は継続する。ただし、操作部212の操作に応じて通常モードへ復帰する場合には、例えば操作部212の特定の操作キーと操作部I/F207とに電力を供給し、操作があった場合には電源制御部230に対して割込み等により通知するように構成してもよい。このように局所的に電力供給を維持してもよい。また省電力モードであっても電力制御部230による主制御部200への電力供給を継続し、主制御部230の電力制御部301が、再起動のために必要な回路に対して電力を供給し、そのほかの電力供給を停止してもよい。
【0042】
次に、画像形成装置100の省電力モードへの移行が完了すると、通信制御部325はパケットの受信を待ち受ける状態になる(S404)。この状態において、通信制御部325がパケットを受信するとデータバッファ部323にパケットのデータが一時格納される。パケット処理部324がこれを検知すると、受信パケットの宛先ポート番号と設定管理部322上に記憶された破棄パターンの宛先ポート番号との比較を行う(S405)。パケット処理部324が受信したパケットが破棄パターンに合致(あるいは一致)したと判断した場合、受信したパケットは破棄され、省電力モードを維持したままパケットの受信待ちの状態へと戻る(S406)。このときデータバッファ部323に一時格納したパケットのデータも削除する。一方でパケット処理部324が受信したパケットが破棄パターンと合致しないと判断した場合、改めて受信パケットをデータバッファ部323のバッファ領域へと格納(S407)し、省電力モードからの復帰処理を開始する。これは、通常電力モードへ復帰した際に復帰要因となったパケットを主制御部200側で処理するための処理である。このとき、復帰要因となったパケットは受信直後に使用したバッファ領域と同じ領域に配置されても、復帰要因のパケットのための専用のバッファ領域に配置されてもよい。
【0043】
省電力モードから復帰する処理(S408)において、パケット処理部324は、省電力モードから通常電力モードへの復帰命令を電源処理部321に通知する。電源処理部321は、電源制御部に当該通知に基づき主制御部200の電力状態の変更を依頼する。その結果、電源制御部230から主制御部200への電力供給が再開され、主制御部200の電源制御部230へ復帰信号が送信され、主制御部200が省電力モードへの復帰処理を実行する。
【0044】
もし、不揮発性のメモリのデータを揮発性メモリへ退避していた場合には、この際に不揮発性メモリに退避していたデータを揮発性メモリへ書き戻す処理を行う。なお、この復帰処理中も、通信部220が受信したパケットは前記バッファ領域にパケット処理部324により、処理がされた上で前記バッファ領域に格納される。この際のパケット処理部324による処理については後述する
図5を用いて詳細を説明する。また電源制御部230から主制御部200への電力供給が継続され、主制御部230の電力制御部301が主制御部230内部で電力供給を制限している場合には、主制御部230の電力制御部301が電力供給を再開する。さらに通常電力モードに移行したなら、通信部220は破棄パターンを用いたパケットのフィルタリングも停止し、受信したパケットをすべてバッファリングする。このフィルタリング処理の切り替えは、この後のステップS409において、バッファ内のパケットを出力し、空き領域が確保されてからでもよい。
【0045】
電源制御部301が電源制御部230からの復帰信号を検出すると、電源制御部301は電力モード制御アプリケーション311に対して復帰の通知をする。電力モード制御アプリケーション311は、復帰の通知の受信を契機として各アプリケーションに対して復帰処理に対して必要な処理を実行する。例えば、プリンタ制御部312に復帰処理の通知があった場合には、プリンタ211の起動処理などを実行する。そして、主制御部200側の復帰処理が完了すると、ネットワーク制御部302は、データバッファ部323に配置されていた復帰要因のパケットおよび復帰処理中に受信しバッファされていたパケットを取得し、各パケットに対して応答するなどの処理を実行する(S409)。ステップS409の処理は、処理対象のデータに応じてアプリケーション310が行うこともある。なお、破棄パターンに登録がなかったにもかかわらず、画像形成装置100が本来処理する必要がなかった場合には、例えばネットワーク制御部において受信ポートがオープンされていないパケットに関してはこのタイミングで破棄される。なお、後述するパケットのバッファ処理により、復帰処理中に受信した、処理に必要と思われるパケットはバッファされる。例えば、mDNSのように1つのクエリが複数パケットに分割されて到達する可能性がある1群のパケットもバッファされる。したがって、省電力状態から復帰した主制御部200は、当該1群のパケットをバッファから取得して処理することとなり、mDNSなどの要求で復帰した場合であっても当該パケットを適切に処理できる。
【0046】
●省電力モード中のパケット受信処理
図5を用いて、画像形成装置100が省電力モードから通常電力モードへの復帰処理中に受信したパケットをバッファ領域に配置する処理について説明する。画像形成装置100が省電力モードからの復帰処理中であっても、通信部220は受信したパケットをパケット処理部324で処理し、データバッファ部323へのバッファリング処理を行う。
【0047】
まず、通信部220がパケットの受信を検知する(S501)と、パケット処理部220は、破棄パターンに基づいて受信パケットが破棄パターンに合致するか否かの判断は行う(S502)。受信したパケットが破棄パターンと合致すると判断した場合、通信部220はバッファリングを行わずに受信パケットを破棄する(S503)。一方、破棄パターンに合致しないと判断した場合、つまりは主制御部200での処理が必要と判断した場合に限って、受信したパケットのバッファリングを実行する。破棄パターンは、
図4のステップS405で用いたものと同じであってよい。
【0048】
次に、パケット処理部324は、受信したパケットをバッファリングするための領域に空きがあるかの判断を行う(S504)。バッファ領域に空きがあった場合には、パケット処理部324は、受信したパケットをデータバッファ部323へ配置し、受信したパケットをバッファリングする(S505)。もし、バッファ領域に空きがなかった場合には、パケット処理部324は受信したパケットを破棄する(S506)。そして、パケット処理部は以上の処理を主制御部200が前記復帰処理を完了し、ネットワーク制御部302からその旨の通知を受け取るまで繰り返す(S507)。
【0049】
省電力モードの間に、および省電力モードから通常電力モードへの遷移中にバッファリングしたパケットは、通常電力モードへの復帰後に、主制御部200によって順次取得されて処理される。その際に、たとえば主制御部200がパケットの損失を知ることができたなら、送信元に対して再送を要求してもよい。
【0050】
以上、本実施形態によれば、画像形成装置100が省電力モードからの復帰処理を実行している際に受信したパケットであっても、画像形成装置100が処理する必要のないパケットをバッファ領域に配置せずに済む。従って、前記復帰処理中に受信したパケットから必要な情報を適切に主制御部200に受けたすことができるようになり、画像形成装置100の復帰処理中に起因するパケットのロストの可能性を低減できる。
【0051】
(実施形態2)
実施形態1では、バッファ領域がフルの場合には、受信したパケットが破棄パターンに合致しない場合には一律で破棄する構成について説明した。実施形態2では、バッファ領域がフルの場合において、省電力モードから復帰後の画像形成装置100がより効果的に処理すべきパケットを選択するための手段について説明する。
【0052】
まず、本実施例を実現するにあたって、画像形成装置100が受信するパケットに対して、処理すべき優先度を決定する。例えば、優先度を決定するにあたっては受信パケットが示す宛先IPアドレスを用いることができる。宛先IPアドレスも用いた優先度の決定の一例を表2に示す。
【0053】
【0054】
優先度1が最も優先度の高いパケットであり、優先度4が最も優先度の低いパケットである。例えば、宛先アドレスにユニキャストアドレスを持つユニキャストパケットは、明示的に画像形成装置100に対して何らかの処理が要求されるパケットである。そこで、優先度が最も高いと判断でき、その優先度として最も高い優先度1を割り当てる。次にマルチキャストアドレスを持つマルチキャストパケットは、画像形成装置100のアプリケーション311が提供するサービスに対して特定の要求がされている可能性が高いため優先的に処理する必要がある。例えば、情報処理装置100に関するサービスの探索などが上げられ、外部装置の明確な意図が含まれる要求である可能性がある。そこでマルチキャストパケットについては優先度2を割り当てている。なお、ブロードキャストアドレスを持つブロードキャストパケットもマルチキャストパケットと同じく、多数の宛先への到達を目的とするパケットではあるが、マルチキャストが少なかれ宛先を特定して送っているのに対して、ブロードキャストは不特定多数の機器を宛先としたものである。そのため、本実施形態においては、ブロードキャストアドレスに対しては、マルチキャストアドレスよりも優先度が低い優先度3を割り当てている。最後に優先度4として、優先度1から優先度3までのパケットに合致しなかったものとしている。なお、本実施形態において設定している優先度はこの順序に限りではなく、異なる順序で優先度を設定してもよい。
【0055】
●省電力モード中のパケット受信処理(実施形態2)
次に、
図6を用いて、画像形成装置100が復帰処理中にバッファ領域がフルになった場合の処理について説明する。
図6は実施形態1の
図5に置き換わる処理手順であり、そのほかの構成や処理については、本実施形態は実施形態1と同様であってよい。画像形成装置100が省電力モードからの復帰処理中であっても、通信部220は受信したパケットをパケット処理部324で処理し、データバッファ部323へのバッファリング処理を行う。
【0056】
まず、通信部220がパケットの受信を検知する(S601)と、パケット処理部220は、破棄パターンに基づいて受信パケットが破棄パターンに合致するか否かの判断は行う(S602)。受信したパケットが破棄パターンと合致すると判断した場合、通信部220はバッファリングを行わずに受信パケットを破棄する(S603)。一方、破棄パターンに合致しないと判断した場合、受信したパケットのバッファリングを実行する。次に、パケット処理部324は、受信したパケットをバッファリングするための領域に空きがあるかの判断を行う(S604)。バッファ領域に空きがあった場合には、パケット処理部324は、受信したパケットをデータバッファ部323へ配置し、受信したパケットをバッファリングする(S605)。
【0057】
もし、バッファ領域に空きがなかった場合には、パケット処理部324は、すでにバッファリングされているパケットと、これからバッファリングをしようとしていたパケットとで優先度の比較を実行する(S607)。優先度を比較する処理は、パケット処理部220がすでにバッファリングしているパケットをデータバッファ部323から読み出し、より低い優先度を持つパケットが存在するか否かを判断すること(S607)により実現する。例えば、これからバッファリングしようとしているパケットが優先度1のユニキャストアドレスのパケットである場合、優先度2以下のパケットの有無を確認する。もし、より低い優先度のパケットがすでにバッファリングされている場合、パケット処理部220は、その低い優先度のパケットを削除し、優先度の高いパケットを代わりにバッファ領域であるデータバッファ部323へ格納する(S608)。一方、バッファ領域により低い優先度のパケットがない場合には、バッファリングしようとしているパケットを破棄する(S609)。そして、パケット処理部は以上の処理を主制御部200が前記復帰処理を完了し、ネットワーク制御部302からその旨の通知を受け取るまで繰り返す(S610)。
【0058】
以上、本実施形態によれば、画像形成装置100が省電力モードからの復帰処理を実行している際に受信したパケットをより効果的にバッファリングできる。従って、実施形態1に比べて前記復帰処理中に受信したパケットからより必要なパケットを適切に主制御部200に受け渡すことを可能にしたうえ、画像形成装置100の復帰処理中に起因するパケットのロストの可能性を低減できる。
【0059】
なお受信パケットよりも低い優先度のパケットがバッファ内に複数あった場合には、そのうち最も低優先度のパケットを削除対象として選択してよい。たとえば、バッファフルの場合、受信パケットの優先度が4なら、バッファの内容を参照することなく受信パケットを廃棄する。受信パケットの優先度が3なら、たとえばバッファの末尾から優先度4のパケットを探し、最初に見つかった優先度4のパケットを削除して代わりに受信パケットをバッファリングする。受信パケットの優先度が1なら、たとえばバッファの末尾から優先度4のパケットを探し、最初に見つかった優先度4のパケットを削除して代わりに受信パケットをバッファリングする。なければ優先度3のパケットを探し、それもなければ優先度2のパケットを探す。このように、削除できるパケットを探す場合には、より低い優先度から順にバッファを走査してよい。
【0060】
またバッファがキューの場合、キューの中間にあるパケットの置換によりパケットの順序が変わってしまう。そこで、キューを、パケット間をポインタによりリンクする構造で実現してもよい。この場合、バッファ中のパケットを削除して受信パケットを格納する際には、削除したパケットの前後のパケットをポインタで接続し直し、新たに格納したパケットはキューの末尾になるよう、ポインタを繋げばよい。
【0061】
また、バッファ内に、受信パケットと置換できる最低の優先度のパケットが複数ある場合には、発見した順ではなく、さらに従属的な優先度に従って削除するパケットを選択してよい。たとえば従属的な優先度としてポート番号、すなわちポート番号が示すサービスを参照してもよい。この場合には、複数のパケットを受信するサービスよりも、単一のパケットの受信で済むサービスを低優先度とみなして、低優先度のパケットを優先的に削除するなどしてよい。もちろんそのほかの基準で削除対象のパケットを選択してよい。
【0062】
さらに、バッファ内の優先度ごとのパケットの探索を容易にするために、バッファリングされているパケットの優先度ごとの数を、パケットをバファリングし、また削除するごとに記憶してもよい。このようにすれば、バッファフルの場合には、パケットの優先度ごとの数を参照することで、受信パケットで置き換えることができるパケットの有無を、バッファ内のパケットを探索するまでもなく知ることができる。またバッファ内から探索すべきパケットの優先度を、探索に先だって知っておくことができるので、無駄な探索を行う必要がなくなる。
【0063】
(その他の実施形態)
前記それぞれの実施形態では、破棄パターンに合致するか否かの判断後にバッファ領域の空きがあるか否かの判断する構成について説明した。しかしながら、前記の判断処理については処理の順序が前後しても構わない。
【0064】
また、実施形態2においては、優先度を決定する要素としては、宛先アドレスを用いた構成について説明した。しかしながら、優先度を決定する要素は宛先アドレスに限ったものではなく、受信したパケットから読み取れる情報であればよい。例えば、TCPやUDP、ICMPなどのプロトコル種別であってもよいし、宛先アドレスなどの他の情報との組み合わせであってもよい。
【0065】
さらに、実施形態2においては、バッファ領域に優先度のパケットが配置された状態でバッファがフルの状態となっていた場合には受信パケットが破棄される構成であるが、受信した時刻最も古いものなどの他の情報との組み合わせで同じ優先度のパケットを置き換える構成であっても構わない。
【0066】
以上の他の実施形態により、通信部220のパケットの処理を効率化ができるとともに、バッファリングすべきパケットの優先度を細かく設定が可能になる。従って、実施形態1および実施形態2に比べて、帰処理中に受信したパケットからより必要なパケットを適切に主制御部200に受け渡すことを可能にしたうえ、画像形成装置100の復帰処理中に起因するパケットのロストの可能性を低減できる。
【0067】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0068】
本発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0069】
100 画像形成装置、101 PC、102 ネットワーク、232 電源供給ライン、233 電源供給ライン、234 電源供給ライン