説明

通信網における共有バッファを用いた省電力方法および通信ノード

【課題】第1の通信ノードに通信路を介して複数の第2の通信ノードが接続した通信網における省電力方法を提供する。
【解決手段】第2の通信ノードは、スリープメッセージにより指定されたスリープ時間だけスリープモードで動作し、スリープ時間の経過後は通常モードで動作する。第1の通信ノードは、第2の通信ノードを経由する通信データを蓄積するための2種類の共有バッファと、スリープモードで動作中の第2の通信ノードの有無を示すスリープ状態フラグと、共有バッファから通信データを読み出して通信路へ出力するスケジューラと、第2の通信ノードが通常モードまたはスリープモードで動作していることにしたがっていずれのバッファに蓄積するかを振り分ける手段と、を備える。また、スケジューラは、スリープ状態フラグを参照することによってどのバッファに蓄積されている通信データを読み出すかを決める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信網における電力消費量を抑制できる省電力方法および通信ノードに関する。
【背景技術】
【0002】
通信網において省電力を実現する方法として、通信ノードがデータの送受信を行わない期間には、必要最低限の機能ブロックにのみ給電を行い、他の機能ブロックは休止させる方法がある。機能ブロックを休止させている状態を一般にスリープモードと呼び、特定の機能ブロックを休止させる機能をスリープ機能と呼ぶ。また、スリープモードで動作していることを、スリープ中と呼ぶ。例えば、特許文献1には、通信ノード間のフロー制御により、データ送信を停止させられている期間にはスリープモードに移行することで、省電力を実現する方法が開示されている。
【0003】
また、上記のフロー制御は、接続している通信ノード間で行うのではなく、論理回線ごとに行うこともできる。例えば、特許文献2には、VLAN(Virtual Local Area Network)と呼ばれる論理回線ごとにフロー制御を実現する方法が開示されている。
【0004】
さらに、フロー制御の方法として、通信ノードからの全てのデータ送信を停止させるのではなく、優先度を指定してデータ送信を停止させる方法も知られている。例えば、非特許文献1には、優先度を指定できるフロー制御の方法が開示されている。
【0005】
また、光アクセスネットワークにおいても、通信ノードにスリープ機能を持たせることで、省電力を実現する方法が検討されている。例えば、非特許文献2には、EPON(Ethernet Passive Optical Network)と呼ばれる光アクセスネットワークにおいて、OLT(Optical Line Terminal:局側通信装置)と、ONU(Optical Network Unit:宅内通信装置)との間でメッセージを交換し、ONUをスリープモードに移行させる手続きが開示されている。
【0006】
ここで、スリープ機能を用いる省電力方法において、スリープ中の通信ノードを経由する通信データが発生した際に、この通信データをどのように扱うか、という課題がある。
【0007】
発生した通信データが廃棄してもよい、すなわち、当該通信ノードが正常に受信しなくとも問題が発生しない通信データである場合、特別な考慮は必要としない。すなわち、スリープ中であってもかまわずにその通信ノード宛てにデータを送信し、通信ノードはスリープ中であるから正常に受信できずに通信データが廃棄されるようにしてもよい。あるいは、当該通信ノードに接続する他の通信ノード(管理ノード)がスリープ状態を管理し、スリープ中である場合に、管理ノードが、その通信ノード宛ての通信データを廃棄する方法を実施することもできる。
【0008】
しかしながら、アプリケーションまたは通信サービスの都合上、廃棄の許されない通信データが発生する場合もある。この場合、スリープ中の通信ノードを経由する通信データを廃棄せずに扱う方法が必要である。
【0009】
上記の課題に対し、スリープ機能を有する通信ノード(子ノード)が接続している通信ノード(親ノード)でデータを蓄積する方法が知られている。例えば、スリープ中の子ノードを経由する通信データを、子ノードが接続している親ノード側で蓄積し、子ノードがスリープモードから通常モードに移行する適当なタイミングでのみ通信データの送受信を行う方法が知られている。
【0010】
図9は、上記の従来技術を用いて、スリープ中の子ノードを経由する通信データの廃棄を回避する省電力通信網を実現するための通信網の構成を示す。図9では、親ノード13には、通信路2を介して複数の子ノード3が接続する。親ノード13は上位ネットワーク5に接続し、それぞれの子ノード3は下位ネットワーク4に接続する。
【0011】
(スリープ手順)
図10は、親ノード13が子ノード3−iをスリープモードへ移行させる手順を示す。まず、親ノード13は子ノード3−iに制御メッセージを送信するよう指示を与え、子ノード3−iは指示に応答して制御メッセージを送信する。
【0012】
次に、親ノード13は、子ノード3−iをスリープモードに移行させるか否かを判断する。この判断は、親ノード13から子ノード3−iへの下り通信データの有無と、子ノード3−iから親ノード13への上り通信データの有無に基づいて行われる。
【0013】
下り通信データの有無は、親ノード13における、上位ネットワーク5から下位ネットワーク4−iへの下り通信データの流量を観測することによって識別することができる。一方、上り通信データの有無は、子ノード3−iが親ノード13に送信する制御メッセージに基づいて識別することができる。制御メッセージは、子ノード3−iに蓄積されている通信データ量を親ノード13に通知するために伝送される。親ノード13は、この判断を子ノードごとに行う。
【0014】
親ノード13は、当該子ノード3−iをスリープモードに移行させるべきと判断したら、スリープメッセージを子ノード3−iに送信する。スリープメッセージは、子ノード3−iがスリープする時間(スリープ時間=STi)を含む。
【0015】
子ノード3−iは、受信したスリープメッセージに含まれるスリープ時間STiを読み出し、直ちにスリープモードへ移行する。このとき、子ノードのすべての機能への給電を停止するのではなく、少なくともスリープ時間を管理するタイマーだけは動作したままにしておく。
【0016】
スリープメッセージを受信後スリープ時間STiが経過したら、子ノード3−iは直ちに起動し、通常モードへ移行する。親ノード13は、子ノード3−iが通常モードへ移行する時刻にあわせて、子ノード3−iが制御メッセージを送信するように指示を与えておく。子ノード3−iはその指示に応答して、蓄積データ量の有無を示す制御メッセージ、あるいは、引き続きスリープモードへ移行することを要求する制御メッセージを親ノード13へ送信する。親ノード13は上記と同様に、当該子ノード3−iをスリープモードへ移行させるか否かを判断する。
【0017】
この一連の手順を繰り返し、適切な時期に子ノードをスリープモードへと移行させることによって、省電力化を図ることができる。
【0018】
(親ノードの構成)
図11は、従来技術に係る親ノードの構成を示す。図11を参照して、スリープ中の子ノードを経由する通信データを廃棄せずに親ノードにて蓄積する手順を説明する。
【0019】
親ノード13は、子ノードごとで、かつ、優先度ごとのバッファ15を備える。つまり、図11に示すように、バッファ15は、高優先の通信データを蓄積するバッファ(15−1H〜15−3H)および低優先の通信データを蓄積するバッファ(15−1L〜15−3L)を有する。
【0020】
親ノード13が上位ネットワーク5から受信した通信データは、振り分け部14により、バッファ15に振り分けられ、蓄積される。振り分け部14は、当該通信データが経由する子ノードと、優先度とを通信データから識別し、対応するバッファ15に蓄積する。例えば、子ノード3−1を経由する高優先の通信データであれば、振り分け部14は、当該通信データをバッファ15−1Hに蓄積する。
【0021】
スケジューラ16、17は、バッファ15から通信データを読み出し、通信路2へ読み出した通信データを送信する。スケジューラ16は、高優先バッファから通信データを読み出すスケジューラ16−Hおよび低優先バッファから通信データを読み出すスケジューラ16−Lを含む。
【0022】
スケジューラ16は、子ノードの動作状態を管理する管理テーブル18を参照し、通信データの読み出しを制御する。具体的には、スリープ中の子ノード3を経由する通信データが蓄積されているバッファ15からは通信データを読み出さず、通常モードの子ノード3を経由する通信データを蓄積しているバッファ15のみから通信データを読み出す。図11の例では、管理テーブル18は、子ノード3−1、3−2はスリープ中であることを示しているので、スケジューラ16−Hはバッファ15−3Hのみから通信データを読み出し、スケジューラ16−Lはバッファ15−3Lのみから通信データを読み出す。他のバッファ15は、経由する子ノードがスリープ中であるので、通信データが蓄積されたままになる。
【0023】
スケジューラ17は、完全優先により通信データを読み出す。すなわち、スケジューラ16―Hが読み出す通信データがある限りは、スケジューラ16−Hが読み出した通信データのみを読み出す。スケジューラ16−Hが読み出す通信データが無い場合にのみ、スケジューラ16−Lが読み出す通信データを読み出す。
【0024】
また、親ノード13は、管理テーブル18により子ノード3ごとの動作状態を管理する。親ノード13は、スリープメッセージの送信後、直ちに対応する子ノードをスリープ中として管理テーブル18に記録し、通知したスリープ時間の経過後、当該子ノードを通常モードとして管理テーブル18に記録することによって、管理テーブル18を更新する。
【0025】
上記のように、従来技術であっても、スリープ中の子ノードを経由する通信データを廃棄することなく、省電力の通信網を構成することが出来る。
【先行技術文献】
【特許文献】
【0026】
【特許文献1】特開2008−263281号公報
【特許文献2】特開2003−224574号公報
【非特許文献】
【0027】
【非特許文献1】IEEE802.1Qbb Draft0.2
【非特許文献2】http://www.ieee802.org/3/av/public/2008_09/3av_0809_mandin_4.pdf
【発明の概要】
【発明が解決しようとする課題】
【0028】
しかしながら、上記のようにデータを蓄積するバッファを備える場合、必要なバッファ容量は過剰に大規模になりうる。例えば、子ノードの数が32、優先度の種類が4、スリープモード中に蓄積できるデータ量を最大で10キロバイトとすると、省電力の実現のためだけに親ノードは32×4×10キロバイト=1280キロバイトのバッファを備えなければならない。これは明らかに過大であると言える。
【0029】
スリープ中の子ノードを経由するデータは、常に親ノードに到着するわけではなく、ある程度の確率で到着する程度である。例えば、スリープ中の子ノードを経由するデータが親ノードに到着するのは、確率的に見て、最大でも4台分程度であり、また、廃棄させずに蓄積しなければならないデータの優先度は1種類のみであったとすると、必要なバッファ容量は、4×1×10キロバイト=40キロバイトであり、上記の1/32の容量である。
【0030】
一方で、共有バッファを用いる方法も考えられる。例えば、通信データを親ノード内の共有バッファとしてのFIFO(First In First Out)キューに蓄積し、親ノードは、通常モードの子ノードを経由するデータのみを読み出し、スリープモードの子ノードを経由するデータはバッファに留め置く方法である。
【0031】
しかしながら、上記の方法では、FIFOキューであるにもかかわらず、スリープモードの子ノードを経由するデータよりも通常モードの子ノードを経由するデータを先に読み出す必要があり、管理が複雑である。
【0032】
すなわち、従来の方法では、スリープモードの子ノードを経由するデータを廃棄させずに蓄積するためには、親ノードに過大なバッファを備えるか、あるいは複雑なバッファ管理を行う必要があった。これらを親ノードが備えることは高コストであるのみならず、通信網全体の消費電力量の抑制にならない恐れがある。
【0033】
本発明は、上述した事情に鑑みてなされたもので、通信網における省電力方法を実現するにあたり、スリープ中の通信ノードを経由する通信データの廃棄を回避するのに必要なバッファ容量を削減し、かつ、簡易な手段によりバッファを管理し、通信データの廃棄を回避する方法、およびそのような通信ノードを提供することを目的とする。
【課題を解決するための手段】
【0034】
上記の課題を解決するために、本発明は、第1の通信ノードに通信路を介して複数の第2の通信ノードが接続した通信網における省電力方法を提供する。第2の通信ノードは、受信するスリープメッセージにより指定されたスリープ時間だけ、該第2の通信ノードの消費電力を抑制するスリープモードで動作する手段と、前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作する手段とを備える。第1の通信ノードは、前記第2の通信ノードを経由する通信データを蓄積するための2種類の共有バッファであるバッファAおよびバッファBと、スリープモードで動作中の前記第2の通信ノードの有無を示すスリープ状態フラグと、前記バッファAおよび前記バッファBから前記通信データを読み出し、前記通信路へ出力するスケジューラと、前記通常モードで動作する第2の通信ノードを経由する通信データを前記バッファAに蓄積し、前記スリープモードで動作する第2の通信ノードを経由する通信データを前記バッファBに蓄積するための振り分け手段と、を備える。該スリープ時間は、それぞれの第2の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第2の通信ノードごとに指定され、前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第1の通信ノードから通信路を介してそれぞれの前記第2の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第2の通信ノードにおける時刻を含む。そして、本発明に係る省電力方法は、前記振り分け手段が、受信した通信データが通常モードで動作する第2の通信ノードを経由する通信データである場合にバッファAに蓄積し、受信した通信データがスリープモードで動作する第2の通信ノードを経由する通信データである場合にバッファBに蓄積するステップと、前記スケジューラが、前記スリープ状態フラグが少なくとも1つの前記第2の通信ノードがスリープモードで動作していることを示す場合に、前記バッファAのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第2の通信ノードが通常モードで動作していることを示す場合に、前記バッファAおよび前記バッファBから蓄積されている通信データを読み出すステップと、を備えることを特徴とする。
【0035】
また、本発明に係る通信網における第1の通信ノードを提供する。第1の通信ノードは通信路を介して複数の第2の通信ノードと接続し、かつ他のネットワークから前記複数の第2の通信ノードを経由する通信データを受信する。第2の通信ノードは、受信するスリープメッセージにより指定されたスリープ時間だけ、該第2の通信ノードの消費電力を抑制するスリープモードで動作し、前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作する。第1の通信ノードは、前記第2の通信ノードを経由する通信データを蓄積するための2種類の共有バッファであるバッファAおよびバッファBと、スリープモードで動作中の前記第2の通信ノードの有無を示すスリープ状態フラグと、前記バッファAおよび前記バッファBから前記通信データを読み出し、前記通信路へ出力するスケジューラであって、前記スリープ状態フラグが少なくとも1つの前記第2の通信ノードがスリープモードで動作していることを示す場合に、前記バッファAのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第2の通信ノードが通常モードで動作していることを示す場合に、前記バッファAおよび前記バッファBから蓄積されている通信データを読み出す、スケジューラと、前記通常モードで動作する第2の通信ノードを経由する前記通信データを前記バッファAに蓄積し、前記スリープモードで動作する第2の通信ノードを経由する前記通信データを前記バッファBに蓄積するための振り分け手段と、を備える。該スリープ時間は、それぞれの第2の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第2の通信ノードごとに指定され、前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第1の通信ノードから通信路を介してそれぞれの前記第2の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第2の通信ノードにおける時刻を含む、ことを特徴とする。
【発明の効果】
【0036】
本発明により、スリープ中の通信ノードを経由する通信データの廃棄を回避するのに共有バッファを用いることで必要なバッファ容量を削減し、かつ簡易なバッファ管理の方法により省電力通信システムを実現することができる。
【図面の簡単な説明】
【0037】
【図1】本発明の第1の実施例における通信網の構成を示す図である。
【図2】本発明の第1の実施例におけるスリープモードへ移行する手順を示すシーケンス図である。
【図3】本発明の第1の実施例における通信ノード間のメッセージ授受の様子を示すシーケンス図である。
【図4】本発明の第1の実施例における管理テーブルとスリープ状態フラグとを示す図である。
【図5】本発明の第1の実施例における親ノードの構成を示す図である。
【図6】本発明の第2の実施例における通信網の構成を示す図である。
【図7】本発明の第2の実施例における通信ノード間のメッセージ授受の様子を示す図である。
【図8】本発明の第3の実施例における通信ノード間のメッセージ授受の様子を示す図である。
【図9】従来技術における通信網の構成を示す図である。
【図10】従来技術におけるスリープモードへ移行する手順を示すシーケンス図である。
【図11】従来技術における親ノードの構成を示す図である。
【発明を実施するための形態】
【0038】
以下、本発明を実施するのに最良の形態を、図面を参照しながら説明する。なお、図中で同一の番号が付与されているものについては、同一の特徴を有するものとする。
【実施例1】
【0039】
(ネットワーク構成)
本発明における第1の実施例について以下に説明する。図1は本実施例における通信網の構成を示す。親ノード1には通信路2を介して複数の子ノード3が接続する。
【0040】
なお、本実施例では、3つの子ノード(3−1〜3−3)のみが親ノード1に接続している例を示すが、本発明においては、子ノードの台数は制限されない。他の実施例についても同様である。すなわち、説明を簡単にするために、3つの子ノードのみを図示しているが、子ノードの数はこれに限定されるものではない。
【0041】
また、図1において、親ノード1と複数の子ノード3とが接続する通信路2も、特に限定されるものではない。すなわち、通信路2は、ルーター等により構成されるIP(Internet Protocol)ネットワークでもよく、イーサネット(登録商標)スイッチにより構成されるレイヤ2ネットワークでもよく、さらには、親ノードを無線基地局とし、子ノードを無線端末とした無線ネットワークでもよい。あるいは、親ノードをOLTとし、子ノードをONUとして、光ファイバと光スプリッタとにより親ノードと複数の子ノードとをポイント・マルチポイント接続したPON(Passive Optical Network)でもよい。あるいは、これらの組み合わせでも良い。
【0042】
親ノード1は上位ネットワーク5に接続し、子ノード3は、それぞれ下位ネットワーク4に接続する。上位ネットワーク5から下位ネットワーク4への通信データは、親ノード1、通信路2を介し、適切な子ノード3を経由して転送される。本明細書では、上位ネットワーク5から下位ネットワーク4へ転送される通信データを下り通信データと呼び、逆の方向に転送される通信データを上り通信データと呼ぶ。
【0043】
(スリープ手順)
図2は、子ノード3をスリープモードに移行させる手順を示す。これは、図10に示す従来技術での手順とほぼ同様である。以下、子ノード3−iをスリープモードに移行させる手順を説明する。まず、親ノード1は子ノード3−iに制御メッセージを送信するよう指示を与え、子ノード3−iはその指示に応答して制御メッセージを送信する。
【0044】
次に、親ノード1は子ノード3−iをスリープモードに移行させるか否かを判断する。この判断は、親ノード1から子ノード3−iへの下り通信データの有無と、子ノード3−iから親ノード1への上り通信データの有無に基づいて行われる。下り通信データの有無は、親ノード1における、上位ネットワーク5から下位ネットワーク4−iへの下り通信データの流量を観測することによって識別することができる。一方、上り通信データの有無は、子ノード3−iが親ノード1に送信した制御メッセージに基づいて識別することができる。制御メッセージは、子ノード3−iに蓄積されている通信データ量を親ノードに通知するために伝送される。親ノード1は、この判断を子ノードごとに行う。
【0045】
なお、本発明においては、この制御メッセージは蓄積データ量を通知する形式のものに限定されない。子ノードがスリープモードへ移行することを要求する形式でもよい。また、子ノードをスリープモードへ移行させる際の上記の判断は、優先度ごとの通信データの有無に基づいて行っても良い。
【0046】
親ノード1は、当該子ノード3−iをスリープモードに移行させるべきと判断したら、スリープメッセージを子ノード3−iに送信する。スリープメッセージは、子ノード3−iがスリープする時間(スリープ時間=STi)を含む。
【0047】
子ノード3−iは、受信したスリープメッセージに含まれるスリープ時間STiを読み出し、直ちにスリープモードへ移行する。このとき、子ノードのすべての機能への給電を停止するのではなく、少なくともスリープ時間を管理するタイマーだけは動作したままにしておく。
【0048】
スリープメッセージを受信後スリープ時間STiが経過したら、子ノード3−iは直ちに起動し、通常モードへ移行する。親ノード1は、子ノード3−iが通常モードへ移行する時刻にあわせて、子ノード3−iが制御メッセージを送信するように指示を与えておく。子ノード3−iはその指示に応答して、蓄積データ量の有無を示す制御メッセージ、あるいは、引き続きスリープモードへ移行することを要求する制御メッセージを親ノード1へ送信する。親ノード1は上記と同様に、当該子ノード3−iをスリープモードへ移行させるか否かを判断する。
【0049】
この一連の手順を繰り返し、適切な時期に子ノードをスリープモードへと移行させることによって、省電力化を図ることができる。
【0050】
(同期スリープ)
次に、親ノード1がそれぞれの子ノード3に対してスリープモードへ移行するよう、指示を与える手順について図3、図4を用いて説明する。
【0051】
まず、親ノード1は、それぞれの子ノード3からの制御メッセージを受信する時刻がなるべく近い時刻に集中するように、子ノードへの送信指示を与えておく(S1)。
【0052】
次に、親ノード1は、スリープモードへ移行させるか否かの判断を子ノードごとに行う(S2)。スリープモードへ移行させる子ノードについては、親ノード1が備える管理テーブル6にその旨の情報を記載し更新する。ここでは、子ノード3−1、3−2をスリープモードへ移行させることとする。
【0053】
さらに、スリープモードへ移行させる子ノード3−1、3−2に向けて、順次スリープメッセージを送信する(S3)。その際、図3に示すように、それぞれの子ノード3−1、3−2が同時期に通常モードへ移行するよう、それぞれのスリープ時間ST1、ST2を設定する。
【0054】
詳細を以下に説明する。まず、親ノード1から子ノード3−1〜3−3への伝搬時間がそれぞれD1〜D3であるとする。また、親ノードは時刻Tsから時刻Taまでの間、子ノードをスリープさせるものとして、その時間の長さをTa−Ts=STとする。また、通信路2による伝搬時間が一定でない場合には、最大の伝搬時間をあらかじめ想定しておき、その値をD1〜D3とすることもできる。
【0055】
図4(a)に示すように、親ノード1は、時刻Tsに親ノード1が備えるスリープ状態フラグ7をセットし、スリープモードで動作している子ノードがあることを記録する。
【0056】
親ノード1はスリープメッセージを子ノード3−1、3−2に向けて順次送信する。この場合、実際の送信時刻はそれぞれ、Ts+ΔT1、Ts+ΔT2になるものとする。子ノード3−1、3−2にスリープメッセージが到着する時刻は、それぞれの伝搬時間を加えた時刻である。つまり、子ノード3−1であれば、時刻Ts+ΔT1+D1に到着する。
【0057】
親ノード1は、時刻Taにおいて子ノードがスリープモードから通常モードに移行したと判断して、図4(b)に示すように、スリープ状態フラグ7をリセットし、同時に、管理テーブル6を更新し、全ての子ノードが通常モードで動作している旨を記録する。しかし、時刻Taにおいて親ノード1が子ノード3に向けて通信データを送信したとしても、実際に通信データが子ノードに到着するまでには前述の伝搬時間D1〜D3だけ必要である。すなわち、時刻Taに親ノードが子ノード3−1〜3−3に送信した通信データが子ノードに到着する時刻は、それぞれ、Ta+D1、Ta+D2、Ta+D3となる。なるべく長くスリープモードで動作しているほうが省電力効果は大きいため、実際に通信データが到着しうる時刻まで子ノードをスリープさせておく。
【0058】
すなわち、それぞれの子ノード3−1、3−2に通知すべきスリープ時間は、(実際に親ノードからの通信データが到着しうる時刻)−(スリープメッセージを受信しうる時刻)とするのが最適である。例えば、子ノード3−iに通知するスリープ時間STiは、
STi=(Ta+Di)−(Ts+ΔTi+Di)=ST−ΔTi
となる。すなわち、これはあらかじめ定めたスリープ時間STから、スリープメッセージを実際に送信したのに要する時間ΔTiを減じた値を意味する。これにより、スリープさせた子ノード3は、同時期に通常モードへ移行することができる。
【0059】
(蓄積手順)
次に、スリープ中の子ノードを経由する通信データを親ノードにて蓄積する処理の手順を、図5を用いて説明する。
【0060】
親ノード1は、2種類の共有バッファとして、バッファAとバッファBとを備える。バッファAには通常モードの子ノード3を経由する通信データを、当該通信データが読み出されるまでの間、一時的に蓄積する。バッファBにはスリープモードの子ノード3を経由する通信データを蓄積し、対応する子ノードがスリープモードであっても通信データが廃棄されないようにする。さらに、2種類の共有バッファを備えるのは高優先の通信データのみとし、低優先の通信データについてはバッファAのみを備え、バッファBは設けない。図5においては、高優先のバッファAはバッファA−Hとして、高優先のバッファBはバッファB−Hとして、低優先のバッファAはバッファA−Lとして示される。それぞれのバッファは、子ノードごとの個別バッファではなく、共有バッファである。
【0061】
バッファB−Hのバッファ容量は、スリープ中の子ノードを経由する通信データが同時期に親ノードに到着しうる通信データ量とする。同時期にそのような通信データが発生する確率は低い上、優先度の高い通信データのみを蓄積するバッファであるので、必要な容量は十分小さいと言える。
【0062】
また、親ノード1は、子ノードごとの動作モードを管理する管理テーブル6と、スリープ中の子ノードの有無を表すスリープ状態フラグ7とを備える。
【0063】
親ノード1が通信データを蓄積する処理の手順を説明する。まず、親ノード1が備える振り分け部8は通信データに記載された情報に基づき、当該通信データが経由する子ノード3を識別する。ここで、通信データに記載された情報は、VLANタグの識別子でもよいし、IP(Internet Protocol)ヘッダのアドレスでもよい。また、振り分け部8は、当該通信データの優先度も同様にVLANタグあるいはIPヘッダの情報に基づいて識別する。また、本実施例においては、VLANタグまたはIPヘッダを識別子として用いたが、本発明はそれらに限定されない。当該通信データが経由する子ノードを識別できる情報であれば、その形式には限定されない。また、優先度を識別する形式についても限定されない。
【0064】
次に、振り分け部8は管理テーブル6を参照し、当該通信データが経由する子ノード3の現在の状態を確認する。対応する子ノードが通常モードで動作しており、かつ通信データが高優先であれば、通信データはバッファA−Hに蓄積される。対応する子ノードが通常モード動作しており、かつ通信データが低優先であれば、通信データはバッファA−Lに蓄積される。一方、対応する子ノードがスリープ中で、かつ通信データが高優先であれば、通信データはバッファB−Hに蓄積される。対応する子ノードがスリープ中で、かつ通信データが低優先であれば、通信データは廃棄される。
【0065】
前述のとおり、スリープ中の子ノード3は同時期に通常モードへ移行する。そのため、バッファBに通信データを蓄積する際に、経由する子ノード3ごとに区別する必要は無く、また、蓄積する順番も調整する必要が無いため、本実施例では必要なバッファ容量を少なくでき、かつ簡易に処理することができる。
【0066】
なお、本実施例では、優先度は高低2段階として説明した。しかし、本発明は優先度の数には限定されない。より細かい優先度(4段階など)を設定してもよいし、あるいは、優先度無しでも良い。また、本実施例では、子ノードがスリープモードの時には、高優先の通信データのみがバッファBに蓄積され、低優先の通信データは廃棄される。しかし、本発明においては、親ノード1は、設定されるすべての優先度に対応するバッファBを備えてもよいし、本実施例のように最上位の優先度のみに対応するバッファBを備えてもよい。言い換えると、バッファBを備えることができる優先度は、事業者にとっての設計的パラメータであり、限定されない。
【0067】
(読み出し手順)
次に、親ノード1がバッファから通信データを読み出し、子ノード3へ向けて通信データを通信路2へ送信する処理の手順を、図5を用いて説明する。
【0068】
親ノード1は、スケジューラ9−Hとスケジューラ10とを備える。スケジューラ9−Hは、スリープ状態フラグ7を参照し、スリープ状態フラグ7がセットされている場合には、スリープ中の子ノード3があるものとみなして、バッファB−Hに蓄積されている通信データの読み出しは行わず、バッファA−Hに蓄積されている通信データのみを読み出す。さらに、スケジューラ10がスケジューラ9−Hによって読み出された通信データを通信路2へ送信する。その際、スケジューラ10は高い優先度のバッファA−Hに通信データがある限りは、スケジューラ9−HがバッファA−Hから読み出した通信データを通信路2へ送信し、バッファA−Hに蓄積された通信データがなくなったときにのみ、スケジューラ10はバッファA−Lから通信データを読み出して通信路2へ送信する。
【0069】
一方、スリープ状態フラグ7がリセットされている場合には、スケジューラ9−Hは、すべての子ノード3が通常モードで動作しているものとみなして、バッファA−HおよびバッファB−Hの両方から通信データを読み出し、スケジューラ10は当該読み出された通信データを通信路2へ送信する。本実施例においては、以下の手順で読み出す。まず、スケジューラ9−Hは、バッファB−Hに蓄積されている通信データを読み出す。バッファB−Hに蓄積されている通信データがある限りは、バッファB−Hからの読み出しを続ける。スケジューラ9−Hは、バッファB−Hが空の時にのみ、バッファA−Hから通信データの読み出しを行う。スケジューラ9−Hは、バッファB−Hが空で、かつ、バッファA−Hに通信データがある限りはバッファA−Hからの読み出しを続ける。
【0070】
スケジューラ10は完全優先で通信データを読み出す。つまり、スケジューラ10は、バッファB−HとバッファA−Hの両者が空であるときにのみ、バッファA−Lから通信データの読み出しを行う。
【0071】
前述のとおり、スリープ中の子ノード3は同時期に通常モードへ移行する。そのため、スリープ状態フラグ7がリセットされている際には、すべての子ノード3は通常モードで動作しているため、スケジューラ9−HがバッファB−Hから通信データを読み出す際に、当該通信データが経由する子ノード3がスリープ状態であるかどうかをチェックする必要は無く、簡易に処理することができる。
【0072】
なお、本実施例では、スケジューラ10による読み出し優先順は、完全優先としたが、本発明においてはこれに限定されない。また、スケジューラ9によるバッファA、バッファB間の読み出し優先順についても、本実施例においては、バッファBの完全優先としたが、本発明においては特に限定されない。バッファAとバッファBとから交互に読み出す実施形態でもよく、読み出し順は事業者にとっての設計的パラメータであり、限定されない。
【0073】
上記の構成により、スリープ中の通信ノードを経由する通信データの廃棄を回避するためのバッファ容量を削減し、かつ簡易にバッファを管理できる本発明を実施することができる。
【実施例2】
【0074】
本発明における第2の実施例について以下に説明する。本実施例における通信網の構成を図6に示す。第1の実施例と第2の実施例は、以下で説明する点が異なる。
【0075】
図6に示すように、親ノード11と上位ネットワーク5の間には、集線ノード12が接続されている。親ノード11は、実施例1において説明した、複数の子ノード3をスリープモードへ移行させる等の同期スリープ管理機能を備える。集線ノード12は、スリープ中の子ノードを経由する通信データを蓄積する共有バッファ機能を備える。親ノード11は、スリープ中の子ノードの識別子とスリープ時間とを含む通知メッセージ19を集線ノード12に通知する。
【0076】
また、図6に示す本実施例においては、親ノード11と集線ノード12とは直接的に接続する構成であるが、本発明はこの構成に限定されるものではない。親ノード11が送信した通知メッセージ19を集線ノード12が受信できるのであれば、親ノード11と集線ノード12との間に通信網を構成してもよい。
【0077】
本実施例においては、第1の実施例におけるスリープメッセージの送信機能は親ノード11が備える。一方、集線ノード12は、第1の実施例における親ノード1と同様に、通信データを蓄積するバッファA−H、バッファB−H、バッファA−L、管理テーブル6、スリープ状態フラグ7、振り分け部8、スケジューラ9−H、スケジューラ10を備える。
【0078】
親ノード11は、図2を参照して説明したように、子ノード3ごとに上り下りの通信データの有無に基づき、子ノード3をスリープモードに移行させるか否かを判断する。親ノード11は、スリープモードに移行させる子ノード3に対しては、スリープ時間を設定し、スリープメッセージを送信する。その際、親ノード11は、スリープメッセージを送信した子ノード3の識別子とスリープ時間STcとを含む通知メッセージ19を集線ノード12に通知する。
【0079】
図7は、本実施例における通信ノード間のメッセージ授受を示す図である。集線ノード12に通知するスリープ時間STcは、図7に示すように調整され、通知される(図中のM1)。なお、説明を簡単にするため、子ノードは3−1のみを示す。
【0080】
本実施例では、以下のようにSTcを調整する。あらかじめ定められたスリープ時間をST(=Ta−Ts)、親ノード11から集線ノード12に通知するのに要する時間をΔTc、親ノード11と集線ノード12間の伝搬時間をDcとすると、スリープ時間STcは、
STc=ST−ΔTc−2Dc
となる。
【0081】
一方、集線ノード12は、親ノード11から通知された、スリープメッセージを送信した子ノード3の識別子に基づいて管理テーブル6を更新する。また、集線ノード12は、通知されたスリープ時間STcに基づいてスリープ状態フラグ7をセットする。集線ノード12は、通知メッセージ19の受信後時間STcだけ経過したら、スリープ状態フラグ7をリセットし、また、すべての子ノード3が通常モードへ移行したものとして、管理テーブル6を更新する。
【0082】
これにより、集線ノード12が、スリープ状態フラグ7のリセット直後に通信データを送信しても、当該通信データは時刻Taに親ノード11に到着する。さらに当該通信データは子ノード3へ転送され、子ノード3が通常モードへ移行した直後に到着するため、子ノード3は正常に通信データを受信することが出来る。
【0083】
なお、図6の振り分け部8が通信データをバッファA−H、B−H、A−Lへ蓄積する際の手順、スケジューラ9−Hおよびスケジューラ10が、当該共有バッファから通信データを読み出す手順は、第1の実施例と同様である。
【0084】
上述したように、通信データをバッファする機能と、スリープメッセージを送信する機能とが、それぞれ集線ノード12と親ノード11とに分離していても、本発明を実施することができる。
【実施例3】
【0085】
本発明における第3の実施例について以下に説明する。第2の実施例と第3の実施例は、以下で説明する点が異なる。
【0086】
本実施例における親ノード11は、スリープメッセージを送信した子ノード3の識別子のみを集線ノード12に通知する。第2の実施例と異なり、親ノード11はスリープ時間を集線ノード12に通知しない。親ノード11は、子ノード3が通常モードへ移行する時刻Taに合わせて、通常モードへ移行することを集線ノード12に通知する。具体的には、図8に示すように、親ノード11にて子ノード3が通常モードへ移行したと判断される時刻Taより、親ノード11と集線ノード12との往復に要する伝搬時間だけ早い時刻(Ta−2Dc)に、親ノード11は集線ノード12に対して通常モードへ移行することを通知する。
【0087】
集線ノード12は、スリープモードへ移行した子ノード3の識別子を親ノード11から通知されたら、管理テーブル6を更新し、スリープ状態フラグ7をセットする。一方、当該子ノード3が通常モードへ移行したことを通知されたら、集線ノード12は、すべての子ノード3が通常モードへ移行したものとして、管理テーブル6を更新し、スリープ状態フラグ7をリセットする。
【0088】
本発明においては、通常モードへ移行したことを親ノード11が集線ノード12に通知する形式は限定されない。通常モードへ移行したことを示す直接的な情報ビットを通知メッセージ19に含めても良いし、スリープモードへ移行する子ノード3が1台も無いことを示す情報ビットを通知することで、間接的に示しても良い。
【0089】
上述したように、親ノード11がスリープ時間を集線ノード12に通知しなくとも、本発明を実施することができる。
【0090】
これまでに説明したように、本発明により、通信網における省電力の方法を実現するにあたり、スリープ中の通信ノードを経由する通信データの廃棄を回避するのに必要なバッファ容量を削減し、かつ、簡易な手段によりバッファを管理する方法、およびそのような通信ノードを提供することができる。
【符号の説明】
【0091】
1、11、13 親ノード
2 通信路
3 子ノード
4 下位ネットワーク
5 上位ネットワーク
6、18 管理テーブル
7 スリープ状態フラグ
8、14 振り分け部
9、10、16、17 スケジューラ
12 集線ノード
15 バッファ
19 通知メッセージ

