(57)【特許請求の範囲】
【請求項１】
動作状態と当該動作状態より消費電力が低いもしくは一部の機能を無効化したスリープ状態との間で遷移可能な通信装置であって、
当該装置が前記スリープ状態から前記動作状態へと遷移する際に実行するネットワーク設定に関する処理に関連しネットワークに送信する送信パケットと、当該送信パケットに対する応答として期待される応答期待結果との組み合わせを記憶する記憶部と、
前記送信パケットをネットワークに送信し、前記送信パケットに対する応答結果を検知する制御部と、
前記制御部が検知した応答結果と、前記応答期待結果とが一致するか否かを判断する判断部と、
前記制御部と独立に動作する処理部と、を備え、
前記制御部は、前記判断部が一致すると判断した場合、前記記憶部に記憶された送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続し、
一致しないと判断した場合、前記記憶部に記憶された送信パケットの送信を停止し、
前記処理部は、前記制御部が、前記送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続した場合、前記ネットワーク設定のための処理を行わず、前記制御部が、前記送信パケットの送信を停止した場合、前記ネットワーク設定のための処理のうち、前記制御部が実行できなかった処理を実行する、通信装置。
【請求項２】
前記制御部は、前記送信パケットの種別を特定する機能を具備し、前記種別に基づいて決定する送信順序で、前記送信パケットを送信する請求項１に記載の通信装置。
【請求項３】
前記制御部は、前記送信パケットの送信を停止する場合、又は、前記判断部が前記記憶部に記憶された送信パケットに対する応答期待結果と前記応答結果とがすべて一致したと判断した場合に、前記処理部に通知を行う請求項１記載の通信装置。
【請求項４】
前記記憶部が記憶する送信パケットと応答期待結果との組み合わせは、前記処理部が、前記ネットワークとの間で送受信したパケットもしくは前記送受信したパケットを改変したパケットであることを特徴とする請求項１記載の通信装置。
【請求項５】
前記制御部と前記処理部とは、前記スリープ状態から前記動作状態に遷移する際に、並行して動作を開始する請求項１記載の通信装置。
【請求項６】
前記制御部は、前記記憶部に記憶された送信パケットを、前記ネットワーク設定のための必要な処理を実行するために必要な順序で送信することを特徴とする請求項１記載の通信装置。
【請求項７】
前記制御部は、前記ネットワーク設定のための必要な処理を実行するために必要な順序は、前記記憶部に記憶された送信パケットの種別に応じて定まることを特徴とする請求項６記載の通信装置。
【請求項８】
動作状態と当該動作状態より消費電力が低いもしくは一部の機能を無効化したスリープ状態との間で遷移可能に通信する通信方法であって、
前記スリープ状態から前記動作状態へと遷移する際に実行するネットワーク設定に関する処理に関連しネットワークに送信する送信パケットと、当該送信パケットに対する応答として期待される応答期待結果との組み合わせを記憶する記憶ステップと、
前記送信パケットをネットワークに送信し、前記送信パケットに対する応答結果を検知する制御ステップと、
前記制御ステップが検知した応答結果と、前記応答期待結果とが一致するか否かを判断する判断ステップと、
前記制御ステップと独立に動作する処理ステップと、を備え、
前記制御ステップは、前記判断ステップが一致すると判断した場合、前記記憶ステップに記憶された送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続し、
一致しないと判断した場合、前記記憶ステップに記憶された送信パケットの送信を停止し、
前記処理ステップは、前記制御ステップが、前記送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続した場合、前記ネットワーク設定のための処理を行わず、前記制御ステップが、前記送信パケットの送信を停止した場合、前記ネットワーク設定のための処理のうち、前記制御ステップが実行できなかった処理を実行する、通信方法。
【請求項９】
コンピュータに、動作状態と当該動作状態より消費電力が低いもしくは一部の機能を無効化したスリープ状態との間で遷移可能に通信を実行させるためのプログラムであって、
前記スリープ状態から前記動作状態へと遷移する際に実行するネットワーク設定に関する処理に関連しネットワークに送信する送信パケットと、当該送信パケットに対する応答として期待される応答期待結果との組み合わせを記憶する記憶機能と、
前記送信パケットをネットワークに送信し、前記送信パケットに対する応答結果を検知する制御機能と、
前記制御機能が検知した応答結果と、前記応答期待結果とが一致するか否かを判断する判断機能と、
前記制御機能と独立に動作する処理機能と、を備え、
前記制御機能は、前記判断機能が一致すると判断した場合、前記記憶機能に記憶された送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続し、
一致しないと判断した場合、前記記憶機能に記憶された送信パケットの送信を停止し、
前記処理機能は、前記制御機能が、前記送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続した場合、前記ネットワーク設定のための処理を行わず、前記制御機能が、前記送信パケットの送信を停止した場合、前記ネットワーク設定のための処理のうち、前記制御機能が実行できなかった処理を実行する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク機器の待機時における消費電力を削減することを目的に、一部の機能を無効
化したスリープ状態に遷移する技術が広く知られている。ネットワーク機器は、スリープ
状態において、ネットワーク機能を無効化すると、外部からの問い合わせに答えられない
。
【０００３】
従来、ネットワーク機器が、ネットワーク機能を無効化した状態、つまり、スリープ状態
においても、外部からの問い合わせに対して応答可能で、尚且つできるだけ少ない消費電
力で応答可能となるような工夫をした技術が開示されている。この技術によれば、必要最
低限の電力消費で、外部からの問い合わせに応答できる。しかしながら、必要最低限とは
いえ、電力消費することとなり、更なる消費電力削減が求められる。
【０００４】
ネットワーク機器を完全に電源をオフにした後、スリープ状態から動作状態に復帰するた
めには、ＯＳの動作の再開と、ネットワーク関連の再初期化処理とが必要となる。従来、
このＯＳの動作の再開を行った後に、ネットワーク関連の再初期化処理が行われていた。
また、ネットワーク関連の再初期化処理も、複雑な処理を必要とするため、多くの時間を
費やしていた。その結果、スリープ状態から動作状態に復帰するまでの時間が多くかかっ
てしまっていた。その結果、例えば、外部からの問い合わせに対して、応答が遅くなって
しまっていた。したがって、ネットワークを完全にオフにすれば、スリープ時の消費電力
は削減できるが、応答が遅くなってしまう課題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−２５７６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の一側面は、ネットワーク機器のスリープ状態から動作状態への復帰処理の処理ス
ピードを向上させることである。
【課題を解決するための手段】
【０００７】
本発明の一観点に係る通信装置は、動作状態と当該動作状態より消費電力が低いもしくは一部の機能を無効化したスリープ状態との間で遷移可能な通信装置であって、当該装置が前記スリープ状態から前記動作状態へと遷移する際に実行するネットワーク設定に関する処理に関連しネットワークに送信する送信パケットと、当該送信パケットに対する応答として期待される応答期待結果との組み合わせを記憶する記憶部と、前記送信パケットをネットワークに送信し、前記送信パケットに対する応答結果を検知する制御部と、前記制御部が検知した応答結果と、前記応答期待結果とが一致するか否かを判断する判断部と、前記制御部と独立に動作する処理部と、を備え、前記制御部は、前記判断部が一致すると判断した場合、前記記憶部に記憶された送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続し、一致しないと判断した場合、前記記憶部に記憶された送信パケットの送信を停止し、前記処理部は、前記制御部が、前記送信パケットの送信と当該送信パケットに対する応答結果の検知とを継続した場合、前記ネットワーク設定のための処理を行わず、前記制御部が、前記送信パケットの送信を停止した場合、前記ネットワーク設定のための必要な処理のうち、前記制御部が実行できなかった処理を実行する。
【図面の簡単な説明】
【０００８】
【図１】第1の実施形態にかかる通信装置１００の構成を示すブロック図。
【図２】通信装置１００の記憶部１１２に保存される情報の例を示す図。
【図３】第２処理部１１０によるネットワーク復帰処理が成功した場合と失敗した場合の、第１処理部１０１と第２処理部１１０の動作の比較を示す図。
【図４】通信装置１００の制御部１１１が実行する復帰処理を示すフローチャート。
【図５】通信装置１００が、図２の情報を用いて、ネットワーク復帰処理を行う際の処理順序を示す一例の図。
【図６】通信装置１００の記憶部１１２について、パケットを部分的に比較する場合の比較箇所を記憶した図。
【図７】図２の記憶部１１２に記憶する受信パケットとして、比較対象外のビットをマスクした状態で格納する場合の図。
【図８】通信装置１００の各構成要素間の動作シーケンス図。
【図９】第２の実施形態における通信装置９００の構成を示すブロック図。
【図１０】通信装置９００が、ネットワーク復帰処理を行う際の処理順序を決定するための情報の一例。
【図１１】通信装置９００のネットワーク復帰処理を行う際の処理順序の決定方法を決めて、記憶部１１２に記憶する例を示す図。
【図１２】第３の実施形態における通信装置１２００の構成を示すブロック図。
【図１３】第４の実施形態における通信装置１３００の構成を示すブロック図。
【図１４】通信装置１３００の解析部１３１２のフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図面を参照しながら説明する。尚、各図において
同一箇所については同一の符号を付すとともに、重複した説明は省略する。
【００１０】
＜第１の実施形態＞
図１に本発明の第１の実施形態に係る通信装置１００の構成を示す。
【００１１】
通信装置１００は、アプリケーションソフトやＯＳが動作する第１処理部１０１と、ネッ
トワークに接続する機能及び、復帰処理のうちネットワークに関する復帰処理を実行する
機能を具備する第２処理部１１０とで構成される。
【００１２】
第２処理部１１０は、第２処理部１１０の動作を司る制御部１１１と、第２処理部１１０
が動作するための各種情報を記憶する記憶部１１２と、外部のネットワークに接続するイ
ンターフェース部（Ｉ／Ｆ部）１１３と、ネットワークから受信した情報と記憶部１１２
に保存された情報との一致・不一致を判断する判断部１１４と、で構成する。
【００１３】
ここで制御部１１１はマイコンのような汎用プログラムが動作するものでもよいし、所定
のロジックだけが動作する専用回路でもよい。いずれの形式であっても、後述する各機能
が実現できればよい。
【００１４】
通信装置１００は、動作状態とスリープ状態との間で遷移する。ここで、スリープ状態は
、動作状態と比べて、通信装置１００の機能のうち、使える機能を減らして、消費電力を
低減した状態である。例えば、スリープ状態において、通信装置１００は、第１処理部１
０１と第２処理部１０２の機能を使えない状態としておく。
【００１５】
通信装置１００が動作状態の間、第１処理部１０１は第２処理部１１０を通じてネットワ
ークに接続する。動作状態の間に、第１処理部１０１は、ネットワークへ送信する情報を
記憶部１１２に格納し、制御部１１１が格納された情報をインターフェース部１１３から
ネットワークに送信する。逆に、ネットワークから受信する情報はインターフェース部１
１３を介して記憶部１１２に保存され、制御部１１１は第１処理部１０１にその旨を通知
する。このように第２処理部１１０の動作の一つは、第１処理部１０１に対するネットワ
ークインターフェースとして動作することである。
【００１６】
さらに通信装置１００が動作状態の間、第１処理部１０１はネットワークの設定を更新す
るために送信するL2フレームまたはL3パケットとその応答として期待されるL2フレームま
たはL3パケット（以降、全てパケットとする）の対および関連する情報を第２処理部１１
０に通知する。第２処理部１１０は通知されたパケット対を記憶部１１２に保存する。こ
こで保存するパケット対の例としては、ARP Request-ARP Reply、DHCP Discover-DHCP Of
fer、DHCP Request-DHCP ACK、Neighbor Discovery、SSDP Advertisementなどがある。な
お、前記例は保存するパケット対を限定するものではなく、ネットワークの設定に関する
パケットであれば、すべて対象としてよい。また、1つの送信に対して複数の受信パケッ
トを対にして保存してもよい。複数の受信パケットを保存する場合、それらの関係も合わ
せて保存する。すなわち、全てのパケットが受信できることが期待されているか、もしく
は複数の中から１つだけを受信することが期待されているか、などである。さらに応答と
なる受信パケットが無くてもよい（ネットワークの初期化時に送信されるNeighbor Disco
veryや、SSDP Advertisementは、正常時に応答が無い）。以上、記憶部１１２に記憶され
るデータは、必ずしも、受信パケットではなく、「受信しない」という情報も含むので、
「受信パケット」の欄に記憶するデータを、応答期待結果と称するものとする。
【００１７】
記憶部１１２に保存される情報の例を図２に示す。図２の表では１つの行で１つのエント
リを保存している。エントリはパケット対の「種別」、「パケット対」、送信フレームを
送信してから応答フレームを受信するまでの「待機時間」を格納している。パケット対の
「種別」は事前に第１処理部１０１と第２処理部１１０の間で決められた識別子である。
この識別子は、ネットワークの再初期化で送受信するパケット対を一意に識別できるとす
る。本実施形態においては、第１処理部１０１が種別を指定した形で第２処理部１１０へ
通知する。
【００１８】
パケット対は、行２０１ではＩＥＥＥ８０２．１１のアクセスポイントとの間でアソシエ
ーションを確立するために送信するフレームとその応答を格納している。同様に行２０２
ではＤＨＣＰサーバを発見するためのパケットとその応答が記憶されている。また、行２
０３では自身が使用を試みるＩＰｖ４アドレスがネットワーク上で重複しているか否かを
調べるために送信するＡＲＰ  Ｒｅｑｕｅｓｔとその応答が返ってこないことを示す記号
（ＮＯＲＥＰＬＹ）が記憶されている。また、行２０４では発見したＤＨＣＰサーバに対
してアドレスを要求するパケットとその応答が格納されている。
【００１９】
尚、記憶部１１２は、送信パケットとその応答である受信パケットについて、パケットそ
のものを記憶してもよいし、当該パケットが記憶されたメモリのアドレスを記憶しておい
てもよい。
【００２０】
ここで、記憶部１１２は、行２０３のエントリのように、ネットワークの復帰処理を行う
際に送信するパケットには応答が得られないことが正常な場合もある。そのような場合は
、特別な記号（この例ではＮＯＲＥＰＬＹ）を格納しておくことで区別できるようにする
。また、待機時間として格納されている値は、受信フレームの有無によって解釈を変える
。待機時間は、受信フレームが設定されている場合には、当該フレームを受信するまで待
機する時間として解釈する。すなわち、このフィールドに格納された時間で応答が得られ
なければ復帰失敗とみなす時間である。一方、応答が得られないことが正常な場合、応答
がないことを確認するまで待機する時間として解釈する。すなわち、このフィールドに格
納された時間のうちに応答が受信された場合には復帰失敗とみなす時間である。さらに受
信パケットを指定しない場合には、待機時間に0（ゼロ）を設定することもできる。これ
は、復帰処理において所定のパケットを送信することだけが必要な場合である。
【００２１】
第１処理部１０１は記憶部１１２に対して任意のタイミングで情報を通知してよい。例え
ば、第１処理部１０１にて該当する処理が正常に完了した場合に、その処理を特定する「
種別」、その処理で送受信したパケット、待機時間を記憶部１１２に保存する。この際、
パケットは当該処理で使ったパケットをそのまま保存してもよいし、いくつかのフィール
ドに対して将来の処理に備えた変更を行った後に保存してもよい。将来の処理に備えた変
更とは、例えば、パケットにシーケンス番号が含まれる場合にはその番号を増やしてから
保存してもよい。例えば、パケットに時刻を含む場合には将来送信すると予想される時刻
に修正してから保存してもよい。さらに、これらの変更に依存するチェックサムなども適
切に修正する。
【００２２】
通信装置１００が省電力化のため待機状態（スリープ状態）に遷移する際には、第１処理
部１０１と第２処理部１１０はともに待機状態に遷移する。この際、記憶部１１２に保存
した内容は失われず、後の復帰処理の際に参照できるとする。これを実現するための記憶
部１１２の構成はいかなる方法でもよい。例えば揮発性メモリをバッテリーなどで通電状
態に保ってもよいし、不揮発性メモリを用いてもよい。
【００２３】
同様に、通信装置１００が動作状態に復帰する際には、第１処理部１０１と第２処理部１
１０が共に動作状態に復帰する。第１処理部１０１は既存技術に従いＯＳの復帰処理を開
始する。第２処理部１１０は、第１処理部１０１とは独立に、第１処理部１０２のＯＳの
復帰処理と並行して、記憶部１１２に保存された情報を用いてネットワークの復帰処理を
行う。第２処理部１１０はネットワークの復帰処理が終了すると、その結果に関わらず第
１処理部１０１にその旨を通知する。第１処理部１０１は通知された結果に基づいてネッ
トワークの復帰処理がすべて完了したか、もしくは失敗しているかを判断する。すべて完
了している場合には第１処理部１０１はそのまま動作状態を継続し、失敗している場合に
は失敗箇所を特定して通信プロトコルの仕様に従ったネットワークの再初期化処理を行う
。以上のシーケンスについて、第２処理部１１０が、ネットワーク復帰処理を成功した場
合を図３（ａ）、失敗した場合を図３（ｂ）に示す。
【００２４】
引き続き、第２処理部１１０の動作を詳細に述べる。図４は第２処理部１１０の制御部１
１０が実行する復帰処理のフローチャートである。動作状態に復帰する指示が入力される
と制御部１１０は記憶部１１２の内容を参照し、読み出すべきエントリを決める（S401）
。この読み出すべきエントリの順序を決める、読み出し順序決定処理については後述する
。その後、制御部１１０は、決定した順序に従って記憶部１１２から1つずつエントリを
読み出す（S402）。エントリが無くなり読み出せなければ（S403-NO）、初期化処理が正
常に終了したとみなしてその旨を記憶部１１２に保存する（S414）。その後、第１処理部
１０１へ復帰処理成功を通知する（S415）。
【００２５】
制御部１１０が、後続のエントリが読み出せた場合（S403-YES）、当該エントリに含まれ
る「送信パケット」をＩ／Ｆ部１１３を介してネットワークに送信する（S404）。その後
、同エントリに含まれる「待機時間」で指定された時間もしくは応答を受信するまで待機
する（S405）。待機が終了すると、その理由を確認する（S406）。もしパケットの受信に
よって待機が終了していれば（S406-YES）、受信パケットを記憶部１１２に一時的に保存
する（S407）。所定の時間が経過して待機を終了した場合（S406-NO）、処理中のエント
リが受信パケットの有るエントリか否かを確認する（S410）。もし、受信パケットが有る
エントリであれば（S410-YES）、復帰処理失敗とみなして失敗箇所を記憶部１１２に保存
（S412）したのち、第１処理部１０１にエラー通知を行う（S413）。受信パケットが無い
エントリであれば（S410-NO）、記憶部１１２に応答無しである旨を記録する（S411）。
以上、制御部１１０が受信する受信パケット、若しくは、主人パケットを「受信しなかっ
た」という結果を合わせて応答結果と称することとする。
【００２６】
その後、制御部１１１は記憶部１１２に保存されている当該エントリの「受信パケット」
の値と応答結果とが一致するかどうかの判断を行うように判断部１１４に依頼する。判断
部１１４は判断を行い、その結果を制御部１１１に返す（S408）。この判断の詳細につい
ては別途記載する。
【００２７】
判断部１１４から「一致」との結果が通知された場合（S409-YES）、記憶部１１２に保存
された次のエントリに処理を移す（S401に戻る）。「不一致」との結果が通知された場合
（S409-NO）、復帰処理失敗とみなして失敗箇所を記憶部１１２に保存し（S412）、第１
処理部１０１に通知して（S413）、処理を終了する。
【００２８】
続いて、制御部１１１が行う順序決定処理（S401）について述べる。本決定処理を実行す
るために制御部１１１は復帰処理順序を規定する情報を持っているとする。この復帰処理
順序を規定する情報は、この順序で、記憶部１１２のエントリを実行していけば、ネット
ワーク復帰処理を実現できる順序である。この情報は制御部１１１に固定的に持たせても
良いし、第１処理部１０１が動作状態の間に制御部１１１に通知するようにしてもよい。
通知するタイミングは最初の１回だけでもよいし、記憶部１１２の情報を更新するたびに
行ってもよい。いずれにせよ、順序決定処理を行うときには制御部１１１は一意に決定で
きる順序情報を有しているとする。この順序情報はネットワークの復帰処理を行う際に必
要となる処理の「種別」情報を整理したものである。例えば、片方向順序リスト（図５）
や種別の依存関係を表すツリー構造などである。制御部１１１は、順序情報を参照し、記
憶部１１２に保存されたエントリの読み出し順序を決定する。図５の片方向順序リストで
は、図２に示す種別Ａ、Ｂ、Ｃ、Ｄの順番で、送信フレームの送信を行って、ネットワー
ク再初期化処理を行う。
【００２９】
以上が本実施形態における読み出し順序決定処理である。なお、図４のフローチャートで
は毎回順序決定処理を行うことになっているが、最初の決定処理において記憶部１１２に
保存された情報を整列するなどして１回の決定処理で済ませるようにしてもよい。
【００３０】
続いて判断部１１４で行う判断処理の詳細について述べる。判断部１１４が制御部１１１
から判断の依頼を受けた段階で、記憶部１１２には応答結果と事前にエントリとして格納
されていた「受信パケット」とが保存されている。前記通知には二つのパケットの記憶場
所が含まれており、判断部１１４は記憶部１１２からこれらパケットを読み出して比較す
る。
【００３１】
なお、比較の際にはパケットの全領域を比較してもよいし、一部分だけを比較するように
してもよい。一部分だけ比較する場合の例を図６及び図７に示す。図６は、図２の記憶部
１１２の情報に加えて、更に、比較箇所が記憶されている。例えば、種別Ａのエントリに
関しては、比較箇所は、受信パケットのうち、ＲＡ１〜ＲＡ２及びＲＡ３〜ＲＡ４を比較
する。また、図７は、図２のエントリに保存する「受信パケット」に対して、あらかじめ
比較対象外のビットをマスクした状態で格納する方法を示している。この図７のように、
記憶部１１２の「受信パケット」にマスクがされている場合、ネットワークから受信した
受信パケットと記憶部１１２の「受信パケット」を比較する場合、マスクがかかっていな
い箇所のみを比較する。
【００３２】
また、エントリに「受信パケットが無いことを示す記号（NOREPLY）」が格納されていた
場合には、受信パケットが無いという情報が記憶部１１２に格納されている場合に一致と
みなし、何らかのパケットが記録されていた場合には不一致とみなす。さらに「受信パケ
ット」が複数保存されていた場合には、その比較ルールに基づいて一致・不一致を判断す
る。判断結果は制御部１１１に送り返す。尚、前述した比較ルールとしては、複数の例を
想定できる。例えば、比較ルールの例として、応答結果が少なくとも１つの「受信パケッ
ト」に一致するかを比較することがある。また、比較ルールのその他の例としては、得ら
れた複数の応答結果が、複数の「受信パケット」各々に一致するかを比較することがある
。
【００３３】
このように判断部１１４の判断処理は、エントリに格納されている情報と受信したパケッ
トとが事前に定められた所定の条件のもとで一致しているか否かだけを判断する。通常の
パケット受信時に行われる複雑なプロトコル処理は行わない。以上が本実施形態における
判断部１１４の処理である。
【００３４】
第１の実施形態における各構成要素間の動作シーケンスを図８に示す。この図に記載の内
容はこれまで説明したとおりであり、詳細は省略する。
【００３５】
以上が第１の実施形態の処理の流れである。これからわかるように、本発明の実施形態に
おいては、動作中に保存された送信パケットと受信パケットのペアを、ネットワークの復
帰処理に適した順番で送信・受信を繰り返すことにより復帰処理を行うことができる。そ
の際、複雑なプロトコル処理は行わず、記憶部１１２に記憶された送信パケットを、あら
かじめ決められた順序で送り、受け取ったパケットと、記憶部１１２に記憶されたパケッ
トを比較し、一致・不一致の判定のみを行うことで、ネットワークの復帰処理を実施でき
る。その結果、簡単な処理部で実行でき、復帰処理の時間も短縮できる。また、不一致が
発生した場合には主たる処理部（第１処理部１０１）にその原因とともに通知する機能を
具備することで、エラーが発生した段階から再試行が可能となる。さらに、一連のネット
ワーク復帰処理は、ＯＳの復帰処理を行う第１処理部１０１と独立して動作する第２処理
部１１０が、実行する。したがって、ＯＳの復帰処理とネットワーク復帰処理を並行して
実行できるため、復帰処理の高速化を実現できる。
【００３６】
尚、通信装置１００は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い
ることでも実現することが可能である。すなわち、第１処理部１０１と第２処理部１００
（制御部１１１、記憶部１１２、ＩＦ部１１３、判断部１１４）は、上記のコンピュータ
装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる
。このとき、通信装置１００は、上記のプログラムをコンピュータ装置にあらかじめイン
ストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるい
はネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装
置に適宜インストールすることで実現してもよい。また、記憶部１１２は、上記のコンピ
ュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはＣＤ−Ｒ、ＣＤ
−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することが
できる。
【００３７】
＜第２の実施形態＞
第２の実施形態にかかる通信装置９００のブロック図を図９に示す。
【００３８】
通信装置９００が、第１の実施形態にかかる通信装置１００と異なる点は、解析部９１２
が追加されたことと、それに伴う周辺部分の変更である。
【００３９】
第１の実施形態では、第１処理部１０１が、動作状態の間に、記憶部１１２に保存した情
報（図２の「種別」）を、制御部１１１が実行時に解析してネットワーク復帰処理のため
の処理の順番を決めていた。本実施形態では、第１処理部９０１が保存する情報を解析部
９１２が解析し、復帰処理に適した順序になるように記憶部１１２に保存していく点が、
第１の実施形態と異なる。
【００４０】
解析部９１２は、第１の実施形態における制御部１１１と同様に、ネットワーク復帰処理
を行う際に、処理の順番を特定するための情報（処理の依存関係）を保持している。
【００４１】
この情報は事前に入力されてもよいし、動作直前に外部から入力してもよい。図１０に、
ネットワーク復帰処理を行う際に、処理の順番を特定するための情報の一例を示す。図１
０に示した情報は、処理の順番の依存関係を、階層を持った木構造で示している。図１０
に示した情報では、丸い端点が矢印の指し示す部分に依存していることを示している。復
帰処理を行う際には矢印を逆に辿れば正しい順序で復帰できることになる。例えば、復帰
処理は、ＵＰｎＰ  Ａｐｐｌｉｃａｔｉｏｎの円内の処理を、ＩＰｖ４の円内の処理の後
に行う。また、ＵＰｎＰ  Ａｐｐｌｉｃａｔｉｏｎの円内の処理のうち、ＳＳＤＰ  Ａｄ
ｖｅｓｒｔｉｓｍｅｎｔという処理は、Ｍｕｌｔｉｃａｓｔ  Ｊｏｉｎという処理の後に
行う。
【００４２】
尚、第１の実施形態では、第１処理部１０１が保存する情報の「種別」を特定したうえで
、記憶部１１２に保存していたが、第２の実施形態では、必ずしも特定しなくてもよい。
すなわち解析部９１２が通知された情報の「種別」を特定し、記憶部１１２に保存するよ
うにしてもよい。この場合、第１処理部１０１はネットワークの復帰処理に必要な順序や
情報を気にすることなく、自身が設定したネットワーク関連の情報（例えば、送受信パケ
ット）を解析部９１２に通知するだけでよい。なお、「種別」を特定した状態で通知され
た場合には、順序の解決だけを行い記憶部１１２に保存する。
【００４３】
以下では、本実施形態の動作のうち、第１の実施形態の動作と異なる点を説明する。
【００４４】
まず、解析部９１２の動作を説明する。以下の解析部９１２の動作は、動作状態の際に行
う。解析部９１２が、第１処理部９０１から「送信パケット」と「受信パケット」の対を
受け取ったとする。解析部９１２はそれらのパケットを解析し、通信プロトコルを特定す
る。例えば「送信パケット」の先頭から１３バイト目と１４バイト目が０ｘ０８０６であ
れば通信プロトコルがＡＲＰであると判断する。さらに解析を続けて特定のフィールドの
値を確認することにより、ＡＲＰ  Ｒｅｑｕｅｓｔであることを検出する。ここで「受信
パケット」が「応答無し」として通知されていると仮定すると、このパケット対はネット
ワーク上でアドレスの重複を検査するためのＡＲＰパケットであると判断できる（重複が
無い場合には応答が無く、重複していると応答を受信する）。このとき、記憶部１１２の
状態が図１１（ａ）の状態だったと仮定する。解析部９１２が受け取ったパケット対は、
解析結果から、アドレス重複の検査であり、アドレス重複の検査は、図１０の「ＩＰｖ４
」の円内の「ＤＨＣＰ・アドレス重複検査」に該当することがわかる。したがって、解析
部９１２は、図１０の処理の依存関係と、図１１の記憶されている処理の内容から、「Ｄ
ＨＣＰ・アドレス重複検査」に該当する処理を、既に図１１に記入されているＩＥＥＥ８
０２．１１に関する行１１０１と、ＵＰｎＰ  Ａｐｐｌｉｃａｔｉｏｎに関する行１１０
２の間で実行すべきと判断できる。よって、第１処理部９０１から通知された情報は図１
１（ｂ）の形に整列したうえで記憶部１１２に保存される。
【００４５】
本実施形態の制御部９１１のフローチャートは第１の実施形態とほぼ同じである。唯一の
違いは、ステップS401にて行う実行順序決定処理が無いことである。本実施形態では記憶
部１１２に保存されている順番で復帰処理を実行していくだけでよい。
【００４６】
このように、本実施形態では解析部９１２が、通知されたパケット対の種別を特定し、さ
らに依存関係を解決して記憶部１１２に適切な順序で保存していくことで、復帰処理の際
に必要な処理を削減して実行時間を短縮することができる。また、依存関係の解析といっ
た複雑な処理を動作状態の時に行うため、復帰処理のために必要な計算リソースを削減す
ることができる。これにより、復帰処理の高速化と省電力化を両立することができる。
【００４７】
（第３の実施形態）
次に、第３の実施形態にかかる通信装置について説明する。図１２は、第３の実施形態に
かかる通信装置１２００の構成を示すブロック図である。通信装置１２００は、解析部１
２０２を、第２処理部１２１０の外部に設置する点が、第２の実施形態にかかる通信装置
９００と異なる。解析部１２０２の機能は、第２の実施形態で説明した解析部９１２と同
様の機能を有し、通信装置１２１０のその他の構成要素の機能は、第２の実施形態で説明
した構成要素と同様である。
【００４８】
尚、解析部１２０２を、第１処理部９０１外部でなく内部に設けてもよい。
【００４９】
通信装置１２００の構成によれば、第２処理部１２１０に要求される計算リソースがさら
に削減できる。
【００５０】
（第４の実施形態）
図１３に、第４の実施形態にかかる通信装置１３００の構成を示す。本実施形態は第２の
実施形態の変形例である。本実施形態では、記憶部１１２とＩ／Ｆ部１１３との間に解析
部１３１２を設ける。この解析部１３１２は、第１処理部１３０１とネットワークとの間
でやり取りされるパケットを検査してネットワークの復帰処理の際に有効なパケットを検
出する。さらに、その情報を記憶部１１２に保存する機能を具備する。このような解析部
１３１２を設けることで、第１処理部１３０２はネットワークの復帰処理に必要な事前準
備を一切する必要が無くなる。なお、以降の説明では解析部１３１２は常にパケットを監
視し、記憶部１１２の内容を更新するという形で説明する。しかし、低消費電力化を目的
として解析処理を所定のタイミングに限定してもよい。その際、解析部１３１２の電源を
オフにし、記憶部１１２と直接情報を交換できるようにする等の工夫を伴っていてもよい
。
【００５１】
図１４は、解析部１３１２の動作を示すフローチャートである。解析部１３１２は常に通
過するパケットを監視し（S1401）、パケットが事前に保持している復帰処理の依存情報
（図１０参照。）に含まれる種別か否かを判断する（S1402）。含まれていない場合には
（S1402-NO）、再び監視処理に戻る（S1401に戻る。）。含まれる場合には（S1402-YES）
、記憶部１１２に保存するためにパケットを一時記憶域（図示せず）にコピーする（S140
3）。その後、同一種別に対する送信側パケットと受信側パケットの双方を記録したか否
かを確認する（S1404）。記録していなければ（S1405-NO）、待機時間を記録するための
計時を開始し（S1406）、最初のステップS1401に戻る。記録していた場合（S1405-YES）
、計時を停止する（S1407）。その後、種別・パケット対・待機時間で構成されるエント
リを記憶部１１２に保存する（S1408）。最後に、一時記憶域に保存していたパケットを
破棄して（S1409）、最初のステップS1401に戻る。
【００５２】
以上が本実施形態における解析部１３１２の基本動作である。なお、１つの送信パケット
対して複数の受信パケットがある場合や受信パケットが無い場合には、事前に把握してお
く依存関係の情報に含める形で、それらの情報を持たせておけばよい。また、この情報の
中に待機時間を含めておき、一時保存したパケットが必要以上に長く停留しないようにし
てもよい。待機時間を考慮する場合には、ステップS1406で開始する計時処理を所定の待
機時間で終了させる。終了後、事前情報として受信パケットがあるとされている場合には
、正しく受信パケットが受け取れなかったと考えられるので、送信パケットを破棄する。
一方、受信パケットが無いとされていた場合には、その待機時間を使ってエントリを作成
すればよい。
【００５３】
解析部１３１２が記憶部１１２にエントリを作成する方法および通信装置１３００のその
他の動作については、第２の実施形態と同様であるため説明を省略する。
【００５４】
以上説明した少なくとも１つの実施形態の効果は、ネットワーク機器のスリープ状態から
動作状態への復帰処理の処理スピード向上を実現できることである。
【００５５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したもの
であり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他
の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省
略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要
旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５６】
１００、９００、１２００、１３００・・・通信装置、１０１、９０１、１３０１・・・
第１処理部、１１０、９１０、１２１０、１３１０・・・第２処理部、１１１、９１１、
１３１１・・・制御部、１１２・・・記憶部、１１３・・・Ｉ／Ｆ部、１１４・・・判断
部、９１２、１３１２・・・解析部、
【図１】
0005706289.tif 000002
【図２】
0005706289.tif 000003
【図３】
0005706289.tif 000004
【図４】
0005706289.tif 000005
【図５】
0005706289.tif 000006
【図６】
0005706289.tif 000007
【図７】
0005706289.tif 000008
【図８】
0005706289.tif 000009
【図９】
0005706289.tif 000010
【図１０】
0005706289.tif 000011
【図１１】
0005706289.tif 000012
【図１２】
0005706289.tif 000013
【図１３】
0005706289.tif 000014
【図１４】
0005706289.tif 000015