(57)【要約】【課題】本発明は、応答すべきパケットの種類に応じて、スリープモード時に代理応答が可能な機器を的確に検索できると共に、当該代理応答機器の数を低減することが可能な通信装置を提供する。【解決手段】ＭＦＰ１００は、ＷＯＬするパケットにブロードキャストパケットが含まれるか否かを判定し、ブロードキャストパケットが含まれる場合には、ブロードキャストを使用して代理応答可能なデバイスを探索する。一方、ブロードキャストパケットが含まれない場合には、マルチキャストを使用して代理応答可能なデバイスを探索する。【選択図】図４
2012119984.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第一の状態と、当該第一の状態よりも消費電力が少ない第二の状態で動作し、ネットワークを介して送信されたデータを受信する通信装置であって、
前記第二の状態で動作中に受信した際に前記第一の状態に移行する必要がある特定のデータを示す情報を保持する保持手段と、
前記保持手段によって保持される情報に基づいて前記特定のデータの種類を判定する判定手段と、
ネットワークを介して送信されたデータを受信した場合に前記通信装置の代理で応答する他の通信装置を、前記判定手段によって判定された特定のデータの種類に基づいて検索する検索手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記判定手段は、前記特定のデータがブロードキャストパケットを含むか否かを判定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記検索手段は、前記特定のデータがブロードキャストパケットを含む場合には、ブロードキャストを使用して前記通信装置の代理で応答する他の通信装置を検索し、ブロードキャストパケットを含まない場合には、マルチキャストを使用して前記通信装置の代理で応答する他の通信装置を検索することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記検索手段により検索された他の通信装置の中から前記通信装置の代理で応答する他の通信装置を選択する選択手段をさらに備えることを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記選択手段は、前記検索手段により検索された他の通信装置の中で最も消費電力が低い通信装置を、前記通信装置の代理で応答する他の通信装置として選択することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信装置の代理で応答する他の通信装置として選択された通信装置に対して、前記保持手段によって保持された情報を送信する送信手段をさらに備えることを特徴とする請求項４または５に記載の通信装置。
【請求項７】
前記送信手段により前記保持手段によって保持された情報が送信された後に、前記第一の状態から前記第二の状態に移行する制御手段をさらに備えることを特徴とする請求項６に記載の通信装置。
【請求項８】
前記検索手段は、前記データの種類に応じて前記他の通信装置を検索する範囲を変更することを特徴とする請求項１に記載の通信装置。
【請求項９】
少なくとも第一の状態と、当該第一の状態よりも消費電力が少ない第二の状態で動作し、ネットワークを介して送信されたデータを受信する通信装置の通信方法であって、
前記第二の状態で動作中に受信した際に前記第一の状態に移行する必要がある特定のデータを示す情報を保持する保持工程と、
前記保持手段によって保持される情報に基づいて前記特定のデータの種類を判定する判定工程と、
ネットワークを介して送信されたデータを受信した場合に前記通信装置の代理で応答する他の通信装置を、前記判定手段によって判定された特定のデータの種類に基づいて検索する検索工程と、
を備えることを特徴とする通信方法。
【請求項１０】
請求項９に記載の通信方法を通信装置に実行させるためのコンピュータに読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及び方法、並びにプログラムに関し、特に、通信装置がＷＯＬすべきデータを受信した場合に、他の通信装置が代理で応答することによって装置の低電力状態を保つ省電力化技術に関する。
【背景技術】
【０００２】
従来から、ネットワークに接続した通信装置において、その通信装置が所定期間使用されない場合に、通常よりも消費電力が少ないスリープモードに移行する技術が知られている。また、スリープモード時の消費電力を極力低くするために、通信装置本体を制御するためのＣＰＵを含むコントローラ部に対しても、スリープモード時には電力供給を止める技術が知られている。
【０００３】
しかしながら、コントローラ部への電力供給を止めるスリープモードを備えた通信装置では、スリープモード状態時に他の通信装置からデータを受信しても、スリープモード状態を維持しているので通信を行うことができないという問題があった。この問題を解決するために考えられた技術としてはＷＯＬ（Wake On Lan）機能がある。ＷＯＬ機能では、通信装置がスリープモードの状態にある場合でも、ネットワーク通信部などの最小限のハードウェアには電力を供給しておく。そして、ネットワーク通信部が特定のパターンにマッチするパケットを受信した場合にスリープモードから復帰する技術である。通信装置が特定のパケットを受信した場合にスリープモードから復帰するので、そのパケットに対して応答することが可能になる。
【０００４】
一方、ＷＯＬ機能を備える通信装置では、ＷＯＬすることにより通信装置単体での消費電力が一瞬上がってしまう場合がある。また、ブロードキャストやマルチキャストで送信されたパケットによってネットワーク内の複数の機器をＷＯＬさせるような場合には、複数の機器が通常状態に復帰することによりトータルでの消費電力が上昇してしまうことがある。さらに、ＷＯＬ機能による電力上昇を防ぐ技術である代理応答についても、応答できるパケットのパターンに限りがあるので完全にＷＯＬを無くすことは困難である。このような問題を解決するために、例えば特許文献１では、ネットワーク上のクライアントは、スリープモードに移行する直前にサーバに対してその旨を通知する。それを受けたサーバは、クライアントがスリープモード中にクライアント宛てのパケットがネットワーク上に送出されていないかを監視する。そして、パケットが送出されたことを確認した場合に、サーバ自体のデータベースに登録されているパケットならばクライアントの代理として応答する。これにより、クライアントはスリープモードの状態を保ったまま、サーバが代理で応答するので通信を行うことが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１６５４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術には以下の点で問題がある。
【０００７】
第１の問題としては、通信装置がブロードキャストパケットを受信した場合に従来技術を適用することができないという点である。ブロードキャストパケットは、ネットワーク上のオンリンクである機器全てに対して通信を行うためのパケットである。そのため、ネットワーク上の機器を探索したり、全ての機器から同一の情報を取得したりといった目的で使用されることが多く、その場合に通信装置がスリープ状態であった場合にはＷＯＬして応答することが求められる。
【０００８】
しかしながら、ブロードキャストパケットは、一般的なネットワーク環境においては、オンリンクでのみ使用可能であるという特徴を持つ。オンリンクとは、ネットワーク間にルータを挟まない環境のことである。その理由は、ルータはブロードキャストパケットを通過させないよう動作していることが一般的だからである。即ち、通信装置が送出したブロードキャストパケットはルータによって破棄されるため、別のネットワークにパケットが流れることはない。
【０００９】
特許文献１記載の技術は、スリープ中のクライアントに代わって別のサーバがクライアントに成りすまして応答するものである。しかしながら、クライアントがブロードキャストパケットに応答する必要があり、且つクライアントとサーバとが異なるネットワークに存在する場合、この技術は無効となる。その理由は、スリープ中のクライアントが受信したブロードキャストパケットに対してサーバが応答する必要があるが、サーバは別のネットワークに存在しているので、そのブロードキャストパケットが当該サーバに到達できず、応答することができないからである。
【００１０】
第２の問題としては、上述した問題点を従来技術を用いて解決しようとした場合に、通信装置全体での消費電力が増大するという点である。第１の問題点を従来技術を用いて解決するためには、サーバを全てのネットワーク上に配置する必要がある。それら複数のサーバはスリープすることができず、常に定常状態の電力を必要とするため、消費電力が増大してしまい、消費電力を低下させることが目的であった従来技術の効果を十分に発揮することができない。
【００１１】
本発明は、上記問題に鑑みて成されたものであり、応答すべきパケットの種類に応じて、スリープモード時に代理応答が可能な機器を的確に検索できると共に、当該代理応答機器の数を低減することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明の通信装置は、少なくとも第一の状態と、当該第一の状態よりも消費電力が少ない第二の状態で動作し、ネットワークを介して送信されたデータを受信する通信装置であって、前記第二の状態で動作中に受信した際に前記第一の状態に移行する必要がある特定のデータを示す情報を保持する保持手段と、前記保持手段によって保持される情報に基づいて前記特定のデータの種類を判定する判定手段と、ネットワークを介して送信されたデータを受信した場合に前記通信装置の代理で応答する他の通信装置を、前記判定手段によって判定された特定のデータの種類に基づいて検索する検索手段と、
を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、応答すべきパケットの種類に応じて、スリープモード時に代理応答が可能な機器を的確に検索できると共に、当該代理応答機器の数を低減することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る通信装置を含む通信システムの構成例を示す図である。
【図２】図１のＭＦＰ１００の概略構成を示すブロック図である。
【図３】第１の実施形態におけるＭＦＰ１００，１０１のスリープモード移行時の代理応答処理の流れを示すフローチャートである。
【図４】図３のステップＳ３０２の代理応答可能なデバイスの探索処理の詳細を示すフローチャートである。
【図５】本発明の第２の実施形態に係る通信装置を含む通信システムの構成例を示す図である。
【図６】第１の実施形態におけるＭＦＰ５０１，５０２のスリープモード移行時の代理応答処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
【００１６】
［第１の実施の形態］
まず、本発明の第１の実施形態に係る通信装置について説明する。
【００１７】
図１は、本発明の第１の実施形態に係る通信装置を含む通信システムの構成例を示す図である。
【００１８】
図１において、本発明の実施形態に係る通信装置は、例えば、コピー機能やＦＡＸ機能等の複数の機能を有するＭＦＰ（Multi Function Peripheral）１００である。ＭＦＰ１００は、ＬＡＮ１０５を介して、他の通信装置であるＭＦＰ１０１、情報処理装置としてのＰＣ１０２、及びルータ１０３に接続されている。ＰＣ１０２は一般的なパーソナルコンピュータであり、ＭＦＰ１００，１０１、及びＭＦＰ１０４に印刷ジョブを投入する役割を果たすものである。ルータ１０３は、ＬＡＮ１０５とＬＡＮ１０６とを接続するルータである。ＬＡＮ１０６には、ＭＦＰ１０４が接続されている。ＬＡＮ１０５，１０６は一般的なＬＡＮである。なお、ネットワーク、通信装置や情報処理装置等の数については図示例に限定されるものではない。
【００１９】
図２は、図１のＭＦＰ１００の概略構成を示すブロック図である。
【００２０】
ＮＩＣ２００は、インテリジェント型ネットワークカードモジュールにより実現された、ＭＦＰ１００に対して着脱可能なネットワークインターフェース装置である。そして、ＮＩＣ２００は、ＮＩＣ２００用のＣＰＵ２０１，ＲＡＭ２０２，ＲＯＭ２０３，ネットワークＩ／Ｆ２０４，表示部２０５，拡張Ｉ／Ｆ２０６と、これらを互いに接続するシステムバス２０７とを備えている。
【００２１】
ＣＰＵ２０１は、ＲＯＭ２０３に記憶された制御プログラムを読み出して各種制御処理を実行する。例えば、ＣＰＵ２０１は、システムバス２０７に接続されたネットワークＩ／Ｆ２０４を介してＬＡＮ１０５に接続し、ＬＡＮ１０５上の他のデバイスと所定の通信プロトコルに従って通信する処理を実行する。これにより、例えば、ＬＡＮ１０５上のＰＣ１０２から送信された印刷データやプリンタ制御命令等の各種データを受信し、拡張Ｉ／Ｆ２０６を介してＭＦＰ本体３００側のプリンタ部２５０に転送し、印刷処理を行うことができる。
【００２２】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。表示部２０５は、液晶パネルやＬＥＤ等で構成され、ＮＩＣ２００の動作状態を示す表示手段として用いられている。表示部２０５は、例えば、ネットワークＩ／Ｆ２０４とＬＡＮ１０５との電気的な接続状態や通信モード等の各種動作状態をＬＥＤの色や点滅パターンで示すことが可能となっている。
【００２３】
拡張Ｉ／Ｆ２０６は、ＮＩＣ２００とＭＦＰ１００とを接続するためのＩ／Ｆであり、ローカルケーブル２１０を介してＭＦＰ本体３００側の拡張Ｉ／Ｆ２２４に接続されている。なお、拡張Ｉ／Ｆ２０６は、不図示のコネクタを含んで構成されている。ＮＩＣ２００は、このコネクタによってＭＦＰ本体３００への着脱が可能となっており、同じ構成を有する他のＭＦＰ１０１，１０４等に当該ＮＩＣ２００を装着することも可能である。
【００２４】
ＭＦＰ本体３００は、制御部２２０、操作部２３０、スキャナ部２４０、及びプリンタ部２５０を備えている。そして、制御部２２０には、ＭＦＰ１００用のＣＰＵ２２１，ＲＡＭ２２２，ＲＯＭ２２３，拡張Ｉ／Ｆ２２４，操作部Ｉ／Ｆ２２５，デバイスＩ／Ｆ２２６と、これらを互いに接続するシステムバス２２７とを備えている。
【００２５】
ＣＰＵ２２１は、ＲＯＭ２２３に記憶された制御プログラムを読み出して各種制御処理を実行する。例えば、ＣＰＵ２２１は、拡張Ｉ／Ｆ２２４を介してＮＩＣ２００から転送される印刷データに基づいて出力画像データを生成し、デバイスＩ／Ｆ２２６を介してプリンタ部２５０に出力する。
【００２６】
ＲＡＭ２２２は、ＣＰＵ２２１の主メモリ、ワークエリア等として機能する。また、ＲＡＭ２２２は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２７】
操作部２３０には、ＭＦＰ本体３００の動作モード等の設定や印刷データの取り消し等の操作を行うためのボタンと、ＭＦＰ本体３００の動作状態を示す液晶パネルやＬＥＤ等の表示部とが配されている。また、後述する通信モードの設定も、操作部２３０を介して行うことができる。
【００２８】
プリンタ部２５０は、公知の印刷技術を利用した画像形成手段であり、例えば電子写真方式（レーザービーム方式）やインクジェット方式、昇華方（熱転写）方式等を用いて画像データの印刷を実行する。また、スキャナ部２４０は、原稿上の画像を読み取って画像データを生成し、制御部２２０に入力する。
【００２９】
ＭＦＰ本体３００は、スタンバイ時よりも消費電力が低いスリープモードを備えている。スリープ中は、操作部２３０や拡張Ｉ／Ｆ２２４など特定のユニットを除く各ユニットに対する電力供給をストップすることにより、消費電力が抑制されている。また、スリープ中はＮＩＣ２００には通電されており、通信を行うことが可能である。なお、本実施形態において、スタンバイ状態とは第一の状態の一例であり、スリープ状態とは第一の状態よりも消費電力が少ない第二の状態の一例である。しかし、ＭＦＰがとり得る状態はこれに限らず、消費電力が異なるその他の状態があってもよい。
【００３０】
なお、ＭＦＰ１０１及びＭＦＰ１０４はＭＦＰ１００と同様の構成を有することから、それらについては省略する。また、ＰＣ１０２は、一般的なパーソナルコンピュータと同様の構成を有することから、その説明についても省略する。
【００３１】
次に、スリープモード移行時のＭＦＰ１００及びその際に代理応答サーバの役割を担うＭＦＰ１０１の動作処理について図３を用いて説明する。
【００３２】
図３は、第１の実施形態におけるＭＦＰ１００，１０１のスリープモード移行時の代理応答処理の流れを示すフローチャートである。
【００３３】
ステップＳ３０１では、電源が投入された後のＭＦＰ１００は自装置の状態を監視しており、自装置のスリープモードに移行する条件を満たすまで待機する。ここでのスリープモードに移行する条件とは、例えばスキャナ部２４０やプリンタ部２５０が使用中である場合である。これらの装置はスリープモード時には電源が供給されない。それゆえ、これらの装置が動作している場合には、ＭＦＰ１００は自装置をスリープモードに移行させない制御処理が働いている。ステップＳ３０１ではそういった制御が行われず、スリープモードに移行することができる状態になるまで待つ処理を意味している。
【００３４】
ステップＳ３０１において、ＭＦＰ１００がスリープモードに移行する条件を満たした場合、ＭＦＰ１００は、代理応答可能なデバイスの探索処理に移行する（ステップＳ３０２）。本処理の詳細については図４を用いて説明する。
【００３５】
図４は、図３のステップＳ３０２の代理応答可能なデバイスの探索処理の詳細を示すフローチャートである。
【００３６】
ステップＳ４０１において、ＭＦＰ１００は、自装置がＷＯＬする条件となるパケットにブロードキャストパケットが含まれているか否かを判定する。具体的には、ＭＦＰ１００は、スリープ状態で動作中にパケットを受信した際にスリープ状態からスタンバイ状態に移行する必要がある特定のパケットを示す情報をＮＩＣ２００のＲＡＭ２０２又はＲＯＭ２０３に保持している。その情報を参照して解析することによって、ステップＳ４０１の判定を行う。なお、ＮＩＣ２００のＲＡＭ２０２又はＲＯＭ２０３に保持される特定のパケットを示す情報は、元はＭＦＰ１００の制御部２２０のＲＯＭ２２３やＨＤＤ等に保持されており、制御部２２０からＮＩＣ２００に送付されることにより、ＮＩＣ２００に保持される。
【００３７】
ステップＳ４０１の判定結果から、ＭＦＰ１００がＷＯＬするパケットにブロードキャストパケットが含まれていない場合にはステップＳ４０２に移行する。一方、ブロードキャストパケットが含まれている場合には、ステップＳ４０３に移行する。
【００３８】
ステップＳ４０２では、ＭＦＰ１００は、マルチキャストパケットを使用して、代理応答可能なデバイス（以下、「代理応答サーバ」とも称する）の検索を行う。ここで、マルチキャストを使用する理由は、マルチキャストパケットは一般的にルータを超えることができ、ＭＦＰ１００がオンリンクするネットワーク及び、ルータを越えたオンリンク外のネットワークに対して代理応答サーバを検索することができるからである。また、ＭＦＰ１００がオンリンクするネットワーク以外のネットワークに存在するネットワークノードを探索対象にする理由は、ステップＳ４０１においてＭＦＰ１００がＷＯＬするパケットにブロードキャストパケットが含まれていないからである。オンリンクのみを通信対象とするブロードキャストパケットを含まないため、オンリンク外に存在するネットワークノードを探索対象にすることが可能になる。
【００３９】
ＭＦＰ１００が送出した探索パケットのマルチキャストパケットは、ＭＦＰ１００とオンリンクするＬＡＮ１０５上に存在するＭＦＰ１０１と、オンリンク外のＬＡＮ１０６上に存在するＭＦＰ１０４に到達する。
【００４０】
探索パケットを受信したＭＦＰ１０１及びＭＦＰ１０４は、ＭＦＰ１００に対して通信応答する（図３のステップＳ３０３）。この通信応答には、自装置が代理応答サーバになることが可能であるか否かを示す情報と、通常時の消費電力を示す情報を含んでいる。
【００４１】
一方、ステップＳ４０３では、ＭＦＰ１００は、ブロードキャストパケットを使用して、代理応答サーバの検索を行う。ここで、ブロードキャストを使用する理由は、ブロードキャストパケットは一般的にルータを超えることができないため、ＭＦＰ１００がオンリンクするネットワークに対してのみ、代理応答サーバを検索することができるからである。また、ＭＦＰ１００がオンリンクするネットワークに存在するネットワークノード（以下「ノード」とも称する）のみを探索対象にする理由は、ステップＳ４０１においてＭＦＰ１００がＷＯＬするパケットにブロードキャストパケットが含まれているからである。オンリンクのみを通信対象とするブロードキャストパケットがＷＯＬするパケットに含まれているため、代理応答サーバもオンリンクに存在する必要がある。
【００４２】
ＭＦＰ１００が送出した探索パケットのブロードキャストパケットは、ＭＦＰ１００とオンリンクするＬＡＮ１０５上に存在するＭＦＰ１０１に到達する。ルータ１０３を介さなければ通信することができないＭＦＰ１０４にはパケットは到達しない。
【００４３】
探索パケットを受信したＭＦＰ１０１は、ＭＦＰ１００に対して応答する（ステップＳ３０３）。この応答には、自装置が代理応答サーバになることが可能であるか否かを示す情報と、通常時の消費電力を示す情報を含んでいる。
【００４４】
図３に戻り、ステップＳ３０４において、ＭＦＰ１００は、他のノードからの応答の有無を判定する。このように、ＭＦＰ１００は、一定時間の間、応答パケットの待ち受け処理を行う。ここで、他のノードから応答があった場合は、ステップＳ３０５へと移行する。応答がなかった場合にはステップＳ３０８へと移行する。
【００４５】
ステップＳ３０５において、ＭＦＰ１００は、応答があったＭＦＰの中から代理応答サーバを選出する処理を行う。ここでＭＦＰ１００は、受信した応答パケットの内容を解析し、代理応答サーバとして動作することが可能であって、且つその中で最も消費電力が低いＭＦＰを代理応答サーバとして選択する。ＭＦＰ１００は、代理応答サーバとして選択したＭＦＰ（ここではＭＦＰ１０１とする）に対して、ユニキャスト通信により選択したことを示す情報を送信する。
【００４６】
次に、ステップＳ３０６において、ＭＦＰ１００は、代理応答サーバとして選択したＭＦＰ１０１に対して、自装置に設定された代理応答対象パケットの情報を送信する。ここでの代理応答対象パケットとは、ＭＦＰ１００がスリープ状態にある場合に、ＭＦＰ１００がＷＯＬして応答するのではなく、代理応答サーバとして選択されたノードであるＭＦＰ１０１にパケットに応答することを依頼するパケットのことである。即ち、ＭＦＰ１００に保持されている、ＭＦＰ１００がスリープ状態からスタンバイ状態に移行する必要がある特定のパケットを示す情報を送信する。この特定のパケットの具体例としては、ＭＦＰ１００を探索するためのパケットや、ＭＦＰ１００の生存確認のためのパケットが主である。ＭＦＰ１００への印刷ジョブ等の代理応答サーバが代理として振る舞うことができない種類のパケットやプロトコルについては代理応答を行わないため、ＷＯＬするパケットとして情報の通知は行わない。ＭＦＰ１００は、代理応答対象パケットのパケットデータの情報を、ネットワークを経由して代理応答サーバに送信する。
【００４７】
ステップＳ３０７において、代理応答サーバに選出されたＭＦＰ１０１は、代理応答対象パケットの情報を受け取る。そして、そこから代理応答サーバとしての動作を開始する。代理応答サーバに選ばれたＭＦＰ１０１は、ＬＡＮ１０５上にＭＦＰ１００のアドレスをクエリするＡＲＰ（Address Resolution Protocol）を送出する。その際に、パケットのＳＲＣ−ＭＡＣアドレスは、代理応答サーバであるＭＦＰ１０１のアドレスではなく、ＭＦＰ１００のアドレスを使用する。つまり、代理応答サーバであるＭＦＰ１０１はＭＦＰ１００に成りすまし、パケット上は完全にＭＦＰ１００として振る舞う。このＡＲＰパケットの送出は、ネットワーク上の他のノードのＡＲＰテーブルの更新を行うことが目的である。一方、ＭＦＰ１０４のように、ＭＦＰ１００とは異なるネットワークに存在するノードが代理応答サーバになった場合には、ルータ１０３が管理するルーティングテーブルを更新させることも目的である。
【００４８】
次に、ステップＳ３０８において、ＭＦＰ１００はスリープモードへの移行処理を行う。ＭＦＰ１００は、自装置の処理をスタンバイモードからスリープモードに切り替えることで、複合機としての処理を停め、消費電力を低減させる。ＭＦＰ１００がスリープモードに移行すると、ＭＦＰ１００宛てのパケット（例えば、デバイス探索パケット）の受信待ち処理を行う（ステップＳ３０９）。ＭＦＰ１００は、ＭＦＰ１００宛てのパケットを受信すると、ステップＳ３１０に移行する。
【００４９】
ステップＳ３１０において、ＭＦＰ１００は、受信したパケットからＷＯＬするか否かを判定する。ＭＦＰ１００は、受信したパケットが代理応答パケットに該当し、且つステップＳ３０４にて代理応答可能なデバイスからの応答があったときは、受信パケットを破棄してスリープモード状態を継続する（ステップＳ３１１）。一方、ＭＦＰ１００は、受信したパケットが代理応答パケットに該当し、且つステップＳ３０４にて代理応答可能なデバイスからの応答がなかったときは、ステップＳ３１２に移行してＷＯＬ処理を行う。また、受信したパケットが代理応答パケットに該当しない場合（例えば印刷ジョブのパケットだった場合）には、無条件にステップＳ３１２に移行してＷＯＬ処理を行う。
【００５０】
ステップＳ３１２では、ＭＦＰ１００はＷＯＬ処理を行う。ここではスリープ状態にあるＭＦＰ１００のシステムを復帰させてスタンバイ状態にする。そして、ＭＦＰ１００は、ステップＳ３０９で受信したパケットに対する処理を行う。ここでの処理とは、受信したパケットに対して、そのプロトコルの内容に応じて予め定められた処理を行うことである。例えば、受信したパケットが印刷ジョブの送信要求であった場合には印刷ジョブのデータ受信を行う。
【００５１】
一方、ステップＳ３１４、Ｓ３１６では、ＭＦＰ１０１は、パケットの受信待ち処理を行う。ＭＦＰ１０１は、自装置宛てのパケットと、代理応答サーバとしてＭＦＰ１００宛てのパケットを受信するので、パケットの宛先に応じた応答を行う。
【００５２】
ステップＳ３１４において、ＭＦＰ１０１は、受信したパケットが自装置宛てのパケットか否かを判定する。この判定結果から、受信したパケットが自装置宛てのパケットであった場合、ＭＦＰ１０１として応答する処理を行う。ＭＦＰ１０１としての応答とは、パケットのＳＲＣ−ＭＡＣアドレスやＳＲＣ−ＩＰアドレスをＭＦＰ１０１のアドレスとして応答することである。そうすることによって、通信先のノードは、ＭＦＰ１０１からパケットの応答があったと認識する。
【００５３】
ステップＳ３１６において、ＭＦＰ１０１は、受信したパケットが代理応答すべきパケットであるか否かを判定する。代理応答すべきパケットであるか否かの判定は、ステップＳ３０７においてＭＦＰ１００から受信した代理応答パケットのデータにマッチするか否かによって行う。受信したパケットが代理応答すべきパケットであると判定した場合、ステップＳ３１７に移行して、ＭＦＰ１０１はＭＦＰ１００に成りすまして受信したパケットに対して応答する。ここで、ＭＦＰ１０１がＭＦＰ１００に成りすますとは、ＭＦＰ１００のＭＡＣアドレス及びＩＰアドレスを使用してパケットデータを構成し、送信することである。そうすることによって、通信先のノードは、あたかもＭＦＰ１００から応答があったように認識する。
【００５４】
上記第１の実施形態によれば、ＭＦＰ１００は、ＷＯＬするパケットにブロードキャストパケットが含まれるか否かを判定し、ブロードキャストパケットが含まれる場合には、ブロードキャストを使用して代理応答可能なデバイスを探索する。一方、ブロードキャストパケットが含まれない場合には、マルチキャストを使用して代理応答可能なデバイスを探索する。これにより、ＭＦＰ１００がスリープモード時にブロードキャストパケットを受信した場合に、代理応答サーバとして依頼したデバイスが実はオンリンク外に存在し、そのパケットを受信することができないという問題を解決することができる。それゆえに、応答すべきパケットの種類に応じて、スリープモード時に代理応答が可能な機器を的確に検索することができる。
【００５５】
また、本実施形態によれば、スリープモード移行時の代理応答サーバの選択基準として、代理応答サーバの消費電力が最も低いものが選択される。これにより、代理応答サーバによる代理応答時においても、消費電力をより少なくする通信システムを確立することが可能となる。
【００５６】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。
【００５７】
図５は、本発明の第２の実施形態に係る通信装置を含む通信システムの構成例を示す図である。
【００５８】
図５において、本発明の実施形態に係る通信装置は、例えば、コピー機能やＦＡＸ機能等の複数の機能を有するＭＦＰ５０１である。ＭＦＰ５０１は、ＬＡＮ５０５を介して、ＭＦＰ５０２，５０３、及びＰＣ５０４に接続されている。ＰＣ５０４は一般的なパーソナルコンピュータであり、ＭＦＰ５０１〜５０３に印刷ジョブを投入する役割を果たすものである。ＬＡＮ５０５は一般的なＬＡＮであるものとする。なお、ＭＦＰ５０１〜５０３は、図２に示すＭＦＰ１００と同一構成を通信装置であり、それらの説明は省略する。また、ネットワーク、通信装置や情報処理装置等の数については図示例に限定されるものではない。
【００５９】
次に、スリープモード移行時のＭＦＰ５０１〜５０３の動作処理について図６を用いて説明する。なお、スリープモードに移行するＭＦＰ５０１及び代理応答サーバとしての役割を果たすＭＦＰ５０２，５０３の基本的な動作は、図３に示すフローチャートで説明したものと同じであるため、図６では図３で説明した動作に該当するものは省略して説明する。
【００６０】
ＭＦＰ５０１は、自装置がスリープモードへの移行条件を満たすと、代理応答可能なデバイス（代理応答サーバ）の探索処理（ステップＳ６０１）に移行する。ステップＳ６０１の探索の方法及びシーケンスについては、図３のステップＳ３０２及び図４で説明した動作と同様である。
【００６１】
ＭＦＰ５０１が代理応答サーバの探索処理を実行すると、代理応答サーバとして動作することが可能な機器であるＭＦＰ５０２，５０３が応答する（ステップＳ６０２）。この応答には、図３のステップＳ３０３で説明した動作と同様に、各通信装置が代理応答サーバになることが可能であるか否かを示す情報と、通常時の消費電力を示す情報を含んでいる。
【００６２】
次に、ステップＳ６０３において、ＭＦＰ５０１は、応答があったＭＦＰの中から代理応答サーバを選出する処理を行う。ＭＦＰ５０１は、受信した応答パケットの内容を解析し、代理応答サーバとして動作することが可能であって、且つその中で最も消費電力が低いＭＦＰを代理応答サーバとして選択する。ここでは、ＭＦＰ５０２，５０３から応答があり、ＭＦＰ５０３よりもＭＦＰ５０２の方が消費電力が低い値で応答したものとする。ＭＦＰ５０１は、代理応答サーバとして選択したＭＦＰ５０２に対して、ユニキャスト通信により選択したことを示す情報を送信する。
【００６３】
次に、ステップＳ６０４において、ＭＦＰ５０１は、代理応答サーバとして選択したＭＦＰ５０２に対して、自装置に設定された代理応答対象パケットの情報を送信する。ここでの代理応答対象パケットとは、ＭＦＰ５０１がスリープ状態にある場合に、ＭＦＰ５０１がＷＯＬして応答するのではなく、代理応答サーバとして選択されたノードであるＭＦＰ５０２にパケットに応答することを依頼するパケットのことである。
【００６４】
次に、ステップＳ６０５において、代理応答サーバに選出されたＭＦＰ５０２は、代理応答対象パケットの情報を受け取る。そして、そこから代理応答サーバとしての動作を開始する。
【００６５】
次に、ステップＳ６０６において、ＭＦＰ５０１はスリープモードへの移行処理を行う。ＭＦＰ５０１は、自装置の処理をスタンバイモードからスリープモードに切り替えることで、複合機としての処理を停め、消費電力を低減させる。ＭＦＰ５０１がスリープモードに移行すると、ステップＳ６０７に移行する。
【００６６】
ステップＳ６０７において、ＭＦＰ５０２は、代理応答サーバとしてのパケットの待ち受け処理を実行する。ＭＦＰ５０２は、ＬＡＮ上のパケットを監視し、ＭＦＰ５０１宛てで且つ代理応答のパケットパターンに合致するパケットを検出すると、ＭＦＰ５０１の代理でパケットに応答する。その処理を継続しつつ、ＭＦＰ５０２がスリープモードへの移行条件を満たしたならば（ステップＳ６０８でＹＥＳ）、ＭＦＰ５０２は、ステップＳ６０６と同様に、スリープモードへの移行処理を行う。
【００６７】
次に、ステップＳ６０９において、ＭＦＰ５０２は代理応答サーバの探索処理を行う。ステップＳ６０９の探索の方法及びシーケンスは、ステップＳ６０１、図３のステップＳ３０２及び図４で説明したものと同様である。
【００６８】
ＭＦＰ５０２が代理応答サーバの探索処理を実行すると、代理応答サーバとして動作することが可能な機器であるＭＦＰ５０３が応答する（ステップＳ６１０）。ここでは、ＭＦＰ５０１はスリープモード中であるため応答しない。また、この応答には、ステップＳ６０２及び図３のステップＳ３０３で説明した動作と同様に、各通信装置が代理応答サーバになることが可能であるか否かを示す情報と、通常時の消費電力を示す情報を含んでいる。
【００６９】
次に、ステップＳ６１１において、ＭＦＰ５０２は、応答があったＭＦＰの中から代理応答サーバを選出する処理を行う。ＭＦＰ５０２は、受信した応答パケットの内容を解析し、代理応答サーバとして動作することが可能であって、且つその中で最も消費電力が低いＭＦＰを代理応答サーバとして選択する。ここでは、ＭＦＰ５０３を選択したものとする。
【００７０】
次に、ステップＳ６１２において、ＭＦＰ５０２は、代理応答サーバとして選択したＭＦＰ５０３に対して、自装置に設定された代理応答対象パケットの情報を送信する。ここでの代理応答対象パケットとは、ＭＦＰ５０２がスリープ状態にある場合に、ＭＦＰ５０２がＷＯＬして応答するのではなく、代理応答サーバとして選択されたノードであるＭＦＰ５０３にパケットに応答することを依頼するパケットのことである。また、ここでは、ＭＦＰ５０２は、ＭＦＰ５０１の代理応答サーバとして動作しているため、ＭＦＰ５０１の代理で応答すべきパケットと、ＭＦＰ５０２自体が代理で応答を依頼するパケットをＭＦＰ５０３に通知する。
【００７１】
次に、ステップＳ６１３において、代理応答サーバに選出されたＭＦＰ５０３は、代理応答対象パケットの情報を受け取る。そして、そこから代理応答サーバとしての動作を開始する。
【００７２】
次に、ステップＳ６１４において、ＭＦＰ５０２はスリープモードへの移行処理を行う。ＭＦＰ５０２は、自装置の処理をスタンバイモードからスリープモードに切り替えることで、複合機としての処理を停め、消費電力を低減させる。ＭＦＰ５０２がスリープモードに移行すると、ステップＳ６１５に移行する。
【００７３】
ステップＳ６１５では、ＭＦＰ５０３は、代理応答サーバとしてのパケット待ち受け処理を実行する。ＭＦＰ５０３は、ＬＡＮ上のパケットを監視し、ＭＦＰ５０１宛て又はＭＦＰ５０２で、且つ代理応答のパケットパターンに合致するパケットを検出すると、ＭＦＰ５０１の代理またはＭＦＰ５０２の代理でパケットに応答する（ステップＳ６１６）。この代理応答は、図３のステップＳ３０９〜３１２で説明した動作と同様にして行われる。
【００７４】
上記第２の実施形態によれば、代理応答サーバとして依頼されたＭＦＰ５０２がスリープモードに移行する場合、ＷＯＬするパケットの種類に応じてブロードキャストまたはマルチキャストにより代理応答可能なデバイスを検索する。これにより、代理応答サーバの数を低減することができ、それ以外の機器はスリープモードに移行することが可能となるため、消費電力の削減が可能となる。
【００７５】
上記第１及び第２の実施形態では、図４のステップＳ４０１において、通信装置自体がＷＯＬするパケットにブロードキャストパケットを含むか否かを判定しているが、これに限定されるものではない。例えば、所定のプロトコルで通信を行うか否かで判定したり、応答すべきデータの内容で判定するように構成してもよい。
【００７６】
また、上記第１及び第２の実施形態では、ＷＯＬするパケットの種類に応じて、代理応答サーバを検索する範囲がオンリンクとオンリンク外に変更されているが、これに限定されるものではない。
【００７７】
さらに、上記第１及び第２の実施形態では、本発明をＭＦＰに適用した場合について説明したが、他の機器、例えば、情報処理装置や携帯端末等に適用しても、本発明の効果が得られることは云うまでもない。
【００７８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７９】
１００，１０１  ＭＦＰ
１０３  ルータ
１０５，１０６  ＬＡＮ
２００  ＮＩＣ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  Ｎｅｔｗｏｒｋ  Ｉ／Ｆ
２２０  制御部
２２１  ＣＰＵ
【図１】
2012119984.tif 000003
【図２】
2012119984.tif 000004
【図３】
2012119984.tif 000005
【図４】
2012119984.tif 000006
【図５】
2012119984.tif 000007
【図６】
2012119984.tif 000008