(57)【要約】【課題】状態管理用の装置を備えることなく、他の通信装置の状態を適切に伝える。【解決手段】第１通信装置から第２通信装置を転送先とするメッセージを受信し、受信したメッセージを第２通信装置に転送する転送部１０４と、第２通信装置が通信できる状態であるか否かを検出する状態検出部１０６と、第２通信装置を転送先とするメッセージが受信され、第２通信装置が通信できない状態であることが検出された場合に、第２通信装置が通信できない状態であること表す応答メッセージを生成する応答生成部１０７と、を備え、転送部１０４は、第２通信装置が通信できない状態であることが検出された場合、受信したメッセージを第２通信装置に転送せずに、生成された応答メッセージを第１通信装置に送信する。【選択図】図２
2010178275.tif 000002
【特許請求の範囲】
【請求項１】
第１通信装置から第２通信装置を転送先とするメッセージを受信し、受信したメッセージを前記第２通信装置に転送する転送部と、
前記第２通信装置が通信できる状態であるか否かを検出する状態検出部と、
前記第２通信装置を転送先とするメッセージが受信され、前記第２通信装置が通信できない状態であることが検出された場合に、前記第２通信装置が通信できない状態であること表す応答メッセージを生成する応答生成部と、を備え、
前記転送部は、前記第２通信装置が通信できない状態であることが検出された場合、受信したメッセージを前記第２通信装置に転送せずに、生成された応答メッセージを前記第１通信装置に送信すること、
を特徴とする中継装置。
【請求項２】
メッセージに含まれるデータが満たすべき予め定められた条件を記憶する条件記憶部と、
受信したメッセージに含まれるデータが前記条件を満たすか否かを判定する判定部と、をさらに備え、
前記応答生成部は、受信したメッセージに含まれるデータが前記条件を満たすと判定され、かつ、前記第２通信装置が通信できない状態であることが検出された場合に、前記応答メッセージを生成すること、
を特徴とする請求項１に記載の中継装置。
【請求項３】
前記条件記憶部は、前記条件に、前記第２通信装置に対する制御方法を対応づけて記憶可能であり、
受信したメッセージに含まれるデータが前記条件を満たすと判定され、かつ、前記第２通信装置が通信できない状態であることが検出され、かつ、受信したメッセージに含まれるデータが満たすと判定された前記条件に前記制御方法が対応づけられている場合に、対応づけられている前記制御方法に基づいて前記第２通信装置を制御する機器制御部をさらに備え、
前記応答生成部は、受信したメッセージに含まれるデータが前記条件を満たすと判定され、かつ、前記第２通信装置が通信できない状態であることが検出され、かつ、受信したメッセージに含まれるデータが満たすと判定された前記条件に前記制御方法が対応づけられていない場合に、前記応答メッセージを生成すること、
を特徴とする請求項２に記載の中継装置。
【請求項４】
前記制御方法は、前記第２通信装置の起動方法であり、
前記機器制御部は、受信したメッセージに含まれるデータが前記条件を満たすと判定され、かつ、前記第２通信装置が通信できない状態であることが検出され、かつ、受信したメッセージに含まれるデータが満たすと判定された前記条件に前記起動方法が対応づけられている場合に、対応づけられている前記起動方法に基づいて前記第２通信装置を起動すること、
を特徴とする請求項３に記載の中継装置。
【請求項５】
前記起動方法は、メッセージを転送する接続線を介して予め定められた起動メッセージまたは予め定められた起動信号を送出することにより前記第２通信装置を起動する起動方法であり、
前記機器制御部は、受信したメッセージに含まれるデータが前記条件を満たすと判定され、かつ、前記第２通信装置が通信できない状態であることが検出され、かつ、受信したメッセージに含まれるデータが満たすと判定された前記条件に前記起動方法が対応づけられている場合に、前記接続線を介して前記起動メッセージまたは前記起動信号を送出することにより前記第２通信装置を起動すること、
を特徴とする請求項４に記載の中継装置。
【請求項６】
メッセージを転送する接続線を用いる通信方法と異なる通信方法により予め定められた起動信号を前記第２通信装置に送出する信号送出部をさらに備え、
前記起動方法は、前記信号送出部から前記起動信号を送出することにより前記第２通信装置を起動する起動方法であり、
前記機器制御部は、受信したメッセージに含まれるデータが前記条件を満たすと判定され、かつ、前記第２通信装置が通信できない状態であることが検出され、かつ、受信したメッセージに含まれるデータが満たすと判定された前記条件に前記起動方法が対応づけられている場合に、前記第２通信装置に前記起動信号を送出するように前記信号送出部を制御すること、
を特徴とする請求項４に記載の中継装置。
【請求項７】
前記応答生成部は、前記第２通信装置を転送先とするメッセージが受信され、前記第２通信装置が通信できない状態であることが検出された場合に、受信したメッセージを解析することにより受信したメッセージのネットワークプロトコルを求め、求めたネットワークプロトコルに準拠した前記応答メッセージを生成すること、
を特徴とする請求項１に記載の中継装置。
【請求項８】
前記第２通信装置が通信できる状態であるか否かを表す状態情報と、前記状態情報の有効期間とを対応づけて記憶する状態記憶部をさらに備え、
前記状態検出部は、前記有効期間を経過したときに、前記第２通信装置が通信できる状態であるか否かを検出し、検出結果に応じた前記状態情報を前記記憶部に保存すること、
を特徴とする請求項１に記載の中継装置。
【請求項９】
前記状態検出部は、前記第２通信装置から通信できる状態になるまでの期間を受信し、受信した期間を有効期間として対応づけた前記状態情報を前記記憶部に保存すること、
を特徴とする請求項８に記載の中継装置。
【請求項１０】
転送部が、第１通信装置から第２通信装置を転送先とするメッセージを受信し、受信したメッセージを前記第２通信装置に転送する転送ステップと、
状態検出部が、前記第２通信装置が通信できる状態であるか否かを検出する状態検出ステップと、
応答生成部が、前記第２通信装置を転送先とするメッセージが受信され、前記第２通信装置が通信できない状態であることが検出された場合に、前記第２通信装置が通信できない状態であること表す応答メッセージを生成する応答生成ステップと、
前記転送部が、前記第２通信装置が通信できない状態であることが検出された場合、受信したメッセージを前記第２通信装置に転送せずに、生成された応答メッセージを前記第１通信装置に送信する送信ステップと、
を備えることを特徴とする中継方法。
【請求項１１】
コンピュータを、
第１通信装置から第２通信装置を転送先とするメッセージを受信し、受信したメッセージを前記第２通信装置に転送する転送部と、
前記第２通信装置が通信できる状態であるか否かを検出する状態検出部と、
前記第２通信装置を転送先とするメッセージが受信され、前記第２通信装置が通信できない状態であることが検出された場合に、前記第２通信装置が通信できない状態であること表す応答メッセージを生成する応答生成部と、として機能させるための中継プログラムであって、
前記転送部は、前記第２通信装置が通信できない状態であることが検出された場合、受信したメッセージを前記第２通信装置に転送せずに、生成された応答メッセージを前記第１通信装置に送信することを特徴とする中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続し、ネットワーク上で転送されるメッセージを中継する装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ネットワークに接続したノード（通信装置）の状態を確実に取得するためには、同ノードの動作を司るオペレーティングシステムなどのソフトウェアを介して行う方法が一般的であった。例えば、一方のノードからＴＣＰ／ＩＰを用いて状態を問い合せるコマンドを送信し、それを受けたノードが内部状態に即した応答値を決定してＴＣＰ／ＩＰを用いて返信する方法が知られている。
【０００３】
一方、ＴＣＰ／ＩＰやデータリンク層の技術を用いない方法として、ＩＥＥＥ  ８０２．３ａｆ規格や、特許文献１では、検出ノードとネットワークで接続された被検出ノード内の抵抗値の有無をネットワークを介して検出ノードから確認可能とする技術が提案されている。この方法によれば、遠隔から取得できる情報は限定されるが、抵抗値によって、被検出ノードがネットワークケーブルを介した給電を要求する装置であるか否かを検出することが可能となる。
【０００４】
また、アプリケーションプロトコルのレベルでは、ＵＰｎＰ（登録商標）  Ｌｏｗ  Ｐｏｗｅｒアーキテクチャなどのように、ノードの動作状態を収集するために電源管理プロキシーサーバを設置し、周辺ノードが同プロキシに問い合わせることで通信相手となるノードの状態を遠隔から取得する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３８９５１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＴＣＰ／ＩＰ上のソフトウェアを用いる場合は、ＴＣＰ／ＩＰの処理やそれを支えるデータリンク層が正しく稼働していることを前提とするため、ノードが正常に動作している時しか状態を取得することができないという問題があった。したがって、ノードの状態を適切に検出するには、例えばノードを常時起動する必要があり、消費電力の増加を招く。また、ＩＥＥＥ  ８０２．３ａｆ規格の方法は、消費電力は小さいが、ネットワークケーブルを介して直接接続したノードからしか状態を検出することができない。
【０００７】
ＵＰｎＰ  Ｌｏｗ  Ｐｏｗｅｒアーキテクチャなどの方法では、動作状態を管理するための装置である電源管理プロキシーサーバを設置することや、同サーバと通信するためのプロトコルを各ノードに実装することが必要となる。
【０００８】
本発明は、上記に鑑みてなされたものであって、状態管理用の装置を備えることなく、他の通信装置に直接接続していない通信装置に対して、他の通信装置の状態を適切に伝えることができる装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、第１通信装置から第２通信装置を転送先とするメッセージを受信し、受信したメッセージを前記第２通信装置に転送する転送部と、前記第２通信装置が通信できる状態であるか否かを検出する状態検出部と、前記第２通信装置を転送先とするメッセージが受信され、前記第２通信装置が通信できない状態であることが検出された場合に、前記第２通信装置が通信できない状態であること表す応答メッセージを生成する応答生成部と、を備え、前記転送部は、前記第２通信装置が通信できない状態であることが検出された場合、受信したメッセージを前記第２通信装置に転送せずに、生成された応答メッセージを前記第１通信装置に送信することを特徴とする。
【００１０】
また、本発明は、上記装置で実行することができる方法およびプログラムである。
【発明の効果】
【００１１】
本発明によれば、状態管理用の装置を備えることなく、他の通信装置に直接接続していない通信装置に対して、他の通信装置の状態を適切に伝えることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１の実施の形態にかかる中継装置を含む通信システムの構成の一例を示すネットワーク構成図である。
【図２】図２は、第１の実施の形態にかかる中継装置の構成の一例を示すブロック図である。
【図３】図３は、状態記憶部に保存されるデータのデータ構造の一例を示す図である。
【図４】図４は、第１の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。
【図５】図５は、第１の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。
【図６】図６は、第１の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。
【図７】図７は、第１の実施の形態における状態確認処理の全体の流れを示すフローチャートである。
【図８】図８は、第１の実施の形態における応答パケット生成処理の全体の流れを示すフローチャートである。
【図９】図９は、第１の実施の形態の変形例にかかる中継装置の構成の一例を示すブロック図である。
【図１０】図１０は、第２の実施の形態にかかる中継装置の構成の一例を示すブロック図である。
【図１１】図１１は、第２の実施の形態の条件記憶部に記憶されるデータのデータ構造の一例を示す図である。
【図１２】図１２は、第２の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。
【図１３】図１３は、第３の実施の形態にかかる中継装置の構成の一例を示すブロック図である。
【図１４】図１４は、第３の実施の形態の条件記憶部に記憶されるデータのデータ構造の一例を示す図である。
【図１５】図１５は、第３の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。
【図１６】図１６は、第３の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。
【図１７】図１７は、第３の実施の形態の変形例にかかる中継装置の構成の一例を示すブロック図である。
【図１８】図１８は、フィールドを追加した第３の実施の形態の条件記憶部のデータ構造の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、この発明にかかる中継装置の最良な実施の形態を詳細に説明する。
【００１４】
（第１の実施の形態）
第１の実施の形態にかかる中継装置は、通信装置間のメッセージ（パケット）を中継するレイヤー２スイッチ（スイッチングハブ）などの装置であって、パケットを転送するときに、パケットを受信する通信装置（以下、受信先ノードという）の状態を検出し、通信できない状態である場合に、パケットを送信したノード（以下、送信元ノードという）に対して通信できない状態であることを表す応答パケットを送信する。
【００１５】
なお、以下では、レイヤー２スイッチ（スイッチングハブ）として本実施の形態の中継装置を実現した場合を例に説明する。適用可能な装置はこれに限られず、通信装置間のパケットを転送する装置であれば、レイヤー３スイッチやルータなどのあらゆる装置に適用できる。
【００１６】
図１は、第１の実施の形態にかかる中継装置１００を含む通信システム１０の構成の一例を示すネットワーク構成図である。図１に示すように、通信システム１０は、中継装置１００と、受信先ノード２０と、ネットワーク３０と、送信元ノード４０と、を含んでいる。
【００１７】
受信先ノード２０は、中継装置１００に直接接続され、中継装置１００などの外部装置から状態を検出可能とする機能を具備する。ネットワーク３０は、中継装置１００が接続するネットワークである。送信元ノード４０は、ネットワーク３０に接続され、ネットワーク３０および中継装置１００を介して、受信先ノード２０と通信する。
【００１８】
図２は、第１の実施の形態にかかる中継装置１００の構成の一例を示すブロック図である。図２に示すように、中継装置１００は、インターフェイス１０１、１０２、１０３と、転送部１０４と、状態記憶部１０５と、状態検出部１０６と、応答生成部１０７と、を備えている。
【００１９】
インターフェイス１０１、１０２、１０３は、受信先ノード２０を含む複数のノードと接続可能なネットワークインターフェイスである。同図では、３つのインターフェイス１０１〜１０３を備える例が示されているが、インターフェイスの個数はこれに限られるものではない。
【００２０】
転送部１０４は、後述する状態記憶部１０５に保存されたデータを参照して、インターフェイス１０１〜１０３の間でパケットを転送する。
【００２１】
状態記憶部１０５は、転送部１０４がパケットの転送先となるノードを決定するためのデータとともに、各ノードの状態を表す状態情報を記憶する。図３は、状態記憶部１０５に保存されるデータのデータ構造の一例を示す図である。同図では、一行が一つのエントリを表している。同図に示すように、状態記憶部１０５は、ＭＡＣ（Media  Access  Control）アドレスフィールドと、Ｉ／Ｆフィールドと、状態フィールドと、有効期間フィールドと、を含むデータ構造のデータを記憶している。
【００２２】
ＭＡＣアドレスフィールドは、受信したパケットの宛先を識別するＭＡＣアドレスを格納する。Ｉ／Ｆフィールドは、当該ＭＡＣアドレスを持つノードが接続しているインターフェイス１０１〜１０３を識別する情報（識別子）を格納する。同図では、インターフェイス１０１の識別子である「ＩＦ１」、および、インターフェイス１０２の識別子である「ＩＦ２」が設定された例が示されている。
【００２３】
状態フィールドは、接続するノードの状態を表す状態情報を格納する。同図では、通信できる状態を表す「ＡＣＴＩＶＥ」、および通信できない状態を表す「ＳＬＥＥＰ」が、状態情報の一例として示されている。設定可能な状態はこれらに限られず、「電源ＯＮ」、「サスペンド」、「休止状態」、および「電源ＯＦＦ」などの状態を設定可能としてもよい。なお、この例の場合、「電源ＯＮ」が通信できる状態を表し、「サスペンド」、「休止状態」、および「電源ＯＦＦ」が通信できない状態を表す。
【００２４】
有効期間フィールドは、各エントリの有効期間を格納する。
【００２５】
なお、記憶部１０５は、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭ（Random Access Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２６】
図２に戻り、状態検出部１０６は、インターフェイス１０１〜１０３に接続しているノード（以下、対向ノードという）の状態を検出する。例えば、状態検出部１０６は、インターフェイス１０１〜１０３に物理的にケーブル（接続線）が接続されているか否かを判定する方法、または、ケーブルが接続されている場合にはそのケーブルと対向ノードとにより構成される電気回路が有する電気的特性（抵抗値、特定の電圧／電流をかけた時に得られる電流値／電圧値）を判定する方法などにより、接続の有無や対向ノードの状態を検出する。
【００２７】
すなわち、状態検出部１０６は、少なくとも対向ノードが通信できる状態であるか否かを検出できる。そして、上述のように、状態検出部１０６が電気的特性等を判定することにより、対向ノードの詳細な動作状態を検出するように構成してもよい。例えば、状態検出部１０６が、対向ノードから検出された抵抗値に応じて、対向ノードが、「電源ＯＮ」、「サスペンド」、「休止状態」、および「電源ＯＦＦ」のいずれかの状態であることを検出可能とすることができる。状態検出部１０６は、検出した動作状態に応じた状態情報を状態記憶部１０５の状態フィールドに保存する。
【００２８】
応答生成部１０７は、状態検出部１０６により、パケットの転送先のノードが通信できない状態であることが検出された場合に、当該ノードが通信できない状態であることを表す応答パケットを生成し、転送部１０４を通じて、当該パケットの送信元ノードに対して応答パケットを送信する。なお、本実施の形態の中継装置１００は、スイッチングハブであること前提としているが、このような場合でも転送先のノードの状態に応じた応答パケットを送信元ノードに通知する。
【００２９】
次に、このように構成された第１の実施の形態にかかる中継装置１００によるパケット転送処理について図４〜図６を用いて説明する。図４〜図６は、第１の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。各図は、送信元ノードが受信先ノードに対して送信したパケットを中継装置１００が受信することによって開始されるシーケンスを記述している。
【００３０】
なお、図４は、パケットの転送先（受信先ノード）が決定できたが、受信先ノードが通信できない状態のためパケットを転送できない場合のシーケンスを表す。また、図５は、受信先ノードが決定でき、受信先ノードが通信できる状態のためパケットを転送する場合のシーケンスを表す。また、図６は、受信先ノードが決定できない場合のシーケンスを表す。
【００３１】
まず、図４のシーケンスについて説明する。最初に、インターフェイス１０１が、送信元ノードからパケット（以下、受信パケットという）を受信する（ステップＳ４０１）。受信パケットは転送部１０４に通知される（ステップＳ４０２）。
【００３２】
転送部１０４は、状態記憶部１０５から、受信パケットに含まれる受信先ＭＡＣアドレスを検索し（ステップＳ４０３）、検索結果を取得する（ステップＳ４０４）。このとき、受信先ＭＡＣアドレスと一致するＭＡＣアドレスを含むエントリが検索されればそのエントリが検索結果として返される。一致するＭＡＣアドレスを含むエントリが検索されない場合は、その旨を示す何らかの値が返される。
【００３３】
なお、エントリが検索されなかった場合、すなわち、転送先が決定できなかった場合には、受信パケットは全てのインターフェイスに対して出力される（同図では省略）。この場合の詳細な動作は図６を用いて説明する（後述）。
【００３４】
エントリが検索された場合、すなわち、転送先が決定できた場合には、転送部１０４は、当該エントリの状態フィールドに格納されている状態情報を検査する（ステップＳ４０５）。状態情報が、当該ノードが通信できない状態であることを示す場合（例えば、サスペンド、休止状態など）、転送部１０４は、応答生成部１０７に対して応答パケットを生成するように指示する（ステップＳ４０６）。なお、当該ノードが通信できる状態である場合の処理は、図５で説明する（後述）。
【００３５】
応答生成要求を受けた応答生成部１０７は、受信パケットを解析し応答パケットを生成する応答パケット生成処理を実行する（ステップＳ４０７）。応答パケット生成処理の詳細については後述する。応答パケットの生成が完了すると、応答生成部１０７は、生成した応答パケットを転送部１０４へ返す（ステップＳ４０８）。
【００３６】
生成された応答パケットを受け取った転送部１０４は、受信パケットを受信したインターフェイス（同図ではインターフェイス１０１）に対して応答パケットを転送するように指示する（ステップＳ４０９）。インターフェイス１０１は、当該応答パケットを出力する。
【００３７】
この後、以下のような状態更新処理を実行してもよい（ステップＳ４１０〜ステップＳ４１４）。なお、同図のシーケンスでは、状態更新処理をステップＳ４０９の後に実行するように記述されているが、状態更新処理をステップＳ４０６〜ステップＳ４０９の処理と並行して実行するように構成してもよい。
【００３８】
まず、転送部１０４が、受信パケットの受信先ノードの状態を確認することを状態検出部１０６に対して指示する（ステップＳ４１０）。状態確認依頼を受けた状態検出部１０６は、受信先ノードが接続されたインターフェイスに対して状態検出操作を行うことにより受信先ノードの状態を確認する状態確認処理を実行する（ステップＳ４１１）。なお、状態確認処理の詳細については後述する。
【００３９】
この状態確認処理により、当該インターフェイスに接続する受信先ノードの最新の状態が入手できる。状態検出部１０６は、入手した最新の状態を転送部１０４に返す（ステップＳ４１２）。
【００４０】
状態検出部１０６から受信先ノードの最新の状態を入手した転送部１０４は、入手した最新の状態で状態記憶部１０５の状態情報を更新する（ステップＳ４１３）。この際、再度受信先ノードが通信できない状態であることが確認された場合には、当該エントリの有効期間を通信できる状態のエントリに比べて長く設定するように構成してもよい。
【００４１】
転送部１０４は、更新処理の結果を受け取る（ステップＳ４１４）。なお、このステップは省略してもよい。
【００４２】
以上が、中継装置１００が、送信元ノードから受信したパケットを受信先ノードに転送する際に実行されるシーケンスのうち、受信先ノードが通信できない状態である場合の処理である。
【００４３】
次に、受信先ノードが通信できる状態である場合のシーケンスを図５を用いて説明する。ステップＳ５０１〜ステップＳ５０５までの処理は、図４のステップＳ４０１〜ステップＳ４０５と同じであるため、説明を省略する。
【００４４】
ステップＳ５０５で、受信先ノードが通信可能状態であることが確認された場合（例えばＡＣＴＩＶＥ）、転送部１０４は、検索されたエントリのＩ／Ｆフィールドから受信パケットの出力先となるインターフェイスを決定する（ステップＳ５０６）。
【００４５】
次に、転送部１０４は、受信パケットを決定したインターフェイスから転送するように、当該インターフェイスに対して指示する（ステップＳ５０７）。同図では、インターフェイス１０２に出力することが決定された例が示されている。このようにして、受信パケットが、決定されたインターフェイスを介して受信先ノードへ転送される。その後、図４と同様の状態更新処理（ステップＳ４１０〜ステップＳ４１４）を行ってもよい（ステップＳ５０８〜ステップＳ５１２）。
【００４６】
次に、受信先ノードに対応するエントリが状態記憶部１０５に保存されていない場合のシーケンスについて図６を用いて説明する。本シーケンスは、受信先ノードが中継装置１００に初めて接続した場合や、過去に保存されていたエントリの有効期間が切れてエントリが削除された場合などに実行される。
【００４７】
ステップＳ６０１〜ステップＳ６０４までの処理は、図４のステップＳ４０１〜ステップＳ４０４と同じであるため、説明を省略する。
【００４８】
図４と異なり、本シーケンスではステップＳ６０４で転送先に関する有効なエントリが得られない。そのため、転送部１０４は、全てのインターフェイス１０１〜１０３に対して受信パケットの転送を指示する（ステップＳ６０５〜ステップＳ６０７）。これにより、全てのインターフェイスから受信パケットが送出される。
【００４９】
その後、インターフェイス１０２から、当該受信パケットに対する応答が得られたと仮定する（ステップＳ６０８）。なお、本実施の形態では、中継装置１００がスイッチングハブであることを想定しているので、厳密には受信パケットに対する応答であることを認識することはできない。ここでは送出したインターフェイス（インターフェイス１０２）で別のパケットが得られたことを便宜上、応答を得られたと呼んでいる。
【００５０】
この場合、当該応答に関するエントリの状態記憶部１０５に対する保存状態に関わらず、転送部１０４は、受信した応答に対応する新しいエントリを状態記憶部１０５に登録する（ステップＳ６０９〜ステップＳ６１１）。図３のエントリ３０１は、このような場合に登録されるエントリの一例を示している。新たに登録するエントリの各フィールドに設定する値は、次のように決定する。
【００５１】
ＭＡＣアドレスフィールドは、インターフェイス（この例ではインターフェイス１０２）で受信したパケットの送信元ＭＡＣアドレスを設定する。Ｉ／Ｆフィールドは、受信したインターフェイスの識別子（この場合はインターフェイス１０２の識別子である「ＩＦ２」）を設定する。状態フィ−ルドは、通信可能なことを表す「ＡＣＴＩＶＥ」を設定する。有効期間フィールドは、通常の有効期間を設定する。通常の有効期間とは、インターフェイス１０２に接続したノードが、外部装置から状態を検出可能とする機能を備えていない通常のノードであると仮定した場合に設定する有効期間である。
【００５２】
なお、上述のステップＳ６０８〜ステップＳ６１１に該当する処理は、図６に示したシーケンスに固有の処理ではない。一般にスイッチングハブがパケットを受信した場合には、当該パケットの送信元ＭＡＣアドレスを学習する処理が実行される。これは本実施の形態でも同様であり、図６のステップＳ６０８〜ステップＳ６１１はこの処理を表している。なお、図４、図５、および図６の最初のパケット受信処理（ステップＳ４０１、ステップＳ５０１、ステップＳ６０１）でも、同様の処理が実行されるが、説明の都合上省略している。
【００５３】
次に、ステップＳ４１１等の状態確認処理の詳細について図７を用いて説明する。上述の通り、状態記憶部１０５に記載された各エントリは、有効期間が設定されている。各エントリは、この有効期間内に限って利用可能とし、有効期間が切れた場合は無効とする。また、ノードが接続していないことが確認できた場合または接続していないとみなせる場合にも、同様にエントリを無効とする。状態確認処理は、このようにエントリを無効にする処理を含む。すなわち、状態検出部１０６は、定期的に有効期間が切れたエントリをチェックする。その際、有効期間切れのエントリに対応するノードの最新の状態を確認し、無効にすべきか否かを判断する。
【００５４】
図７は、第１の実施の形態における状態確認処理の全体の流れを示すフローチャートである。
【００５５】
まず、状態検出部１０６は、状態記憶部１０５に保存されている未処理のエントリを読み出す（ステップＳ７０１）。次に、状態検出部１０６は、取得したエントリに含まれる有効期間を参照し、現時点が有効期間内であるか否かを確認する（ステップＳ７０２）。
【００５６】
有効期間が切れている場合（ステップＳ７０２：ＮＯ）、状態検出部１０６は、当該エントリに含まれるＩ／Ｆフィールドの値であるインターフェイスの識別子を取得する（ステップＳ７０３）。次に、状態検出部１０６は、取得した識別子のインターフェイスを指定して、接続されたノードの状態を検出する（ステップＳ７０４）。
【００５７】
状態検出部１０６は、ノードの状態が検出できたか否かを判断し（ステップＳ７０５）、状態が検出できた場合は（ステップＳ７０５：ＹＥＳ）、当該エントリを削除せずに当該エントリを更新する（ステップＳ７０６）。具体的には、状態検出部１０６は、取得した状態を表す状態情報を状態フィールドに設定し、取得した状態に対応する有効期間を有効期間フィールドに設定する。
【００５８】
ここで、状態検出部１０６が、「電源ＯＮ」、「サスペンド」、「休止状態」、および「電源ＯＦＦ」をノードの状態として検出できると仮定する。この場合、状態検出部１０６が、「電源ＯＮ」に対して、本実施の形態を適用しない一般の中継装置が設定する有効期間と同様の有効期間を設定し、「サスペンド」、「休止状態」、および「電源ＯＦＦ」の順に大きくなるように有効期間を設定するように構成してもよい。このように構成することで、通信できない状態であるノードの利用が再開されると予想されるまでの時間に合わせた有効期間を設定することが可能になる。
【００５９】
なお、状態情報が「サスペンド」、「休止状態」、または「電源ＯＦＦ」であるエントリに含まれるＭＡＣアドレスを送信元とするパケットを受信した場合、転送部１０４は、対応するエントリの状態情報を「ＡＣＴＩＶＥ」に更新し、有効期間を「電源ＯＮ」に対応する有効期間に更新する。
【００６０】
これにより、動作中のノードに対する有効期間が不必要に長いエントリが存続しないようにすることができる。この処理は、図４、図５、および図６で述べた通常の転送処理と共に実行すればよい。例えば、送信元のＭＡＣアドレスを覚えておき、パケットを転送した後にエントリを更新してもよい。また、一連の転送処理と並行に本処理を実行してもよい。
【００６１】
ステップＳ７０５で状態が検出できなかった場合（ステップＳ７０５：ＮＯ）、状態検出部１０６は、当該エントリを状態記憶部１０５から削除する（ステップＳ７０７）。
【００６２】
次に、ステップＳ４０７の応答パケット生成処理の詳細について図８を用いて説明する。図８は、第１の実施の形態における応答パケット生成処理の全体の流れを示すフローチャートである。
【００６３】
応答パケット生成処理で、応答生成部１０７は、受信パケットと、受信パケットを受信したインターフェイスを特定する情報（受信インターフェイス情報、例えば識別子）と、状態検出部１０６で検出された状態とを入力する。
【００６４】
まず、応答生成部１０７は、受信パケットのイーサネット（登録商標）ヘッダから応答パケットのイーサネット（登録商標）ヘッダを生成する（ステップＳ８０１）。このとき、応答生成部１０７は、渡された受信パケット内のイーサネット（登録商標）フレームの送信元ＭＡＣアドレスおよび受信先ＭＡＣアドレスを、それぞれ応答パケットの受信先ＭＡＣアドレスおよび送信元ＭＡＣアドレスとする。また、応答生成部１０７は、受信パケットのプロトコルフィールドと同じ値を、応答パケットのプロトコルフィールドに設定する。
【００６５】
次に、応答生成部１０７は、受信パケットのプロトコルタイプフィールドを参照することにより、上位のネットワークプロトコルを判別する。そして、応答生成部１０７は、ネットワークプロトコルがＩＰｖ４であるか否かを判定する（ステップＳ８０２）。
【００６６】
ネットワークプロトコルがＩＰｖ４である場合（ステップＳ８０２：ＹＥＳ）、応答生成部１０７は、以下のようにしてＩＰｖ４に準拠した応答パケットを生成する（ステップＳ８０３〜ステップＳ８０６）。
【００６７】
すなわち、応答生成部１０７は、まずＩＰｖ４ヘッダを生成する（ステップＳ８０３）。応答生成部１０７は、受信パケットのＩＰｖ４ヘッダの情報をもとに、応答パケットのＩＰｖ４ヘッダを生成する。具体的には、応答生成部１０７は、受信パケットのＩＰｖ４ヘッダの送信元アドレスおよび受信先アドレスを、それぞれ応答パケットの受信先アドレスおよび送信元アドレスとして設定する。また、応答生成部１０７は、プロトコルフィールドにＩＣＭＰを設定し、その他のフィールドについても適宜設定する。
【００６８】
次に、応答生成部１０７は、ＩＣＭＰヘッダを生成する（ステップＳ８０４）。例えば、応答生成部１０７は、ＩＣＭＰタイプ＝３（Destination Unreach）、コード＝２（ProtocolUnreachable）としたＩＣＭＰヘッダを生成する。なお、ＩＣＭＰタイプやコードにこれ以外の値を設定してもよい。
【００６９】
次に、応答生成部１０７は、受信パケットからＩＰｖ４パケットを抽出する（ステップＳ８０５）。応答生成部１０７は、抽出したパケットを上述のイーサネット（登録商標）ヘッダ、ＩＰｖ４ヘッダおよびＩＣＭＰヘッダの後に連結し、ＩＰｖ４ヘッダのチェックサムフィールドとＩＣＭＰヘッダのチェックサムフィールドとを計算することにより、応答パケットの生成を完了する（ステップＳ８０６）。
【００７０】
ステップＳ８０２で、ネットワークプロトコルがＩＰｖ４でないと判断した場合（ステップＳ８０２：ＮＯ）、応答生成部１０７は、さらにネットワークプロトコルがＩＰｖ６であるか否かを判断する（ステップＳ８０７）。ネットワークプロトコルがＩＰｖ４であると判断した場合（ステップＳ８０７：ＹＥＳ）、応答生成部１０７は、ＩＰｖ６に準拠した応答パケットを生成する（ステップＳ８０８〜ステップＳ８１１）。なお、この処理（ステップＳ８０８〜ステップＳ８１１）は、ＩＰｖ４の場合と同様の処理（ステップＳ８０３〜ステップＳ８０６）であるため、説明を省略する。
【００７１】
応答生成部１０７は、このようにして生成された応答パケットを、入力として通知された受信インターフェイス情報とともに転送部１０４に通知する（ステップＳ８１２）。
【００７２】
ステップＳ８０７で、ネットワークプロトコルがＩＰｖ６でないと判断した場合（ステップＳ８０７：ＮＯ）、応答生成部１０７は、生成したデータを破棄する（ステップＳ８１３）。このように、本実施の形態ではＩＰｖ４およびＩＰｖ６以外のパケットは非対応として扱い、非対応のパケットに対する応答パケットは通知しない。なお、これは一例であり、ＩＰｖ４およびＩＰｖ６以外のプロトコルに対応するように構成してもよい。
【００７３】
このように、ノードが通信できない状態であることを検出する原因となった受信パケットから応答パケットを生成することによって、本来通信できない状態である当該ノードが応答したかのように中継装置１００から応答パケットを送信することができる。
【００７４】
（変形例）
上記実施の形態では、通信できる状態になるまでの時間を予想することなどにより有効期間を設定していた。これに対し、ノードから通信できない期間の通知を受け取り、通知された期間に応じて有効期間を設定することにより、より厳密にノードの再開予定時刻に合わせた有効期間を設定可能とするように構成してもよい。
【００７５】
図９は、このように構成された第１の実施の形態の変形例にかかる中継装置１２０の構成の一例を示すブロック図である。図９に示すように、中継装置１２０は、インターフェイス１０１、１０２、１０３と、転送部１０４と、状態記憶部１０５と、状態検出部１０６と、応答生成部１０７とに加え、有効期間管理部１２８を備えている。
【００７６】
有効期間管理部１２８は、インターフェイス１０１〜１０３、および、転送部１０４を介して、ノードから通信できない期間の通知を受け取り、通知された期間を有効期間とするように状態記憶部１０５の対応するエントリの有効期間を更新する。
【００７７】
なお、有効期間管理部１２８が、ノードが起動され、通信を実行している間隔に応じて有効期間を決定し、決定した有効期間を状態記憶部１０５に保存するように構成してもよい。例えば、有効期間管理部１２８が、状態記憶部１０５を参照して各エントリが更新される間隔を随時取得し、間隔の平均値等から適切な有効期間を決定するように構成することができる。
【００７８】
このように、第１の実施の形態にかかる中継装置では、パケットを転送するときに、パケットの受信先ノードが通信できない状態である場合に、受信先ノードが通信できない状態であることを表す応答パケットを生成し、パケットの送信元ノードに対して送信することができる。これにより、送信元ノードは、状態管理用の装置等を参照することなく、通常の通信の中で通信相手の状態を適切に取得できる。
【００７９】
また、本実施の形態の中継装置は、インターフェイスに接続したノードの状態を取得できるため、ノードがネットワークに接続したままでサスペンドした場合であっても、トポロジが変化してないことを検出できる。これにより、中継装置上でルーティングプロトコルやスパニングツリーを維持するプロトコルなどのネットワークトポロジに依存する処理が動作していたとしても、再計算を引き起こさないように構成することができる。したがって、ネットワークの安定動作と低消費電力とを両立することができる。
【００８０】
さらに、検出した状態を保存し、その状態に応じて保存した情報の有効期間を管理するようにしたため、頻繁な検査が不要になる。
【００８１】
（第２の実施の形態）
第２の実施の形態にかかる中継装置は、ネットワークからパケットを受信した際に、当該パケットの宛先を決定するエントリが状態記憶部に存在し、かつ、そのエントリが受信先ノードが通信できない状態にあることを示している場合の動作が第１の実施の形態と異なる。すなわち、第２の実施の形態では、このような場合であって、かつ、パケットが所定の条件を満たす場合にのみ応答パケットを送信する。それ以外の動作は、第１の実施の形態と同じである。
【００８２】
図１０は、第２の実施の形態にかかる中継装置２００の構成の一例を示すブロック図である。図１０に示すように、中継装置２００は、インターフェイス１０１、１０２、１０３と、転送部２０４と、状態記憶部１０５と、状態検出部１０６と、応答生成部１０７と、条件記憶部２０９と、判定部２１０と、を備えている。
【００８３】
第２の実施の形態では、条件記憶部２０９および判定部２１０を追加したことと、転送部２０４の機能とが第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかる中継装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００８４】
条件記憶部２０９は、受信したパケットに含まれるデータが満たすべき予め定められた条件を記憶する。図１１は、条件記憶部２０９に記憶されるデータのデータ構造の一例を示す図である。同図では、送信元ＭＡＣアドレス、受信先ＭＡＣアドレス、送信元ＩＰアドレス、受信先ＩＰアドレス、プロトコル、送信元ポート番号、および受信先ポート番号が条件として指定される例が示されている。
【００８５】
なお、これらの条件を構成するフィールドは一例であり、これ以外のデータを条件としてもよい。例えば、ＴＣＰのフラグ、アプリケーションプロトコルの情報、およびアプリケーションデータなどを用いてもよい。また、同図では省略しているが、条件を満たす場合に実行すべき動作を設定するフィールドを含むように構成してもよい。例えば、応答パケットを送信すること、受信パケットを破棄すること、および、通常通り受信パケットを転送することなど、動作として設定するように構成してもよい。このフィールドが含まれない場合は、例えば、条件を満たす場合は必ず応答パケット生成処理を実行するように構成する。
【００８６】
判定部２１０は、受信したパケットに含まれるデータが、条件記憶部２０９に保存されている条件を満たすか否かを判定する。
【００８７】
転送部２０４は、受信したパケットが条件記憶部２０９に保存されている条件を満たすか否かを判定することを、判定部２１０に依頼する処理が追加された点が、第１の実施の形態の転送部１０４と異なっている。
【００８８】
次に、このように構成された第２の実施の形態にかかる中継装置２００によるパケット転送処理について図１２を用いて説明する。図１２は、第２の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。本実施の形態の動作は、原則として第１の実施の形態と同じであるが、エントリが無効だった場合に、判定部２１０が条件を判定した後に状態確認を行う点が異なる。
【００８９】
ステップＳ１２０１からステップＳ１２０５までは、第１の実施の形態にかかる中継装置１００におけるステップＳ４０１からステップＳ４０５までと同様の処理なので、その説明を省略する。
【００９０】
ステップＳ１２０５で、受信先ノードが通信できる状態であることを確認した場合は、受信パケットを受信先ノードに転送する。また、エントリが無効のため、受信先ノードが決定できない場合は、全てのインターフェイスから受信パケットを送信する（図では省略）。
【００９１】
ステップＳ１２０５で、エントリが存在するが受信先ノードが通信できない状態であることを確認した場合、転送部２０４は、受信パケットが条件記憶部２０９に保存された条件を満たすかを確認することを判定部２１０に依頼する（ステップＳ１２０６）。判定部２１０は、依頼を受けて、条件記憶部２０９から条件を読み出す（ステップＳ１２０７、ステップＳ１２０８）。そして、判定部２１０は、受信パケットに含まれるデータが、読み出した条件を満たすか否かを判定する（ステップＳ１２０９）。すなわち、判定部２１０は、図１１に示すような条件のうち、各フィールドの設定値が、受信したパケット内の対応するデータの設定値と一致する条件が存在するか否かを判定する。そして、判定部２１０は、判定結果を転送部２０４に送信する（ステップＳ１２１０）。
【００９２】
なお、ステップＳ１２０７〜ステップＳ１２０９の条件判定処理は、判定部２１０が、条件記憶部２０９に保存された条件を一つずつ読み出して判定を繰り返してもよいし、一括で条件を読み出すように構成してもよい。後者の方法によれば、条件記憶部２０９と判定部２１０との間で行う情報交換の回数を減らすことができる。
【００９３】
転送部２０４は、通知された判定結果により、受信パケットが条件を満たすか否かを判断する（ステップＳ１２１１）。条件を満たさない場合（ステップＳ１２１１：ＮＯ）、転送部２０４は、受信パケットを破棄する（ステップＳ１２１２）。条件を満たす場合（ステップＳ１２１１：ＹＥＳ）、転送部２０４は、第１の実施の形態のステップＳ４０６からステップＳ４１４までと同様の処理により、応答パケットを生成して送信元ノードに送信するとともに、受信先ノードの最新の状態を確認する（ステップＳ１２１３〜ステップＳ１２２１）。
【００９４】
本シーケンスは、受信パケットが条件記憶部２０９に保存された条件と一致した場合にのみ、状態に応じた応答パケットを返して状態検出を行う例を示している。上述のように、条件に合わせて実行すべき「動作」も規定し、条件を満たした場合に、規定された「動作」を実施するように構成してもよい。
【００９５】
このように、第２の実施の形態にかかる中継装置では、受信パケットが所定の条件を満たす場合にのみ応答パケットを送信することができる。すなわち、応答パケットを返すノードや通信を限定することができる。これにより、不必要にノードの状態を返すことが無くなり、セキュリティの維持と状態通知による利便性が共存可能となる。
【００９６】
（第３の実施の形態）
第３の実施の形態にかかる中継装置は、通信できない状態であるノードを検出したときに、当該ノードに対して所定の制御を実行する機能が追加される。
【００９７】
図１３は、第３の実施の形態にかかる中継装置３００の構成の一例を示すブロック図である。図１０に示すように、中継装置３００は、インターフェイス１０１、１０２、１０３と、転送部２０４と、状態記憶部１０５と、状態検出部１０６と、応答生成部１０７と、条件記憶部３０９と、判定部３１０と、転送制御部３１１と、機器制御部３１２と、を備えている。
【００９８】
第３の実施の形態では、条件記憶部３０９のデータ構造と、判定部３１０の機能と、転送制御部３１１および機器制御部３１２を追加したことが第２の実施の形態と異なっている。その他の構成および機能は、第２の実施の形態にかかる中継装置２００の構成を表すブロック図である図１０と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９９】
条件記憶部３０９は、受信したパケットに含まれるデータが条件を満たす場合に、受信したパケットの受信先ノードに対して実行される機器制御処理の方法（制御方法）をさらに記憶する点が、第２の実施の形態の条件記憶部２０９と異なっている。図１４は、条件記憶部３０９に記憶されるデータのデータ構造の一例を示す図である。同図に示すように、本実施の形態では、第２の実施の形態の説明で用いた条件（図１２）に、「検出時動作」フィールドが追加される。すなわち、本実施の形態では検出時の動作が複数になるため、それを明示的に保存するためのフィールドを追加する。
【０１００】
同図では、第１の実施の形態と同様に応答パケットを生成して通知することを表す「エラー通知」、および、応答パケットを通知せずに、受信先ノードの遠隔起動するように制御することを表す「遠隔起動」が、「検出時動作」の一例として示されている。なお、本フィールドにその他の動作を設定するように構成してもよい。
【０１０１】
判定部３１０は、「検出時動作」フィールドの設定値に応じて、判定結果の通知先を変更する点が、第２の実施の形態の判定部２１０と異なっている。例えば、判定部３１０は、「検出時動作」フィールドが「遠隔起動」の場合、判定結果を機器制御部３１２に通知し、機器制御部３１２に対して受信先ノードの遠隔起動を実行させる。
【０１０２】
転送制御部３１１は、判定部３１０、状態検出部１０６、応答生成部１０７、および機器制御部３１２の全体の動作を制御する。なお、転送制御部３１１を用いる代わりに、他の構成要素が互いに協調動作するように実現してもよい。
【０１０３】
機器制御部３１２は、条件記憶部３０９の「検出時動作」フィールドに設定されている機器の制御方法にしたがって、インターフェイス１０１〜１０３に接続するノードの状態を遠隔から制御する。例えば、機器制御部３１２は、サスペンドしているノードに対してWake on LANを用いた遠隔起動を実施する。
【０１０４】
次に、このように構成された第３の実施の形態にかかる中継装置３００によるパケット転送処理について図１５および図１６を用いて説明する。図１５および図１６は、第３の実施の形態におけるパケット転送処理の全体の流れを示すシーケンス図である。図１５は、受信先ノードに対する機器制御が不要と判断される場合のシーケンスである。また、図１６は、受信先ノードに対する機器制御が必要と判断され、機器制御部３１２により遠隔起動が実行される場合のシーケンスである。
【０１０５】
まず、図１５のシーケンスについて説明する。ステップＳ１５０１からステップＳ１５０５までは、第２の実施の形態にかかる中継装置２００におけるステップＳ１２０１からステップＳ１２０５までと同様の処理なので、その説明を省略する。
【０１０６】
ステップＳ１５０５で、エントリが有効期間内であり、かつ対応する受信先ノードが通信可能であることが確認された場合は、転送部２０４は、受信パケットを受信先ノードへ転送する（図では省略）。また、有効期間が切れている場合には、転送部２０４は、全てのインターフェイスを介して受信パケットを転送する（図では省略）。
【０１０７】
一方、エントリが有効であり受信先ノードが通信不可能であることを示す場合、転送部２０４は、第２の実施の形態のステップＳ１２０６〜ステップＳ１２０９と同様の手順により、受信パケットに含まれるデータが条件記憶部３０９の条件を満たすかが判定される（ステップＳ１５０６〜ステップＳ１５０９）。
【０１０８】
なお、全ての条件を判定した上で一致する条件が存在しなかった場合は、受信パケットは破棄される（同図では省略）。例えば、判定部３１０が受信パケットを破棄するように転送部２０４に指示を出すように構成することができる。
【０１０９】
一致する条件が見つかった場合、判定部３１０は、当該条件と共に一致する条件が見つかったことを転送制御部３１１に通知する（ステップＳ１５１０）。この通知を受け取った転送制御部３１１は、条件に含まれる「検出時動作」フィールドを確認して、以後の動作を決定する（ステップＳ１５１１）。
【０１１０】
上述のように、図１５は、「検出時動作」フィールドに、「エラー通知」が設定されている場合のシーケンスを表している。この場合、転送制御部３１１は、受信パケットの情報などと共に応答生成部１０７に応答パケット生成依頼を通知する（ステップＳ１５１２）。
【０１１１】
応答生成部１０７は、上述の各実施の形態と同様に、応答パケットを生成し（ステップＳ１５１３）、転送部２０４を介して送信元ノードが接続するインターフェイスから送信する（ステップＳ１５１４〜ステップＳ１５１５）。その後、転送制御部３１１は、受信先ノードの最新の状態を確認し、状態記憶部１０５に保存されている情報を更新してもよい（ステップＳ１５１６〜ステップＳ１５２０）。このステップＳ１５１６〜ステップＳ１５０２の処理は、例えば図４のステップＳ４１０〜ステップＳ４１４と同様であるため、説明を省略する。なお、図４と同様に、転送部２０４がこの処理を実行するように構成してもよい。
【０１１２】
次に、図１６のシーケンスについて説明する。ステップＳ１６０１からステップＳ１６１１までは、図１５のステップＳ１５０１からステップＳ１５１１までと同様の処理なので、その説明を省略する。
【０１１３】
上述のように、図１６は、「検出時動作」フィールドに、「遠隔起動」が設定されている場合のシーケンスを表している。この場合、転送制御部３１１は、機器制御部３１２に対して受信先ノードに対する遠隔起動を指示する（ステップＳ１６１２）。なお、転送制御部３１１は、受信先ノードが接続しているインターフェイスや受信先ノードを特定するための情報などの遠隔起動に必要な情報を、転送部２０４および判定部３１０を介して取得できる。
【０１１４】
通知を受けた機器制御部３１２は、指定されたインターフェイスに対して遠隔起動処理を行う（ステップＳ１６１３）。機器制御部３１２は、例えば、指定されたインターフェイスからWake on LANで当該ノードを起動させるパケットを送信する。なお、これ以外の起動方法により受信先ノードを起動するように構成してもよい。例えば、Powerover Ethernet（登録商標）により受信先ノードの給電を開始するように構成してもよい。
【０１１５】
機器制御部３１２は、遠隔起動処理の結果を表す起動処理応答を転送制御部３１１に返す（ステップＳ１６１４   ）。この応答を受けた転送制御部３１１は、受信先ノードが起動したか否かを確認することを状態検出部１０６に依頼し、受信先ノードの最新の状態を取得する（ステップＳ１６１５〜ステップＳ１６１７）。
【０１１６】
なお、この作業を所定回数実施しても起動が確認できなかった場合には、当該パケットを破棄するように転送部２０４に指示を出す（図は省略）。または、応答パケットを生成して送信元に通知するように応答生成部１０７に指示を出す（図は省略）。
【０１１７】
一方、起動が確認できた場合には（ステップＳ１６１８）、転送制御部３１１は、転送部２０４に対して、受信パケットを受信先ノードへと転送するように指示を出す（ステップＳ１６１９）。この指示を受けた転送部２０４は、受信パケットを受信先ノードへ転送する（ステップＳ１６２０）。
【０１１８】
最後に、当該受信先ノードの状態が変化しているため、転送制御部３１１は、状態記憶部１０５の情報を更新し（ステップＳ１６２１〜ステップＳ１６２２）、パケット転送処理を終了する。
【０１１９】
なお、機器制御部３１２が実行する遠隔起動方法は、機器設計時に固定的に決められる方法でもよいし、中継装置３００の利用者が事前に設定可能としてもよい。また、受信先ノードが自装置の起動方法を中継装置３００に通知するような手段を備え、中継装置３００が通知された起動方法を条件記憶部３０９に記憶するように構成してもよい。
【０１２０】
また、インターフェイス１０１〜１０３を介した遠隔起動以外の起動方法により、受信先ノードを起動するように構成してもよい。図１７は、このように構成した場合の中継装置３２０の構成の一例を示すブロック図である。図１７に示すように、中継装置３２０は、図１３に示す中継装置３００の構成に加えて、信号送出部３２３を備えている。
【０１２１】
信号送出部３２３は、インターフェイス１０１〜１０３を介した通信方法以外の通信方法により受信先ノードを起動するための信号（起動信号）等を送出する。例えば、信号送出部３２３は、起動するノードだけが反応して起動するような光学的または電気的な信号を当該ノードに送出する。信号送出部３２３が、ノードが接続している電源ライン（コンセント）のスイッチをオンにする信号を送出するように構成してもよい。
【０１２２】
なお、動作または制御方法に関する複数の情報を管理する必要がある場合には、条件記憶部３０９にこれらの複数の情報を保存するように構成すればよい。
【０１２３】
図１８は、「検出時動作」フィールドに加えて、「遠隔起動方法」フィールドを追加した場合の条件記憶部３０９のデータ構造の一例を示している。検出時動作として「遠隔起動方法」フィールドは、例えば、Wake on LAN機能により起動する「Wake on LAN」、および、指定電波を送信することにより起動する「指定電波」などの起動方法を指定する。
【０１２４】
このように、第３の実施の形態にかかる中継装置では、通信できない状態であるノードを検出したときに、当該ノードに対して所定の制御を実行することができる。これにより、例えば、受信先ノードがサスペンドなどにより一時的に通信できない状態に置かれた場合であっても、当該受信先ノードが具備する方法により起動状態に復帰させることが可能となる。また、判定部より、起動状態に復帰させるか応答パケットを送信するかを判定できる。すなわち、事前に決めた重要度に応じて、通信できない受信先ノードを起動するか、または、起動せずに応答パケットを通知するかを選択することができる。
【０１２５】
第１〜第３の実施の形態にかかる中継装置で実行される中継プログラムは、ＲＯＭ（図示せず）等に予め組み込まれて提供される。
【０１２６】
第１〜第３の実施の形態にかかる中継装置で実行される中継プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１２７】
さらに、第１〜第３の実施の形態にかかる中継装置で実行される中継プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３の実施の形態にかかる中継装置で実行される中継プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２８】
第１〜第３の実施の形態にかかる中継装置で実行される中継プログラムは、上述した各部（転送部、状態検出部、応答生成部等）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（図示せず）が上記ＲＯＭから中継プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
【０１２９】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３０】
１０  通信システム
２０  受信先ノード
３０  ネットワーク
４０  送信元ノード
１００、１２０、２００、３００、３２０  中継装置
１０１〜１０３  インターフェイス
１０４、２０４  転送部
１０５  状態記憶部
１０６  状態検出部
１０７  応答生成部
１２８  有効期間管理部
２０９、３０９  条件記憶部
２１０、３１０  判定部
３１１  転送制御部
３１２  機器制御部
３２３  信号送出部
【図１】
2010178275.tif 000003
【図２】
2010178275.tif 000004
【図３】
2010178275.tif 000005
【図４】
2010178275.tif 000006
【図５】
2010178275.tif 000007
【図６】
2010178275.tif 000008
【図７】
2010178275.tif 000009
【図８】
2010178275.tif 000010
【図９】
2010178275.tif 000011
【図１０】
2010178275.tif 000012
【図１１】
2010178275.tif 000013
【図１２】
2010178275.tif 000014
【図１３】
2010178275.tif 000015
【図１４】
2010178275.tif 000016
【図１５】
2010178275.tif 000017
【図１６】
2010178275.tif 000018
【図１７】
2010178275.tif 000019
【図１８】
2010178275.tif 000020