(57)【要約】【課題】第１の通信ノードに通信路を介して複数の第２の通信ノードが接続した通信網における省電力方法を提供する。【解決手段】第２の通信ノードは、スリープメッセージにより指定されたスリープ時間だけスリープモードで動作し、スリープ時間の経過後は通常モードで動作する。第１の通信ノードは、第２の通信ノードを経由する通信データを蓄積するための２種類の共有バッファと、スリープモードで動作中の第２の通信ノードの有無を示すスリープ状態フラグと、共有バッファから通信データを読み出して通信路へ出力するスケジューラと、第２の通信ノードが通常モードまたはスリープモードで動作していることにしたがっていずれのバッファに蓄積するかを振り分ける手段と、を備える。また、スケジューラは、スリープ状態フラグを参照することによってどのバッファに蓄積されている通信データを読み出すかを決める。【選択図】図５
2011049674.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信ノードに通信路を介して複数の第２の通信ノードが接続した通信網における省電力方法であって、
前記第２の通信ノードは、
受信するスリープメッセージにより指定されたスリープ時間だけ、該第２の通信ノードの消費電力を抑制するスリープモードで動作する手段と、
前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作する手段と
を備え、
前記第１の通信ノードは、
前記第２の通信ノードを経由する通信データを蓄積するための２種類の共有バッファであるバッファＡおよびバッファＢと、
スリープモードで動作中の前記第２の通信ノードの有無を示すスリープ状態フラグと、
前記バッファＡおよび前記バッファＢから前記通信データを読み出し、前記通信路へ出力するスケジューラと、
前記通常モードで動作する第２の通信ノードを経由する通信データを前記バッファＡに蓄積し、前記スリープモードで動作する第２の通信ノードを経由する通信データを前記バッファＢに蓄積するための振り分け手段と、
を備え、
該スリープ時間は、それぞれの第２の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第２の通信ノードごとに指定され、
前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第１の通信ノードから通信路を介してそれぞれの前記第２の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第２の通信ノードにおける時刻を含み、
前記方法は、
前記振り分け手段が、受信した通信データが通常モードで動作する第２の通信ノードを経由する通信データである場合にバッファＡに蓄積し、受信した通信データがスリープモードで動作する第２の通信ノードを経由する通信データである場合にバッファＢに蓄積するステップと、
前記スケジューラが、前記スリープ状態フラグが少なくとも１つの前記第２の通信ノードがスリープモードで動作していることを示す場合に、前記バッファＡのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第２の通信ノードが通常モードで動作していることを示す場合に、前記バッファＡおよび前記バッファＢから蓄積されている通信データを読み出すステップと
を備えることを特徴とする省電力方法。
【請求項２】
前記バッファＡ、前記バッファＢおよび前記スケジューラは、前記第１の通信ノードが受信する通信データによって識別される優先度の数だけ、各優先度ごとに設けられ、
前記振り分け手段は、前記通信データが示す優先度にしたがって、各優先度ごとに設けられたバッファＡまたはバッファＢに前記通信データを振り分けて蓄積する、
ことを特徴とする請求項１記載の省電力方法。
【請求項３】
前記バッファＡ、前記バッファＢおよび前記スケジューラは、前記第１の通信ノードが受信する通信データによって識別される優先度の数よりも少ない数である、１以上の特定の優先度ごとに設けられ、
前記振り分け手段は、前記通信データが前記特定の優先度以外の優先度に該当し、かつ前記通信データが経由する第２の通信ノードがスリープモードで動作する場合には、前記通信データを廃棄する、
ことを特徴とする請求項２記載の省電力方法。
【請求項４】
前記スリープメッセージにより指定する前記スリープ時間を、
あらかじめ定められる時間から前記スリープメッセージを実際に送信したのに要した時間を減ずることにより設定することを特徴とする請求項３記載の省電力方法。
【請求項５】
前記通信データは、ＶＬＡＮ（Virtual Local Area Network）タグを含み、
前記振り分け手段は、前記ＶＬＡＮタグに含まれる、該通信データが経由する第２の通信ノードの識別子および該通信データの優先度を識別する
ことを特徴とする請求項４記載の省電力方法。
【請求項６】
前記通信データは、ＩＰ（Internet Protocol）ヘッダを含み、
前記振り分け手段は、前記ＩＰヘッダに含まれる、該通信データが経由する第２の通信ノードの識別子および該通信データの優先度を識別する
ことを特徴とする請求項４記載の省電力方法。
【請求項７】
前記第１の通信ノードは、
前記第２の通信ノードを前記スリープモードで動作させる前記スリープ時間を前記第２の通信ノードごとに設定する手段と、
該スリープ時間を含む前記スリープメッセージを該第２の通信ノードに送信する手段と
をさらに備えることを特徴とする請求項５または６記載の省電力方法。
【請求項８】
前記通信網は、前記第１の通信ノードと前記第２の通信ノード間に接続される第３の通信ノードをさらに備え、
前記第３の通信ノードは、
前記第２の通信ノードを前記スリープモードで動作させる前記スリープ時間を前記第２の通信ノードごとに設定する手段と、
該スリープ時間を含む前記スリープメッセージを該第２の通信ノードに送信する手段と、
送信した当該スリープメッセージの宛先である、それぞれの第２の通信ノードの識別子と該スリープ時間とを前記第１の通信ノードに通知する手段と
を備えることを特徴とする請求項５または６記載の省電力方法。
【請求項９】
前記通信網は、前記第１の通信ノードと前記第２の通信ノード間に接続される第３の通信ノードをさらに備え、
前記第３の通信ノードは、
前記第２の通信ノードを前記スリープモードで動作させる前記スリープ時間を前記第２の通信ノードごとに設定する手段と、
該スリープ時間を含む前記スリープメッセージを該第２の通信ノードに送信する手段と、
送信した当該スリープメッセージの宛先である、それぞれの第２の通信ノードの識別子を前記第１の通信ノードに通知する手段と、
当該スリープ時間が経過したことを前記第１の通信ノードに通知する手段と
を備えることを特徴とする請求項５または６記載の省電力方法。
【請求項１０】
通信網における第１の通信ノードであって、
前記第１の通信ノードは通信路を介して複数の第２の通信ノードと接続し、かつ他のネットワークから前記複数の第２の通信ノードを経由する通信データを受信し、
前記第２の通信ノードは、受信するスリープメッセージにより指定されたスリープ時間だけ、該第２の通信ノードの消費電力を抑制するスリープモードで動作し、前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作し、
前記第１の通信ノードは、
前記第２の通信ノードを経由する通信データを蓄積するための２種類の共有バッファであるバッファＡおよびバッファＢと、
スリープモードで動作中の前記第２の通信ノードの有無を示すスリープ状態フラグと、
前記バッファＡおよび前記バッファＢから前記通信データを読み出し、前記通信路へ出力するスケジューラであって、前記スリープ状態フラグが少なくとも１つの前記第２の通信ノードがスリープモードで動作していることを示す場合に、前記バッファＡのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第２の通信ノードが通常モードで動作していることを示す場合に、前記バッファＡおよび前記バッファＢから蓄積されている通信データを読み出す、スケジューラと、
前記通常モードで動作する第２の通信ノードを経由する前記通信データを前記バッファＡに蓄積し、前記スリープモードで動作する第２の通信ノードを経由する前記通信データを前記バッファＢに蓄積するための振り分け手段と、
を備え、
該スリープ時間は、それぞれの第２の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第２の通信ノードごとに指定され、
前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第１の通信ノードから通信路を介してそれぞれの前記第２の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第２の通信ノードにおける時刻を含む、ことを特徴とする通信網における第１の通信ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網における電力消費量を抑制できる省電力方法および通信ノードに関する。
【背景技術】
【０００２】
通信網において省電力を実現する方法として、通信ノードがデータの送受信を行わない期間には、必要最低限の機能ブロックにのみ給電を行い、他の機能ブロックは休止させる方法がある。機能ブロックを休止させている状態を一般にスリープモードと呼び、特定の機能ブロックを休止させる機能をスリープ機能と呼ぶ。また、スリープモードで動作していることを、スリープ中と呼ぶ。例えば、特許文献１には、通信ノード間のフロー制御により、データ送信を停止させられている期間にはスリープモードに移行することで、省電力を実現する方法が開示されている。
【０００３】
また、上記のフロー制御は、接続している通信ノード間で行うのではなく、論理回線ごとに行うこともできる。例えば、特許文献２には、ＶＬＡＮ（Virtual Local Area Network）と呼ばれる論理回線ごとにフロー制御を実現する方法が開示されている。
【０００４】
さらに、フロー制御の方法として、通信ノードからの全てのデータ送信を停止させるのではなく、優先度を指定してデータ送信を停止させる方法も知られている。例えば、非特許文献１には、優先度を指定できるフロー制御の方法が開示されている。
【０００５】
また、光アクセスネットワークにおいても、通信ノードにスリープ機能を持たせることで、省電力を実現する方法が検討されている。例えば、非特許文献２には、ＥＰＯＮ（Ethernet Passive Optical Network）と呼ばれる光アクセスネットワークにおいて、ＯＬＴ（Optical Line Terminal：局側通信装置）と、ＯＮＵ（Optical Network Unit：宅内通信装置）との間でメッセージを交換し、ＯＮＵをスリープモードに移行させる手続きが開示されている。
【０００６】
ここで、スリープ機能を用いる省電力方法において、スリープ中の通信ノードを経由する通信データが発生した際に、この通信データをどのように扱うか、という課題がある。
【０００７】
発生した通信データが廃棄してもよい、すなわち、当該通信ノードが正常に受信しなくとも問題が発生しない通信データである場合、特別な考慮は必要としない。すなわち、スリープ中であってもかまわずにその通信ノード宛てにデータを送信し、通信ノードはスリープ中であるから正常に受信できずに通信データが廃棄されるようにしてもよい。あるいは、当該通信ノードに接続する他の通信ノード（管理ノード）がスリープ状態を管理し、スリープ中である場合に、管理ノードが、その通信ノード宛ての通信データを廃棄する方法を実施することもできる。
【０００８】
しかしながら、アプリケーションまたは通信サービスの都合上、廃棄の許されない通信データが発生する場合もある。この場合、スリープ中の通信ノードを経由する通信データを廃棄せずに扱う方法が必要である。
【０００９】
上記の課題に対し、スリープ機能を有する通信ノード（子ノード）が接続している通信ノード（親ノード）でデータを蓄積する方法が知られている。例えば、スリープ中の子ノードを経由する通信データを、子ノードが接続している親ノード側で蓄積し、子ノードがスリープモードから通常モードに移行する適当なタイミングでのみ通信データの送受信を行う方法が知られている。
【００１０】
図９は、上記の従来技術を用いて、スリープ中の子ノードを経由する通信データの廃棄を回避する省電力通信網を実現するための通信網の構成を示す。図９では、親ノード１３には、通信路２を介して複数の子ノード３が接続する。親ノード１３は上位ネットワーク５に接続し、それぞれの子ノード３は下位ネットワーク４に接続する。
【００１１】
（スリープ手順）
図１０は、親ノード１３が子ノード３−ｉをスリープモードへ移行させる手順を示す。まず、親ノード１３は子ノード３−ｉに制御メッセージを送信するよう指示を与え、子ノード３−ｉは指示に応答して制御メッセージを送信する。
【００１２】
次に、親ノード１３は、子ノード３−ｉをスリープモードに移行させるか否かを判断する。この判断は、親ノード１３から子ノード３−ｉへの下り通信データの有無と、子ノード３−ｉから親ノード１３への上り通信データの有無に基づいて行われる。
【００１３】
下り通信データの有無は、親ノード１３における、上位ネットワーク５から下位ネットワーク４−ｉへの下り通信データの流量を観測することによって識別することができる。一方、上り通信データの有無は、子ノード３−ｉが親ノード１３に送信する制御メッセージに基づいて識別することができる。制御メッセージは、子ノード３−ｉに蓄積されている通信データ量を親ノード１３に通知するために伝送される。親ノード１３は、この判断を子ノードごとに行う。
【００１４】
親ノード１３は、当該子ノード３−ｉをスリープモードに移行させるべきと判断したら、スリープメッセージを子ノード３−ｉに送信する。スリープメッセージは、子ノード３−ｉがスリープする時間（スリープ時間＝ＳＴｉ）を含む。
【００１５】
子ノード３−ｉは、受信したスリープメッセージに含まれるスリープ時間ＳＴｉを読み出し、直ちにスリープモードへ移行する。このとき、子ノードのすべての機能への給電を停止するのではなく、少なくともスリープ時間を管理するタイマーだけは動作したままにしておく。
【００１６】
スリープメッセージを受信後スリープ時間ＳＴｉが経過したら、子ノード３−ｉは直ちに起動し、通常モードへ移行する。親ノード１３は、子ノード３−ｉが通常モードへ移行する時刻にあわせて、子ノード３−ｉが制御メッセージを送信するように指示を与えておく。子ノード３−ｉはその指示に応答して、蓄積データ量の有無を示す制御メッセージ、あるいは、引き続きスリープモードへ移行することを要求する制御メッセージを親ノード１３へ送信する。親ノード１３は上記と同様に、当該子ノード３−ｉをスリープモードへ移行させるか否かを判断する。
【００１７】
この一連の手順を繰り返し、適切な時期に子ノードをスリープモードへと移行させることによって、省電力化を図ることができる。
【００１８】
（親ノードの構成）
図１１は、従来技術に係る親ノードの構成を示す。図１１を参照して、スリープ中の子ノードを経由する通信データを廃棄せずに親ノードにて蓄積する手順を説明する。
【００１９】
親ノード１３は、子ノードごとで、かつ、優先度ごとのバッファ１５を備える。つまり、図１１に示すように、バッファ１５は、高優先の通信データを蓄積するバッファ（１５−１Ｈ〜１５−３Ｈ）および低優先の通信データを蓄積するバッファ（１５−１Ｌ〜１５−３Ｌ）を有する。
【００２０】
親ノード１３が上位ネットワーク５から受信した通信データは、振り分け部１４により、バッファ１５に振り分けられ、蓄積される。振り分け部１４は、当該通信データが経由する子ノードと、優先度とを通信データから識別し、対応するバッファ１５に蓄積する。例えば、子ノード３−１を経由する高優先の通信データであれば、振り分け部１４は、当該通信データをバッファ１５−１Ｈに蓄積する。
【００２１】
スケジューラ１６、１７は、バッファ１５から通信データを読み出し、通信路２へ読み出した通信データを送信する。スケジューラ１６は、高優先バッファから通信データを読み出すスケジューラ１６−Ｈおよび低優先バッファから通信データを読み出すスケジューラ１６−Ｌを含む。
【００２２】
スケジューラ１６は、子ノードの動作状態を管理する管理テーブル１８を参照し、通信データの読み出しを制御する。具体的には、スリープ中の子ノード３を経由する通信データが蓄積されているバッファ１５からは通信データを読み出さず、通常モードの子ノード３を経由する通信データを蓄積しているバッファ１５のみから通信データを読み出す。図１１の例では、管理テーブル１８は、子ノード３−１、３−２はスリープ中であることを示しているので、スケジューラ１６−Ｈはバッファ１５−３Ｈのみから通信データを読み出し、スケジューラ１６−Ｌはバッファ１５−３Ｌのみから通信データを読み出す。他のバッファ１５は、経由する子ノードがスリープ中であるので、通信データが蓄積されたままになる。
【００２３】
スケジューラ１７は、完全優先により通信データを読み出す。すなわち、スケジューラ１６―Ｈが読み出す通信データがある限りは、スケジューラ１６−Ｈが読み出した通信データのみを読み出す。スケジューラ１６−Ｈが読み出す通信データが無い場合にのみ、スケジューラ１６−Ｌが読み出す通信データを読み出す。
【００２４】
また、親ノード１３は、管理テーブル１８により子ノード３ごとの動作状態を管理する。親ノード１３は、スリープメッセージの送信後、直ちに対応する子ノードをスリープ中として管理テーブル１８に記録し、通知したスリープ時間の経過後、当該子ノードを通常モードとして管理テーブル１８に記録することによって、管理テーブル１８を更新する。
【００２５】
上記のように、従来技術であっても、スリープ中の子ノードを経由する通信データを廃棄することなく、省電力の通信網を構成することが出来る。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開２００８−２６３２８１号公報
【特許文献２】特開２００３−２２４５７４号公報
【非特許文献】
【００２７】
【非特許文献１】ＩＥＥＥ８０２．１Ｑｂｂ  Ｄｒａｆｔ０．２
【非特許文献２】http://www.ieee802.org/3/av/public/2008_09/3av_0809_mandin_4.pdf
【発明の概要】
【発明が解決しようとする課題】
【００２８】
しかしながら、上記のようにデータを蓄積するバッファを備える場合、必要なバッファ容量は過剰に大規模になりうる。例えば、子ノードの数が３２、優先度の種類が４、スリープモード中に蓄積できるデータ量を最大で１０キロバイトとすると、省電力の実現のためだけに親ノードは３２×４×１０キロバイト＝１２８０キロバイトのバッファを備えなければならない。これは明らかに過大であると言える。
【００２９】
スリープ中の子ノードを経由するデータは、常に親ノードに到着するわけではなく、ある程度の確率で到着する程度である。例えば、スリープ中の子ノードを経由するデータが親ノードに到着するのは、確率的に見て、最大でも４台分程度であり、また、廃棄させずに蓄積しなければならないデータの優先度は１種類のみであったとすると、必要なバッファ容量は、４×１×１０キロバイト＝４０キロバイトであり、上記の１／３２の容量である。
【００３０】
一方で、共有バッファを用いる方法も考えられる。例えば、通信データを親ノード内の共有バッファとしてのＦＩＦＯ（First In First Out）キューに蓄積し、親ノードは、通常モードの子ノードを経由するデータのみを読み出し、スリープモードの子ノードを経由するデータはバッファに留め置く方法である。
【００３１】
しかしながら、上記の方法では、ＦＩＦＯキューであるにもかかわらず、スリープモードの子ノードを経由するデータよりも通常モードの子ノードを経由するデータを先に読み出す必要があり、管理が複雑である。
【００３２】
すなわち、従来の方法では、スリープモードの子ノードを経由するデータを廃棄させずに蓄積するためには、親ノードに過大なバッファを備えるか、あるいは複雑なバッファ管理を行う必要があった。これらを親ノードが備えることは高コストであるのみならず、通信網全体の消費電力量の抑制にならない恐れがある。
【００３３】
本発明は、上述した事情に鑑みてなされたもので、通信網における省電力方法を実現するにあたり、スリープ中の通信ノードを経由する通信データの廃棄を回避するのに必要なバッファ容量を削減し、かつ、簡易な手段によりバッファを管理し、通信データの廃棄を回避する方法、およびそのような通信ノードを提供することを目的とする。
【課題を解決するための手段】
【００３４】
上記の課題を解決するために、本発明は、第１の通信ノードに通信路を介して複数の第２の通信ノードが接続した通信網における省電力方法を提供する。第２の通信ノードは、受信するスリープメッセージにより指定されたスリープ時間だけ、該第２の通信ノードの消費電力を抑制するスリープモードで動作する手段と、前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作する手段とを備える。第１の通信ノードは、前記第２の通信ノードを経由する通信データを蓄積するための２種類の共有バッファであるバッファＡおよびバッファＢと、スリープモードで動作中の前記第２の通信ノードの有無を示すスリープ状態フラグと、前記バッファＡおよび前記バッファＢから前記通信データを読み出し、前記通信路へ出力するスケジューラと、前記通常モードで動作する第２の通信ノードを経由する通信データを前記バッファＡに蓄積し、前記スリープモードで動作する第２の通信ノードを経由する通信データを前記バッファＢに蓄積するための振り分け手段と、を備える。該スリープ時間は、それぞれの第２の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第２の通信ノードごとに指定され、前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第１の通信ノードから通信路を介してそれぞれの前記第２の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第２の通信ノードにおける時刻を含む。そして、本発明に係る省電力方法は、前記振り分け手段が、受信した通信データが通常モードで動作する第２の通信ノードを経由する通信データである場合にバッファＡに蓄積し、受信した通信データがスリープモードで動作する第２の通信ノードを経由する通信データである場合にバッファＢに蓄積するステップと、前記スケジューラが、前記スリープ状態フラグが少なくとも１つの前記第２の通信ノードがスリープモードで動作していることを示す場合に、前記バッファＡのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第２の通信ノードが通常モードで動作していることを示す場合に、前記バッファＡおよび前記バッファＢから蓄積されている通信データを読み出すステップと、を備えることを特徴とする。
【００３５】
また、本発明に係る通信網における第１の通信ノードを提供する。第１の通信ノードは通信路を介して複数の第２の通信ノードと接続し、かつ他のネットワークから前記複数の第２の通信ノードを経由する通信データを受信する。第２の通信ノードは、受信するスリープメッセージにより指定されたスリープ時間だけ、該第２の通信ノードの消費電力を抑制するスリープモードで動作し、前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作する。第１の通信ノードは、前記第２の通信ノードを経由する通信データを蓄積するための２種類の共有バッファであるバッファＡおよびバッファＢと、スリープモードで動作中の前記第２の通信ノードの有無を示すスリープ状態フラグと、前記バッファＡおよび前記バッファＢから前記通信データを読み出し、前記通信路へ出力するスケジューラであって、前記スリープ状態フラグが少なくとも１つの前記第２の通信ノードがスリープモードで動作していることを示す場合に、前記バッファＡのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第２の通信ノードが通常モードで動作していることを示す場合に、前記バッファＡおよび前記バッファＢから蓄積されている通信データを読み出す、スケジューラと、前記通常モードで動作する第２の通信ノードを経由する前記通信データを前記バッファＡに蓄積し、前記スリープモードで動作する第２の通信ノードを経由する前記通信データを前記バッファＢに蓄積するための振り分け手段と、を備える。該スリープ時間は、それぞれの第２の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第２の通信ノードごとに指定され、前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第１の通信ノードから通信路を介してそれぞれの前記第２の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第２の通信ノードにおける時刻を含む、ことを特徴とする。
【発明の効果】
【００３６】
本発明により、スリープ中の通信ノードを経由する通信データの廃棄を回避するのに共有バッファを用いることで必要なバッファ容量を削減し、かつ簡易なバッファ管理の方法により省電力通信システムを実現することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施例における通信網の構成を示す図である。
【図２】本発明の第１の実施例におけるスリープモードへ移行する手順を示すシーケンス図である。
【図３】本発明の第１の実施例における通信ノード間のメッセージ授受の様子を示すシーケンス図である。
【図４】本発明の第１の実施例における管理テーブルとスリープ状態フラグとを示す図である。
【図５】本発明の第１の実施例における親ノードの構成を示す図である。
【図６】本発明の第２の実施例における通信網の構成を示す図である。
【図７】本発明の第２の実施例における通信ノード間のメッセージ授受の様子を示す図である。
【図８】本発明の第３の実施例における通信ノード間のメッセージ授受の様子を示す図である。
【図９】従来技術における通信網の構成を示す図である。
【図１０】従来技術におけるスリープモードへ移行する手順を示すシーケンス図である。
【図１１】従来技術における親ノードの構成を示す図である。
【発明を実施するための形態】
【００３８】
以下、本発明を実施するのに最良の形態を、図面を参照しながら説明する。なお、図中で同一の番号が付与されているものについては、同一の特徴を有するものとする。
【実施例１】
【００３９】
（ネットワーク構成）
本発明における第１の実施例について以下に説明する。図１は本実施例における通信網の構成を示す。親ノード１には通信路２を介して複数の子ノード３が接続する。
【００４０】
なお、本実施例では、３つの子ノード（３−１〜３−３）のみが親ノード１に接続している例を示すが、本発明においては、子ノードの台数は制限されない。他の実施例についても同様である。すなわち、説明を簡単にするために、３つの子ノードのみを図示しているが、子ノードの数はこれに限定されるものではない。
【００４１】
また、図１において、親ノード１と複数の子ノード３とが接続する通信路２も、特に限定されるものではない。すなわち、通信路２は、ルーター等により構成されるＩＰ（Internet Protocol）ネットワークでもよく、イーサネット（登録商標）スイッチにより構成されるレイヤ２ネットワークでもよく、さらには、親ノードを無線基地局とし、子ノードを無線端末とした無線ネットワークでもよい。あるいは、親ノードをＯＬＴとし、子ノードをＯＮＵとして、光ファイバと光スプリッタとにより親ノードと複数の子ノードとをポイント・マルチポイント接続したＰＯＮ（Passive Optical Network）でもよい。あるいは、これらの組み合わせでも良い。
【００４２】
親ノード１は上位ネットワーク５に接続し、子ノード３は、それぞれ下位ネットワーク４に接続する。上位ネットワーク５から下位ネットワーク４への通信データは、親ノード１、通信路２を介し、適切な子ノード３を経由して転送される。本明細書では、上位ネットワーク５から下位ネットワーク４へ転送される通信データを下り通信データと呼び、逆の方向に転送される通信データを上り通信データと呼ぶ。
【００４３】
（スリープ手順）
図２は、子ノード３をスリープモードに移行させる手順を示す。これは、図１０に示す従来技術での手順とほぼ同様である。以下、子ノード３−ｉをスリープモードに移行させる手順を説明する。まず、親ノード１は子ノード３−ｉに制御メッセージを送信するよう指示を与え、子ノード３−ｉはその指示に応答して制御メッセージを送信する。
【００４４】
次に、親ノード１は子ノード３−ｉをスリープモードに移行させるか否かを判断する。この判断は、親ノード１から子ノード３−ｉへの下り通信データの有無と、子ノード３−ｉから親ノード１への上り通信データの有無に基づいて行われる。下り通信データの有無は、親ノード１における、上位ネットワーク５から下位ネットワーク４−ｉへの下り通信データの流量を観測することによって識別することができる。一方、上り通信データの有無は、子ノード３−ｉが親ノード１に送信した制御メッセージに基づいて識別することができる。制御メッセージは、子ノード３−ｉに蓄積されている通信データ量を親ノードに通知するために伝送される。親ノード１は、この判断を子ノードごとに行う。
【００４５】
なお、本発明においては、この制御メッセージは蓄積データ量を通知する形式のものに限定されない。子ノードがスリープモードへ移行することを要求する形式でもよい。また、子ノードをスリープモードへ移行させる際の上記の判断は、優先度ごとの通信データの有無に基づいて行っても良い。
【００４６】
親ノード１は、当該子ノード３−ｉをスリープモードに移行させるべきと判断したら、スリープメッセージを子ノード３−ｉに送信する。スリープメッセージは、子ノード３−ｉがスリープする時間（スリープ時間＝ＳＴｉ）を含む。
【００４７】
子ノード３−ｉは、受信したスリープメッセージに含まれるスリープ時間ＳＴｉを読み出し、直ちにスリープモードへ移行する。このとき、子ノードのすべての機能への給電を停止するのではなく、少なくともスリープ時間を管理するタイマーだけは動作したままにしておく。
【００４８】
スリープメッセージを受信後スリープ時間ＳＴｉが経過したら、子ノード３−ｉは直ちに起動し、通常モードへ移行する。親ノード１は、子ノード３−ｉが通常モードへ移行する時刻にあわせて、子ノード３−ｉが制御メッセージを送信するように指示を与えておく。子ノード３−ｉはその指示に応答して、蓄積データ量の有無を示す制御メッセージ、あるいは、引き続きスリープモードへ移行することを要求する制御メッセージを親ノード１へ送信する。親ノード１は上記と同様に、当該子ノード３−ｉをスリープモードへ移行させるか否かを判断する。
【００４９】
この一連の手順を繰り返し、適切な時期に子ノードをスリープモードへと移行させることによって、省電力化を図ることができる。
【００５０】
（同期スリープ）
次に、親ノード１がそれぞれの子ノード３に対してスリープモードへ移行するよう、指示を与える手順について図３、図４を用いて説明する。
【００５１】
まず、親ノード１は、それぞれの子ノード３からの制御メッセージを受信する時刻がなるべく近い時刻に集中するように、子ノードへの送信指示を与えておく（Ｓ１）。
【００５２】
次に、親ノード１は、スリープモードへ移行させるか否かの判断を子ノードごとに行う（Ｓ２）。スリープモードへ移行させる子ノードについては、親ノード１が備える管理テーブル６にその旨の情報を記載し更新する。ここでは、子ノード３−１、３−２をスリープモードへ移行させることとする。
【００５３】
さらに、スリープモードへ移行させる子ノード３−１、３−２に向けて、順次スリープメッセージを送信する（Ｓ３）。その際、図３に示すように、それぞれの子ノード３−１、３−２が同時期に通常モードへ移行するよう、それぞれのスリープ時間ＳＴ１、ＳＴ２を設定する。
【００５４】
詳細を以下に説明する。まず、親ノード１から子ノード３−１〜３−３への伝搬時間がそれぞれＤ１〜Ｄ３であるとする。また、親ノードは時刻Ｔｓから時刻Ｔａまでの間、子ノードをスリープさせるものとして、その時間の長さをＴａ−Ｔｓ＝ＳＴとする。また、通信路２による伝搬時間が一定でない場合には、最大の伝搬時間をあらかじめ想定しておき、その値をＤ１〜Ｄ３とすることもできる。
【００５５】
図４（ａ）に示すように、親ノード１は、時刻Ｔｓに親ノード１が備えるスリープ状態フラグ７をセットし、スリープモードで動作している子ノードがあることを記録する。
【００５６】
親ノード１はスリープメッセージを子ノード３−１、３−２に向けて順次送信する。この場合、実際の送信時刻はそれぞれ、Ｔｓ＋ΔＴ１、Ｔｓ＋ΔＴ２になるものとする。子ノード３−１、３−２にスリープメッセージが到着する時刻は、それぞれの伝搬時間を加えた時刻である。つまり、子ノード３−１であれば、時刻Ｔｓ＋ΔＴ１＋Ｄ１に到着する。
【００５７】
親ノード１は、時刻Ｔａにおいて子ノードがスリープモードから通常モードに移行したと判断して、図４（ｂ）に示すように、スリープ状態フラグ７をリセットし、同時に、管理テーブル６を更新し、全ての子ノードが通常モードで動作している旨を記録する。しかし、時刻Ｔａにおいて親ノード１が子ノード３に向けて通信データを送信したとしても、実際に通信データが子ノードに到着するまでには前述の伝搬時間Ｄ１〜Ｄ３だけ必要である。すなわち、時刻Ｔａに親ノードが子ノード３−１〜３−３に送信した通信データが子ノードに到着する時刻は、それぞれ、Ｔａ＋Ｄ１、Ｔａ＋Ｄ２、Ｔａ＋Ｄ３となる。なるべく長くスリープモードで動作しているほうが省電力効果は大きいため、実際に通信データが到着しうる時刻まで子ノードをスリープさせておく。
【００５８】
すなわち、それぞれの子ノード３−１、３−２に通知すべきスリープ時間は、（実際に親ノードからの通信データが到着しうる時刻）−（スリープメッセージを受信しうる時刻）とするのが最適である。例えば、子ノード３−ｉに通知するスリープ時間ＳＴｉは、
ＳＴｉ＝（Ｔａ＋Ｄｉ）−（Ｔｓ＋ΔＴｉ＋Ｄｉ）＝ＳＴ−ΔＴｉ
となる。すなわち、これはあらかじめ定めたスリープ時間ＳＴから、スリープメッセージを実際に送信したのに要する時間ΔＴｉを減じた値を意味する。これにより、スリープさせた子ノード３は、同時期に通常モードへ移行することができる。
【００５９】
（蓄積手順）
次に、スリープ中の子ノードを経由する通信データを親ノードにて蓄積する処理の手順を、図５を用いて説明する。
【００６０】
親ノード１は、２種類の共有バッファとして、バッファＡとバッファＢとを備える。バッファＡには通常モードの子ノード３を経由する通信データを、当該通信データが読み出されるまでの間、一時的に蓄積する。バッファＢにはスリープモードの子ノード３を経由する通信データを蓄積し、対応する子ノードがスリープモードであっても通信データが廃棄されないようにする。さらに、２種類の共有バッファを備えるのは高優先の通信データのみとし、低優先の通信データについてはバッファＡのみを備え、バッファＢは設けない。図５においては、高優先のバッファＡはバッファＡ−Ｈとして、高優先のバッファＢはバッファＢ−Ｈとして、低優先のバッファＡはバッファＡ−Ｌとして示される。それぞれのバッファは、子ノードごとの個別バッファではなく、共有バッファである。
【００６１】
バッファＢ−Ｈのバッファ容量は、スリープ中の子ノードを経由する通信データが同時期に親ノードに到着しうる通信データ量とする。同時期にそのような通信データが発生する確率は低い上、優先度の高い通信データのみを蓄積するバッファであるので、必要な容量は十分小さいと言える。
【００６２】
また、親ノード１は、子ノードごとの動作モードを管理する管理テーブル６と、スリープ中の子ノードの有無を表すスリープ状態フラグ７とを備える。
【００６３】
親ノード１が通信データを蓄積する処理の手順を説明する。まず、親ノード１が備える振り分け部８は通信データに記載された情報に基づき、当該通信データが経由する子ノード３を識別する。ここで、通信データに記載された情報は、ＶＬＡＮタグの識別子でもよいし、ＩＰ（Internet Protocol）ヘッダのアドレスでもよい。また、振り分け部８は、当該通信データの優先度も同様にＶＬＡＮタグあるいはＩＰヘッダの情報に基づいて識別する。また、本実施例においては、ＶＬＡＮタグまたはＩＰヘッダを識別子として用いたが、本発明はそれらに限定されない。当該通信データが経由する子ノードを識別できる情報であれば、その形式には限定されない。また、優先度を識別する形式についても限定されない。
【００６４】
次に、振り分け部８は管理テーブル６を参照し、当該通信データが経由する子ノード３の現在の状態を確認する。対応する子ノードが通常モードで動作しており、かつ通信データが高優先であれば、通信データはバッファＡ−Ｈに蓄積される。対応する子ノードが通常モード動作しており、かつ通信データが低優先であれば、通信データはバッファＡ−Ｌに蓄積される。一方、対応する子ノードがスリープ中で、かつ通信データが高優先であれば、通信データはバッファＢ−Ｈに蓄積される。対応する子ノードがスリープ中で、かつ通信データが低優先であれば、通信データは廃棄される。
【００６５】
前述のとおり、スリープ中の子ノード３は同時期に通常モードへ移行する。そのため、バッファＢに通信データを蓄積する際に、経由する子ノード３ごとに区別する必要は無く、また、蓄積する順番も調整する必要が無いため、本実施例では必要なバッファ容量を少なくでき、かつ簡易に処理することができる。
【００６６】
なお、本実施例では、優先度は高低２段階として説明した。しかし、本発明は優先度の数には限定されない。より細かい優先度（４段階など）を設定してもよいし、あるいは、優先度無しでも良い。また、本実施例では、子ノードがスリープモードの時には、高優先の通信データのみがバッファＢに蓄積され、低優先の通信データは廃棄される。しかし、本発明においては、親ノード１は、設定されるすべての優先度に対応するバッファＢを備えてもよいし、本実施例のように最上位の優先度のみに対応するバッファＢを備えてもよい。言い換えると、バッファＢを備えることができる優先度は、事業者にとっての設計的パラメータであり、限定されない。
【００６７】
（読み出し手順）
次に、親ノード１がバッファから通信データを読み出し、子ノード３へ向けて通信データを通信路２へ送信する処理の手順を、図５を用いて説明する。
【００６８】
親ノード１は、スケジューラ９−Ｈとスケジューラ１０とを備える。スケジューラ９−Ｈは、スリープ状態フラグ７を参照し、スリープ状態フラグ７がセットされている場合には、スリープ中の子ノード３があるものとみなして、バッファＢ−Ｈに蓄積されている通信データの読み出しは行わず、バッファＡ−Ｈに蓄積されている通信データのみを読み出す。さらに、スケジューラ１０がスケジューラ９−Ｈによって読み出された通信データを通信路２へ送信する。その際、スケジューラ１０は高い優先度のバッファＡ−Ｈに通信データがある限りは、スケジューラ９−ＨがバッファＡ−Ｈから読み出した通信データを通信路２へ送信し、バッファＡ−Ｈに蓄積された通信データがなくなったときにのみ、スケジューラ１０はバッファＡ−Ｌから通信データを読み出して通信路２へ送信する。
【００６９】
一方、スリープ状態フラグ７がリセットされている場合には、スケジューラ９−Ｈは、すべての子ノード３が通常モードで動作しているものとみなして、バッファＡ−ＨおよびバッファＢ−Ｈの両方から通信データを読み出し、スケジューラ１０は当該読み出された通信データを通信路２へ送信する。本実施例においては、以下の手順で読み出す。まず、スケジューラ９−Ｈは、バッファＢ−Ｈに蓄積されている通信データを読み出す。バッファＢ−Ｈに蓄積されている通信データがある限りは、バッファＢ−Ｈからの読み出しを続ける。スケジューラ９−Ｈは、バッファＢ−Ｈが空の時にのみ、バッファＡ−Ｈから通信データの読み出しを行う。スケジューラ９−Ｈは、バッファＢ−Ｈが空で、かつ、バッファＡ−Ｈに通信データがある限りはバッファＡ−Ｈからの読み出しを続ける。
【００７０】
スケジューラ１０は完全優先で通信データを読み出す。つまり、スケジューラ１０は、バッファＢ−ＨとバッファＡ−Ｈの両者が空であるときにのみ、バッファＡ−Ｌから通信データの読み出しを行う。
【００７１】
前述のとおり、スリープ中の子ノード３は同時期に通常モードへ移行する。そのため、スリープ状態フラグ７がリセットされている際には、すべての子ノード３は通常モードで動作しているため、スケジューラ９−ＨがバッファＢ−Ｈから通信データを読み出す際に、当該通信データが経由する子ノード３がスリープ状態であるかどうかをチェックする必要は無く、簡易に処理することができる。
【００７２】
なお、本実施例では、スケジューラ１０による読み出し優先順は、完全優先としたが、本発明においてはこれに限定されない。また、スケジューラ９によるバッファＡ、バッファＢ間の読み出し優先順についても、本実施例においては、バッファＢの完全優先としたが、本発明においては特に限定されない。バッファＡとバッファＢとから交互に読み出す実施形態でもよく、読み出し順は事業者にとっての設計的パラメータであり、限定されない。
【００７３】
上記の構成により、スリープ中の通信ノードを経由する通信データの廃棄を回避するためのバッファ容量を削減し、かつ簡易にバッファを管理できる本発明を実施することができる。
【実施例２】
【００７４】
本発明における第２の実施例について以下に説明する。本実施例における通信網の構成を図６に示す。第１の実施例と第２の実施例は、以下で説明する点が異なる。
【００７５】
図６に示すように、親ノード１１と上位ネットワーク５の間には、集線ノード１２が接続されている。親ノード１１は、実施例１において説明した、複数の子ノード３をスリープモードへ移行させる等の同期スリープ管理機能を備える。集線ノード１２は、スリープ中の子ノードを経由する通信データを蓄積する共有バッファ機能を備える。親ノード１１は、スリープ中の子ノードの識別子とスリープ時間とを含む通知メッセージ１９を集線ノード１２に通知する。
【００７６】
また、図６に示す本実施例においては、親ノード１１と集線ノード１２とは直接的に接続する構成であるが、本発明はこの構成に限定されるものではない。親ノード１１が送信した通知メッセージ１９を集線ノード１２が受信できるのであれば、親ノード１１と集線ノード１２との間に通信網を構成してもよい。
【００７７】
本実施例においては、第１の実施例におけるスリープメッセージの送信機能は親ノード１１が備える。一方、集線ノード１２は、第１の実施例における親ノード１と同様に、通信データを蓄積するバッファＡ−Ｈ、バッファＢ−Ｈ、バッファＡ−Ｌ、管理テーブル６、スリープ状態フラグ７、振り分け部８、スケジューラ９−Ｈ、スケジューラ１０を備える。
【００７８】
親ノード１１は、図２を参照して説明したように、子ノード３ごとに上り下りの通信データの有無に基づき、子ノード３をスリープモードに移行させるか否かを判断する。親ノード１１は、スリープモードに移行させる子ノード３に対しては、スリープ時間を設定し、スリープメッセージを送信する。その際、親ノード１１は、スリープメッセージを送信した子ノード３の識別子とスリープ時間ＳＴｃとを含む通知メッセージ１９を集線ノード１２に通知する。
【００７９】
図７は、本実施例における通信ノード間のメッセージ授受を示す図である。集線ノード１２に通知するスリープ時間ＳＴｃは、図７に示すように調整され、通知される（図中のＭ１）。なお、説明を簡単にするため、子ノードは３−１のみを示す。
【００８０】
本実施例では、以下のようにＳＴｃを調整する。あらかじめ定められたスリープ時間をＳＴ（＝Ｔａ−Ｔｓ）、親ノード１１から集線ノード１２に通知するのに要する時間をΔＴｃ、親ノード１１と集線ノード１２間の伝搬時間をＤｃとすると、スリープ時間ＳＴｃは、
ＳＴｃ＝ＳＴ−ΔＴｃ−２Ｄｃ
となる。
【００８１】
一方、集線ノード１２は、親ノード１１から通知された、スリープメッセージを送信した子ノード３の識別子に基づいて管理テーブル６を更新する。また、集線ノード１２は、通知されたスリープ時間ＳＴｃに基づいてスリープ状態フラグ７をセットする。集線ノード１２は、通知メッセージ１９の受信後時間ＳＴｃだけ経過したら、スリープ状態フラグ７をリセットし、また、すべての子ノード３が通常モードへ移行したものとして、管理テーブル６を更新する。
【００８２】
これにより、集線ノード１２が、スリープ状態フラグ７のリセット直後に通信データを送信しても、当該通信データは時刻Ｔａに親ノード１１に到着する。さらに当該通信データは子ノード３へ転送され、子ノード３が通常モードへ移行した直後に到着するため、子ノード３は正常に通信データを受信することが出来る。
【００８３】
なお、図６の振り分け部８が通信データをバッファＡ−Ｈ、Ｂ−Ｈ、Ａ−Ｌへ蓄積する際の手順、スケジューラ９−Ｈおよびスケジューラ１０が、当該共有バッファから通信データを読み出す手順は、第１の実施例と同様である。
【００８４】
上述したように、通信データをバッファする機能と、スリープメッセージを送信する機能とが、それぞれ集線ノード１２と親ノード１１とに分離していても、本発明を実施することができる。
【実施例３】
【００８５】
本発明における第３の実施例について以下に説明する。第２の実施例と第３の実施例は、以下で説明する点が異なる。
【００８６】
本実施例における親ノード１１は、スリープメッセージを送信した子ノード３の識別子のみを集線ノード１２に通知する。第２の実施例と異なり、親ノード１１はスリープ時間を集線ノード１２に通知しない。親ノード１１は、子ノード３が通常モードへ移行する時刻Ｔａに合わせて、通常モードへ移行することを集線ノード１２に通知する。具体的には、図８に示すように、親ノード１１にて子ノード３が通常モードへ移行したと判断される時刻Ｔａより、親ノード１１と集線ノード１２との往復に要する伝搬時間だけ早い時刻（Ｔａ−２Ｄｃ）に、親ノード１１は集線ノード１２に対して通常モードへ移行することを通知する。
【００８７】
集線ノード１２は、スリープモードへ移行した子ノード３の識別子を親ノード１１から通知されたら、管理テーブル６を更新し、スリープ状態フラグ７をセットする。一方、当該子ノード３が通常モードへ移行したことを通知されたら、集線ノード１２は、すべての子ノード３が通常モードへ移行したものとして、管理テーブル６を更新し、スリープ状態フラグ７をリセットする。
【００８８】
本発明においては、通常モードへ移行したことを親ノード１１が集線ノード１２に通知する形式は限定されない。通常モードへ移行したことを示す直接的な情報ビットを通知メッセージ１９に含めても良いし、スリープモードへ移行する子ノード３が１台も無いことを示す情報ビットを通知することで、間接的に示しても良い。
【００８９】
上述したように、親ノード１１がスリープ時間を集線ノード１２に通知しなくとも、本発明を実施することができる。
【００９０】
これまでに説明したように、本発明により、通信網における省電力の方法を実現するにあたり、スリープ中の通信ノードを経由する通信データの廃棄を回避するのに必要なバッファ容量を削減し、かつ、簡易な手段によりバッファを管理する方法、およびそのような通信ノードを提供することができる。
【符号の説明】
【００９１】
１、１１、１３        親ノード
２                    通信路
３                    子ノード
４                    下位ネットワーク
５                    上位ネットワーク
６、１８              管理テーブル
７                    スリープ状態フラグ
８、１４              振り分け部
９、１０、１６、１７  スケジューラ
１２                  集線ノード
１５                  バッファ
１９                  通知メッセージ
【図１】
2011049674.tif 000003
【図２】
2011049674.tif 000004
【図３】
2011049674.tif 000005
【図４】
2011049674.tif 000006
【図５】
2011049674.tif 000007
【図６】
2011049674.tif 000008
【図７】
2011049674.tif 000009
【図８】
2011049674.tif 000010
【図９】
2011049674.tif 000011
【図１０】
2011049674.tif 000012
【図１１】
2011049674.tif 000013