【特許請求の範囲】
【請求項1】
第1の通信ノードに通信路を介して複数の第2の通信ノードが接続した通信網における省電力方法であって、
前記第2の通信ノードは、
受信するスリープメッセージにより指定されたスリープ時間だけ、該第2の通信ノードの消費電力を抑制するスリープモードで動作する手段と、
前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作する手段と
を備え、
前記第1の通信ノードは、
前記第2の通信ノードを経由する通信データを蓄積するための2種類の共有バッファであるバッファAおよびバッファBと、
スリープモードで動作中の前記第2の通信ノードの有無を示すスリープ状態フラグと、
前記バッファAおよび前記バッファBから前記通信データを読み出し、前記通信路へ出力するスケジューラと、
前記通常モードで動作する第2の通信ノードを経由する通信データを前記バッファAに蓄積し、前記スリープモードで動作する第2の通信ノードを経由する通信データを前記バッファBに蓄積するための振り分け手段と、
を備え、
該スリープ時間は、それぞれの第2の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第2の通信ノードごとに指定され、
前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第1の通信ノードから通信路を介してそれぞれの前記第2の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第2の通信ノードにおける時刻を含み、
前記方法は、
前記振り分け手段が、受信した通信データが通常モードで動作する第2の通信ノードを経由する通信データである場合にバッファAに蓄積し、受信した通信データがスリープモードで動作する第2の通信ノードを経由する通信データである場合にバッファBに蓄積するステップと、
前記スケジューラが、前記スリープ状態フラグが少なくとも1つの前記第2の通信ノードがスリープモードで動作していることを示す場合に、前記バッファAのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第2の通信ノードが通常モードで動作していることを示す場合に、前記バッファAおよび前記バッファBから蓄積されている通信データを読み出すステップと
を備えることを特徴とする省電力方法。
【請求項2】
前記バッファA、前記バッファBおよび前記スケジューラは、前記第1の通信ノードが受信する通信データによって識別される優先度の数だけ、各優先度ごとに設けられ、
前記振り分け手段は、前記通信データが示す優先度にしたがって、各優先度ごとに設けられたバッファAまたはバッファBに前記通信データを振り分けて蓄積する、
ことを特徴とする請求項1記載の省電力方法。
【請求項3】
前記バッファA、前記バッファBおよび前記スケジューラは、前記第1の通信ノードが受信する通信データによって識別される優先度の数よりも少ない数である、1以上の特定の優先度ごとに設けられ、
前記振り分け手段は、前記通信データが前記特定の優先度以外の優先度に該当し、かつ前記通信データが経由する第2の通信ノードがスリープモードで動作する場合には、前記通信データを廃棄する、
ことを特徴とする請求項2記載の省電力方法。
【請求項4】
前記スリープメッセージにより指定する前記スリープ時間を、
あらかじめ定められる時間から前記スリープメッセージを実際に送信したのに要した時間を減ずることにより設定することを特徴とする請求項3記載の省電力方法。
【請求項5】
前記通信データは、VLAN(Virtual Local Area Network)タグを含み、
前記振り分け手段は、前記VLANタグに含まれる、該通信データが経由する第2の通信ノードの識別子および該通信データの優先度を識別する
ことを特徴とする請求項4記載の省電力方法。
【請求項6】
前記通信データは、IP(Internet Protocol)ヘッダを含み、
前記振り分け手段は、前記IPヘッダに含まれる、該通信データが経由する第2の通信ノードの識別子および該通信データの優先度を識別する
ことを特徴とする請求項4記載の省電力方法。
【請求項7】
前記第1の通信ノードは、
前記第2の通信ノードを前記スリープモードで動作させる前記スリープ時間を前記第2の通信ノードごとに設定する手段と、
該スリープ時間を含む前記スリープメッセージを該第2の通信ノードに送信する手段と
をさらに備えることを特徴とする請求項5または6記載の省電力方法。
【請求項8】
前記通信網は、前記第1の通信ノードと前記第2の通信ノード間に接続される第3の通信ノードをさらに備え、
前記第3の通信ノードは、
前記第2の通信ノードを前記スリープモードで動作させる前記スリープ時間を前記第2の通信ノードごとに設定する手段と、
該スリープ時間を含む前記スリープメッセージを該第2の通信ノードに送信する手段と、
送信した当該スリープメッセージの宛先である、それぞれの第2の通信ノードの識別子と該スリープ時間とを前記第1の通信ノードに通知する手段と
を備えることを特徴とする請求項5または6記載の省電力方法。
【請求項9】
前記通信網は、前記第1の通信ノードと前記第2の通信ノード間に接続される第3の通信ノードをさらに備え、
前記第3の通信ノードは、
前記第2の通信ノードを前記スリープモードで動作させる前記スリープ時間を前記第2の通信ノードごとに設定する手段と、
該スリープ時間を含む前記スリープメッセージを該第2の通信ノードに送信する手段と、
送信した当該スリープメッセージの宛先である、それぞれの第2の通信ノードの識別子を前記第1の通信ノードに通知する手段と、
当該スリープ時間が経過したことを前記第1の通信ノードに通知する手段と
を備えることを特徴とする請求項5または6記載の省電力方法。
【請求項10】
通信網における第1の通信ノードであって、
前記第1の通信ノードは通信路を介して複数の第2の通信ノードと接続し、かつ他のネットワークから前記複数の第2の通信ノードを経由する通信データを受信し、
前記第2の通信ノードは、受信するスリープメッセージにより指定されたスリープ時間だけ、該第2の通信ノードの消費電力を抑制するスリープモードで動作し、前記指定されたスリープ時間の経過後は、消費電力を抑制しない通常モードで動作し、
前記第1の通信ノードは、
前記第2の通信ノードを経由する通信データを蓄積するための2種類の共有バッファであるバッファAおよびバッファBと、
スリープモードで動作中の前記第2の通信ノードの有無を示すスリープ状態フラグと、
前記バッファAおよび前記バッファBから前記通信データを読み出し、前記通信路へ出力するスケジューラであって、前記スリープ状態フラグが少なくとも1つの前記第2の通信ノードがスリープモードで動作していることを示す場合に、前記バッファAのみから蓄積されている通信データを読み出し、前記スリープ状態フラグが全ての前記第2の通信ノードが通常モードで動作していることを示す場合に、前記バッファAおよび前記バッファBから蓄積されている通信データを読み出す、スケジューラと、
前記通常モードで動作する第2の通信ノードを経由する前記通信データを前記バッファAに蓄積し、前記スリープモードで動作する第2の通信ノードを経由する前記通信データを前記バッファBに蓄積するための振り分け手段と、
を備え、
該スリープ時間は、それぞれの第2の通信ノードが同時期に前記スリープモードから前記通常モードに移行するように、それぞれの第2の通信ノードごとに指定され、
前記同時期は、前記スリープ時間が経過する時刻から、通信データが前記第1の通信ノードから通信路を介してそれぞれの前記第2の通信ノードまで伝搬するのに要する時間だけ進めたそれぞれの前記第2の通信ノードにおける時刻を含む、ことを特徴とする通信網における第1の通信ノード。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−49674(P2011−49674A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−194597(P2009−194597)
【出願日】平成21年8月25日(2009.8.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】