(57)【特許請求の範囲】
【請求項１】
隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックするトラフィック制御部と、
前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信するＳｌｅｅｐ判定処理部と、
を備える情報処理装置。
【請求項２】
前記Ｓｌｅｅｐ判定処理部は、前記パケットの送出可能性が高いと判定されたときに、前記隣接ノードがＳｌｅｅｐモードの場合は、Ｓｌｅｅｐモードから復帰させるＡｗａｋｅ指示を前記隣接ノードに送信することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記Ｓｌｅｅｐ判定処理部は、現在パケットを転送している第１の経路を構成するリンクの利用率が第１の閾値以下の第２の閾値を超えた場合、前記第１の経路を構成するリンクの利用率が前記第１の閾値を超えた場合に使用する第２の経路のnext hopであるノードにパケット送出予告メッセージを送出することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
１つ以上の隣接ノードと接続する情報処理装置であって、
前記１つ以上の隣接ノードの各隣接ノードがＳｌｅｅｐモードであるか否かを示す隣接ノード情報を格納する記憶部と、
自身へのパケットの入力があるかをチェックするトラフィック制御部と、
前記トラフィック制御部が、パケットの入力が無いと判定した時に、前記隣接ノード情報に基づいて前記１つ以上の隣接ノードの各隣接ノードがＳｌｅｅｐノードであるか判定し、Ｓｌｅｅｐノードと判定された隣接ノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせるＳｌｅｅｐ問い合わせ処理部と、
前記Ｓｌｅｅｐ問い合わせ処理部による問い合わせに対する前記Ｓｌｅｅｐノードと判定された隣接ノードを除く全隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定するＳｌｅｅｐ判定部と、
を備える情報処理装置。
【請求項５】
コンピュータに
隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックするステップと、
前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信するステップと、
を実行させるためのＳｌｅｅｐモード制御プログラム。
【請求項６】
前記パケットの送出可能性が高いと判定されたときに、前記隣接ノードがＳｌｅｅｐモードの場合は、Ｓｌｅｅｐモードから復帰させるＡｗａｋｅ指示を前記隣接ノードに送信するステップをさらに備えることを特徴とする請求項５記載のＳｌｅｅｐモード制御プログラム。
【請求項７】
現在パケットを転送している第１の経路を構成するリンクの利用率が第１の閾値以下の第２の閾値を超えた場合、前記第１の経路を構成するリンクの利用率が前記第１の閾値を超えた場合に使用する第２の経路のnext hopであるノードにパケット送出予告メッセージを送出するステップをさらに備えることを特徴とする請求項５または６記載のＳｌｅｅｐモード制御プログラム。
【請求項８】
１つ以上の隣接ノードと接続し、前記１つ以上の隣接ノードの各隣接ノードがＳｌｅｅｐモードであるか否かを示す隣接ノード情報を格納する記憶部を備えるコンピュータに、
自身へのパケットの入力があるかをチェックさせ、
前記パケットの入力が無いと判定した時に、前記隣接ノード情報に基づいて前記１つ以上の隣接ノードの各隣接ノードがＳｌｅｅｐノードであるか判定し、Ｓｌｅｅｐノードと判定された隣接ノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせ、
前記問い合わせに対する前記Ｓｌｅｅｐノードと判定された隣接ノードを除く全隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定させる、
Ｓｌｅｅｐモード制御プログラム。
【請求項９】
自身へのパケットの入力があるかをチェックし、
前記パケットの入力が無いときにＳｌｅｅｐノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせ、
隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックし、
前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、
前記パケットの送出可能性が低いと判定したときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信する、
Ｓｌｅｅｐモード制御方法。
【請求項１０】
１つ以上の隣接ノードと接続し、前記１つ以上の隣接ノードの各隣接ノードがＳｌｅｅｐモードであるか否かを示す隣接ノード情報を格納する記憶部を備えるコンピュータが、
自身へのパケットの入力があるかをチェックし、
前記パケットの入力が無いと判定した時に、前記隣接ノード情報に基づいて前記１つ以上の隣接ノードの各隣接ノードがＳｌｅｅｐノードであるか判定し、Ｓｌｅｅｐノードと判定された隣接ノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせ、
前記問い合わせに対する前記Ｓｌｅｅｐノードと判定された隣接ノードを除く全隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定する
Ｓｌｅｅｐモード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置が接続するネットワークにおいて、省電力を可能にするＳｌｅｅｐモード制御を行う情報処理装置、Ｓｌｅｅｐモード制御プログラム、およびＳｌｅｅｐモード制御方法に関する。
【背景技術】
【０００２】
ネットワークを流れるトラフィック量は変動しており、時間帯によってはまったくパケットが通過しないノードが出現する。パケットが通過しないノードには、必要最小限の機能だけが動作して電力使用量を最小化するＳｌｅｅｐモードに移行し、省電力を実現しているものがある。
【０００３】
ノードのＳｌｅｅｐモードを制御する方法としては、ネットワークに全体のトラフィック状態を集中管理するサーバを設置し、トラフィックの状態に応じて集中管理サーバが特定のノードにＳｌｅｅｐモードへの移行や復帰を指示するというものがある。
【０００４】
また、Ｓｌｅｅｐモードであるかもしれないネットワーク機器に、別のネットワーク機器からパケットを送り、その応答パケットを監視することで、あるネットワーク機器がＳｌｅｅｐモードにあるのか電源が切られているのかを判断できるようにした機器も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２６１５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の集中管理サーバを用いる方法は、トラフィック情報を収集して管理、判断する機能を持つサーバをネットワーク上に配置する必要がある。また、サーバの処理能力を超える大規模なネットワークに対応できないという問題、あるいはネットワークのトポロジ等が変更になるたびに設定を変更するなどの作業が必要となり管理コストがかかるという問題があった。
【０００７】
また、ノードが実際に自分に入力されるパケットの有無だけで、自己判断でＳｌｅｅｐモードに移行する場合、たまたま短い時間パケットが来ない場合でも、Ｓｌｅｅｐモードに移行してしまい、Ｓｌｅｅｐした直後にパケットが来るとすぐにＡｗａｋｅ（Ｓｌｅｅｐモードからの復帰）する必要が発生することがある。このように、実際に自分に入力されるパケットの有無だけで、自己判断でＳｌｅｅｐモードに移行すると、頻繁なモード切替が生じるという問題があった。
【０００８】
また、Ｓｌｅｅｐモードからの復帰方法としては、パケットがＳｌｅｅｐノードに到着したら復帰する、あるいはＳｌｅｅｐノードに隣接する１つ手前のノードに到着したら、その隣接ノードがＳｌｅｅｐノードを復帰させる、というものがあるが、この場合復帰に要する時間だけパケット転送遅延が発生するという問題があった。
【０００９】
本発明の課題は、集中管理サーバ無しで、頻繁なモード切り替えを回避できる装置を提供することである。
【課題を解決するための手段】
【００１０】
第１の実施の形態に開示の情報処理装置は、自身へのパケットの入力があるかをチェックするトラフィック制御部と、前記トラフィック制御部が、パケットの入力が無いと判定した時にＳｌｅｅｐノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせるＳｌｅｅｐ問い合わせ処理部と、前記Ｓｌｅｅｐ問い合わせ処理部による問い合わせに対する隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定するＳｌｅｅｐ判定部と、を備える。
【００１１】
第２の実施の形態に開示の情報処理装置は、隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックするトラフィック制御部と、前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信するＳｌｅｅｐ判定処理部と、を備える。
【発明の効果】
【００１２】
開示の情報処理装置によれば、集中管理サーバ無しで、頻繁なモード切り替えを回避できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態のＳｌｅｅｐモード制御方法の基本方式を示す図である。
【図２】第１の実施の形態に係るノードの構成図である。
【図３】隣接ノード情報の例である。
【図４】Ｓｌｅｅｐ制御条件の例である。
【図５】リンク情報の例である。
【図６】経路情報の例である。
【図７】第１の実施の形態に係るノードのＳｌｅｅｐモード制御処理のフローチャートである。
【図８】第１の実施の形態に係る隣接ノードのＳｌｅｅｐ可否の問い合わせに対する応答処理のフローチャートである。
【図９】第１の実施の形態に係る隣接ノードのモード変更要求処理のフローチャートである。
【図１０】実施の形態に係るパケット送出可能性判定処理のフローチャートである。
【図１１】パケット送出可能性判定の具体例におけるネットワーク構成図である。
【図１２】ノード１５１の持つ経路情報を示す図である。
【図１３】ノード１５１の持つリンク情報を示す図である。
【図１４】第１の実施の形態に係る具体例のネットワーク構成図である。
【図１５】ノード１７１の持つ経路情報を示す図である。
【図１６】ノード１７１の持つリンク情報を示す図である。
【図１７】ノード１７１の持つＳｌｅｅｐ制御条件を示す図である。
【図１８】ノード１７５の持つ経路情報を示す図である。
【図１９】ノード１７５の持つリンク情報を示す図である。
【図２０】ノード１７４の持つリンク情報を示す図である。
【図２１】ノード１７１の持つリンク情報を示す図である。
【図２２】ノード１７１のプライマリ経路の利用率を示すグラフである。
【図２３】第２の実施の形態に係るＳｌｅｅｐモード制御方法の基本方式を示す図である。
【図２４】第２の実施の形態に係るノードの構成図である。
【図２５】第２の実施の形態に係るノードのＳｌｅｅｐモード制御処理のフローチャートである。
【図２６】第２の実施の形態に係る隣接ノードのＳｌｅｅｐモード制御処理のフローチャートである。
【図２７】第２の実施の形態に係る具体例のネットワーク構成図である。
【図２８】ノード２４１の持つ経路情報を示す図である。
【図２９】ノード２４１の持つリンク情報を示す図である。
【図３０】ノード２４２の持つリンク情報を示す図である。
【図３１】ノード２４３の持つリンク情報を示す図である。
【図３２】ノード２４４の持つリンク情報を示す図である。
【図３３】時間ｔ１におけるノード２４１の持つリンク情報を示す図である。
【図３４】ノード２４１の利用率を示すグラフである。
【図３５】時間ｔ４におけるノード２４１の持つリンク情報を示す図である。
【図３６】ノード２４１の持つＳｌｅｅｐ制御条件を示す図である。
【図３７】ノード２４１の利用率を示すグラフである。
【図３８】第１および第２の実施の形態のＳｌｅｅｐモード制御方法では頻繁なモード切替を回避できない例を示す図である。
【図３９】第１および第２の実施の形態のＳｌｅｅｐモード制御方法では頻繁なモード切替を回避できない例を示す図である。
【図４０】第３の実施の形態のＳｌｅｅｐモード制御方法の基本方式を示す図である。
【図４１】第３の実施の形態のＳｌｅｅｐモード制御方法の基本方式を示す図である。
【図４２】第３の実施の形態に係るノードの構成図である。
【図４３】第３の実施の形態に係るノードの送出予告および解除メッセージの生成処理のフローチャートである。
【図４４】第３の実施の形態に係るノードのＳｌｅｅｐモード制御処理のフローチャートである。
【図４５】第３の実施の形態に係る具体例のネットワーク構成図である。
【図４６】ノード３４１〜３４６が持つＳｌｅｅｐ制御条件を示す図である。
【図４７】ノード３４１の持つ経路情報を示す図である。
【図４８】ノード３４１の持つリンク情報を示す図である。
【図４９】ノード３４６の持つ経路情報を示す図である。
【図５０】ノード３４６の持つリンク情報を示す図である。
【図５１】ノード３４４の持つリンク情報を示す図である。
【図５２】ノード３４１の持つリンク情報を示す図である。
【図５３】送出予告メッセージの形式を示す図である。
【図５４】ノード３４１の持つリンク情報を示す図である。
【図５５】送出予告解除メッセージの形式を示す図である。
【図５６】ノード３４２の持つ経路情報を示す図である。
【図５７】ノード３４４の持つ経路情報を示す図である。
【図５８】送出予告メッセージの形式を示す図である。
【図５９】情報処理装置の構成図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本発明の実施の形態について説明する。
（第１の実施の形態）
図１は、第１の実施の形態のＳｌｅｅｐモード制御方法の基本方式を示す図である。
【００１５】
第１の実施の形態において、ネットワーク１００は、５つのノード１０１〜１０５により構成されているものとする。
ノード１０１は、ノード１０２およびノード１０５と接続している。
【００１６】
ノード１０２は、ノード１０１、ノード１０３、ノード１０４、およびノード１０５と接続している。
ノード１０３は、ノード１０２およびノード１０５と接続している。
【００１７】
ノード１０４は、ノード１０２およびノード１０５と接続している。
ノード１０５は、ノード１０１、ノード１０２、ノード１０３、およびノード１０４と接続している。
【００１８】
第１の実施の形態において、ノード１０５がＳｌｅｅｐモードの移行する場合について説明する。
図１において、パケットは、ノード１０１→ノード１０２→ノード１０３またはノード１０４→ノード１０２→ノード１０３の経路で送信されている。
【００１９】
ノード１０５は、パケットを受信していないので、Ｓｌｅｅｐモードに移行を試みる。
ノード１０５は、Ｓｌｅｅｐモードに移行しようとする場合、全ての隣接するノード、すなわちノード１０１〜１０４にＳｌｅｅｐ可能か問い合わせる。
【００２０】
問い合わせを受けたノード１０１〜１０４は、ノード１０５がＳｌｅｅｐ可能かそれぞれ判定し、その結果をノード１０５に通知する。ノード１０１〜１０４は、ノード１０５に対して処理を要求する（パケットを送信する）可能性が低いと判定した場合にＳｌｅｅｐ可能であると通知する。
【００２１】
ノード１０５は、全ての隣接ノード、すなわちノード１０１〜１０４からの通知が全てＳｌｅｅｐ可能である場合、Ｓｌｅｅｐモードに移行する。
【００２２】
図２は、第１の実施の形態に係るノードの構成図である。
ノード１１０は、Ｓｌｅｅｐ制御部１１１、Ｓｌｅｅｐ判定制御部１１２、Ｓｌｅｅｐ制御メッセージ処理部１１３、Ｓｌｅｅｐ制御記憶部１１４、経路制御部１１５、およびトラフィック制御機能部１１６を備える。
【００２３】
Ｓｌｅｅｐ制御部１１１は、Ｓｌｅｅｐ判定制御部１１２の指示に基づき、ノード１１０をＳｌｅｅｐモードまたは通常モードに移行させる。
Ｓｌｅｅｐ判定制御部１１２は、（i）自ノードの状態管理、（ii）Ｓｌｅｅｐモード制御に関するメッセージ送信判断を行い、Ｓｌｅｅｐ制御メッセージ処理部１１３へ指示、（iii）隣接ノードへのＳｌｅｅｐ可否問い合わせ、（iv）隣接ノードからのＳｌｅｅｐ可否通知に基づくＳｌｅｅｐ可否を判定し、Ｓｌｅｅｐ制御部１１１にＳｌｅｅｐモードへの移行指示、（v）隣接ノードからのＳｌｅｅｐ可否問い合わせに対する応答などの制御を行う。
【００２４】
Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐモードへの移行、復帰に関するメッセージをトラフィック制御機能部１１６に送信またはトラフィック制御機能部１１６から受信する。
Ｓｌｅｅｐ制御記憶部１１４は、隣接ノード情報およびＳｌｅｅｐ制御条件を格納する。
【００２５】
図３は、隣接ノード情報の例である。
隣接ノード情報は、テーブルの項目として、ＩＦ（インタフェース）番号、接続先（next hop）、隣接ノードstatus、メッセージ送信status、およびメッセージ送信時刻を有する。
【００２６】
ＩＦ（インタフェース）番号には、ノードが持つインタフェースの番号が記述される。
接続先（next hop）には、対応するＩＦ番号のインタフェースに接続されているノードが記述される。
【００２７】
隣接ノードstatusには、接続先のノードの状態が記述される。“稼動中”は、ノードが通常モードであることを示し、“Ｓｌｅｅｐ中”は、ノードがＳｌｅｅｐモードであることを示す。
【００２８】
メッセージ送信statusには、接続先のノードに送信したメッセージの種別が記述される。
メッセージ送信時刻には、メッセージを送信した時刻が記述される。
【００２９】
図４は、Ｓｌｅｅｐ制御条件の例である。
Ｓｌｅｅｐ制御条件は、テーブルの項目として、条件および動作を有する。
条件には、パケットの転送や後述の送出可能性判定における判断基準である条件が記述される。
【００３０】
動作には、パケットの転送や後述の送出可能性判定において、対応する条件を満たしたときのノードの動作が記述される。
図２の経路制御部１１５は、リンク情報記憶部１１７および経路情報記憶部１１８を備える。
リンク情報記憶部１１７は、リンク情報を格納する。
【００３１】
図５は、リンク情報の例である。
リンク情報は、テーブルの項目として、ＩＦ（インタフェース）番号、接続先（next hop）、帯域、送出レート、利用率（送出）、流入レート、および利用率（送出）を有する。
【００３２】
ＩＦ（インタフェース）番号には、ノードが持つインタフェースの番号が記述される。
接続先（next hop）には、対応するＩＦ番号のインタフェースに接続されているノードが記述される。
【００３３】
帯域には、自ノードと接続先間との帯域が記述される。
送出レートには、送出データの転送速度が記述される。
利用率（送出）には、送出レートが帯域を占める割合が記述される。
【００３４】
流入レートには、受信データの転送速度が記述される。
利用率（流入）には、流入レートが帯域を占める割合が記述される。
経路情報記憶部１１８は、経路情報を格納する。
【００３５】
図６は、経路情報の例である。
経路情報は、テーブルの項目として、宛先、ＩＦ（インタフェース）番号、接続先（next hop）、経路、種別、および転送確率を有する。
【００３６】
宛先は、パケットの宛先のノードまたはネットワークが記述される。
ＩＦ（インタフェース）番号には、ノードが持つ対応する宛先に到達可能なインタフェースの番号が記述される。
【００３７】
接続先（next hop）には、対応するＩＦ番号のインタフェースが接続されているノードが記述される。
経路には、送信元から宛先までのパケットが通るノードが記述される。
【００３８】
種別には、対応する経路の優先順位を示す種別が記載される。プライマリ経路は、最優先に用いられる経路であり、セカンダリ経路は２番目に優先される経路である。
転送確率には、宛先までの複数の経路の内で、パケットが対応する経路に転送される確率が記述される。
図２のトラフィック制御機能部１１６は、パケットやメッセージの送受信を行う。
【００３９】
図７は、第１の実施の形態に係るノードのＳｌｅｅｐモード制御処理のフローチャートである。
ステップＳ１２１において、トラフィック制御機能部１１６は、自ノードへの入力パケットの状態（入力パケットがあったかどうか）を定期的にチェックする。
ステップＳ１２２において、入力パケットが無かった場合はステップＳ１２１に制御は進み、入力パケットがあった場合はステップＳ１２３に制御は進む。
【００４０】
ステップＳ１２３において、Ｓｌｅｅｐ判定制御部１１２は、Ｓｌｅｅｐノード（Ｓｌｅｅｐモードに移行しているノード）を除く、全隣接ノードへＳｌｅｅｐ可否問い合わせ（Ｓｌｅｅｐ  ＯＫ？）のメッセージを送信するようにＳｌｅｅｐ制御メッセージ処理部１１３に指示する。尚、どの隣接ノードがＳｌｅｅｐノードであるかは、隣接ノード情報の隣接ノードstatusに基づき判断する。
【００４１】
Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐノードを除く、全隣接ノードへＳｌｅｅｐ可否問い合わせのメッセージ（Ｓｌｅｅｐ  ＯＫ？）を送信する。
ステップＳ１２４において、Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐ可否問い合わせに対する応答メッセージを待つ。
【００４２】
ステップＳ１２５において、Ｓｌｅｅｐ制御メッセージ処理部１１３が、Ｓｌｅｅｐ可否問い合わせを送信した全隣接ノードから応答メッセージを受信した、またはＳｌｅｅｐ可否問い合わせから一定時間（ユーザが任意に指定可能）経過した場合は、ステップＳ１２６に制御は進む。Ｓｌｅｅｐ可否問い合わせを送信した全隣接ノードの少なくとも一部から応答メッセージを受信しておらず且つＳｌｅｅｐ可否問い合わせから一定時間経過していない場合は、ステップＳ１２４に制御は戻る。
【００４３】
ステップＳ１２６において、Ｓｌｅｅｐ制御判定部１１２は、全ての応答メッセージがＳｌｅｅｐモードに移行可能であることを示す“Ｓｌｅｅｐ  ＯＫ”かどうか判定する。全ての応答メッセージが“Ｓｌｅｅｐ  ＯＫ”の場合は、ステップＳ１２７に進み、応答メッセージにＳｌｅｅｐモードへの移行不可を示す“Ｓｌｅｅｐ  ＮＧ”が含まれていた場合は処理を終了する。
【００４４】
ステップＳ１２７において、Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐモードに移行することを全隣接ノードに通知する。
ステップＳ１２８において、Ｓｌｅｅｐ判定制御部１１２は、Ｓｌｅｅｐ制御部１１１にＳｌｅｅｐモードに移行させるべきことを指示し、Ｓｌｅｅｐ制御部１１１はノード１１０をＳｌｅｅｐモードに移行させる。
【００４５】
図８は、第１の実施の形態に係る隣接ノードのＳｌｅｅｐ可否問い合わせに対する応答処理のフローチャートである。
ステップＳ１３１において、Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐ可能かの問い合わせメッセージ（Ｓｌｅｅｐ  ＯＫ？）を受信する。
【００４６】
ステップＳ１３２において、Ｓｌｅｅｐ判定制御部１１２は、問い合わせメッセージを受信したリンクについてパケット送出可能性判定を行う。尚、パケットの送出可能性判定の詳細については後述する。
【００４７】
ステップＳ１３３において、パケット送出可能性判定において、リンクが利用される可能性が高い（すなわち、リンクの接続先ノードにパケットを送信する可能性が高い）と判定された場合はステップＳ１３４に制御は進み、リンクが利用される可能性が高くない（すなわち、リンクの接続先ノードにパケットを送信する可能性が低い）と判定された場合はステップＳ１３５に制御は進む。
【００４８】
ステップＳ１３４において、Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐ不可能通知（Ｓｌｅｅｐ  ＮＧ）を問い合わせを受けたノードに通知する。
ステップＳ１３５において、Ｓｌｅｅｐ制御メッセージ処理部１１３は、Ｓｌｅｅｐ可能通知（Ｓｌｅｅｐ  ＯＫ）を問い合わせを受けたノードに通知する。
【００４９】
図９は、第１の実施の形態に係る隣接ノードのモード変更要求処理のフローチャートである。
ステップＳ１４１において、Ｓｌｅｅｐ判定制御部１１２は、Ｓｌｅｅｐしている隣接ノードに接続するリンクについて、定期的にパケットの送出可能性判定を行う。尚、パケットの送出可能性判定の詳細については後述する。
【００５０】
ステップＳ１４２において、Ｓｌｅｅｐ判定制御部１１２は、リンクが利用される可能性が高い（すなわち、リンクの接続先ノードにパケットを送信する可能性が高い）と判定された場合はステップＳ１４３に進み、高くない（すなわち、リンクの接続先ノードにパケットを送信する可能性が低い）と判定された場合は処理を終了する。
【００５１】
ステップＳ１４３において、Ｓｌｅｅｐ制御メッセージ処理部１１３は、利用される可能性が高いと判定されたリンクの接続先のＳｌｅｅｐノードに、Ｓｌｅｅｐモードから復帰させるＡｗａｋｅ指示を送信する。
【００５２】
尚、ノードは自身がＳｌｅｅｐモードに移行するノードなることもあれば、Ｓｌｅｅｐしようとするノードの隣接ノードになることもあるので、各ノードは図７〜図９に示したＳｌｅｅｐモード制御、Ｓｌｅｅｐ可否問い合わせに対する応答処理、およびモード変更要求処理のすべての処理を行っている。
【００５３】
第１の実施の形態のノードによれば、集中管理サーバ無しでも、頻繁なモードの切り換えを回避することが出来る。
また、パケットを送信する可能性が高いＳｌｅｅｐノードに対して、Ａｗａｋｅ指示を出すことで、予めＳｌｅｅｐモードから通常モードに移行することにより、Ｓｌｅｅｐモードからの復帰時間が原因となる転送遅延を防ぐことが出来る。
【００５４】
次に図８のステップＳ１３２、図９のステップＳ１４１のパケット送出可能性判定処理の詳細について説明する。
図１０は、実施の形態に係るパケット送出可能性判定処理のフローチャートである。
【００５５】
ステップＳ１６１において、Ｓｌｅｅｐ判定制御部１１２は、経路情報を参照し、判定対象のリンクについて、該リンクがセカンダリ経路で使われている宛先を抽出する。
ステップＳ１６２において、Ｓｌｅｅｐ判定制御部１１２は、経路情報およびリンク情報を参照し、抽出された宛先へのプライマリ経路を構成する最初のリンクの利用率（送出）が閾値を超えるかをＳｌｅｅｐ制御条件に基づき判定する。閾値を超えている場合はステップＳ１６３に制御は進み、閾値以下の場合はステップＳ１６４に制御は進む。
【００５６】
ステップＳ１６３において、Ｓｌｅｅｐ判定制御部１１２は、判定対象のリンクは利用される可能性が高い（すなわち、リンクの接続先ノードにパケットを送信する可能性が高い）と判定する。
【００５７】
ステップＳ１６４において、Ｓｌｅｅｐ判定制御部１１２は、判定対象のリンクは利用される可能性が低い（すなわち、リンクの接続先ノードにパケットを送信する可能性が低い）と判定する。
【００５８】
尚、ステップＳ１３２では、プライマリ経路の接続先（next hop）でもなく、セカンダリ経路の接続先（next hop）でもないノードからの問い合わせに対しては、リンクを利用する可能性は常に低いと判定する。
【００５９】
尚、上述のパケット送出可能性判定処理は、後述の第２および第３の実施の形態においても利用される。
ここで、パケット送出可能性判定処理の具体例について説明する。
【００６０】
図１１は、パケット送出可能性判定処理の具体例におけるネットワーク構成図である。
ネットワーク１５０は、ノード１５１〜１５４、ＮＷ１５５により構成されている。
ノード１５１は、ノード１５２、ノード１５３、およびノード１５４と接続している。
ノード１５２は、ノード１５１、ノード１５３、およびＮＷ１５５に接続している。
ノード１５３は、ノード１５１およびノード１５２に接続している。
ノード１５４は、ノード１５１に接続している。
【００６１】
ここでは、ノード１５３がＳｌｅｅｐ可能であるかの問い合わせをノード１５１にする場合の、ノード１５１におけるパケット送出可能性判定処理について述べる。
ノード１５１は、図４に示すＳｌｅｅｐ制御条件、図１２に示す経路情報、および図１３示すリンク情報を保持しているものとする。
【００６２】
図１２の経路情報に示すように、宛先ＮＷ１５５へのプライマリ経路はノード１５１→ノード１５２→ＮＷ１５５、セカンダリ経路はノード１５１→ノード１５３→ノード１５２→ＮＷ１５５である。
【００６３】
ノード１５１とノード１５３との間のリンクが使用されているセカンダリ経路の宛先はＮＷ１５５であるので、ＮＷ１５５が抽出される（ステップＳ１６１）。
経路情報を参照すると抽出された宛先ＮＷ１５５のプライマリ経路のＩＦ番号はＩＦ１である。リンク情報を参照するとＩＦ１の利用率（送出）は４０％である。Ｓｌｅｅｐ条件を参照して、４０％が閾値を超えているか判定する（ステップＳ１６２）。Ｓｌｅｅｐ条件を参照すると、セカンダリ経路を使用する可能性が高いと判断するのは利用率（送出）が６０％（閾値）を超えたときである。
【００６４】
したがって、ノード１５３を通るセカンダリ経路を使用する可能性は低いと判定される（ステップＳ１６４）。
上述のように、パケット送出可能性判定は行われる。
【００６５】
また、他のパケット送出可能性の判定の基準として、以下のような基準を用いることも出来る。
（i）利用率の増加率：プライマリ経路を構成するリンク利用率の増加率が一定時間以上高い状態が続いた場合で、かつリンク利用率が一定値を超えた場合は、セカンダリ経路を使う可能性が高いと判断する。
利用率の増加率に基づく判断を行うと、リンク利用率が閾値を超えたときにＡｗａｋｅしても間に合わないほどの急激なトラフィック増加にも対応することが可能となる。
【００６６】
（ii）曜日、時間帯による利用率の変化情報：ある曜日のある時間帯は、プライマリ経路の利用率が閾値を超える可能性が９５％である、といった情報を保持し、その時間帯にはセカンダリ経路の次ホップに対してセカンダリ経路を使う可能性が高いと判断する。  
【００６７】
曜日、時間帯による利用率の変化情報を利用すると、トラフィック変動に特徴がある場合に、その特徴に合わせたＳｌｅｅｐ制御が可能となる。
【００６８】
以下、第１の実施の形態のＳｌｅｅｐモード制御方法の具体例について説明する。
図１４は、第１の実施の形態に係る具体例のネットワーク構成図である。
第１の実施の形態の具体例において、ネットワーク１７０は、６つのノード１７１〜１７６により構成されているものとする。
【００６９】
ノード１７１は、ノード１７２およびノード１７４と接続している。
ノード１７２は、ノード１７１、ノード１７３、およびノード１７４と接続している。
ノード１７３は、ノード１７２、ノード１７４、およびノード１７６と接続している。
【００７０】
ノード１７４は、ノード１７１、ノード１７２、およびノード１７３と接続している。
ノード１７５は、ノード１７４およびノード１７６と接続している。
ノード１７６は、ノード１７３およびノード１７５と接続している。
【００７１】
ノード１７１は図１５〜１７に示すような情報を保持しているものする。
図１５は、ノード１７１の持つ経路情報を示す図である。
図１６は、ノード１７１の持つリンク情報を示す図である。
図１７は、ノード１７１の持つＳｌｅｅｐ制御条件を示す図である。
【００７２】
ノード１７１からノード１７３へのパケット転送経路に関して、図１５の経路情報を参照すると、プライマリ経路（通常使う経路）は、ノード１７１→ノード１７２→ノード１７３（図１４の経路１）、プライマリ経路の利用率が高くなった場合に追加して使うセカンダリ経路はノード１７１→ノード１７４→ノード１７３（図１４の経路２）となっている。
【００７３】
また、ノード１７５は図１８〜１９に示すような情報を保持しているものする。
図１８は、ノード１７５の持つ経路情報を示す図である。
図１９は、ノード１７５の持つリンク情報を示す図である。
【００７４】
ノード１７５からノード１７３へのパケット転送経路に関して、図１８の経路情報を参照すると、プライマリ経路（通常使う経路）は、ノード１７５→ノード１７６→ノード１７３（図１４の経路３）、プライマリ経路の利用率が高くなった場合にプライマリ経路に追加して使うセカンダリ経路はノード１７５→ノード１７４→ノード１７３（図１４の経路４）となっている。
【００７５】
図２０は、ノード１７４の持つリンク情報を示す図である。
ノード１７４は、図２０に示すように自身に接続するリンクの利用率がすべて０％であるので、Ｓｌｅｅｐしてよいか問い合わせるメッセージを隣接ノード１７１、１７２、１７３、１７５に送信する。
【００７６】
ノード１７１は図１６および図１７を参照し、経路１を構成する最初のリンクが４０％の利用率であるので、図１７のＳｌｅｅｐ制御条件により経路２を利用する可能性は低いと判断し、経路２のnext hopであるノード１７４はＳｌｅｅｐモードに移行してよいと判断し、Ｓｌｅｅｐ可能通知をノード１７４に応答する。
【００７７】
ノード１７５は図１８および図１９を参照し、経路３を構成する最初のリンクが１０％の利用率であるので、経路４を利用する可能性は低いと判断し、経路４のnext hopであるノード１７４はＳｌｅｅｐモードに移行してよいと判断し、Ｓｌｅｅｐ可能通知をノード１７４に応答する。
【００７８】
ノード１７２およびノード１７３は、next hopがノード１７４である経路情報を持たないため、Ｓｌｅｅｐモードに移行してよいと判断し、Ｓｌｅｅｐ可能通知をノード１７４に応答する。
【００７９】
ノード１７４は、全ての隣接ノード、すなわちノード１７１、１７２、１７３、および１７５からＳｌｅｅｐ可能通知を受け取ったので、ノード１７１、１７２，１７３、および１７５にＳｌｅｅｐモードへ移行することを通知したのち、Ｓｌｅｅｐモードに移行するする。
【００８０】
次にノード１７４がＳｌｅｅｐモードの状態から、さらに異なる状態に変化する例を説明する。
図２１は、ノード１７１の持つリンク情報を示す図である。
【００８１】
上述のノード１７４がＳｌｅｅｐした状態から、ネットワーク状態が変化し、図２１に示すようにノード１７１の管理するリンク情報の利用率（送出）が６１％になると、図１７のＳｌｅｅｐ制御条件の２番目の条件に該当するため、以下のような動作をする。
【００８２】
ノード１７１は経路２（セカンダリ経路）も使う可能性が高くなったと判断し、Ａｗａｋｅ指示をＳｌｅｅｐ中のノード１７４に送信する。
Ａｗａｋｅ指示を受信したノード１７４は、Ｓｌｅｅｐモードから復帰する。
【００８３】
図２２は、ノード１７１のプライマリ経路の利用率を示すグラフである。縦軸は利用率、横軸は時間である。
図２２に示すように、プライマリ経路（経路１）の利用率が徐々に増加していった場合、時間ｔ２でセカンダリ経路（経路２）も使ったパケット転送が行われる前に、あらかじめ時間ｔ１の時点でノード１７４をＡｗａｋｅさせる。
【００８４】
このように、パケットを転送する前にあらかじめＳｌｅｅｐモードから復帰させておくことで、パケットが来たときにＳｌｅｅｐモードから復帰に要する時間が原因となる転送遅延を回避することが出来る。
【００８５】
（第２の実施の形態）
図２３は、第２の実施の形態に係るＳｌｅｅｐモード制御方法の基本方式を示す図である。
【００８６】
第２の実施の形態において、ネットワーク２００は、５つのノード２０１〜２０５により構成されているものとする。
ノード２０１は、ノード２０２およびノード２０５と接続している。
ノード２０２は、ノード２０１、ノード２０３、およびノード２０５と接続している。
ノード２０３は、ノード２０２およびノード２０５と接続している。
ノード２０４は、ノード２０２およびノード２０５と接続している。
ノード２０５は、ノード２０１、ノード２０２、ノード２０３、およびノード２０４と接続している。
【００８７】
第２の実施の形態において、ノード２０５がＳｌｅｅｐモードの移行する場合について説明する。
図２３において、パケットは、ノード２０１→ノード２０２→ノード２０３またはノード２０４→ノード２０２→ノード２０３の経路で送信されている。
各ノードは、隣接ノードのうち、パケットを送信する可能性が低いノードがあるか定期的に判断する。
【００８８】
各ノードは、パケットを送信する可能性が低いと判断した隣接ノードに対して、Ｓｌｅｅｐ可能という通知を行う。また、Ｓｌｅｅｐモードに移行している隣接ノードがあり、該ノードに対してパケットを送信する可能性が高いと判断した場合、Ａｗａｋｅ指示を該ノードに送信してＳｌｅｅｐモードから復帰させる。
【００８９】
第１の実施の形態においては、ノードは問い合わせを受けたときにＳｌｅｅｐ可能であるかを判断していたが、第２の実施の形態においては、ノードは隣接ノードがＳｌｅｅｐ可能かどうかを積極的に判断している。
【００９０】
図２３において、ノード２０１〜２０４は、ノード２０５にパケットを送信する可能性が低いと判断し、ノード２０５に対してＳｌｅｅｐ可能であると通知する。
ノード２０５は、全ての隣接ノード、すなわちノード２０１〜２０４からのＳｌｅｅｐ可能通知を受信すると、ノード２０５はＳｌｅｅｐモードに移行する。ノード２０５はＳｌｅｅｐモードに移行する際に、Ｓｌｅｅｐモードでない全隣接ノード、すなわちノード２０１〜２０４に対して、Ｓｌｅｅｐモードに移行したことを知らせるＳｌｅｅｐ通知を行う。
【００９１】
図２４は、第２の実施の形態に係るノードの構成図である。
ノード２１０は、Ｓｌｅｅｐ制御部２１１、Ｓｌｅｅｐ判定制御部２１２、Ｓｌｅｅｐ制御メッセージ処理部２１３、Ｓｌｅｅｐ制御記憶部２１４、経路制御部２１５、およびトラフィック制御機能部２１６を備える。
【００９２】
Ｓｌｅｅｐ制御部２１１、Ｓｌｅｅｐ制御メッセージ処理部２１３、Ｓｌｅｅｐ制御記憶部２１４、経路制御部２１５、およびトラフィック制御機能部２１６は、それぞれ第１の実施の形態のＳｌｅｅｐ制御部１１１、Ｓｌｅｅｐ制御メッセージ処理部１１３、Ｓｌｅｅｐ制御記憶部１１４、経路制御部１１５、およびトラフィック制御機能部１１６と同様である。
【００９３】
Ｓｌｅｅｐ判定制御部２１２は、（i）自ノードの状態管理、（ii）Ｓｌｅｅｐモード制御に関するメッセージ送信判断を行い、Ｓｌｅｅｐ制御メッセージ処理部２１３へ指示、（iii）隣接ノードのパケット送出可能性を定期的に判定し、判定結果に基づきＳｌｅｅｐ可能通知またはＡｗａｋｅ指示の送信（iv）全ての隣接ノードからのＳｌｅｅｐ可能通知に基づき、Ｓｌｅｅｐ制御部２１１にＳｌｅｅｐモードへの移行指示などを行う。
【００９４】
図２５は、第２の実施の形態に係るノードのＳｌｅｅｐモード制御処理のフローチャートである。
ステップＳ２２１において、Ｓｌｅｅｐ判定制御部２１２は、隣接ノードからのメッセージ（通知）を待つ。
【００９５】
ステップＳ２２２において、Ｓｌｅｅｐ制御メッセージ処理部２１３は、Ｓｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知（Ｓｌｅｅｐ  ＯＫ）を受信する。
ステップＳ２２３において、Ｓｌｅｅｐ判定制御部２１２は、Ｓｌｅｅｐノードを除く全隣接ノードから“Ｓｌｅｅｐ  ＯＫ”の通知を受信したか判定する。Ｓｌｅｅｐノードを除く全隣接ノードから“Ｓｌｅｅｐ  ＯＫ”の通知を受信した場合は、制御はステップＳ２２４に進み、Ｓｌｅｅｐノードを除く全隣接ノードから“Ｓｌｅｅｐ  ＯＫ”の通知を受信しない場合は、制御はステップＳ２２１に戻る。
【００９６】
ステップＳ２２４において、Ｓｌｅｅｐ制御メッセージ処理部２１３は、Ｓｌｅｅｐモードに移行することを全隣接ノードに通知する。
ステップＳ２２５において、Ｓｌｅｅｐ判定制御部２１２は、Ｓｌｅｅｐ制御部２１１にＳｌｅｅｐモードに移行することを通知し、Ｓｌｅｅｐ制御部２１１はノード２１０をＳｌｅｅｐモードに移行させる。
【００９７】
図２６は、第２の実施の形態に係る隣接ノードのＳｌｅｅｐモード制御処理のフローチャートである。
ステップＳ２３１において、Ｓｌｅｅｐ判定制御部２１２は、リンク情報を定期的に参照し、利用率（送出）および利用率（流入）をチェックする。
【００９８】
ステップＳ２３２において、Ｓｌｅｅｐ判定制御部２１２は、リンク情報を参照し、利用率（送出）および利用率（流入）が０％である未使用リンクがあるか判定する。未使用リンクがある場合はステップＳ２３３に制御は進み、未使用リンクが無い場合はステップＳ２３１に制御は戻る。
【００９９】
ステップＳ２３３において、Ｓｌｅｅｐ判定制御部２１２は、未使用リンクに対してパケット送出可能性判定を行う。
ステップＳ２３４において、Ｓｌｅｅｐ判定制御部２１２は、ステップＳ２３３で利用される可能性が高いと判定された場合はステップＳ２３５に制御は進み、利用される可能性が高くないと判定された場合はステップＳ２３７に制御は進む。
【０１００】
ステップＳ２３５において、Ｓｌｅｅｐ判定制御部２１２は、隣接ノード情報に基づき、未使用リンクの接続ノードがＳｌｅｅｐしている、またはSleep OKメッセージを隣接ノードに送信済か判定する。Ｓｌｅｅｐしている、またはSleep OKメッセージを送信済の場合はステップＳ２３６に制御は進み、Ｓｌｅｅｐしていない且つSleep OKメッセージを送信済でない場合は、処理を終了する。
【０１０１】
ステップＳ２３６において、Ｓｌｅｅｐ制御メッセージ処理部２１３は、未使用リンクの接続ノードへＡｗａｋｅ指示を送信する。
ステップＳ２３７において、Ｓｌｅｅｐ判定制御部２１２は、隣接ノード情報に基づき、未使用リンクの接続ノードがＳｌｅｅｐしている、またはSleep OKメッセージを隣接ノードに送信済か判定する。未使用リンク接続ノードがＳｌｅｅｐしている、またはSleep OKメッセージを送信済の場合はステップＳ２３１に制御は戻り、未使用リンク接続ノードがＳｌｅｅｐしていない且つSleep OKメッセージを送信済でない場合は、ステップＳ２３８に制御は進む
【０１０２】
ステップＳ２３８において、Ｓｌｅｅｐ制御メッセージ処理部２１３は、空きリンク接続ノードへＳｌｅｅｐ可能通知を送信する。
尚、ノードは自身がＳｌｅｅｐモードに移行するノードなることもあれば、Ｓｌｅｅｐしようとするノードの隣接ノードになることもあるので、各ノードは図２５および図２６の両方の処理を行っている。
【０１０３】
以下、第２の実施の形態のＳｌｅｅｐモード制御方法の具体例について説明する。
図２７は、第２の実施の形態に係る具体例のネットワーク構成図である。
第２の実施の形態の具体例において、ネットワーク２４０は、４つのノード２４１〜２４４により構成されているものとする。
【０１０４】
ノード２４１は、ノード２４２およびノード２４４と接続している。
ノード２４２は、ノード２４１、ノード２４３、およびノード２４４と接続している。
ノード２４３は、ノード２４２およびノード２４４と接続している。
ノード２４４は、ノード２４１、ノード２４２、およびノード２４３と接続している。
ノード２４１は図２８および図２９に示すような情報を保持しているものする。
【０１０５】
図２８は、ノード２４１の持つ経路情報を示す図である。
図２９は、ノード２４１の持つリンク情報を示す図である。
ノード２４２、ノード２４３、およびノード２４４は、それぞれ図３０、図３１、および図３２に示すリンク情報を保持しているものとする。
【０１０６】
また、ノード２４１〜２４４は、図１７に示すＳｌｅｅｐ制御条件を保持しているものとする。
ネットワーク２４０において、ノード２４１は、ノード２４３にパケットを送る場合、プライマリ経路（経路１）としてノード２４１→ノード２４２→ノード２４３、セカンダリ経路として（経路２）ノード２４１→ノード２４４→ノード２４３の２つの経路を利用できる（図２８参照）。
【０１０７】
図２９に示すように、ノード２４１はノード２４４へのリンク1→４の利用率が０％であり、かつ経路１の利用率が４０％であるので、Ｓｌｅｅｐ制御条件より経路２は使わないと判断する。そしてノード２４１は、ノード２４４に対してＳｌｅｅｐ可能通知を送る。
【０１０８】
図３０および図３１に示すようにノード２４２、２４３はノード２４４へのリンク２４２→２４４、２４３→２４４の利用率が０％であり、かつノード２４４がnext hopとなる経路を管理していないため、ノード２４４に対してＳｌｅｅｐ可能通知を送る。
【０１０９】
ノード２４４はすべての隣接ノードからＳｌｅｅｐ可能通知を受け取ったため、ノード２４１、２４２、２４３に対してＳｌｅｅｐモードへ移行することを通知し、Ｓｌｅｅｐモードに移行する。
【０１１０】
ノード２４４がＳｌｅｅｐモードに移行した状態から、ネットワーク２４０の状況が変化した場合について説明する。
図３３は、ノード２４１のリンク情報を示す図である。
【０１１１】
図３３に示すように、プライマリ経路の利用率（送出）が６１％になると、以下のような動作を行う。
ノード２４１は、Ｓｌｅｅｐ制御条件に基づき、セカンダリ経路を使う可能性が高まったと判断し、Ａｗａｋｅ指示をノード２４４に送る。
【０１１２】
ノード２４４は、Ａｗａｋｅ指示を受信すると、Ｓｌｅｅｐモードから復帰する。
図３４は、ノード２４１の利用率を示すグラフである。縦軸は利用率、横軸は時間である。
【０１１３】
図３４に示すように、プライマリ経路（経路１）の利用率が徐々に増加していった場合、時間ｔ２でセカンダリ経路（経路２）を使ったパケット転送が行われる前に、あらかじめ時間ｔ１の時点でノード２４４をＡｗａｋｅさせる。
【０１１４】
このように、パケットを転送する前にあらかじめＳｌｅｅｐモードから復帰させておくことで、パケットが来たときにＳｌｅｅｐモードから復帰に要する時間が原因となる転送遅延を回避することが出来る。
【０１１５】
ノード２４４がＳｌｅｅｐモードから復帰した状態から、ネットワーク２４０の状況が変化した場合について説明する。
図３５は、時間ｔ４におけるノード２４１の持つリンク情報を示す図である。
【０１１６】
ノード２４４がＳｌｅｅｐモードから復帰したあと、図３４の時間ｔ４で図３５に示すように経路１の利用率が変化し、経路１の利用率が４９％、すなわち５０％以下になったとする。ノード２４１は、Ｓｌｅｅｐ制御条件に基づき、再び経路２を使う可能性が高くなくなったと判断し、ノード２４４にＳｌｅｅｐ可能通知を送る。
【０１１７】
ノード２４４は、他のノードからＡｗａｋｅ指示やＳｌｅｅｐ不可通知を受けておらず、ノード２４４からＳｌｅｅｐ可能通知を受け取ったため、すべての隣接ノードからＳｌｅｅｐ可能通知を受けた状態になり、ノード２４１、２４２、２４３に対してＳｌｅｅｐモードへ移行することを通知し、Ｓｌｅｅｐモードに移行する。
【０１１８】
このように、経路２を使う可能性が高くなったと判断する利用率よりも、この可能性が高くなくなったと判断する利用率を小さく定義しておくことで、ＳｌｅｅｐとＡｗａｋｅの頻繁な切替を防ぐことができる。同じ利用率を定義した場合、例えば６０％以上で経路２を利用する可能性が高い、６０％未満で経路２を利用する可能性が高くなくなった、と判断すると定義した場合、経路１の利用率が６０％の前後を変動してしまう（図３４の時間ｔ３からｔ４の間に示した変動）と、そのたびにノード２４４がＳｌｅｅｐとＡｗａｋｅを繰り返してしまう。
【０１１９】
第２の実施の形態の具体例のノード２４４がＳｌｅｅｐしたあと、Ａｗａｋｅするまでの動作に関して、セカンダリ経路を利用する可能性が高いと判断する条件が異なるケースについて説明する。
【０１２０】
図３６は、ノード２４１の持つＳｌｅｅｐ制御条件を示す図である。
図３７は、ノード２４１の利用率を示すグラフである。
図３６の条件３に示すように、プライマリ経路の1分前の利用率と現在の利用率を比較して、1分前の利用率が２０％以上で、かつ増加率が２倍を超えた場合にもセカンダリ経路を利用する可能性が高いと判断する。また、経路利用率の判定は1分ごとに行っているものとする。
【０１２１】
図３７に示すように、ある時間ｔ１での利用率が２０％であった。経路１の利用率が急激に増加傾向にあり、１分後の時間ｔ１＋１には利用率が５６％となった場合、５６％÷２０％＝２．８倍の増加率であり、この時点で６０％には到達していないため条件２は満たさないが、条件３を満たしてセカンダリ経路を利用する可能性が高いと判断する。
【０１２２】
このように、急激に増加傾向となった場合に、条件２では次の利用率判定周期ｔ１＋２になるまでノード２４４のＡｗａｋｅをさせることができず、経路２を使いはじめるｔ２までにノード４のＡｗａｋｅをさせることができないため、条件３に示すような条件が有効となる。
【０１２３】
他にも、図３６の条件４のように、平日の１２時〜１３時には経路１の利用率が必ず６０％を超える、という事象があれば、これを条件として定義し、その時間にノード２４４をＡｗａｋｅさせる、Ｓｌｅｅｐさせないという動作をさせることもできる。
【０１２４】
尚、他の実施の形態において、ノードが第１の実施の形態のＳｌｅｅｐ判定制御部の機能と第２の実施の形態のＳｌｅｅｐ判定制御部の両方の機能を持ち、Ｓｌｅｅｐ可否の問い合わせと定期的なＳｌｅｅｐ可否判断に基づくＳｌｅｅｐ通知を両方行うようにすることも出来る。
【０１２５】
（第３の実施の形態）
ネットワークの構成によっては、第１および第２の実施の形態で述べたＳｌｅｅｐモードに移行したいノードと隣接ノード間のやりとりだけでは、頻繁なＳｌｅｅｐモードへの移行・復帰（モード切替）が回避できないケースがある。
【０１２６】
図３８および図３９は、頻繁なＳｌｅｅｐモードの切り替えが生じる場合を示す図である。
ネットワーク３００は、エッジノード３０１〜３０３とコアノードA,B,Cの６ノードで構成される。ネットワーク３００において、パケットがノードBを通過していない状況が発生しており、ノードBの隣接ノードは実施の形態１または２のＳｌｅｅｐ制御によってノードBがＳｌｅｅｐ可能と判断する。
【０１２７】
しかし、実際にはノード３０１からノードＡを通過しノード３０３へ到着する経路（以下、経路３０１→A→３０３と記述）の利用率が高くなってきており、結果的には新経路３０１→A→C→B→３０３を使うことになり、ノードＢはＡｗａｋｅさせられる。
【０１２８】
経路３０１→A→３０３の利用率を把握し、新経路３０１→A→C→B→３０３を使うことになりそうだと判断できるのは始点ノード３０１または切替ノードＡであり、どちらもノードＢの隣接ノードではないため、実施の形態１および２の方法では頻繁なモード切り替えが回避できない。
【０１２９】
図４０および図４１は、第３の実施の形態のＳｌｅｅｐモード制御方法の基本方式を示す図である。
第３の実施の形態において、ネットワーク３００は、６つのノード３０１〜３０３、Ａ〜Ｃにより構成されているものとする。
【０１３０】
ノード３０１は、ノードＡおよびノードＣと接続している。
ノード３０２は、ノードＡ、ノードＢ、およびノードＣと接続している。
ノード３０３は、ノードＡおよびノードＢと接続している。
【０１３１】
ノードＡは、ノード３０１、ノード３０２、ノード３０３、およびノードＣと接続している。
ノードＢは、ノード３０２、ノード３０３、およびノードＣと接続している。
ノードＣは、ノード３０１、ノード３０２、ノードＡ、およびノードＢと接続している。
【０１３２】
図４０および４１において、ノード３０１からノード３０３へのパケットの経路は、プライマリ経路としてノード３０１→ノードＡ→ノード３０３、セカンダリ経路としてノード３０１→ノードＡ→ノードＣ→ノードＢ→ノード３０３が割り当てられているとする。
【０１３３】
ノードＡが、パケット転送に使っている現在の経路（プライマリ経路）を構成するリンク利用率が高くなってきており、輻輳を避けるために第二の経路（セカンダリ経路）も使用する可能性が高い、と判断した場合は、パケットを送出する可能性が高いことを示すパケット送出予告メッセージをセカンダリ経路のnext hopであるノードＣに送る。
【０１３４】
パケット送出予告メッセージを受けたノードＣは、さらにセカンダリ経路の次のノード（next hop）であるノードＢにパケット送出予告を送る（図４０参照）。
【０１３５】
また、図４１に示すように、パケット送出予告を送信する対象のノードＣおよびＢがＳｌｅｅｐ状態であった場合は、パケット送出予告メッセージを送る前にＳｌｅｅｐモードからの復帰を要求するＡｗａｋｅ指示を送信する。
【０１３６】
送出予告メッセージを出したノードは、その後セカンダリ経路を使用する可能性が低くなったと判断した場合に、パケット送出予告解除メッセージを送る。
送出予告メッセージを受けたノードは、少なくともパケット送出予告解除メッセージを受けるまでＳｌｅｅｐモードに移行しないようにする。
【０１３７】
図４２は、第３の実施の形態に係るノードの構成図である。
ノード３１０は、Ｓｌｅｅｐ制御部３１１、Ｓｌｅｅｐ判定制御部３１２、Ｓｌｅｅｐ制御メッセージ処理部３１３、Ｓｌｅｅｐ制御記憶部３１４、経路制御部３１５、およびトラフィック制御機能部３１６を備える。
【０１３８】
Ｓｌｅｅｐ制御部３１１、Ｓｌｅｅｐ制御メッセージ処理部３１３、Ｓｌｅｅｐ制御記憶部３１４、経路制御部３１５、およびトラフィック制御機能部３１６は、それぞれ第１の実施の形態のＳｌｅｅｐ制御部１１１、Ｓｌｅｅｐ制御メッセージ処理部１１３、Ｓｌｅｅｐ制御記憶部１１４、経路制御部１１５、およびトラフィック制御機能部１１６と同様である。
【０１３９】
Ｓｌｅｅｐ判定制御部３１２は、（i）自ノードの状態管理、（ii）Ｓｌｅｅｐモード制御に関するメッセージ送信判断を行い、Ｓｌｅｅｐ制御メッセージ処理部３１３へ指示、（iii）隣接ノードへのＳｌｅｅｐ可否問い合わせ、（iv）隣接ノードからのＳｌｅｅｐ可否通知に基づくＳｌｅｅｐ可否を判定し、Ｓｌｅｅｐ制御部３１１にＳｌｅｅｐモードへの移行指示、（v）隣接ノードからのＳｌｅｅｐ可否問い合わせに対する応答、（vi）パケットの送信を行いそうな隣接ノードに対する送信予告および解除メッセージの通知、（vii）パケットの送信を行いそうなＳｌｅｅｐモードになっている隣接ノードに対するＡｗａｋｅ指示などを行う。
【０１４０】
第３の実施の形態に係るＳｌｅｅｐ判定制御部３１２は、第１の実施の形態のＳｌｅｅｐ判定制御部１１２に機能を追加したものである。第３の実施の形態に係るノード３１０は、第１の実施の形態のノード１１０と同様の処理を行うことが出来る。ここでは、第３の実施の形態に係るノード３１０のＳｌｅｅｐ可否問い合わせ等に関する処理について、第１の実施の形態に係るノードと同様であるので説明は省略する。
【０１４１】
尚、第２の実施の形態のＳｌｅｅｐ判定制御部２１２に送信予告および解除の通知などの機能を追加するようにしても良い。
ノードの送出予告および解除メッセージの生成処理について説明する。
【０１４２】
図４３は、第３の実施の形態に係るノードの送出予告および解除メッセージの生成処理のフローチャートである。
ステップＳ３２１において、Ｓｌｅｅｐ判定制御部３１２は、経路情報およびリンク情報を参照し、自ノードを通る経路を構成するリンクの利用率を定期的にチェックする。
【０１４３】
ステップＳ３２２において、Ｓｌｅｅｐ判定制御部３１２は、利用率（送出）が０％であるリンクについて、パケット送出可能性判定を行う。
ステップＳ３２３において、判定したリンクが利用される可能性が高いと判定された場合はステップＳ３２４に制御は進み、利用される可能性が高くないと判定された場合はステップＳ３２５に制御は進む
ステップＳ３２４において、Ｓｌｅｅｐ制御メッセージ処理部３１３は、経路情報を参照し、パケットを送出する可能性があることを示す送出予告メッセージをセカンダリ経路のnext hopに送信する。
【０１４４】
ステップＳ３２５において、Ｓｌｅｅｐ判定制御部３１２は、セカンダリ経路のnext hopに送出予告メッセージが送出済みかを隣接ノード情報に基づき判定する。送出済みの場合は、ステップＳ３２４に制御は進み、送出済みでない場合は処理を終了する。
【０１４５】
ステップＳ３２６において、Ｓｌｅｅｐ制御メッセージ処理部３１３は、経路情報を参照し、セカンダリ経路のnext hopに送出予告解除メッセージを送信する。
次にノードが送信予告または解除メッセージを受信した場合について説明する。
【０１４６】
図４４は、第３の実施の形態に係るノードのＳｌｅｅｐモード制御処理のフローチャートである。
ステップＳ３３１において、Ｓｌｅｅｐ制御メッセージ処理部３１３は、送信予告または解除メッセージを受信する。
【０１４７】
ステップＳ３３２において、Ｓｌｅｅｐ判定制御部３１２は、受信したメッセージが送信予告メッセージの場合は、Ｓｌｅｅｐ不可モードに移行し、受信したメッセージが送信予告解除メッセージの場合は、Ｓｌｅｅｐ可否判断中モードへ移行する。Ｓｌｅｅｐ不可モードは、例えば、入力パケットがない場合でもＳｌｅｅｐ可否の問い合わせを行わない、またはＳｌｅｅｐ可能通知を受信してもＳｌｅｅｐモードに移行しない状態である。したがって、Ｓｌｅｅｐ不可モードであるノードは、Ｓｌｅｅｐモードには移行しない。Ｓｌｅｅｐ可否判断中モードは、例えば、入力パケットがない場合にＳｌｅｅｐ可否の問い合わせを行い、Ｓｌｅｅｐモード以外の全隣接ノードからＳｌｅｅｐ可能通知を受信したらＳｌｅｅｐモードに移行する状態である。すなわち、Ｓｌｅｅｐ可否判断中モードは、状況に応じて適宜、Ｓｌｅｅｐ可能かの判定を行い、判定結果に応じてＳｌｅｅｐモードに移行可能な状態である。
【０１４８】
ステップＳ３３３において、Ｓｌｅｅｐ判定制御部３１２は、送信予告または解除メッセージに含まれる経路のnext hopであるノードがＳｌｅｅｐモードかどうか隣接ノード情報に基づき判定する。next hopがＳｌｅｅｐモードの場合は、ステップＳ３３４に制御は進み、next hopがＳｌｅｅｐモードでない場合は、ステップＳ３３５に制御は進む。
【０１４９】
ステップＳ３３４において、Ｓｌｅｅｐ制御メッセージ処理部３１３は、next hopであるノードにＡｗａｋｅ指示を送出し、該ノードが起動したら該ノードに、ステップＳ３３１で送信予告メッセージを受信していた場合は送信予告メッセージを送出し、ステップＳ３３１で解除メッセージを受信していた場合は解除メッセージを送出する。
【０１５０】
ステップＳ３３５において、Ｓｌｅｅｐ制御メッセージ処理部３１３は、next hopであるノードに、ステップＳ３３１で送信予告メッセージを受信していた場合は送信予告メッセージを送出し、ステップＳ３３１で解除メッセージを受信していた場合は解除メッセージを送出する。
【０１５１】
以下、第３の実施の形態のＳｌｅｅｐモード制御方法の具体例について説明する。
図４５は、第３の実施の形態の具体例のネットワーク構成図である。
第３の実施の形態の具体例において、ネットワーク３４０は、６つのノード３４１〜３４６により構成されているものとする。
【０１５２】
ノード３４１は、ノード３４２およびノード３４５と接続している。
ノード３４２は、ノード３４１、ノード３４４、およびノード３４６と接続している。
ノード３４３は、ノード３４４およびノード３４５と接続している。
【０１５３】
ノード３４４は、ノード３４２およびノード３４３と接続している。
ノード３４５は、ノード３４１、ノード３４３、およびノード３４６と接続している。
ノード３４６は、ノード３４２およびノード３４５と接続している。
【０１５４】
ノード３４１〜３４６は、図４６が示すＳｌｅｅｐ制御条件を保持しているものとする。
ノード３４１は図４７および図４８に示すような情報を保持しているものする。
【０１５５】
図４７は、ノード３４１の持つ経路情報を示す図である。
図４８は、ノード３４１の持つリンク情報を示す図である。
ノード３４６は図４９および図５０に示すような情報を保持しているものする。
【０１５６】
図４９は、ノード３４６の持つ経路情報を示す図である。
図５０は、ノード３４６の持つリンク情報を示す図である。
ノード３４４は、図５１に示すリンク情報を保持しているものとする。
【０１５７】
ネットワーク３４０において、ノード３４１が管理するプライマリ経路（経路１）ノード３４１→ノード３４５→ノード３４３とセカンダリ経路（経路２）ノード３４１→ノード３４２→ノード３４４→ノード３４３、ノード３４６が管理するプライマリ経路（経路３）ノード３４６→ノード３４２→ノード３４１とセカンダリ経路（経路４）ノード３４６→ノード３４５→ノード３４１が存在する。
【０１５８】
初めは経路１の利用率が図４８に示すように４０％、経路３の利用率が図５０に示すように１０％であり、経路２、４は使用していない。
図５１に示すように、ノード３４４は接続するリンクの利用率（送出）および利用率（流入）がともに０％であるため、Ｓｌｅｅｐしてよいか隣接ノード３４２、３４３に問い合わせる。
【０１５９】
ノード３４２、３４３ともに、next hopがノード３４４である経路を管理していないため、Ｓｌｅｅｐ可能通知を応答する。
ノード３４４は、全隣接ノードから、Ｓｌｅｅｐ可能通知を受け取るため、Ｓｌｅｅｐモードに移行する通知を隣接ノードに出してＳｌｅｅｐモードに移行する。
【０１６０】
次に、ネットワーク３４０の状況が変化したとする。
図５２は、ノード３４１の持つリンク情報を示す図である。
ネットワーク３４０の状況が変化し、経路１の利用率が図５２に示すように６１％になったとする。
【０１６１】
このとき、ノード３４１は、Ｓｌｅｅｐ制御条件に基づき、セカンダリ経路２を利用する可能性が高いと判断する。
ノード３４１は、経路情報に基づき、送出予告メッセージをセカンダリ経路のnext hopであるノード３４２に送出する。この送出予告メッセージの形式を図５３に示す。
【０１６２】
送出予告メッセージは、送出元ノード、宛先ノード、経路情報、メッセージ種別を有する。経路情報には、パケットの転送において送出元ノードから宛先ノードまでの間に通過するノードが記述されている。
【０１６３】
ノード３４２は送出予告メッセージを受け、Ｓｌｅｅｐ不可モードに移行する。また、ノード３４２のnext hopであるノード３４４にさらに送出予告メッセージを転送しようとするが、ノード３４４はＳｌｅｅｐしているため、まずＡｗａｋｅ指示を出す。
【０１６４】
Ａｗａｋｅ指示を受信したノード３４４がＳｌｅｅｐモードから復帰する。
ノード３４２はノード３４４に送出予告メッセージを転送する。
ノード３４４は送出予告を受けたため、Ｓｌｅｅｐ不可モードに移行し、さらにノード３４４のnext hopであるノード３４３に送出予告メッセージを転送する。
【０１６５】
ノード３４３もＳｌｅｅｐ不可モードに移行する。ノード３４３は終点ノード（宛先）であるため、送出予告メッセージの転送処理は行わない。
このように、セカンダリ経路（経路２）でのパケット転送が行われる前にノード３４４をＡｗａｋｅさせることが可能となり、Ｓｌｅｅｐモードから復帰に要する時間が原因となる転送遅延を回避することが出来る。
【０１６６】
ネットワーク３４０の状況がさらに変化したとする。
図５４は、ノード３４１の持つリンク情報を示す図である。
ノード３４４がＡｗａｋｅした後に、図５４に示すように経路１の利用率が４９％に下がった場合は以下のような動作をする。
【０１６７】
ノード３４１は、先に送出予告メッセージを経路２のnext hopに送っていたが、経路１の利用率が５０％を下回ったため経路２を使う可能性が高くなくなったとＳｌｅｅｐ制御条件に基づき判断し、経路２のnext hopに図５５に示すような送出予告解除メッセージを送る。
【０１６８】
ノード３４２は、送出予告解除メッセージを受けてＳｌｅｅｐ不可モードからＳｌｅｅｐ可否判断中モードに移行し、送出予告解除メッセージをノード３４４に転送する
ノード３４４は、メッセージを受けてＳｌｅｅｐ不可モードからＳｌｅｅｐ可否判断中モードに移行し、送出予告解除メッセージをノード３４３に転送する。
【０１６９】
ノード３４３は、送出予告解除メッセージを受けてＳｌｅｅｐ不可モードからＳｌｅｅｐ可否判断中モードに移行する。
ノード３４４は、パケット入力がないため、再びＳｌｅｅｐしてよいか隣接ノードに問い合わせ、上述手順でノード３４４は再びＳｌｅｅｐモードに移行する。
【０１７０】
また、経路情報を始点ノードだけでなく中継ノードを含む各ノードが管理している場合について述べる。
図５６は、ノード３４２の持つ経路情報を示す図である。
【０１７１】
図５７は、ノード３４４の持つ経路情報を示す図である。
上述の説明では、送出予告メッセージに経路情報を含めていたが、図５６、図５７に示すように経路情報を始点ノードだけでなく中継ノードを含む各ノードが管理している場合、ノード３４１の送信する送出予告メッセージに含める経路情報は図５８のような形式でもよい。
【０１７２】
図５８の送出予告メッセージの経路情報には、使用する経路の番号が記述される。図５８においては、経路２が記述される。
第３の実施の形態のノードによれば、集中管理サーバを必要とすることなく、頻繁なＳｌｅｅｐモードへの移行・復帰を回避し、Ｓｌｅｅｐモードからの復帰に要する時間が原因となる転送遅延の発生を回避することができる。
【０１７３】
また、上述のノードは、例えば、図５９に示すような情報処理装置（コンピュータ）を用いて構成される。
情報処理装置１は、ＣＰＵ（Central Processing Unit）２、メモリ３、入力部４、出力部５、記憶部６、記録媒体駆動部７、およびネットワーク接続部８を備え、それらはバス９により互いに接続されている。
【０１７４】
ＣＰＵ２は、情報処理装置１全体を制御する中央処理装置である。
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するＲＯＭ（read only memory）やＲＡＭ（random access memory）等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０１７５】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した記録媒体等は本発明を構成することになる。
【０１７６】
入力部４は、例えば、キーボード、マウス、タッチパネル等である。
出力部５は、例えば、ディスプレイ、プリンタ等である。
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０１７７】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（compact disk read only memory）、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０１７８】
ネットワーク接続部８は、ＬＡＮ（local area network）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。
本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
【０１７９】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックするトラフィック制御部と、
前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信するＳｌｅｅｐ判定処理部と、
を備える情報処理装置。
（付記２）
前記Ｓｌｅｅｐ判定処理部は、前記パケットの送出可能性が高いと判定されたときに、前記隣接ノードがＳｌｅｅｐモードの場合は、Ｓｌｅｅｐモードから復帰させるＡｗａｋｅ指示を前記隣接ノードに送信することを特徴とする付記１記載のノード。
（付記３）
前記Ｓｌｅｅｐ判定処理部は、現在パケットを転送している第１の経路を構成するリンクの利用率が第１の閾値以下の第２の閾値を超えた場合、前記第１の経路を構成するリンクの利用率が前記第１の閾値を超えた場合に使用する第２の経路のnext hopであるノードにパケット送出予告メッセージを送出することを特徴とする付記２記載の情報処理装置。
（付記４）
自身へのパケットの入力があるかをチェックするトラフィック制御部と、
前記トラフィック制御部が、パケットの入力が無いと判定した時にＳｌｅｅｐノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせるＳｌｅｅｐ問い合わせ処理部と、
前記Ｓｌｅｅｐ問い合わせ処理部による問い合わせに対する隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定するＳｌｅｅｐ判定部と、
を備える情報処理装置。
（付記５）
Ｓｌｅｅｐノードを除く前記全隣接ノードからＳｌｅｅｐ可能であると通知を受信したときにＳｌｅｅｐモードに移行することを特徴とする付記４記載の情報処理装置。
（付記６）
Ｓｌｅｅｐ可能かの問い合わせを受けたときに、問い合わせ元のノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記問い合わせ元のノードに前記問い合わせ元のノードがＳｌｅｅｐ可能であると通知することを特徴とする付記５記載の情報処理装置。（付記７）
コンピュータに
隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックするステップと、
前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信するステップと、
を実行させるためのＳｌｅｅｐモード制御プログラム。
（付記８）
前記パケットの送出可能性が高いと判定されたときに、前記隣接ノードがＳｌｅｅｐモードの場合は、Ｓｌｅｅｐモードから復帰させるＡｗａｋｅ指示を前記隣接ノードに送信するステップをさらに備えることを付記７記載のＳｌｅｅｐモード制御プログラム。
（付記９）
現在パケットを転送している第１の経路を構成するリンクの利用率が第１の閾値以下の第２の閾値を超えた場合、前記第１の経路を構成するリンクの利用率が前記第１の閾値を超えた場合に使用する第２の経路のnext hopであるノードにパケット送出予告メッセージを送出するステップをさらに備えることを付記７記載のＳｌｅｅｐモード制御プログラム。
（付記１０）
コンピュータに、
自身へのパケットの入力があるかをチェックさせ、
前記パケットの入力が無いと判定した時にＳｌｅｅｐノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせ、
前記問い合わせに対する隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定させる、
Ｓｌｅｅｐモード制御プログラム。
（付記１１）
Ｓｌｅｅｐノードを除く前記全隣接ノードからＳｌｅｅｐ可能であると通知を受信したときにＳｌｅｅｐモードに移行するステップをさらに実行させることを特徴とする付記１０記載のＳｌｅｅｐモード制御プログラム。
（付記１２）
Ｓｌｅｅｐ可能かの問い合わせを受けたときに、問い合わせ元のノードに対するパケットの送出可能性を判定し、前記パケットの送出可能性が低いと判定されたときに、前記問い合わせ元のノードに前記問い合わせ元のノードがＳｌｅｅｐ可能であると通知するステップをさらに実行させることを特徴とする付記１１記載のＳｌｅｅｐモード制御プログラム。
（付記１３）
自身へのパケットの入力があるかをチェックし、
前記パケットの入力が無いときにＳｌｅｅｐノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせ、
隣接ノードとの間にパケットの送信および受信があるかを定期的にチェックし、
前記隣接ノードとの間にパケットの送信および受信が無いときに、前記隣接ノードに対するパケットの送出可能性を判定し、
前記パケットの送出可能性が低いと判定したときに、前記隣接ノードに前記隣接ノードがＳｌｅｅｐモードに移行可能であることを示すＳｌｅｅｐ可能通知を送信する
Ｓｌｅｅｐモード制御方法。
（付記１４）
コンピュータが、
自身へのパケットの入力があるかをチェックし、
前記パケットの入力が無いと判定した時にＳｌｅｅｐノードを除く全隣接ノードに自ノードがＳｌｅｅｐ可能かを問い合わせ、
前記問い合わせに対する隣接ノードからの応答を元に、Ｓｌｅｅｐモードに移行するか否かを判定する
Ｓｌｅｅｐモード制御方法。
【符号の説明】
【０１８０】
１    情報処理装置
２    ＣＰＵ
３    メモリ
４    入力部
５    出力部
６    記憶部
７    記録媒体駆動部
８    ネットワーク接続部
９    バス
１０    可搬記録媒体
１００    ネットワーク
１０１〜１０５    ノード
１１０    ノード
１１１    Ｓｌｅｅｐ制御部
１１２    Ｓｌｅｅｐ判定制御部
１１３    Ｓｌｅｅｐ制御メッセージ処理部
１１４    Ｓｌｅｅｐ制御記憶部
１１５    経路制御部
１１６    トラフィック制御機能部
１１７    リンク情報記憶部
１１８    経路情報記憶部
１５０    ネットワーク
１５１〜１５４    ノード
１５５    ＮＷ
１７０    ネットワーク
１７１〜１７６    ノード
２００    ネットワーク
２０１〜２０５    ノード
２１０    ノード
２１１    Ｓｌｅｅｐ制御部
２１２    Ｓｌｅｅｐ判定制御部
２１３    Ｓｌｅｅｐ制御メッセージ処理部
２１４    Ｓｌｅｅｐ制御記憶部
２１５    経路制御部
２１６    トラフィック制御機能部
２１７    リンク情報記憶部
２１８    経路情報記憶部
２４０    ネットワーク
２４１〜２４４    ノード
３００    ネットワーク
３０１〜３０３    ノード
Ａ、Ｂ、Ｃ    ノード
３１０    ノード
３１１    Ｓｌｅｅｐ制御部
３１２    Ｓｌｅｅｐ判定制御部
３１３    Ｓｌｅｅｐ制御メッセージ処理部
３１４    Ｓｌｅｅｐ制御記憶部
３１５    経路制御部
３１６    トラフィック制御機能部
３１７    リンク情報記憶部
３１８    経路情報記憶部
３４０    ネットワーク
３４１〜３４５    ノード
【図２】
0005397052.tif 000002
【図３】
0005397052.tif 000003
【図４】
0005397052.tif 000004
【図５】
0005397052.tif 000005
【図６】
0005397052.tif 000006
【図７】
0005397052.tif 000007
【図８】
0005397052.tif 000008
【図９】
0005397052.tif 000009
【図１０】
0005397052.tif 000010
【図１５】
0005397052.tif 000011
【図１６】
0005397052.tif 000012
【図１７】
0005397052.tif 000013
【図１８】
0005397052.tif 000014
【図１９】
0005397052.tif 000015
【図２０】
0005397052.tif 000016
【図２１】
0005397052.tif 000017
【図２２】
0005397052.tif 000018
【図２４】
0005397052.tif 000019
【図２５】
0005397052.tif 000020
【図２６】
0005397052.tif 000021
【図２８】
0005397052.tif 000022
【図２９】
0005397052.tif 000023
【図３０】
0005397052.tif 000024
【図３１】
0005397052.tif 000025
【図３２】
0005397052.tif 000026
【図３３】
0005397052.tif 000027
【図３４】
0005397052.tif 000028
【図３５】
0005397052.tif 000029
【図３６】
0005397052.tif 000030
【図３７】
0005397052.tif 000031
【図４２】
0005397052.tif 000032
【図４３】
0005397052.tif 000033
【図４４】
0005397052.tif 000034
【図４６】
0005397052.tif 000035
【図４７】
0005397052.tif 000036
【図４８】
0005397052.tif 000037
【図４９】
0005397052.tif 000038
【図５０】
0005397052.tif 000039
【図５１】
0005397052.tif 000040
【図５２】
0005397052.tif 000041
【図５３】
0005397052.tif 000042
【図５４】
0005397052.tif 000043
【図５５】
0005397052.tif 000044
【図５６】
0005397052.tif 000045
【図５７】
0005397052.tif 000046
【図５８】
0005397052.tif 000047
【図５９】
0005397052.tif 000048
【図１】
0005397052.tif 000049
【図１１】
0005397052.tif 000050
【図１２】
0005397052.tif 000051
【図１３】
0005397052.tif 000052
【図１４】
0005397052.tif 000053
【図２３】
0005397052.tif 000054
【図２７】
0005397052.tif 000055
【図３８】
0005397052.tif 000056
【図３９】
0005397052.tif 000057
【図４０】
0005397052.tif 000058
【図４１】
0005397052.tif 000059
【図４５】
0005397052.tif 000060