通信装置、通信システムおよび経路割当方法
【課題】通信効率の向上を図る。
【解決手段】通信装置10は、経路算出部11と経路割当制御部12を備える。経路算出部11は、ネットワーク内の発信ノードから着信ノード間の経路を求める。経路割当制御部12は、データ衝突が起きないように、かつネットワーク運用時に経路をより多く通信スロットに割当てられるような、通信スロットへの経路の割当てを行う。また、経路割当制御部12は、通信スロットへの経路の割当可能数の指標となる期待値を算出して、期待値が最大となる経路割当てを選択する。
【解決手段】通信装置10は、経路算出部11と経路割当制御部12を備える。経路算出部11は、ネットワーク内の発信ノードから着信ノード間の経路を求める。経路割当制御部12は、データ衝突が起きないように、かつネットワーク運用時に経路をより多く通信スロットに割当てられるような、通信スロットへの経路の割当てを行う。また、経路割当制御部12は、通信スロットへの経路の割当可能数の指標となる期待値を算出して、期待値が最大となる経路割当てを選択する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信を行う通信装置、通信システムおよび経路割当を行う経路割当方法に関する。
【背景技術】
【0002】
インターネット等によるマルチメディアサービスの拡大に伴い、ネットワーク上を流れる情報量は飛躍的に増大し、情報通信ネットワークを流れるトラフィックは大きく増加している。
【0003】
トラフィックが増加すると、例えば、ネットワークを構成するルータの内部では、同時に到着するパケット数が増えて、パケットのバッファリング回数が増えたり、またはルーティングテーブルにもとづく経路計算の制御にかかる負荷が増大したりすることになる。
【0004】
このため、ルータ内には、パケットバッファに用いるための大容量メモリや、経路計算に用いるための高速メモリといった、消費電力の大きなメモリデバイスが配置されていた。
【0005】
近年になって、省電力ネットワークの構築を望む声は多いが、上記のように、ネットワーク全体の消費電力は、特にルータにおける消費電力が大きく影響しており、ルータの消費電力をいかに低減するかがネットワーク省電力化の鍵といえる。
【0006】
従来技術として、複数のネットワークの静的および動的な情報にしたがって適切なネットワークを選択する技術が提案されている(特許文献1)。また、パス経路設定の際に、当該リンクを通過することが見込まれるパス数をパラメータとする評価関数を用いてパスの経路設定を行う技術が提案されている(特許文献2)。さらに、パケットに書き込まれている希望帯域情報にしたがって仮想的に帯域割当を行って帯域不足を解消する技術が提案されている(特許文献3)。さらにまた、各ノードが最良隣接ノードの情報をやりとりし、最良隣接ノードの情報をネットワークコアへ近づくための情報に用いてコアへ向かう通信路を作る技術が提案されている(特許文献4)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001−217870号公報
【特許文献2】特開2007−142609号公報
【特許文献3】特開平9−149038号公報
【特許文献4】特表2007−523546号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
省電力ネットワークを構築する場合、ネットワークの管理を行うサーバ側で、送信すべきパケットのスロット(タイムスロット)をあらかじめ割当てて、時分割ベースでパケット転送を行う通信方式が考えられる。
【0009】
これは、サーバが、どの時間で、どこの送信元からどこの宛先へ行くのかといったパケット転送のスケジューリングをしておいてから、パケット送出を行うものである。
このような制御を行うことにより、例えば、ルータに複数パケットが同時に到着するといった状態の発生頻度を低減させることができ、バッファリング回数を減少させることができる。このため、パケットバッファとして使用されていた消費電力の大きな大容量メモリをルータから排除することが可能になる。
【0010】
また、例えば、ルータ自身が、従来行われていたような経路計算を実行せずに済むので、経路計算に要する負荷の軽減を図ることもでき、このため、経路計算時に使用されていた消費電力の大きな高速メモリを不要とすることが可能になる。なお、上記では、ルータの消費電力に注目して説明したが、ネットワークを構成するスイッチの消費電力についても同様の理由で低減可能である。
【0011】
上記のようなパケット経路の割当によるスケジューリングを行うことにより、ルータの消費電力の低減化が可能になり、延いてはネットワーク全体の省電力化が可能になる。
一方、スケジューリングを行う場合に、帯域の有効活用を図ろうとして、少ないスロットにできるだけ多くの経路を割当てるといったスケジューリングを行うことが考えられる。
【0012】
しかし、ネットワークの運用中は、トラフィックは常に変動するので、運用前のスケジューリングで用意した経路を上回る経路利用要求が発生する可能性がある。
すると、上記のようなスケジューリングでスタティックに決定されたスロットにもとづく帯域では、パケットを転送しきれないおそれがあり、さらに、トラフィック変動に伴って増加した経路に対応するために、あらためてスケジューリングをやり直さなければならなくなる。
【0013】
このように、トラフィック変動に伴う経路の増加を想定せずに、スロットに多くの経路を単に詰め込むとしたスケジューリングでは、経路が増加したような場合には対応することができず、またスケジューリングをやり直すことになって非効率的であった。
【0014】
本発明はこのような点に鑑みてなされたものであり、通信効率の向上を図った通信装置を提供することを目的とする。
また、本発明の他の目的は、通信効率の向上を図った通信システムを提供することを目的とする。
【0015】
さらに、本発明の他の目的は、経路変動を想定したスロット割当のスケジューリングを行って、通信効率の向上を図った経路割当方法を提供することである。
【課題を解決するための手段】
【0016】
上記課題を解決するために、通信装置が提供される。この通信装置は、ネットワーク内の発信ノードから着信ノード間の経路を求める経路算出部と、通信スロットに前記経路を割当てる経路割当制御部とを備える。また、経路割当制御部は、通信スロットへの経路の割当可能数の指標となる期待値を算出して、期待値が最大となる経路割当てを選択する。
【発明の効果】
【0017】
通信効率の向上を図ることが可能になる。
【図面の簡単な説明】
【0018】
【図1】通信装置の構成例を示す図である。
【図2】ネットワーク構成例を示す図である。
【図3】経路テーブルを示す図である。
【図4】スロットが使用している経路を示す図である。
【図5】スロットが使用している経路を示す図である。
【図6】スロットが使用している経路を示す図である。
【図7】期待値の計算フローを示す図である。
【図8】ネットワークの構成例を示す図である。
【図9】Min帯域デマンドのテーブルおよび最大公約数で割った値のテーブルを示す図である。
【図10】経路テーブルとパステーブルを示す図である。
【図11】最短ホップ数が記載されたテーブルを示す図である。
【図12】リンクの使用状態/未使用状態が記載されたテーブルを示す図である。
【図13】経路割当アルゴリズムの全体動作を示すフローチャートである。
【図14】最大期待値算出の動作を示すフローチャートである。
【図15】ネットワークトポロジを示す図である。
【図16】ネットワークトポロジを示す図である。
【図17】期待値計算結果を示す図である。
【図18】通信装置の構成例を示す図である。
【図19】グループ化されたネットワークを示す図である。
【図20】グループ間を跨ぐスロット割当を示す図である。
【図21】グループ間を跨ぐスロット割当の問題点を説明するための図である。
【図22】パケット伝送の流れを示す図である。
【図23】宛先アドレスと宛先ノードとの対応テーブルを示す図である。
【図24】宛先アドレスと宛先ノードとの対応テーブルを示す図である。
【図25】パケットバッファを示す図である。
【図26】パケット伝送の流れを示す図である。
【図27】通信システムの構成例を示す図である。
【図28】パケット伝送の流れを示す図である。
【図29】動作を示すフローチャートである。
【図30】動作を説明するための図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を図面を参照して説明する。図1は通信装置の構成例を示す図である。通信装置10は、経路算出部11と経路割当制御部12を備える。通信装置10は、例えば、ネットワークの管理サーバなどに設置される。
【0020】
経路算出部11は、ネットワーク内の発信ノードから着信ノード間の経路を求める。経路割当制御部12は、ネットワーク運用前に通信スロットへの経路の割当てを行う。この場合、データ衝突が起きないように、かつ経路変動に対応できるようにネットワーク運用時にも経路をより多く通信スロットに割当てられるような、通信スロットへの経路の割当てを行う。
【0021】
ここで、経路割当制御部12は、複数の通信スロットに経路を割当てる際に、通信スロットへの経路の割当可能数の指標となる期待値を算出して、期待値が最大となる経路割当てを選択する。
【0022】
このような構成を有することにより、例えば、ネットワークのトラフィック変動に伴って経路が増加したような場合であっても、ネットワーク運用中に経路を割当てることができ、柔軟に対応することが可能になる。
【0023】
また、経路割当のスケジューリングをやり直す必要がなく、通信効率の向上を図ることが可能になる。なお、以降の説明では、通信スロットを単にスロットと呼ぶ。また、スロットに経路を割当てることを、経路を埋め込むといった表現も使用する。
【0024】
次に“スロット”、“経路”および“パス”の用語について説明する。“スロット”とは、パケットを送るための一定長の時間間隔のことで、フレームの中で、一定範囲の固定した時間間隔を占める。ある特定番号のスロットは、フレーム内に1つあり、フレームは周期的に繰り返されるため、その中にある特定番号のスロットも同じ周期で繰り返される。
【0025】
“経路”とは、発エッジノードと着エッジノードの組合せとして定義される(通常、発着ノード間の中継ノードは意識しない)。また、経路に対しては、所望帯域としての帯域デマンドが与えられる。さらに、経路は(帯域に合わせて割当てられた)1つ以上のパスを含む。
【0026】
“パス”とは、1つのスロット内で発エッジノードから着エッジノードに至るリンク(ノード間を結ぶ伝送路)の組合せとして定義される。1つのパスの帯域は、帯域割当ての最小単位であり、(リンク速度/スロット数)である。
【0027】
次に期待値(経路埋め込み期待値)について説明する。期待値は、スロットへの経路の割当可能数の指標となるもので、1スロット当り、全経路の何%を埋め込めるかを表す。
ここで、スロットの最大数をS、経路数をC、ノード間のリンク速度をv、1スロットの帯域をbとし、n(=v/b)個のスロットに割当可能な経路の総和をkとした場合に、期待値は、以下の式(1)で定義する。
【0028】
期待値=(Σスロットnに埋め込み可能な経路数)/(経路数×最大スロット数)
=k/(C×S)・・・(1)
期待値は、0〜1の範囲の値をとり、0の場合は、これ以上経路を埋める余裕がないことを示し、1の場合は、最大まで経路を埋める余裕があることを示す。
【0029】
期待値の大きい方が、トラフィック変動に伴う経路変化にとって好ましい状態であると見なす(期待値が大きいことは、経路埋め込み余裕度が大きいということなので、経路増加要求があっても、運用中において、経路をスロットにダイナミックに埋め込むことができる)。
【0030】
次に経路数の算出および期待値の計算例について図2〜図5を用いて説明する。図2はネットワーク構成例を示す図である。以降では、エッジノードを四角枠で示し、中継ノードを丸枠で示す。
【0031】
ネットワークN1は、エッジノード1〜4および中継ノード5、6を含む。エッジノード1と中継ノード5が接続し、エッジノード2と中継ノード5が接続し、エッジノード3と中継ノード6が接続し、エッジノード4と中継ノード6が接続する。また、中継ノード5と中継ノード6が接続する。
【0032】
ネットワークN1において、エッジノード間をフルメッシュで結ぶと経路数は12となる(エッジ間を結ぶ途中の中継ノードも示すと、1→5→2、1→5→6→3、1→5→6→4、2→5→1、2→5→6→3、2→5→6→4、3→6→5→1、3→6→5→2、3→6→4、4→6→5→1、4→6→5→2、4→6→3の計12経路)。
【0033】
図3は経路テーブルを示す図である。始点エッジノードから終点エッジノードへの経路に番号を振ったテーブルT0を示している。あるスロット(スロットs1とする)が仮に未使用の場合、スロットs1には、テーブルT0のどの経路でも1つは埋めることが可能である。すなわち、「スロットs1に埋め込み可能な経路数」は12となる。
【0034】
図4はスロットが使用している経路を示す図である。図4に示す太矢印の経路(1)の1→5→2のルートが、スロットs1に現在埋め込まれていたとする。この状態に対して、あとどれだけの経路を経路(2)〜(12)の中から選んで埋め込むことができるかを考える。
【0035】
ここで、“埋め込む”、“埋め込めない”とは、すでにスロットに埋め込まれている経路に対し、その経路のリンクと、データ転送方向が同じリンクを共有しない経路であればデータ衝突が起きず、そのスロットに該当経路を埋め込むことができる。
【0036】
また、すでにスロットに埋め込まれている経路に対し、その経路のリンクと、データ転送方向が同じリンクを共有するようなリンクを含んでいる経路は、データ衝突が生じるため、そのスロットには該経路を埋め込むことができない。
【0037】
図4に示すように、エッジノード1から中継ノード5へのデータ転送方向のリンクをリンクL1、中継ノード5からエッジノード2へのデータ転送方向のリンクをリンクL2とする。
【0038】
例えば、経路(2)の1→5→6→3のルートを見た場合、リンクL1が経路(1)と経路(2)で共有することになるので、経路(1)がすでに埋め込まれているスロットs1に対しては、経路(2)は埋め込めない。
【0039】
これに対し、経路(9)の3→6→4のルートは、リンクL1、L2を共有しないので、経路(9)は、スロットs1に埋め込むことができる。また、経路(4)の2→5→1のルートでは、リンクL1、L2のデータ転送方向とは逆方向にデータを転送するので、リンクL1、L2を共有していることにはならず、経路(4)は、スロットs1には埋め込むことができる。
【0040】
このような考え方で、経路(1)がすでに埋め込まれているスロットs1に埋め込み可能な経路を見つけると、この例の場合、経路(4)、(5)、(6)、(7)、(9)、(10)、(12)の7つある。したがって、経路(1)がすでに埋め込まれているスロットs1に対し、「スロットs1に埋め込み可能な経路数」は7となる。
【0041】
図5、図6はスロットが使用している経路を示す図である。スロットが全部で4(=n)つあるとし(スロットs1〜s4)、スロットs1〜s4のそれぞれには図5、図6に示すような利用状況で経路が現在埋め込まれているとする。
【0042】
すなわち、図5に対し、スロットs1、s2には、経路(1)が埋め込まれ、図6に対し、スロットs3には、経路(2)が埋め込まれており、スロットs4には、経路は何も埋め込まれていないとする。
【0043】
この場合、スロットs1〜s4に埋め込み可能な経路数を上述したような考え方で求めると、スロットs1に対してさらに埋め込み可能な経路数は7、スロットs2に対してさらに埋め込み可能な経路数は7となる。また、スロットs3に対してさらに埋め込み可能な経路数は6、スロットs4に対して埋め込み可能な経路数は12となる。
【0044】
したがって、スロットs1〜s4に埋め込み可能な経路数の総和は、(7+7+6+12)であり、ネットワークN1の全経路数は12であり、最大スロット数は4であるので、式(1)から期待値は、(7+7+6+12)÷(12×4)=0.67となる。
【0045】
このことは、ネットワークN1の経路12個を100%とした場合、およそ67%に相当する経路がスロットs1〜s4にまだ埋め込むことが可能であることを示していることになる。
【0046】
次に期待値の計算フローについて説明する。図7は期待値の計算フローを示す図である。なお、1つ目のパス(発エッジノード→着エッジノード)に関して、スロットsに収容する経路のリンクの組み合わせは、例えば、ダイクストラ法(Dijkstra法:最短経路問題を解くための汎用的な計算アルゴリズム)で求められているとする。
【0047】
〔S1〕経路カウンタのカウント値kに0を代入し、スロット番号sに1を代入する。
〔S2〕経路番号rに1を代入する。
〔S3〕スロットsに経路rが埋め込み可能であり、かつ最短ホップ数+α以上のホップ数を持つ経路であるか否かを判断する(α=1、2、3、・・・)。最短ホップ数+α以上の経路であればステップS4へいき、最短ホップ数+α未満の経路であればステップS5へいく。
【0048】
〔S4〕経路カウンタのカウント値kを増加する。
〔S5〕経路番号rを増加する。
〔S6〕経路番号rが最大経路数Rを超えたか否かを判断する。超えた場合はステップS7へいき、超えない場合はステップS3へ戻る。
【0049】
〔S7〕スロット番号sを増加する。
〔S8〕スロット番号sが最大スロット数Sを超えたか否かを判断する。超えた場合はステップS9へいき、超えない場合はステップS2へ戻る。
【0050】
〔S9〕期待値を計算する(期待値=経路カウント値k/(最大経路数R×最大スロット数S))。
ここで、ステップS3の処理について説明する。例えば、発ノードAから着ノードBへの経路として、経路#11〜#14があり、経路#11〜#14は、スロットsに現在埋め込まれている経路のリンクとデータ転送方向が同一でないリンクを有しているとする(すなわち、どれも埋め込み可能な経路である)。また、経路#11のホップ数が10、経路#12のホップ数が11、経路#13ホップ数が12、経路#14のホップ数が13であったとする。
【0051】
このとき、上限値αを3とすると、最短ホップ数は10であるので、ホップ数が13(=10+3)となる経路である経路#14は、ステップS3の判断処理により、該当スロットに埋め込まれないことになる(経路#11〜#13までがスロットに割当てられる)。
【0052】
すなわち、経路#11〜#14は、スロットsに現在埋め込まれている経路のリンクとデータ転送方向が同一でないリンクを有しているので、この条件だけなら、現状のスロットsに全部を埋め込むことができる。しかし、ステップS3に示すようなホップ数の制約条件も付加することにより、発着間のホップ数が許容範囲を超えるものは除外するということである。
【0053】
このように、上限値αを設けて、最短ホップ数+α以上のホップ数を持つ経路は、スロットにすでに埋め込まれている経路とデータ転送方向が同一のリンクを有していない経路であっても除外するようにした。これにより、迂回路が多く存在するネットワークトポロジの場合に、ホップ数の長い経路がパケット転送の通信路に選択されるといったことを防ぐことが可能になる。
【0054】
次に図5、図6に示したスロット割当状態を例にして、図7に示したフローを使った期待値の計算動作について説明する。なお、期待値計算フローのステップS8からステップS2へ戻るループを外側ループ、ステップS6からステップS3へ戻るループを内側ループと呼ぶ。
【0055】
全スロットが4つあるので、外側ループは4回回り、スロット番号sは1→4と変化する。また、とりうる経路数が12個あるので、外側ループ毎に経路番号rは1→12へと変化する。
【0056】
(外側ループの1回目処理)
ステップS1によりs=1、k=0であり、ステップS2によりr=1から開始する。
内側ループの1回目では、スロットs1に経路(1)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=2となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=0)。
【0057】
内側ループの2回目では、スロットs1に経路(2)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=3となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=0)。
【0058】
内側ループの3回目では、スロットs1に経路(3)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=4となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=0)。
【0059】
内側ループの4回目では、スロットs1に経路(4)を埋め込むことができるので、ステップS3の判断がyesであり、ステップS4でk=1となる。また、ステップS5でr=5となり、ステップS6の判断がnoなので、ステップS3へ戻る(k=1)。
【0060】
内側ループの5回目では、スロットs1に経路(5)を埋め込むことができるので、ステップS3の判断がyesであり、ステップS4でk=2となる。また、ステップS5でr=6となり、ステップS6の判断がnoなので、ステップS3へ戻る(k=2)。
【0061】
以降同様にして、内側ループの11回目では、スロットs1に経路(11)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=12となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=6)。
【0062】
内側ループの12回目では、スロットs1に経路(12)を埋め込むことができるので、ステップS3の判断がyesであり、ステップS4でk=7となる。また、ステップS5でr=13となり、ステップS6の判断がyesとなるので、ステップS7へいく。ステップS7によりs=2となり、ステップS8はnoなので、ステップS2へ戻る。
【0063】
(外側ループの2回目処理)
s=2、k=7から開始する。内側ループ1回目(r=1)では、スロットs2には経路(1)は埋め込めない(k=7)。以降同様にして、内側ループ12回目(r=12)では、スロットs2には経路(12)を埋め込めるのでk=14となる。
【0064】
(外側ループの3回目処理)
s=3、k=14から開始する。内側ループ1回目(r=1)では、スロットs3には経路(1)は埋め込めない(k=14)。以降同様にして、内側ループ12回目(r=12)では、スロットs3には経路(12)は埋め込めない(k=20)。なお、スロットs3は経路(4)、(7)、(8)、(9)、(10)、(11)を埋め込むことができる。
【0065】
(外側ループの4回目処理)
s=4、k=20から開始する。内側ループ1回目(r=1)では、スロットs4には経路(1)は埋め込めるのでk=21となる。以降同様にして、内側ループ12回目(r=12)では、スロットs4には経路(12)は埋め込めるのでk=32となる。なお、スロットs4は、経路(1)〜(12)のどれでも埋め込むことができる。
【0066】
上記のようなループ処理を繰り返した後に、ステップS9により、期待値はk÷R÷S=32÷12÷4=0.67と求まる。
次にスロットに経路を割当てる経路割当アルゴリズムの手順について説明する。なお、以下の[1]の内容は、主に経路算出部11の動作に該当し、[2]の内容は、主に経路割当制御部12の動作に該当する。
【0067】
[1]全経路の最小帯域デマンド(Min帯域デマンド)を、その最大公約数(1スロットの帯域)で割算し、各経路に必要なパス数を求める。あわせて、スロット数を(リンク速度/1スロットの帯域)で決定する。なお、全経路数をL、全パス数をM、スロット数をnとする。
【0068】
[2]M個のパスを、下記手順(a)〜(g)による期待値の演算・比較により、n個のスロットに割当てる。
(a)1つ目のパス(発エッジノード→着エッジノード)を取り出し、スロットに収容するリンクの組合せを例えばDijkstra法で求める。
【0069】
(b)得られた組合せのホップ数が、「最短経路+上限値」内に収まっているか判定する。
(c)収まっていれば、当該パスを収容した時のスロットの期待値を求める。また、全経路に対し、これらがDijkstra法により収容可能か否かを判定し、収容可能な経路をカウントして、期待値を算出する。
【0070】
(d)(a)〜(c)の手順を、任意のパスの任意のスロットに対して行う(M×N回の総当り演算)。
(e)(d)までの結果で得られた最大M×Nの演算の期待値を比較し、一番大きな値のものを確定パス(または確定経路)として決定し登録する。
【0071】
(f)割当てるべきパス(M個)から、(e)で決定したパスを除き、このパス(残りM−1個のパス)の集合に対して、(a)〜(e)の手順を行う。
(g)(a)〜(f)の手順を、割当てるべきパスがなくなるまで繰り返す。
【0072】
次に例を示しながら経路割当アルゴリズムの動作について説明する。図8はネットワークの構成例を示す図である。ネットワークN2は、エッジノード0〜3および中継ノード4〜7を含む。エッジノード0と中継ノード4が接続し、エッジノード1と中継ノード5が接続し、エッジノード2と中継ノード6が接続し、エッジノード3と中継ノード7が接続する。また、中継ノード4、5が接続し、中継ノード5、7が接続し、中継ノード7、6が接続し、中継ノード6、4が接続する。
【0073】
ネットワークN2における各経路のMin帯域デマンドを、0→2の経路が10Mbps、0→3の経路が5Mbps、1→3の経路が10Mbps、1→2の経路が5Mbps、2→1の経路が10Mbpsとする。
図9はMin帯域デマンドのテーブルおよび最大公約数で割った値のテーブルを示す図である。テーブルT1は、Min帯域デマンドをテーブル化したものである。また、テーブルT2は、Min帯域デマンドをその最大公約数(1スロットの帯域に該当)で割った値をテーブル化したものである。この例では、Min帯域デマンドの最大公約数は5であるので、割り算を行うとテーブルT2に示される値となる。
【0074】
ここで、各経路のMin帯域デマンドに必要なパス数は、テーブルT2の数値をすべて合計した値となるので、全パス数Mは、M=8(=2+1+1+2+2)となる(すなわち、0→2の経路のパス数は2、0→3の経路のパス数は1、1→2の経路のパス数は1、1→3の経路のパス数は2、2→1の経路のパス数は2であるので計8個)。
【0075】
また、全経路数Lは、テーブルT2の0以外の数値が記された項目欄の数であり、5個あるのでL=5となる。さらにスロット最大数nは、例えば、リンク速度が100Mbpsであり、1スロットの帯域を5とすると、100/5=20となり、n=20スロットとなる。
【0076】
図10は経路テーブルとパステーブルを示す図である。上記で求めた経路とパスに番号を付けてテーブルを作成すると、経路テーブルT11およびパステーブルT12となる。経路テーブルT11は、5個の経路に番号#1〜#5を付けて作成したテーブルである。パステーブルT12は、8個のパスに番号を付けて作成したテーブルである。
【0077】
図11は最短ホップ数が記載されたテーブルを示す図である。テーブルT3は、利用する経路が最短で何ホップで接続できるかのホップ数を示している。ネットワークN2のノード接続構成により、0→2、0→3、1→3、1→2、2→1のすべての経路に対し、最短ホップ数は3である。
【0078】
図12はリンクの使用状態/未使用状態が記載されたテーブルを示す図である。テーブルT4は、送信元ノード(src)から宛先ノード(dst)を結ぶリンクごとに、すでにスロットに割当てられた使用済みのリンクを1、スロットに割当てられていない未使用のリンクに0を登録するテーブルである。このようなテーブルT4で、リンクの使用状態/未使用状態を管理して、1を書き込んだリンクを除外できるようにする。
【0079】
なお、テーブルT4は、src/dstのペアの代わりに隣接行列(adjacency matrix)で保持してもよい。この場合、隣接行列を複数持ち、元の行列の1だった箇所に0を書き込むことで経路の除外を表現する。
【0080】
次にテーブルT2に記載される経路(計5経路)について期待値を計算していく。経路は、テーブルT4で未使用となっているリンクを使って作ることができる最短経路を用いる。
【0081】
スロットs0〜s19に対する経路#1〜#5割当の期待値の計算として例えば、経路#1(0→2)をスロットs0に埋め込んだ場合の期待値はa1となる(経路#1をスロットs1に埋め込んだ場合に、あとどれぐらいの経路を埋め込むことができるかの指標がa1となる)。経路#1(0→2)をスロットs1に埋め込んだ場合の期待値はa2となる。以降同様にスロットs19まで期待値を計算する。
【0082】
次の経路の期待値計算として、経路#2(0→3)をスロットs0に埋め込んだ場合の期待値はb1となる。経路#2(0→3)をスロットs1に埋め込んだ場合の期待値はb2となる。以降同様にスロットs19まで期待値を計算する。
【0083】
次の経路の期待値計算として、経路#3(1→2)をスロットs0に埋め込んだ場合の期待値はc1となる。経路#3(1→2)をスロットs1に埋め込んだ場合の期待値はc2となる。以降同様にスロットs19まで期待値を計算し、以下同様にして経路#5までの期待値を計算する。
【0084】
このように、すべての経路#1〜#5に対して、すべてのスロットs0〜s19に仮に割当てた場合の期待値を計算する。そして、期待値を計算し終えたら、その中で最も期待値の大きいものを選択する(値の大きさが同じものがある場合はどれを選択してもよいが、例えば、スロット番号の小さいものを選択する)。
【0085】
ここで、経路がM個(経路#1〜#M)あり、所定数のスロットに対して上記のような期待値計算をしたとする。そして例えば、経路#2をスロットs0に埋め込んだ期待値が最も大きくなったとすると、この経路#2を確定経路と呼び、確定経路を除いた(M−1)個の経路に対して、再び上記と同様な期待値計算を行うことになる。このような処理を繰り返して、結果的にM個の確定経路を求めることになる。
【0086】
なお、経路決定に使用したリンクは、テーブルT4の該当箇所を1に登録し、使用済みにして以後の経路探索対象から除外する。
次に経路割当アルゴリズムの動作フローについて説明する。図13は経路割当アルゴリズムの全体動作を示すフローチャートである。
【0087】
〔S11〕テーブルT2を作成する(Min帯域デマンドをその最大公約数で割った値をテーブル化する)。
〔S12〕テーブルT3を作成する(各経路の最短ホップ数を求めてテーブル化する)。
【0088】
〔S13〕テーブルT2の参照位置(a、b)をa=0、b=0に設定する。
〔S14〕テーブルT2の参照位置(a、b)の値が0か否かを判断する。0でなければステップS15へいき、0ならばステップS16へいく。
【0089】
〔S15〕経路が未使用のスロットが出てくるまで、すべてのスロットにおけるノードaから出発してノードbに到達する最短経路を求めて、期待値をすべて算出する。
〔S16〕テーブルT2の参照位置(a、b)を1つ進める。
【0090】
〔S17〕テーブルT2の参照をすべて終えた場合はステップS18へいき、終えていない場合はステップS13へ戻る。
〔S18〕期待値が最大の経路を選び、経路が利用するリンクについてテーブルT4の該当スロットの部分に1を書き込む。
【0091】
図14は最大期待値算出の動作を示すフローチャートである。
〔S20〕スロット試行位置を0に設定する(すなわち、スロットs0からスタートする)。
【0092】
〔S21〕テーブルT4の該当箇所を参照して、ノードaから出発してノードbに到達する最短経路をDijkstra法で求める。
〔S22〕経路が求まらないか、テーブルT3の最短経路+αよりも長い経路になってしまうかを判断する。経路が求まらない、またはテーブルT3の最短経路+αよりも長い経路になってしまう場合はステップS24へいく。また、経路が求まり、テーブルT3の最短経路+αよりも長い経路にならない場合はステップS23へいく。
【0093】
〔S23〕a、b、スロット番号、期待値、経路を計算して保存する。
〔S24〕スロット試行位置を1増やす。
〔S25〕1つ前のスロットが完全未使用スロットかを判断する(テーブルT4の項目がすべて0かを判断する)。完全未使用スロットの場合はステップS26へいき、そうでない場合はステップS21へ戻る。
【0094】
〔S26〕保存したもののうちでもっとも期待値の高いものを選択する。
次に効果について説明する。図15、図16はネットワークトポロジを示す図である。ネットワークN11は、スター型のトポロジであり、ネットワークN12は、ツリー型のトポロジである。また、ネットワークN13は、ラダー型のトポロジであり、ネットワークN14は、簡易ラダー型のトポロジである。
【0095】
図17は期待値計算結果を示す図である。上記の4種類の基本的なトポロジにおいて、10スロットの空きスロットに対して、フルメッシュの経路割当を行った場合の期待値を算出する。
【0096】
スロットに経路を割当てる際の評価として、例えば、ランダムに割当てる場合、ホップ数の短い経路を優先的に割当てる場合、ホップ数の長い経路を優先的に割当てる場合、および本発明による割当てを行う場合があり、それぞれの場合において100回ずつ試行して平均の期待値を算出した。
【0097】
図17に示すように、通信装置10で実行する期待値計算がすべてのトポロジにおいて最大となる。すなわち、通信装置10における経路割当制御を実行することにより、後から追加する経路数をより多く割当てることが可能になる。
【0098】
次にグループ間を跨いでスロット割当を行って、パケット通信を行う通信装置および通信システムについて説明する。なお、送信すべきパケットに対して、経路が埋め込まれた、あるスロット(タイムスロット)のタイミングを割当てることを、そのパケットに対してのスロット割当と呼ぶ。
【0099】
例えば、パケットp1をスロットs1(s1はスロットに付与されるスロット番号)のタイミングで送信する場合、パケットp1にはスロットs1が割当てられるといった表現をする。
【0100】
図18は通信装置の構成例を示す図である。通信装置30は、パケットにスロットを割当てるスロット割当部31と、パケットバッファ32とを備える。
スロット割当部31は、直前のグループで割当てられたスロットで送信されたパケットを受信すると、直前のグループで割当てられた該スロットのスロット番号を、自グループに対応する番号である自通信スロット番号(自スロット番号)に変換する。また、パケットバッファ32は、自スロット番号と、パケットとを対にして格納する。
【0101】
ここで、スロット割当部31は、パケット送信時には、パケットをパケットバッファ32から取り出し、自スロット番号を選択し、自スロット番号を持つスロットをパケットに割当てる。
【0102】
また、自スロット番号を選択しない場合は、自スロット番号よりも時間的に後で、かつ自スロット番号に対して最も時間差の小さなスロット番号を選択し、選択したスロット番号を持つスロットをパケットに割当てる。
【0103】
なお、スロット割当部31とパケットバッファ32とは、上記では、1台の装置に含まれる構成としたが、各機能が分離してもよい。例えば、スロット割当部31がネットワークの運用管理を行う管理サーバに配置され、パケットバッファ32がネットワーク内のノードに配置されるような構成にしてもよい。
【0104】
以下、通信装置30の機能を適用したグループネットワークについて詳しく説明する。図19はグループ化されたネットワークを示す図である。エッジノードE1〜E4がシリアルに接続し、中継ノードR1がエッジノードE1、E2の間に配置し、中継ノードR2がエッジノードE2、E3の間に配置し、中継ノードR3がエッジノードE3、E4の間に配置している。
【0105】
また、グループG1は、エッジノードE1、E2、中継ノードR1および管理サーバ20−1を含み、グループG2は、エッジノードE2、E3、中継ノードR2および管理サーバ20−2を含み、グループG3は、エッジノードE3、E4、中継ノードR3および管理サーバ20−3を含む。
【0106】
グループ境界においてエッジノードが配置され、グループ間はエッジノードを通じて接続される。グループG1〜G3内の管理サーバ20−1〜20−3は、グループ内のエッジノードや中継ノードと通信を行い、各グループは独立して稼働する。
【0107】
エッジノードE1〜E4は、パケットの宛先IPアドレスと宛先エッジノードが対応した宛先対応テーブルと、宛先エッジノードと使用スロット番号が対応したスロット番号対応テーブルとを備える。
【0108】
エッジノードE1〜E4に、宛先対応テーブルに存在する宛先のパケットが到着した場合は、そのパケットにはすでにスロット割当済みであるので、管理サーバとの通信は行わずに、割当済みのスロットを使用する。これにより、管理サーバの負担削減およびスロット消費量の低減を図る。
【0109】
また、宛先対応テーブルに存在しない宛先のパケットが到着した場合は、そのパケットにはスロットが割当てられていないので、該パケットを受信したエッジノードは、エッジノードと通信する管理サーバに対して、スロット番号割当の要求を行う。
【0110】
図20はグループ間を跨ぐスロット割当を示す図である。入側の最初のグループG1は、期待値が最も高いスロットを選ぶ。続いて、隣接する次段のグループは、1つ前のグループのタイムスロットに時間的に最も近いスロットを選ぶ。
【0111】
ここで、グループ間には時間差があるので、グループ境界に位置するエッジノードには、時間調整のためのバッファが備えられる。ただし、大容量のバッファを備えるのものではないため、パケットが留まる時間を少なくする必要がある。
【0112】
そのためには、1つ前のグループのタイムスロットに時間的に最も近いスロットを選ぶことになる。すなわち、後段のグループでは、隣接する前段のグループで割当てられたスロットと同じ時間、または後の時間に出現するスロットに最も近い時間のスロットを選択することになる。
【0113】
例えば、グループG1でスロットs1が割当てられた場合、グループG2では、スロットs1またはスロットs2を選択する。グループG1、G2で時間差がなく同一タイミングで稼働していた場合は、スロットs1が最良であり、このときは、ほとんどバッファリングせずに通過させることができる。
【0114】
また例えば、グループ間に時間差があって、グループG1のスロットs1に相当する時間では、グループG2ではスロットs5に相当していたとする。このとき、グループG1でスロットs1に割当てられたパケットは、グループG2ではスロットs5に割当てることが、バッファリングに要する時間が最も少なく、最も早く通過させる。
【0115】
しかし、スロットs5を使って送信するパケットが満杯のとき、この場合のバッファリング時間が最小となる最良のスロットは、スロットs5の直後のスロットs6を選択する。したがって、グループG2では、該パケットに対して、スロットs6の割当を行って通過させることになる。
【0116】
上記のような、グループ間でのスロット割当を行うことにより、エッジノードに大容量のバッファが不要となり、高速にパケット伝送を行うことが可能になる。
図21はグループ間を跨ぐスロット割当の問題点を説明するための図である。グループG1〜G3がシリアルに接続し、グループG2とグループG4が接続する。グループG1は、エッジノードE1、E2、中継ノードR1、R2および管理サーバ20−1を含み、グループG2は、エッジノードE2、E3、E5、中継ノードR3、R4および管理サーバ20−2を含む。
【0117】
グループG3は、エッジノードE3、E4、中継ノードR5、R6および管理サーバ20−3を含み、グループG4は、エッジノードE5、E6、中継ノードR7、R8および管理サーバ20−4を含む。
【0118】
このようなネットワーク構成において、パケットp1は、白抜き矢印の経路m1で伝送され、パケットp2は、黒塗り矢印の経路m2で伝送されるとする。グループG1は、入側グループであるため、最初に到着したパケットp1に対して、最も期待値の高いスロットs10を割当てる。
【0119】
また、グループG1〜G3は、同一タイミングで稼働しているとすると、グループG2もパケットp1にスロットs10を割当てて経路m1で送信し、グループG3もパケットp1にスロットs10を割当てて経路m1で送信する。
【0120】
一方、パケットp1の次にパケットp2がグループG1に到達した場合を考える。グループG1では、宛先対応テーブルに、到着したパケットの宛先があれば、すでにスロット割当済みなので、管理サーバ20−1との通信を行わずに、パケットp2に対して割当済みのスロットを使用する。
【0121】
ここでは、エッジノードE1に到着したパケットの宛先は、エッジノードE2であり、経路m1と経路m2は同経路なので、パケット宛先は、既知であり、テーブル登録されている。
【0122】
したがって、グループG1内では、エッジノードE1は、管理サーバ20−1との通信を行って、パケットp2に対してあらたなスロット割当を要求するといった制御はせずに、スロットs10をそのまま使用して、エッジノードE2へパケットp2を伝送する。
【0123】
パケットp2は、グループG2のエッジノードE2に到着する。エッジノードE2において、経路m1、m2が分岐し、経路m2は既知の経路ではないので、グループG2においてスロット割当が施される。この場合、パケットp2にとってグループG2は、入側のグループに相当するから、グループG2では、グループG2における最も期待値の大きなスロット割当を行うことになる。
【0124】
すなわち、パケットp2は、グループG1でスロットs10が割当てられているが、スロットs10とは関係のない、グループG2の中で最も期待値の大きなスロットが割当てられることになる。
【0125】
例えば、スロットs10で到着したパケットp2に対し、グループG2内で最も期待値の大きなスロットs50が割当てられる場合もある。このような場合、スロットs50のタイミングでパケットp2を送信するには、スロットs10からスロットs50までの時間分を、エッジノードE2でバッファリングすることになり、遅延が増大することになる。
【0126】
上記のように、複数グループをパケットが通過する際、他グループでスロットが割当てられたパケットが到着した場合、該他グループで割当てられたスロット番号を無視したスロット割当を行って、パケット伝送が行われてしまうおそれがあり、遅延が増大してしまう。したがって、このような状況において、遅延低減を図ったスロット割当を行うことが必要である。
【0127】
次に上記課題を解決する通信装置30の機能を適用したグループネットワークについて説明する。図22はパケット伝送の流れを示す図である。宛先アドレス(10.0.3.1)のパケットp1が最初にグループG1に到着したときのパケット伝送の流れを示している。
【0128】
また、図23、図24に宛先アドレスと宛先ノードとの対応テーブルを示す。図23に示すテーブルT11は、図22に示すエッジノードE1に含まれ、図24に示すテーブルT12は、図22に示すエッジノードE2に含まれる。
【0129】
〔S31〕宛先アドレス(10.0.3.1)のパケットp1がグループG1に到着する。エッジノードE1は、テーブルT11にもとづき、宛先アドレスからグループG1内の宛先ノード番号E2を取得する。
【0130】
〔S32〕エッジノードE1は、エッジノードE1から宛先ノードE2へ向かう経路がこの時点ではまだ存在せず見つからないため、管理サーバ20−1にノード番号を通知して経路割当を依頼する。
【0131】
〔S33〕管理サーバ20−1は、最も期待値の高いスロットに経路を埋め込み、そのスロット(スロットs10とする)をエッジノードE1へ通知する。
〔S34〕エッジノードE1は、スロットs10のタイミングを使ってパケットp1を送信する(スロットs10を割当てたパケットp1を送信する)。
【0132】
〔S35〕エッジノードE2は、事前に計算しておいたグループG1とグループG2とのスロット時間差をもとに、グループG1で割当てられたスロット番号を、グループG2での時間的に一番近い、グループG2に対応するスロット番号に変換する。この例では、時間差0と仮定すると、一番近いスロットは、グループG1と同じスロットs10であり、スロットs10に変換したとする。
【0133】
図25にパケットバッファを示す。パケットバッファ32は、各エッジノードに配置され、受信パケットのパケット内容と自スロット番号の2つの情報が保存される。また、本技術のスロット割当が行われない通常のIPネットワークから送信されたパケットも、エッジノードにおいて受信するので、これらのネットワークに関するパケット内容もパケットバッファ32で保存される。
【0134】
エッジノードE2の例では、グループG1とグループG2とのスロット時間差をもとに計算された、グループG2での時間的に一番近いスロット番号(スロットs10)と、そのスロット番号のタイミングで送信されるパケットp1の内容とが格納される。
【0135】
〔S36〕エッジノードE2は、テーブルT12にもとづき、宛先アドレスからグループG1内の宛先ノード番号E3を取得する。
〔S37〕エッジノードE2は、エッジノードE2から宛先ノードE3へ向かう経路がこの時点ではまだなく見つからないため、管理サーバ20−2にノード番号を通知して経路割当を依頼する。このとき、パケットバッファ32に保存しておいた、自グループG2内での最適なスロット番号を取得し、このスロット番号(スロットs10)も管理サーバ20−2へ送る。
【0136】
〔S38〕管理サーバ20−2は、通知されたスロット番号に最も近い番号で、かつ空いているスロットを検出する。そして、検出した該スロットに経路を埋め込み、経路が埋め込まれたスロット番号(この例では、グループG1〜G3は時間差がほぼないとしているので、スロットs10となる)をエッジノードE2へ通知する。
【0137】
〔S39〕エッジノードE2は、通知されたスロットs10でパケットp1を宛先エッジノードE3へ送信する。以降、上記のような制御をグループの出口に到達するまで続ける。
【0138】
図26はパケット伝送の流れを示す図である。パケットp1の次に宛先アドレス(10.0.4.1)のパケットp2がグループG1に到着したときのパケット伝送の流れを示している。
【0139】
〔S41〕宛先アドレス(10.0.4.1)のパケットp2がグループG1に到着する。エッジノードE1は、テーブルT11にもとづき、宛先アドレスからグループG1内の宛先ノード番号E2を取得する。
【0140】
〔S42〕エッジノードE1は、エッジノードE1からエッジノードE2へ向かう経路はすでに割当てられているため、パケットp2を先のスロットs10のタイミングで送信する。
【0141】
〔S43〕エッジノードE2は、ステップS35と同じ制御を行い、グループG1で割当てられたスロット番号を自グループのスロット番号に変換する。ここでは、スロットs10に変換するので、パケットバッファ32には、パケットp2のパケット内容とグループG2で最も近いスロット番号(s10)の2つの情報を保存しておく。
【0142】
〔S44〕エッジノードE2は、テーブルT12にもとづき、宛先アドレスからグループG2内の宛先ノード番号E4を取得する。
〔S45〕エッジノードE2は、エッジノードE2から宛先ノードE4に対応する経路が見つからないので、管理サーバ20−2にノード番号を通知して経路割当を依頼する。このとき、パケットバッファ32に保存しておいた、自グループG2内での最適なスロット番号を取得し、このスロット番号(スロットs10)も管理サーバ20−2へ送る。
【0143】
〔S46〕管理サーバ20−2は、通知されたスロット番号に最も近い番号で、かつ空いているスロットを検出する。そして、検出した該スロットに経路を埋め込み、経路が埋め込まれたスロット(スロットs10はすでに割当てられているので、スロットs10に最も近いスロットs11となる。なお、スロットs11もすでに割当てられているような場合には、例えば、スロットs12となる。)をエッジノードE2へ通知する。
【0144】
〔S47〕エッジノードE2は、通知されたスロットs11でパケットp2を宛先エッジノードE4へ送信する。以降、上記のような制御をグループの出口に到達するまで続ける。
【0145】
以上説明したように、上記の構成によれば、直前のグループで割当てられたスロットで送信されたパケットを受信すると、直前のグループで割当てられたスロットのスロット番号を、自グループに対応する番号である自スロット番号に変換して、パケットと対にしてパケットバッファに格納する。
【0146】
そして、パケット送信時には、パケットをパケットバッファから取り出し、自スロット番号を持つスロットをパケットに割当てる。また、自スロット番号が使用することができないような場合は、自スロット番号よりも時間的に後で、かつ自スロット番号に対して最も時間差の小さなスロット番号を選択する。そして、選択したスロット番号を持つスロットをパケットに割当てる。
【0147】
これにより、複数グループをパケットが通過する際、他グループでスロットが割当てられたパケットが到着した場合でも、該他グループで割当てられたスロット番号に近いスロット番号を割当ててパケット伝送を行うので、遅延を低減することができ、伝送品質の向上を図ることが可能になる。
【0148】
次に他の実施の形態について説明する。上記のグループ間を跨ぐスロット割当では、1つの入力に対して複数出力する1:NのグループネットワークのN出力部分(例えば、図26におけるエッジノードE2の部分)に関するスロット割当について説明した。以降では、複数入力に対して複数出力するN:MのグループネットワークのN入力部分に関するスロット割当について説明する。
【0149】
図27は通信システムの構成例を示す図である。通信システム4は、通信装置41(第1の通信装置)と、通信装置42(第2の通信装置)を備える。通信装置41は、グループG1内に位置し、通信装置42は、グループG2内に位置する。
【0150】
通信装置41は、スロット割当部41aとリスト作成部41bを含む。スロット割当部41aは、パケットに第1のスロットを割当てる。リスト作成部41bは、割当てた第1のスロットのスロット番号をリストに登録し、次段のグループへ送信する。
【0151】
通信装置42は、スロット割当部42aとリスト作成部42bを含む。スロット割当部42aは、パケットに第2のスロットを割当てる。リスト作成部42bは、割当てた第2のスロットのスロット番号をグループG1から送信されたリストに登録する。
【0152】
このような構成により、各グループで割当てたスロット番号のリストが後段グループへ通知されて、リストにもとづいて、後段グループでスロット割当を行うことにより、複数グループが接続されるネットワークにおいても、各グループでのスロット割当を効率よく実施することが可能になる。
【0153】
なお、スロット割当部とリスト生成部とは、上記では、1台の装置に含まれる構成としたが、各機能が分離してもよい。例えば、スロット割当部がネットワークの運用管理を行う管理サーバに配置され、リストを生成して次段グループへリストを送信するリスト作成部がネットワーク内のノードに配置されるような構成にしてもよい。
【0154】
次に動作について詳しく説明する。図28はパケット伝送の流れを示す図である。グループG1〜G3がシリアルに接続する。グループG1は、エッジノードE1、E2、E5、中継ノードR1、R2および管理サーバ20−1を含む。グループG2は、エッジノードE2、E3、中継ノードR3、R4および管理サーバ20−2を含む。グループG3は、エッジノードE3、E4、E6、中継ノードR5、R6および管理サーバ20−3を含む。
【0155】
このようなネットワーク構成において、すでに白抜き矢印方向の経路m1が確立しているとする。この場合、後から黒塗り矢印方向の経路m2を生成するときは、グループG3(エッジノードE3)において、上述したようなスロット割当の制御が行われる。
【0156】
ここで、グループG1(エッジノードE5)におけるスロット割当について考える。黒塗り矢印の方向の経路m2を通じて、グループG1へ向けてパケットが送信される際、複数のグループ群G10を経て、グループG1にパケットが到着するものとする。
【0157】
グループG(n)のスロット割当は、上述したように、1つ前のグループG(n−1)で割当てられたスロットを元に決定するので、グループG1に達するまでに、グループG1の前段側にあるグループ群G10の各グループでそれぞれのスロット割当が行われる。
【0158】
したがって、グループG1においても、前段側にある複数のグループ群G10で割当てられたスロットにもとづいてスロット割当を行うことになる。しかし、グループG1で割当てようとするスロットが、経路m1で割当て済みのスロットと大きな時間差を持っていたりするおそれがある。
【0159】
例えば、経路m1にスロットs10が割当てられているとする。グループ群G10では、各グループにおいて、・・・スロットs40、スロットs48、スロットs49・・・と割当てられ、グループG1に到達したとする。
【0160】
この場合、グループ群G10のスロット割当にもとづいて、グループG1ではスロットs50を割当てるとすると、エッジノードE2ではスロットs10をすでに割当てているので、エッジノードE2において、スロットs50とスロットs10との時間差のバッファリングを行うことになってしまう。このため、最短時間の経路を生成することができず、伝送品質の低下につながる。
【0161】
グループG(n)のスロット割当を行う際に、1つ前のグループG(n−1)で割当てられたスロットを元に決定するといったアルゴリズムで、終端点に到達するならば問題はない。しかし、途中のグループにおいて、該アルゴリズムによるスロット割当を行うと、上記のように最短時間で経路を生成できない場合がある。通信システム4による機能では、このような状況を改善するものである。
【0162】
図29は動作を示すフローチャートである。
〔S51〕開始グループでは、期待値の高いスロットを仮割当し、スロットの候補リストを作成して、隣接グループへ送信する。
【0163】
〔S52〕隣接グループがスロット割当済みでなければ、該隣接グループにおける小さい時差で、割当可能なスロットを仮割当する。そして、そのスロットを候補リストに加えて隣接グループへ流す。
【0164】
〔S53〕ステップS51、S52の動作を行い、スロット割当済みの経路が存在せず、終端のグループまで到達した場合は、仮割当してきたスロットで確定する。
〔S54〕ステップS51、S52の動作を行って、スロット割当済みのグループが途中に存在した場合は、そこで候補リストを破棄し、スロット割当済みのグループが使用しているスロット番号を遡って返送する。返送されたスロット番号を受信したグループは、そのスロット番号に近いスロットを割当てる。
【0165】
図30は動作を説明するための図である。基本的なネットワーク構成は図28と同じである。グループ群G10にはグループG10−1、G10−2が含まれる。グループG10−1は、エッジノードE7と管理サーバ20−4を含み、グループG10−2は、エッジノードE8と管理サーバ20−5を含む。また、経路m1にスロットs10が割当てられているとする。
【0166】
〔S61〕グループ群G10内のグループG10−1の管理サーバ20−4は、スロットs48を仮割当する。エッジノードE7は、スロットs48を候補リストに追加して、隣接するグループG10−2へ送信する。
【0167】
〔S62〕グループG10−2の管理サーバ20−5は、スロットs49を仮割当する。エッジノードE8は、スロットs49を候補リストに追加して、隣接するグループG1へ送信する。
【0168】
〔S63〕グループG1の管理サーバ20−1では、スロット割当済みのスロットs10があるので、グループG10−2から送信された候補リストを破棄する。
〔S64〕グループG1の管理サーバ20−1は、現在使用中のスロット番号s10をグループG10−2に返送する。
【0169】
〔S65〕グループG10−2の管理サーバ20−5は、受信したスロット番号s10から、スロット番号s10に最も近い番号を割当てる。例えば、スロットs9を割当てるとする。そして、スロット番号s9をグループ10−1へ返送する。
【0170】
〔S66〕グループG10−1の管理サーバ20−4は、受信したスロット番号s9をから、スロット番号s9に最も近い番号を割当てる。例えば、スロットs8を割当てるとする。そして、スロット番号s8を前段のグループへ返送する。以降同様な動作が開始点のグループまで遡って行われる。
【0171】
以上説明したように、グループG(n)に、スロットが割当済みの経路が存在しない場合、グループG(n−1)の管理サーバ(第1のスロット割当部)では、グループG(n−1)内で、所定時間経路で送信するためのスロットを仮割当てし、グループG(n−1)のエッジノード(第1のリスト作成部)は、割当てられたスロットのスロット番号を候補リストに登録してグループG(n)へ送信する。
【0172】
同様に、グループG(n)の管理サーバ(第2のスロット割当部)は、グループG(n)内で、所定時間経路で送信するためのスロットを仮割当てし、グループG(n)のエッジノード(第2のリスト作成部)は、割当てられたスロットのスロット番号を候補リストに登録する。
【0173】
ここで、グループG(n)に次段グループG(n+1)が接続していれば、グループG(n)のエッジノードは、グループG(n+1)へ候補リストを中継送信する。また、グループG(n)が終端グループであれば、グループG(n−1)、G(n)の各管理サーバは、仮割当てしたスロットで確定する。すなわち、仮割当てしたスロットでパケットに対してスロット割当を行う。これにより、複数グループが接続されるネットワークにおいて、各グループでのスロット割当を効率よく実施することが可能になる。
【0174】
一方、グループG(n)に、スロットが割当済みの経路がすでに存在している場合、グループG(n)の管理サーバは、グループG(n−1)から送信された候補リストを破棄する。そして、グループG(n)ですでに割当済みのスロットのスロット番号を前段のグループG(n−1)返送するための制御を行う。
【0175】
また、グループG(n−1)の管理サーバは、返送されたスロットのスロット番号に対して、最も時間差の小さなスロット番号を選択し、選択したスロット番号を持つスロットをパケットに割当てる。そして、前段のグループG(n−2)に対して、グループG(n−1)で選択したスロット番号を遡って返送する。以降同様な動作が開始グループに達するまで遡って行われる。
【0176】
このように、複数のスロット候補を隣接するグループの管理サーバへ通知し、最終的に終端の管理サーバが最も短い時間で割当て可能なものを選択するまでの間にスロット割当て済みのグループが存在した場合は、最初の割当て候補を破棄して割当て済みのスロットに近いスロットを割当てる構成とした。これにより、最短時間の経路を開始グループから終端グループまで生成することができ、伝送品質の向上を図ることが可能になる。
【0177】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
【符号の説明】
【0178】
10 通信装置
11 経路算出部
12 経路割当制御部
【技術分野】
【0001】
本発明は、データ通信を行う通信装置、通信システムおよび経路割当を行う経路割当方法に関する。
【背景技術】
【0002】
インターネット等によるマルチメディアサービスの拡大に伴い、ネットワーク上を流れる情報量は飛躍的に増大し、情報通信ネットワークを流れるトラフィックは大きく増加している。
【0003】
トラフィックが増加すると、例えば、ネットワークを構成するルータの内部では、同時に到着するパケット数が増えて、パケットのバッファリング回数が増えたり、またはルーティングテーブルにもとづく経路計算の制御にかかる負荷が増大したりすることになる。
【0004】
このため、ルータ内には、パケットバッファに用いるための大容量メモリや、経路計算に用いるための高速メモリといった、消費電力の大きなメモリデバイスが配置されていた。
【0005】
近年になって、省電力ネットワークの構築を望む声は多いが、上記のように、ネットワーク全体の消費電力は、特にルータにおける消費電力が大きく影響しており、ルータの消費電力をいかに低減するかがネットワーク省電力化の鍵といえる。
【0006】
従来技術として、複数のネットワークの静的および動的な情報にしたがって適切なネットワークを選択する技術が提案されている(特許文献1)。また、パス経路設定の際に、当該リンクを通過することが見込まれるパス数をパラメータとする評価関数を用いてパスの経路設定を行う技術が提案されている(特許文献2)。さらに、パケットに書き込まれている希望帯域情報にしたがって仮想的に帯域割当を行って帯域不足を解消する技術が提案されている(特許文献3)。さらにまた、各ノードが最良隣接ノードの情報をやりとりし、最良隣接ノードの情報をネットワークコアへ近づくための情報に用いてコアへ向かう通信路を作る技術が提案されている(特許文献4)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001−217870号公報
【特許文献2】特開2007−142609号公報
【特許文献3】特開平9−149038号公報
【特許文献4】特表2007−523546号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
省電力ネットワークを構築する場合、ネットワークの管理を行うサーバ側で、送信すべきパケットのスロット(タイムスロット)をあらかじめ割当てて、時分割ベースでパケット転送を行う通信方式が考えられる。
【0009】
これは、サーバが、どの時間で、どこの送信元からどこの宛先へ行くのかといったパケット転送のスケジューリングをしておいてから、パケット送出を行うものである。
このような制御を行うことにより、例えば、ルータに複数パケットが同時に到着するといった状態の発生頻度を低減させることができ、バッファリング回数を減少させることができる。このため、パケットバッファとして使用されていた消費電力の大きな大容量メモリをルータから排除することが可能になる。
【0010】
また、例えば、ルータ自身が、従来行われていたような経路計算を実行せずに済むので、経路計算に要する負荷の軽減を図ることもでき、このため、経路計算時に使用されていた消費電力の大きな高速メモリを不要とすることが可能になる。なお、上記では、ルータの消費電力に注目して説明したが、ネットワークを構成するスイッチの消費電力についても同様の理由で低減可能である。
【0011】
上記のようなパケット経路の割当によるスケジューリングを行うことにより、ルータの消費電力の低減化が可能になり、延いてはネットワーク全体の省電力化が可能になる。
一方、スケジューリングを行う場合に、帯域の有効活用を図ろうとして、少ないスロットにできるだけ多くの経路を割当てるといったスケジューリングを行うことが考えられる。
【0012】
しかし、ネットワークの運用中は、トラフィックは常に変動するので、運用前のスケジューリングで用意した経路を上回る経路利用要求が発生する可能性がある。
すると、上記のようなスケジューリングでスタティックに決定されたスロットにもとづく帯域では、パケットを転送しきれないおそれがあり、さらに、トラフィック変動に伴って増加した経路に対応するために、あらためてスケジューリングをやり直さなければならなくなる。
【0013】
このように、トラフィック変動に伴う経路の増加を想定せずに、スロットに多くの経路を単に詰め込むとしたスケジューリングでは、経路が増加したような場合には対応することができず、またスケジューリングをやり直すことになって非効率的であった。
【0014】
本発明はこのような点に鑑みてなされたものであり、通信効率の向上を図った通信装置を提供することを目的とする。
また、本発明の他の目的は、通信効率の向上を図った通信システムを提供することを目的とする。
【0015】
さらに、本発明の他の目的は、経路変動を想定したスロット割当のスケジューリングを行って、通信効率の向上を図った経路割当方法を提供することである。
【課題を解決するための手段】
【0016】
上記課題を解決するために、通信装置が提供される。この通信装置は、ネットワーク内の発信ノードから着信ノード間の経路を求める経路算出部と、通信スロットに前記経路を割当てる経路割当制御部とを備える。また、経路割当制御部は、通信スロットへの経路の割当可能数の指標となる期待値を算出して、期待値が最大となる経路割当てを選択する。
【発明の効果】
【0017】
通信効率の向上を図ることが可能になる。
【図面の簡単な説明】
【0018】
【図1】通信装置の構成例を示す図である。
【図2】ネットワーク構成例を示す図である。
【図3】経路テーブルを示す図である。
【図4】スロットが使用している経路を示す図である。
【図5】スロットが使用している経路を示す図である。
【図6】スロットが使用している経路を示す図である。
【図7】期待値の計算フローを示す図である。
【図8】ネットワークの構成例を示す図である。
【図9】Min帯域デマンドのテーブルおよび最大公約数で割った値のテーブルを示す図である。
【図10】経路テーブルとパステーブルを示す図である。
【図11】最短ホップ数が記載されたテーブルを示す図である。
【図12】リンクの使用状態/未使用状態が記載されたテーブルを示す図である。
【図13】経路割当アルゴリズムの全体動作を示すフローチャートである。
【図14】最大期待値算出の動作を示すフローチャートである。
【図15】ネットワークトポロジを示す図である。
【図16】ネットワークトポロジを示す図である。
【図17】期待値計算結果を示す図である。
【図18】通信装置の構成例を示す図である。
【図19】グループ化されたネットワークを示す図である。
【図20】グループ間を跨ぐスロット割当を示す図である。
【図21】グループ間を跨ぐスロット割当の問題点を説明するための図である。
【図22】パケット伝送の流れを示す図である。
【図23】宛先アドレスと宛先ノードとの対応テーブルを示す図である。
【図24】宛先アドレスと宛先ノードとの対応テーブルを示す図である。
【図25】パケットバッファを示す図である。
【図26】パケット伝送の流れを示す図である。
【図27】通信システムの構成例を示す図である。
【図28】パケット伝送の流れを示す図である。
【図29】動作を示すフローチャートである。
【図30】動作を説明するための図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を図面を参照して説明する。図1は通信装置の構成例を示す図である。通信装置10は、経路算出部11と経路割当制御部12を備える。通信装置10は、例えば、ネットワークの管理サーバなどに設置される。
【0020】
経路算出部11は、ネットワーク内の発信ノードから着信ノード間の経路を求める。経路割当制御部12は、ネットワーク運用前に通信スロットへの経路の割当てを行う。この場合、データ衝突が起きないように、かつ経路変動に対応できるようにネットワーク運用時にも経路をより多く通信スロットに割当てられるような、通信スロットへの経路の割当てを行う。
【0021】
ここで、経路割当制御部12は、複数の通信スロットに経路を割当てる際に、通信スロットへの経路の割当可能数の指標となる期待値を算出して、期待値が最大となる経路割当てを選択する。
【0022】
このような構成を有することにより、例えば、ネットワークのトラフィック変動に伴って経路が増加したような場合であっても、ネットワーク運用中に経路を割当てることができ、柔軟に対応することが可能になる。
【0023】
また、経路割当のスケジューリングをやり直す必要がなく、通信効率の向上を図ることが可能になる。なお、以降の説明では、通信スロットを単にスロットと呼ぶ。また、スロットに経路を割当てることを、経路を埋め込むといった表現も使用する。
【0024】
次に“スロット”、“経路”および“パス”の用語について説明する。“スロット”とは、パケットを送るための一定長の時間間隔のことで、フレームの中で、一定範囲の固定した時間間隔を占める。ある特定番号のスロットは、フレーム内に1つあり、フレームは周期的に繰り返されるため、その中にある特定番号のスロットも同じ周期で繰り返される。
【0025】
“経路”とは、発エッジノードと着エッジノードの組合せとして定義される(通常、発着ノード間の中継ノードは意識しない)。また、経路に対しては、所望帯域としての帯域デマンドが与えられる。さらに、経路は(帯域に合わせて割当てられた)1つ以上のパスを含む。
【0026】
“パス”とは、1つのスロット内で発エッジノードから着エッジノードに至るリンク(ノード間を結ぶ伝送路)の組合せとして定義される。1つのパスの帯域は、帯域割当ての最小単位であり、(リンク速度/スロット数)である。
【0027】
次に期待値(経路埋め込み期待値)について説明する。期待値は、スロットへの経路の割当可能数の指標となるもので、1スロット当り、全経路の何%を埋め込めるかを表す。
ここで、スロットの最大数をS、経路数をC、ノード間のリンク速度をv、1スロットの帯域をbとし、n(=v/b)個のスロットに割当可能な経路の総和をkとした場合に、期待値は、以下の式(1)で定義する。
【0028】
期待値=(Σスロットnに埋め込み可能な経路数)/(経路数×最大スロット数)
=k/(C×S)・・・(1)
期待値は、0〜1の範囲の値をとり、0の場合は、これ以上経路を埋める余裕がないことを示し、1の場合は、最大まで経路を埋める余裕があることを示す。
【0029】
期待値の大きい方が、トラフィック変動に伴う経路変化にとって好ましい状態であると見なす(期待値が大きいことは、経路埋め込み余裕度が大きいということなので、経路増加要求があっても、運用中において、経路をスロットにダイナミックに埋め込むことができる)。
【0030】
次に経路数の算出および期待値の計算例について図2〜図5を用いて説明する。図2はネットワーク構成例を示す図である。以降では、エッジノードを四角枠で示し、中継ノードを丸枠で示す。
【0031】
ネットワークN1は、エッジノード1〜4および中継ノード5、6を含む。エッジノード1と中継ノード5が接続し、エッジノード2と中継ノード5が接続し、エッジノード3と中継ノード6が接続し、エッジノード4と中継ノード6が接続する。また、中継ノード5と中継ノード6が接続する。
【0032】
ネットワークN1において、エッジノード間をフルメッシュで結ぶと経路数は12となる(エッジ間を結ぶ途中の中継ノードも示すと、1→5→2、1→5→6→3、1→5→6→4、2→5→1、2→5→6→3、2→5→6→4、3→6→5→1、3→6→5→2、3→6→4、4→6→5→1、4→6→5→2、4→6→3の計12経路)。
【0033】
図3は経路テーブルを示す図である。始点エッジノードから終点エッジノードへの経路に番号を振ったテーブルT0を示している。あるスロット(スロットs1とする)が仮に未使用の場合、スロットs1には、テーブルT0のどの経路でも1つは埋めることが可能である。すなわち、「スロットs1に埋め込み可能な経路数」は12となる。
【0034】
図4はスロットが使用している経路を示す図である。図4に示す太矢印の経路(1)の1→5→2のルートが、スロットs1に現在埋め込まれていたとする。この状態に対して、あとどれだけの経路を経路(2)〜(12)の中から選んで埋め込むことができるかを考える。
【0035】
ここで、“埋め込む”、“埋め込めない”とは、すでにスロットに埋め込まれている経路に対し、その経路のリンクと、データ転送方向が同じリンクを共有しない経路であればデータ衝突が起きず、そのスロットに該当経路を埋め込むことができる。
【0036】
また、すでにスロットに埋め込まれている経路に対し、その経路のリンクと、データ転送方向が同じリンクを共有するようなリンクを含んでいる経路は、データ衝突が生じるため、そのスロットには該経路を埋め込むことができない。
【0037】
図4に示すように、エッジノード1から中継ノード5へのデータ転送方向のリンクをリンクL1、中継ノード5からエッジノード2へのデータ転送方向のリンクをリンクL2とする。
【0038】
例えば、経路(2)の1→5→6→3のルートを見た場合、リンクL1が経路(1)と経路(2)で共有することになるので、経路(1)がすでに埋め込まれているスロットs1に対しては、経路(2)は埋め込めない。
【0039】
これに対し、経路(9)の3→6→4のルートは、リンクL1、L2を共有しないので、経路(9)は、スロットs1に埋め込むことができる。また、経路(4)の2→5→1のルートでは、リンクL1、L2のデータ転送方向とは逆方向にデータを転送するので、リンクL1、L2を共有していることにはならず、経路(4)は、スロットs1には埋め込むことができる。
【0040】
このような考え方で、経路(1)がすでに埋め込まれているスロットs1に埋め込み可能な経路を見つけると、この例の場合、経路(4)、(5)、(6)、(7)、(9)、(10)、(12)の7つある。したがって、経路(1)がすでに埋め込まれているスロットs1に対し、「スロットs1に埋め込み可能な経路数」は7となる。
【0041】
図5、図6はスロットが使用している経路を示す図である。スロットが全部で4(=n)つあるとし(スロットs1〜s4)、スロットs1〜s4のそれぞれには図5、図6に示すような利用状況で経路が現在埋め込まれているとする。
【0042】
すなわち、図5に対し、スロットs1、s2には、経路(1)が埋め込まれ、図6に対し、スロットs3には、経路(2)が埋め込まれており、スロットs4には、経路は何も埋め込まれていないとする。
【0043】
この場合、スロットs1〜s4に埋め込み可能な経路数を上述したような考え方で求めると、スロットs1に対してさらに埋め込み可能な経路数は7、スロットs2に対してさらに埋め込み可能な経路数は7となる。また、スロットs3に対してさらに埋め込み可能な経路数は6、スロットs4に対して埋め込み可能な経路数は12となる。
【0044】
したがって、スロットs1〜s4に埋め込み可能な経路数の総和は、(7+7+6+12)であり、ネットワークN1の全経路数は12であり、最大スロット数は4であるので、式(1)から期待値は、(7+7+6+12)÷(12×4)=0.67となる。
【0045】
このことは、ネットワークN1の経路12個を100%とした場合、およそ67%に相当する経路がスロットs1〜s4にまだ埋め込むことが可能であることを示していることになる。
【0046】
次に期待値の計算フローについて説明する。図7は期待値の計算フローを示す図である。なお、1つ目のパス(発エッジノード→着エッジノード)に関して、スロットsに収容する経路のリンクの組み合わせは、例えば、ダイクストラ法(Dijkstra法:最短経路問題を解くための汎用的な計算アルゴリズム)で求められているとする。
【0047】
〔S1〕経路カウンタのカウント値kに0を代入し、スロット番号sに1を代入する。
〔S2〕経路番号rに1を代入する。
〔S3〕スロットsに経路rが埋め込み可能であり、かつ最短ホップ数+α以上のホップ数を持つ経路であるか否かを判断する(α=1、2、3、・・・)。最短ホップ数+α以上の経路であればステップS4へいき、最短ホップ数+α未満の経路であればステップS5へいく。
【0048】
〔S4〕経路カウンタのカウント値kを増加する。
〔S5〕経路番号rを増加する。
〔S6〕経路番号rが最大経路数Rを超えたか否かを判断する。超えた場合はステップS7へいき、超えない場合はステップS3へ戻る。
【0049】
〔S7〕スロット番号sを増加する。
〔S8〕スロット番号sが最大スロット数Sを超えたか否かを判断する。超えた場合はステップS9へいき、超えない場合はステップS2へ戻る。
【0050】
〔S9〕期待値を計算する(期待値=経路カウント値k/(最大経路数R×最大スロット数S))。
ここで、ステップS3の処理について説明する。例えば、発ノードAから着ノードBへの経路として、経路#11〜#14があり、経路#11〜#14は、スロットsに現在埋め込まれている経路のリンクとデータ転送方向が同一でないリンクを有しているとする(すなわち、どれも埋め込み可能な経路である)。また、経路#11のホップ数が10、経路#12のホップ数が11、経路#13ホップ数が12、経路#14のホップ数が13であったとする。
【0051】
このとき、上限値αを3とすると、最短ホップ数は10であるので、ホップ数が13(=10+3)となる経路である経路#14は、ステップS3の判断処理により、該当スロットに埋め込まれないことになる(経路#11〜#13までがスロットに割当てられる)。
【0052】
すなわち、経路#11〜#14は、スロットsに現在埋め込まれている経路のリンクとデータ転送方向が同一でないリンクを有しているので、この条件だけなら、現状のスロットsに全部を埋め込むことができる。しかし、ステップS3に示すようなホップ数の制約条件も付加することにより、発着間のホップ数が許容範囲を超えるものは除外するということである。
【0053】
このように、上限値αを設けて、最短ホップ数+α以上のホップ数を持つ経路は、スロットにすでに埋め込まれている経路とデータ転送方向が同一のリンクを有していない経路であっても除外するようにした。これにより、迂回路が多く存在するネットワークトポロジの場合に、ホップ数の長い経路がパケット転送の通信路に選択されるといったことを防ぐことが可能になる。
【0054】
次に図5、図6に示したスロット割当状態を例にして、図7に示したフローを使った期待値の計算動作について説明する。なお、期待値計算フローのステップS8からステップS2へ戻るループを外側ループ、ステップS6からステップS3へ戻るループを内側ループと呼ぶ。
【0055】
全スロットが4つあるので、外側ループは4回回り、スロット番号sは1→4と変化する。また、とりうる経路数が12個あるので、外側ループ毎に経路番号rは1→12へと変化する。
【0056】
(外側ループの1回目処理)
ステップS1によりs=1、k=0であり、ステップS2によりr=1から開始する。
内側ループの1回目では、スロットs1に経路(1)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=2となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=0)。
【0057】
内側ループの2回目では、スロットs1に経路(2)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=3となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=0)。
【0058】
内側ループの3回目では、スロットs1に経路(3)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=4となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=0)。
【0059】
内側ループの4回目では、スロットs1に経路(4)を埋め込むことができるので、ステップS3の判断がyesであり、ステップS4でk=1となる。また、ステップS5でr=5となり、ステップS6の判断がnoなので、ステップS3へ戻る(k=1)。
【0060】
内側ループの5回目では、スロットs1に経路(5)を埋め込むことができるので、ステップS3の判断がyesであり、ステップS4でk=2となる。また、ステップS5でr=6となり、ステップS6の判断がnoなので、ステップS3へ戻る(k=2)。
【0061】
以降同様にして、内側ループの11回目では、スロットs1に経路(11)は埋め込むことができないので、ステップS3の判断がnoであり、ステップS5でr=12となる。また、ステップS6の判断がnoであるため、ステップS3へ戻る(k=6)。
【0062】
内側ループの12回目では、スロットs1に経路(12)を埋め込むことができるので、ステップS3の判断がyesであり、ステップS4でk=7となる。また、ステップS5でr=13となり、ステップS6の判断がyesとなるので、ステップS7へいく。ステップS7によりs=2となり、ステップS8はnoなので、ステップS2へ戻る。
【0063】
(外側ループの2回目処理)
s=2、k=7から開始する。内側ループ1回目(r=1)では、スロットs2には経路(1)は埋め込めない(k=7)。以降同様にして、内側ループ12回目(r=12)では、スロットs2には経路(12)を埋め込めるのでk=14となる。
【0064】
(外側ループの3回目処理)
s=3、k=14から開始する。内側ループ1回目(r=1)では、スロットs3には経路(1)は埋め込めない(k=14)。以降同様にして、内側ループ12回目(r=12)では、スロットs3には経路(12)は埋め込めない(k=20)。なお、スロットs3は経路(4)、(7)、(8)、(9)、(10)、(11)を埋め込むことができる。
【0065】
(外側ループの4回目処理)
s=4、k=20から開始する。内側ループ1回目(r=1)では、スロットs4には経路(1)は埋め込めるのでk=21となる。以降同様にして、内側ループ12回目(r=12)では、スロットs4には経路(12)は埋め込めるのでk=32となる。なお、スロットs4は、経路(1)〜(12)のどれでも埋め込むことができる。
【0066】
上記のようなループ処理を繰り返した後に、ステップS9により、期待値はk÷R÷S=32÷12÷4=0.67と求まる。
次にスロットに経路を割当てる経路割当アルゴリズムの手順について説明する。なお、以下の[1]の内容は、主に経路算出部11の動作に該当し、[2]の内容は、主に経路割当制御部12の動作に該当する。
【0067】
[1]全経路の最小帯域デマンド(Min帯域デマンド)を、その最大公約数(1スロットの帯域)で割算し、各経路に必要なパス数を求める。あわせて、スロット数を(リンク速度/1スロットの帯域)で決定する。なお、全経路数をL、全パス数をM、スロット数をnとする。
【0068】
[2]M個のパスを、下記手順(a)〜(g)による期待値の演算・比較により、n個のスロットに割当てる。
(a)1つ目のパス(発エッジノード→着エッジノード)を取り出し、スロットに収容するリンクの組合せを例えばDijkstra法で求める。
【0069】
(b)得られた組合せのホップ数が、「最短経路+上限値」内に収まっているか判定する。
(c)収まっていれば、当該パスを収容した時のスロットの期待値を求める。また、全経路に対し、これらがDijkstra法により収容可能か否かを判定し、収容可能な経路をカウントして、期待値を算出する。
【0070】
(d)(a)〜(c)の手順を、任意のパスの任意のスロットに対して行う(M×N回の総当り演算)。
(e)(d)までの結果で得られた最大M×Nの演算の期待値を比較し、一番大きな値のものを確定パス(または確定経路)として決定し登録する。
【0071】
(f)割当てるべきパス(M個)から、(e)で決定したパスを除き、このパス(残りM−1個のパス)の集合に対して、(a)〜(e)の手順を行う。
(g)(a)〜(f)の手順を、割当てるべきパスがなくなるまで繰り返す。
【0072】
次に例を示しながら経路割当アルゴリズムの動作について説明する。図8はネットワークの構成例を示す図である。ネットワークN2は、エッジノード0〜3および中継ノード4〜7を含む。エッジノード0と中継ノード4が接続し、エッジノード1と中継ノード5が接続し、エッジノード2と中継ノード6が接続し、エッジノード3と中継ノード7が接続する。また、中継ノード4、5が接続し、中継ノード5、7が接続し、中継ノード7、6が接続し、中継ノード6、4が接続する。
【0073】
ネットワークN2における各経路のMin帯域デマンドを、0→2の経路が10Mbps、0→3の経路が5Mbps、1→3の経路が10Mbps、1→2の経路が5Mbps、2→1の経路が10Mbpsとする。
図9はMin帯域デマンドのテーブルおよび最大公約数で割った値のテーブルを示す図である。テーブルT1は、Min帯域デマンドをテーブル化したものである。また、テーブルT2は、Min帯域デマンドをその最大公約数(1スロットの帯域に該当)で割った値をテーブル化したものである。この例では、Min帯域デマンドの最大公約数は5であるので、割り算を行うとテーブルT2に示される値となる。
【0074】
ここで、各経路のMin帯域デマンドに必要なパス数は、テーブルT2の数値をすべて合計した値となるので、全パス数Mは、M=8(=2+1+1+2+2)となる(すなわち、0→2の経路のパス数は2、0→3の経路のパス数は1、1→2の経路のパス数は1、1→3の経路のパス数は2、2→1の経路のパス数は2であるので計8個)。
【0075】
また、全経路数Lは、テーブルT2の0以外の数値が記された項目欄の数であり、5個あるのでL=5となる。さらにスロット最大数nは、例えば、リンク速度が100Mbpsであり、1スロットの帯域を5とすると、100/5=20となり、n=20スロットとなる。
【0076】
図10は経路テーブルとパステーブルを示す図である。上記で求めた経路とパスに番号を付けてテーブルを作成すると、経路テーブルT11およびパステーブルT12となる。経路テーブルT11は、5個の経路に番号#1〜#5を付けて作成したテーブルである。パステーブルT12は、8個のパスに番号を付けて作成したテーブルである。
【0077】
図11は最短ホップ数が記載されたテーブルを示す図である。テーブルT3は、利用する経路が最短で何ホップで接続できるかのホップ数を示している。ネットワークN2のノード接続構成により、0→2、0→3、1→3、1→2、2→1のすべての経路に対し、最短ホップ数は3である。
【0078】
図12はリンクの使用状態/未使用状態が記載されたテーブルを示す図である。テーブルT4は、送信元ノード(src)から宛先ノード(dst)を結ぶリンクごとに、すでにスロットに割当てられた使用済みのリンクを1、スロットに割当てられていない未使用のリンクに0を登録するテーブルである。このようなテーブルT4で、リンクの使用状態/未使用状態を管理して、1を書き込んだリンクを除外できるようにする。
【0079】
なお、テーブルT4は、src/dstのペアの代わりに隣接行列(adjacency matrix)で保持してもよい。この場合、隣接行列を複数持ち、元の行列の1だった箇所に0を書き込むことで経路の除外を表現する。
【0080】
次にテーブルT2に記載される経路(計5経路)について期待値を計算していく。経路は、テーブルT4で未使用となっているリンクを使って作ることができる最短経路を用いる。
【0081】
スロットs0〜s19に対する経路#1〜#5割当の期待値の計算として例えば、経路#1(0→2)をスロットs0に埋め込んだ場合の期待値はa1となる(経路#1をスロットs1に埋め込んだ場合に、あとどれぐらいの経路を埋め込むことができるかの指標がa1となる)。経路#1(0→2)をスロットs1に埋め込んだ場合の期待値はa2となる。以降同様にスロットs19まで期待値を計算する。
【0082】
次の経路の期待値計算として、経路#2(0→3)をスロットs0に埋め込んだ場合の期待値はb1となる。経路#2(0→3)をスロットs1に埋め込んだ場合の期待値はb2となる。以降同様にスロットs19まで期待値を計算する。
【0083】
次の経路の期待値計算として、経路#3(1→2)をスロットs0に埋め込んだ場合の期待値はc1となる。経路#3(1→2)をスロットs1に埋め込んだ場合の期待値はc2となる。以降同様にスロットs19まで期待値を計算し、以下同様にして経路#5までの期待値を計算する。
【0084】
このように、すべての経路#1〜#5に対して、すべてのスロットs0〜s19に仮に割当てた場合の期待値を計算する。そして、期待値を計算し終えたら、その中で最も期待値の大きいものを選択する(値の大きさが同じものがある場合はどれを選択してもよいが、例えば、スロット番号の小さいものを選択する)。
【0085】
ここで、経路がM個(経路#1〜#M)あり、所定数のスロットに対して上記のような期待値計算をしたとする。そして例えば、経路#2をスロットs0に埋め込んだ期待値が最も大きくなったとすると、この経路#2を確定経路と呼び、確定経路を除いた(M−1)個の経路に対して、再び上記と同様な期待値計算を行うことになる。このような処理を繰り返して、結果的にM個の確定経路を求めることになる。
【0086】
なお、経路決定に使用したリンクは、テーブルT4の該当箇所を1に登録し、使用済みにして以後の経路探索対象から除外する。
次に経路割当アルゴリズムの動作フローについて説明する。図13は経路割当アルゴリズムの全体動作を示すフローチャートである。
【0087】
〔S11〕テーブルT2を作成する(Min帯域デマンドをその最大公約数で割った値をテーブル化する)。
〔S12〕テーブルT3を作成する(各経路の最短ホップ数を求めてテーブル化する)。
【0088】
〔S13〕テーブルT2の参照位置(a、b)をa=0、b=0に設定する。
〔S14〕テーブルT2の参照位置(a、b)の値が0か否かを判断する。0でなければステップS15へいき、0ならばステップS16へいく。
【0089】
〔S15〕経路が未使用のスロットが出てくるまで、すべてのスロットにおけるノードaから出発してノードbに到達する最短経路を求めて、期待値をすべて算出する。
〔S16〕テーブルT2の参照位置(a、b)を1つ進める。
【0090】
〔S17〕テーブルT2の参照をすべて終えた場合はステップS18へいき、終えていない場合はステップS13へ戻る。
〔S18〕期待値が最大の経路を選び、経路が利用するリンクについてテーブルT4の該当スロットの部分に1を書き込む。
【0091】
図14は最大期待値算出の動作を示すフローチャートである。
〔S20〕スロット試行位置を0に設定する(すなわち、スロットs0からスタートする)。
【0092】
〔S21〕テーブルT4の該当箇所を参照して、ノードaから出発してノードbに到達する最短経路をDijkstra法で求める。
〔S22〕経路が求まらないか、テーブルT3の最短経路+αよりも長い経路になってしまうかを判断する。経路が求まらない、またはテーブルT3の最短経路+αよりも長い経路になってしまう場合はステップS24へいく。また、経路が求まり、テーブルT3の最短経路+αよりも長い経路にならない場合はステップS23へいく。
【0093】
〔S23〕a、b、スロット番号、期待値、経路を計算して保存する。
〔S24〕スロット試行位置を1増やす。
〔S25〕1つ前のスロットが完全未使用スロットかを判断する(テーブルT4の項目がすべて0かを判断する)。完全未使用スロットの場合はステップS26へいき、そうでない場合はステップS21へ戻る。
【0094】
〔S26〕保存したもののうちでもっとも期待値の高いものを選択する。
次に効果について説明する。図15、図16はネットワークトポロジを示す図である。ネットワークN11は、スター型のトポロジであり、ネットワークN12は、ツリー型のトポロジである。また、ネットワークN13は、ラダー型のトポロジであり、ネットワークN14は、簡易ラダー型のトポロジである。
【0095】
図17は期待値計算結果を示す図である。上記の4種類の基本的なトポロジにおいて、10スロットの空きスロットに対して、フルメッシュの経路割当を行った場合の期待値を算出する。
【0096】
スロットに経路を割当てる際の評価として、例えば、ランダムに割当てる場合、ホップ数の短い経路を優先的に割当てる場合、ホップ数の長い経路を優先的に割当てる場合、および本発明による割当てを行う場合があり、それぞれの場合において100回ずつ試行して平均の期待値を算出した。
【0097】
図17に示すように、通信装置10で実行する期待値計算がすべてのトポロジにおいて最大となる。すなわち、通信装置10における経路割当制御を実行することにより、後から追加する経路数をより多く割当てることが可能になる。
【0098】
次にグループ間を跨いでスロット割当を行って、パケット通信を行う通信装置および通信システムについて説明する。なお、送信すべきパケットに対して、経路が埋め込まれた、あるスロット(タイムスロット)のタイミングを割当てることを、そのパケットに対してのスロット割当と呼ぶ。
【0099】
例えば、パケットp1をスロットs1(s1はスロットに付与されるスロット番号)のタイミングで送信する場合、パケットp1にはスロットs1が割当てられるといった表現をする。
【0100】
図18は通信装置の構成例を示す図である。通信装置30は、パケットにスロットを割当てるスロット割当部31と、パケットバッファ32とを備える。
スロット割当部31は、直前のグループで割当てられたスロットで送信されたパケットを受信すると、直前のグループで割当てられた該スロットのスロット番号を、自グループに対応する番号である自通信スロット番号(自スロット番号)に変換する。また、パケットバッファ32は、自スロット番号と、パケットとを対にして格納する。
【0101】
ここで、スロット割当部31は、パケット送信時には、パケットをパケットバッファ32から取り出し、自スロット番号を選択し、自スロット番号を持つスロットをパケットに割当てる。
【0102】
また、自スロット番号を選択しない場合は、自スロット番号よりも時間的に後で、かつ自スロット番号に対して最も時間差の小さなスロット番号を選択し、選択したスロット番号を持つスロットをパケットに割当てる。
【0103】
なお、スロット割当部31とパケットバッファ32とは、上記では、1台の装置に含まれる構成としたが、各機能が分離してもよい。例えば、スロット割当部31がネットワークの運用管理を行う管理サーバに配置され、パケットバッファ32がネットワーク内のノードに配置されるような構成にしてもよい。
【0104】
以下、通信装置30の機能を適用したグループネットワークについて詳しく説明する。図19はグループ化されたネットワークを示す図である。エッジノードE1〜E4がシリアルに接続し、中継ノードR1がエッジノードE1、E2の間に配置し、中継ノードR2がエッジノードE2、E3の間に配置し、中継ノードR3がエッジノードE3、E4の間に配置している。
【0105】
また、グループG1は、エッジノードE1、E2、中継ノードR1および管理サーバ20−1を含み、グループG2は、エッジノードE2、E3、中継ノードR2および管理サーバ20−2を含み、グループG3は、エッジノードE3、E4、中継ノードR3および管理サーバ20−3を含む。
【0106】
グループ境界においてエッジノードが配置され、グループ間はエッジノードを通じて接続される。グループG1〜G3内の管理サーバ20−1〜20−3は、グループ内のエッジノードや中継ノードと通信を行い、各グループは独立して稼働する。
【0107】
エッジノードE1〜E4は、パケットの宛先IPアドレスと宛先エッジノードが対応した宛先対応テーブルと、宛先エッジノードと使用スロット番号が対応したスロット番号対応テーブルとを備える。
【0108】
エッジノードE1〜E4に、宛先対応テーブルに存在する宛先のパケットが到着した場合は、そのパケットにはすでにスロット割当済みであるので、管理サーバとの通信は行わずに、割当済みのスロットを使用する。これにより、管理サーバの負担削減およびスロット消費量の低減を図る。
【0109】
また、宛先対応テーブルに存在しない宛先のパケットが到着した場合は、そのパケットにはスロットが割当てられていないので、該パケットを受信したエッジノードは、エッジノードと通信する管理サーバに対して、スロット番号割当の要求を行う。
【0110】
図20はグループ間を跨ぐスロット割当を示す図である。入側の最初のグループG1は、期待値が最も高いスロットを選ぶ。続いて、隣接する次段のグループは、1つ前のグループのタイムスロットに時間的に最も近いスロットを選ぶ。
【0111】
ここで、グループ間には時間差があるので、グループ境界に位置するエッジノードには、時間調整のためのバッファが備えられる。ただし、大容量のバッファを備えるのものではないため、パケットが留まる時間を少なくする必要がある。
【0112】
そのためには、1つ前のグループのタイムスロットに時間的に最も近いスロットを選ぶことになる。すなわち、後段のグループでは、隣接する前段のグループで割当てられたスロットと同じ時間、または後の時間に出現するスロットに最も近い時間のスロットを選択することになる。
【0113】
例えば、グループG1でスロットs1が割当てられた場合、グループG2では、スロットs1またはスロットs2を選択する。グループG1、G2で時間差がなく同一タイミングで稼働していた場合は、スロットs1が最良であり、このときは、ほとんどバッファリングせずに通過させることができる。
【0114】
また例えば、グループ間に時間差があって、グループG1のスロットs1に相当する時間では、グループG2ではスロットs5に相当していたとする。このとき、グループG1でスロットs1に割当てられたパケットは、グループG2ではスロットs5に割当てることが、バッファリングに要する時間が最も少なく、最も早く通過させる。
【0115】
しかし、スロットs5を使って送信するパケットが満杯のとき、この場合のバッファリング時間が最小となる最良のスロットは、スロットs5の直後のスロットs6を選択する。したがって、グループG2では、該パケットに対して、スロットs6の割当を行って通過させることになる。
【0116】
上記のような、グループ間でのスロット割当を行うことにより、エッジノードに大容量のバッファが不要となり、高速にパケット伝送を行うことが可能になる。
図21はグループ間を跨ぐスロット割当の問題点を説明するための図である。グループG1〜G3がシリアルに接続し、グループG2とグループG4が接続する。グループG1は、エッジノードE1、E2、中継ノードR1、R2および管理サーバ20−1を含み、グループG2は、エッジノードE2、E3、E5、中継ノードR3、R4および管理サーバ20−2を含む。
【0117】
グループG3は、エッジノードE3、E4、中継ノードR5、R6および管理サーバ20−3を含み、グループG4は、エッジノードE5、E6、中継ノードR7、R8および管理サーバ20−4を含む。
【0118】
このようなネットワーク構成において、パケットp1は、白抜き矢印の経路m1で伝送され、パケットp2は、黒塗り矢印の経路m2で伝送されるとする。グループG1は、入側グループであるため、最初に到着したパケットp1に対して、最も期待値の高いスロットs10を割当てる。
【0119】
また、グループG1〜G3は、同一タイミングで稼働しているとすると、グループG2もパケットp1にスロットs10を割当てて経路m1で送信し、グループG3もパケットp1にスロットs10を割当てて経路m1で送信する。
【0120】
一方、パケットp1の次にパケットp2がグループG1に到達した場合を考える。グループG1では、宛先対応テーブルに、到着したパケットの宛先があれば、すでにスロット割当済みなので、管理サーバ20−1との通信を行わずに、パケットp2に対して割当済みのスロットを使用する。
【0121】
ここでは、エッジノードE1に到着したパケットの宛先は、エッジノードE2であり、経路m1と経路m2は同経路なので、パケット宛先は、既知であり、テーブル登録されている。
【0122】
したがって、グループG1内では、エッジノードE1は、管理サーバ20−1との通信を行って、パケットp2に対してあらたなスロット割当を要求するといった制御はせずに、スロットs10をそのまま使用して、エッジノードE2へパケットp2を伝送する。
【0123】
パケットp2は、グループG2のエッジノードE2に到着する。エッジノードE2において、経路m1、m2が分岐し、経路m2は既知の経路ではないので、グループG2においてスロット割当が施される。この場合、パケットp2にとってグループG2は、入側のグループに相当するから、グループG2では、グループG2における最も期待値の大きなスロット割当を行うことになる。
【0124】
すなわち、パケットp2は、グループG1でスロットs10が割当てられているが、スロットs10とは関係のない、グループG2の中で最も期待値の大きなスロットが割当てられることになる。
【0125】
例えば、スロットs10で到着したパケットp2に対し、グループG2内で最も期待値の大きなスロットs50が割当てられる場合もある。このような場合、スロットs50のタイミングでパケットp2を送信するには、スロットs10からスロットs50までの時間分を、エッジノードE2でバッファリングすることになり、遅延が増大することになる。
【0126】
上記のように、複数グループをパケットが通過する際、他グループでスロットが割当てられたパケットが到着した場合、該他グループで割当てられたスロット番号を無視したスロット割当を行って、パケット伝送が行われてしまうおそれがあり、遅延が増大してしまう。したがって、このような状況において、遅延低減を図ったスロット割当を行うことが必要である。
【0127】
次に上記課題を解決する通信装置30の機能を適用したグループネットワークについて説明する。図22はパケット伝送の流れを示す図である。宛先アドレス(10.0.3.1)のパケットp1が最初にグループG1に到着したときのパケット伝送の流れを示している。
【0128】
また、図23、図24に宛先アドレスと宛先ノードとの対応テーブルを示す。図23に示すテーブルT11は、図22に示すエッジノードE1に含まれ、図24に示すテーブルT12は、図22に示すエッジノードE2に含まれる。
【0129】
〔S31〕宛先アドレス(10.0.3.1)のパケットp1がグループG1に到着する。エッジノードE1は、テーブルT11にもとづき、宛先アドレスからグループG1内の宛先ノード番号E2を取得する。
【0130】
〔S32〕エッジノードE1は、エッジノードE1から宛先ノードE2へ向かう経路がこの時点ではまだ存在せず見つからないため、管理サーバ20−1にノード番号を通知して経路割当を依頼する。
【0131】
〔S33〕管理サーバ20−1は、最も期待値の高いスロットに経路を埋め込み、そのスロット(スロットs10とする)をエッジノードE1へ通知する。
〔S34〕エッジノードE1は、スロットs10のタイミングを使ってパケットp1を送信する(スロットs10を割当てたパケットp1を送信する)。
【0132】
〔S35〕エッジノードE2は、事前に計算しておいたグループG1とグループG2とのスロット時間差をもとに、グループG1で割当てられたスロット番号を、グループG2での時間的に一番近い、グループG2に対応するスロット番号に変換する。この例では、時間差0と仮定すると、一番近いスロットは、グループG1と同じスロットs10であり、スロットs10に変換したとする。
【0133】
図25にパケットバッファを示す。パケットバッファ32は、各エッジノードに配置され、受信パケットのパケット内容と自スロット番号の2つの情報が保存される。また、本技術のスロット割当が行われない通常のIPネットワークから送信されたパケットも、エッジノードにおいて受信するので、これらのネットワークに関するパケット内容もパケットバッファ32で保存される。
【0134】
エッジノードE2の例では、グループG1とグループG2とのスロット時間差をもとに計算された、グループG2での時間的に一番近いスロット番号(スロットs10)と、そのスロット番号のタイミングで送信されるパケットp1の内容とが格納される。
【0135】
〔S36〕エッジノードE2は、テーブルT12にもとづき、宛先アドレスからグループG1内の宛先ノード番号E3を取得する。
〔S37〕エッジノードE2は、エッジノードE2から宛先ノードE3へ向かう経路がこの時点ではまだなく見つからないため、管理サーバ20−2にノード番号を通知して経路割当を依頼する。このとき、パケットバッファ32に保存しておいた、自グループG2内での最適なスロット番号を取得し、このスロット番号(スロットs10)も管理サーバ20−2へ送る。
【0136】
〔S38〕管理サーバ20−2は、通知されたスロット番号に最も近い番号で、かつ空いているスロットを検出する。そして、検出した該スロットに経路を埋め込み、経路が埋め込まれたスロット番号(この例では、グループG1〜G3は時間差がほぼないとしているので、スロットs10となる)をエッジノードE2へ通知する。
【0137】
〔S39〕エッジノードE2は、通知されたスロットs10でパケットp1を宛先エッジノードE3へ送信する。以降、上記のような制御をグループの出口に到達するまで続ける。
【0138】
図26はパケット伝送の流れを示す図である。パケットp1の次に宛先アドレス(10.0.4.1)のパケットp2がグループG1に到着したときのパケット伝送の流れを示している。
【0139】
〔S41〕宛先アドレス(10.0.4.1)のパケットp2がグループG1に到着する。エッジノードE1は、テーブルT11にもとづき、宛先アドレスからグループG1内の宛先ノード番号E2を取得する。
【0140】
〔S42〕エッジノードE1は、エッジノードE1からエッジノードE2へ向かう経路はすでに割当てられているため、パケットp2を先のスロットs10のタイミングで送信する。
【0141】
〔S43〕エッジノードE2は、ステップS35と同じ制御を行い、グループG1で割当てられたスロット番号を自グループのスロット番号に変換する。ここでは、スロットs10に変換するので、パケットバッファ32には、パケットp2のパケット内容とグループG2で最も近いスロット番号(s10)の2つの情報を保存しておく。
【0142】
〔S44〕エッジノードE2は、テーブルT12にもとづき、宛先アドレスからグループG2内の宛先ノード番号E4を取得する。
〔S45〕エッジノードE2は、エッジノードE2から宛先ノードE4に対応する経路が見つからないので、管理サーバ20−2にノード番号を通知して経路割当を依頼する。このとき、パケットバッファ32に保存しておいた、自グループG2内での最適なスロット番号を取得し、このスロット番号(スロットs10)も管理サーバ20−2へ送る。
【0143】
〔S46〕管理サーバ20−2は、通知されたスロット番号に最も近い番号で、かつ空いているスロットを検出する。そして、検出した該スロットに経路を埋め込み、経路が埋め込まれたスロット(スロットs10はすでに割当てられているので、スロットs10に最も近いスロットs11となる。なお、スロットs11もすでに割当てられているような場合には、例えば、スロットs12となる。)をエッジノードE2へ通知する。
【0144】
〔S47〕エッジノードE2は、通知されたスロットs11でパケットp2を宛先エッジノードE4へ送信する。以降、上記のような制御をグループの出口に到達するまで続ける。
【0145】
以上説明したように、上記の構成によれば、直前のグループで割当てられたスロットで送信されたパケットを受信すると、直前のグループで割当てられたスロットのスロット番号を、自グループに対応する番号である自スロット番号に変換して、パケットと対にしてパケットバッファに格納する。
【0146】
そして、パケット送信時には、パケットをパケットバッファから取り出し、自スロット番号を持つスロットをパケットに割当てる。また、自スロット番号が使用することができないような場合は、自スロット番号よりも時間的に後で、かつ自スロット番号に対して最も時間差の小さなスロット番号を選択する。そして、選択したスロット番号を持つスロットをパケットに割当てる。
【0147】
これにより、複数グループをパケットが通過する際、他グループでスロットが割当てられたパケットが到着した場合でも、該他グループで割当てられたスロット番号に近いスロット番号を割当ててパケット伝送を行うので、遅延を低減することができ、伝送品質の向上を図ることが可能になる。
【0148】
次に他の実施の形態について説明する。上記のグループ間を跨ぐスロット割当では、1つの入力に対して複数出力する1:NのグループネットワークのN出力部分(例えば、図26におけるエッジノードE2の部分)に関するスロット割当について説明した。以降では、複数入力に対して複数出力するN:MのグループネットワークのN入力部分に関するスロット割当について説明する。
【0149】
図27は通信システムの構成例を示す図である。通信システム4は、通信装置41(第1の通信装置)と、通信装置42(第2の通信装置)を備える。通信装置41は、グループG1内に位置し、通信装置42は、グループG2内に位置する。
【0150】
通信装置41は、スロット割当部41aとリスト作成部41bを含む。スロット割当部41aは、パケットに第1のスロットを割当てる。リスト作成部41bは、割当てた第1のスロットのスロット番号をリストに登録し、次段のグループへ送信する。
【0151】
通信装置42は、スロット割当部42aとリスト作成部42bを含む。スロット割当部42aは、パケットに第2のスロットを割当てる。リスト作成部42bは、割当てた第2のスロットのスロット番号をグループG1から送信されたリストに登録する。
【0152】
このような構成により、各グループで割当てたスロット番号のリストが後段グループへ通知されて、リストにもとづいて、後段グループでスロット割当を行うことにより、複数グループが接続されるネットワークにおいても、各グループでのスロット割当を効率よく実施することが可能になる。
【0153】
なお、スロット割当部とリスト生成部とは、上記では、1台の装置に含まれる構成としたが、各機能が分離してもよい。例えば、スロット割当部がネットワークの運用管理を行う管理サーバに配置され、リストを生成して次段グループへリストを送信するリスト作成部がネットワーク内のノードに配置されるような構成にしてもよい。
【0154】
次に動作について詳しく説明する。図28はパケット伝送の流れを示す図である。グループG1〜G3がシリアルに接続する。グループG1は、エッジノードE1、E2、E5、中継ノードR1、R2および管理サーバ20−1を含む。グループG2は、エッジノードE2、E3、中継ノードR3、R4および管理サーバ20−2を含む。グループG3は、エッジノードE3、E4、E6、中継ノードR5、R6および管理サーバ20−3を含む。
【0155】
このようなネットワーク構成において、すでに白抜き矢印方向の経路m1が確立しているとする。この場合、後から黒塗り矢印方向の経路m2を生成するときは、グループG3(エッジノードE3)において、上述したようなスロット割当の制御が行われる。
【0156】
ここで、グループG1(エッジノードE5)におけるスロット割当について考える。黒塗り矢印の方向の経路m2を通じて、グループG1へ向けてパケットが送信される際、複数のグループ群G10を経て、グループG1にパケットが到着するものとする。
【0157】
グループG(n)のスロット割当は、上述したように、1つ前のグループG(n−1)で割当てられたスロットを元に決定するので、グループG1に達するまでに、グループG1の前段側にあるグループ群G10の各グループでそれぞれのスロット割当が行われる。
【0158】
したがって、グループG1においても、前段側にある複数のグループ群G10で割当てられたスロットにもとづいてスロット割当を行うことになる。しかし、グループG1で割当てようとするスロットが、経路m1で割当て済みのスロットと大きな時間差を持っていたりするおそれがある。
【0159】
例えば、経路m1にスロットs10が割当てられているとする。グループ群G10では、各グループにおいて、・・・スロットs40、スロットs48、スロットs49・・・と割当てられ、グループG1に到達したとする。
【0160】
この場合、グループ群G10のスロット割当にもとづいて、グループG1ではスロットs50を割当てるとすると、エッジノードE2ではスロットs10をすでに割当てているので、エッジノードE2において、スロットs50とスロットs10との時間差のバッファリングを行うことになってしまう。このため、最短時間の経路を生成することができず、伝送品質の低下につながる。
【0161】
グループG(n)のスロット割当を行う際に、1つ前のグループG(n−1)で割当てられたスロットを元に決定するといったアルゴリズムで、終端点に到達するならば問題はない。しかし、途中のグループにおいて、該アルゴリズムによるスロット割当を行うと、上記のように最短時間で経路を生成できない場合がある。通信システム4による機能では、このような状況を改善するものである。
【0162】
図29は動作を示すフローチャートである。
〔S51〕開始グループでは、期待値の高いスロットを仮割当し、スロットの候補リストを作成して、隣接グループへ送信する。
【0163】
〔S52〕隣接グループがスロット割当済みでなければ、該隣接グループにおける小さい時差で、割当可能なスロットを仮割当する。そして、そのスロットを候補リストに加えて隣接グループへ流す。
【0164】
〔S53〕ステップS51、S52の動作を行い、スロット割当済みの経路が存在せず、終端のグループまで到達した場合は、仮割当してきたスロットで確定する。
〔S54〕ステップS51、S52の動作を行って、スロット割当済みのグループが途中に存在した場合は、そこで候補リストを破棄し、スロット割当済みのグループが使用しているスロット番号を遡って返送する。返送されたスロット番号を受信したグループは、そのスロット番号に近いスロットを割当てる。
【0165】
図30は動作を説明するための図である。基本的なネットワーク構成は図28と同じである。グループ群G10にはグループG10−1、G10−2が含まれる。グループG10−1は、エッジノードE7と管理サーバ20−4を含み、グループG10−2は、エッジノードE8と管理サーバ20−5を含む。また、経路m1にスロットs10が割当てられているとする。
【0166】
〔S61〕グループ群G10内のグループG10−1の管理サーバ20−4は、スロットs48を仮割当する。エッジノードE7は、スロットs48を候補リストに追加して、隣接するグループG10−2へ送信する。
【0167】
〔S62〕グループG10−2の管理サーバ20−5は、スロットs49を仮割当する。エッジノードE8は、スロットs49を候補リストに追加して、隣接するグループG1へ送信する。
【0168】
〔S63〕グループG1の管理サーバ20−1では、スロット割当済みのスロットs10があるので、グループG10−2から送信された候補リストを破棄する。
〔S64〕グループG1の管理サーバ20−1は、現在使用中のスロット番号s10をグループG10−2に返送する。
【0169】
〔S65〕グループG10−2の管理サーバ20−5は、受信したスロット番号s10から、スロット番号s10に最も近い番号を割当てる。例えば、スロットs9を割当てるとする。そして、スロット番号s9をグループ10−1へ返送する。
【0170】
〔S66〕グループG10−1の管理サーバ20−4は、受信したスロット番号s9をから、スロット番号s9に最も近い番号を割当てる。例えば、スロットs8を割当てるとする。そして、スロット番号s8を前段のグループへ返送する。以降同様な動作が開始点のグループまで遡って行われる。
【0171】
以上説明したように、グループG(n)に、スロットが割当済みの経路が存在しない場合、グループG(n−1)の管理サーバ(第1のスロット割当部)では、グループG(n−1)内で、所定時間経路で送信するためのスロットを仮割当てし、グループG(n−1)のエッジノード(第1のリスト作成部)は、割当てられたスロットのスロット番号を候補リストに登録してグループG(n)へ送信する。
【0172】
同様に、グループG(n)の管理サーバ(第2のスロット割当部)は、グループG(n)内で、所定時間経路で送信するためのスロットを仮割当てし、グループG(n)のエッジノード(第2のリスト作成部)は、割当てられたスロットのスロット番号を候補リストに登録する。
【0173】
ここで、グループG(n)に次段グループG(n+1)が接続していれば、グループG(n)のエッジノードは、グループG(n+1)へ候補リストを中継送信する。また、グループG(n)が終端グループであれば、グループG(n−1)、G(n)の各管理サーバは、仮割当てしたスロットで確定する。すなわち、仮割当てしたスロットでパケットに対してスロット割当を行う。これにより、複数グループが接続されるネットワークにおいて、各グループでのスロット割当を効率よく実施することが可能になる。
【0174】
一方、グループG(n)に、スロットが割当済みの経路がすでに存在している場合、グループG(n)の管理サーバは、グループG(n−1)から送信された候補リストを破棄する。そして、グループG(n)ですでに割当済みのスロットのスロット番号を前段のグループG(n−1)返送するための制御を行う。
【0175】
また、グループG(n−1)の管理サーバは、返送されたスロットのスロット番号に対して、最も時間差の小さなスロット番号を選択し、選択したスロット番号を持つスロットをパケットに割当てる。そして、前段のグループG(n−2)に対して、グループG(n−1)で選択したスロット番号を遡って返送する。以降同様な動作が開始グループに達するまで遡って行われる。
【0176】
このように、複数のスロット候補を隣接するグループの管理サーバへ通知し、最終的に終端の管理サーバが最も短い時間で割当て可能なものを選択するまでの間にスロット割当て済みのグループが存在した場合は、最初の割当て候補を破棄して割当て済みのスロットに近いスロットを割当てる構成とした。これにより、最短時間の経路を開始グループから終端グループまで生成することができ、伝送品質の向上を図ることが可能になる。
【0177】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。
【符号の説明】
【0178】
10 通信装置
11 経路算出部
12 経路割当制御部
【特許請求の範囲】
【請求項1】
ネットワーク内の発信ノードから着信ノード間の経路を求める経路算出部と、
通信スロットに前記経路を割当てる経路割当制御部と、
を備え、
前記経路割当制御部は、前記通信スロットへの前記経路の割当可能数の指標となる期待値を算出して、前記期待値が最大となる経路割当てを選択する、
ことを特徴とする通信装置。
【請求項2】
前記経路割当制御部は、前記通信スロットの最大数をS、前記経路の数をC、ノード間のリンク速度をv、1つの前記通信スロットの帯域をbとし、(v/b)個の前記通信スロットに割当可能な前記経路の総和をkとした場合に、前記期待値を、
期待値=k/(C×S)
で算出することを特徴とする請求項1記載の通信装置。
【請求項3】
前記経路割当制御部は、前記経路に含まれるリンクの組み合わせを求め、前記リンクの組み合わせのホップ数が、最短経路のホップ数に上限値を加算した値以上となるリンクの組み合わせを持つ前記経路に対しては、前記通信スロットへの割当から除外することを特徴とする請求項1記載の通信装置。
【請求項4】
経路割当方法において、
ネットワーク内の発信ノードから着信ノード間の経路を求め、
通信スロットに前記経路を割当てる場合に、
前記通信スロットへの前記経路の割当可能数の指標となる期待値を算出して、前記期待値が最大となる経路割当てを選択する、
ことを特徴とする経路割当方法。
【請求項5】
グループ間に跨ってパケット通信を行う通信装置において、
パケットに通信スロットを割当てるスロット割当部と、
パケットバッファと、
を備え、
前記スロット割当部は、直前のグループで割当てられた通信スロットで送信された前記パケットを受信すると、直前のグループで割当てられた通信スロットの通信スロット番号を、自グループに対応する番号である自通信スロット番号に変換し、
前記パケットバッファは、前記自通信スロット番号と、前記パケットとを対にして格納し、
前記スロット割当部は、パケット送信時には、前記自通信スロット番号を選択し、前記自通信スロット番号を持つ通信スロットを前記パケットに割当て、
前記自通信スロット番号を選択しない場合は、前記自通信スロット番号よりも時間的に後で、かつ前記自通信スロット番号に対して最も時間差の小さな通信スロット番号を選択し、選択した通信スロット番号を持つ通信スロットを前記パケットに割当てる、
ことを特徴とする通信装置。
【請求項6】
グループ間に跨ってパケット通信を行う通信システムにおいて、
パケットに第1の通信スロットを割当てる第1のスロット割当部と、割当てた前記第1の通信スロットの通信スロット番号をリストに登録し、次段のグループへ送信する第1のリスト作成部とを含み、第1のグループ内に位置する第1の通信装置と、
パケットに第2の通信スロットを割当てる第2のスロット割当部と、割当てた前記第2の通信スロットの通信スロット番号を、前記第1のグループから送信された前記リストに登録する第2のリスト作成部とを含み、前記第1のグループに接続する第2のグループ内に位置する第2の通信装置と、
を有することを特徴とする通信システム。
【請求項7】
前記第2のグループに、前記第2の通信スロットが割当済みの経路が存在しない場合、
前記第1のスロット割当部は、前記第1のグループ内で、所定時間経路で送信するための前記第1の通信スロットを前記パケットに仮割当てし、
前記第1のリスト作成部は、割当てられた前記第1の通信スロットの通信スロット番号を前記リストに登録して前記第2のグループへ送信し、
前記第2のスロット割当部は、前記第2のグループ内で、所定時間経路で送信するための前記第2の通信スロットを前記パケットに仮割当てし、
前記第2のリスト作成部は、割当てられた前記第2の通信スロットの通信スロット番号を前記リストに登録し、
前記第2のグループに次段グループがあれば、前記第2のリスト作成部は、前記次段グループへ前記リストを中継送信し、
前記第2のグループが終端グループであれば、前記第1のスロット割当部は、仮割当てした前記第1の通信スロットを確定し、前記第2のスロット割当部は、仮割当てした前記第2の通信スロットで確定する、
ことを特徴とする請求項6記載の通信システム。
【請求項8】
前記第2のグループに、前記第2の通信スロットが割当済みの経路がすでに存在している場合、
前記第2のスロット割当部は、
前記第1のグループから送信された前記リストを破棄し、
前記第2の通信スロットの通信スロット番号を前記第1のグループへ返送し、
前記第1のスロット割当部は、返送された前記第2の通信スロットの通信スロット番号に対して、最も時間差の小さな通信スロット番号を選択し、選択した通信スロット番号を持つ通信スロットを前記パケットに割当て、
前記選択した通信スロット番号を前段のグループへ遡って返送する、
ことを特徴とする請求項6記載の通信システム。
【請求項1】
ネットワーク内の発信ノードから着信ノード間の経路を求める経路算出部と、
通信スロットに前記経路を割当てる経路割当制御部と、
を備え、
前記経路割当制御部は、前記通信スロットへの前記経路の割当可能数の指標となる期待値を算出して、前記期待値が最大となる経路割当てを選択する、
ことを特徴とする通信装置。
【請求項2】
前記経路割当制御部は、前記通信スロットの最大数をS、前記経路の数をC、ノード間のリンク速度をv、1つの前記通信スロットの帯域をbとし、(v/b)個の前記通信スロットに割当可能な前記経路の総和をkとした場合に、前記期待値を、
期待値=k/(C×S)
で算出することを特徴とする請求項1記載の通信装置。
【請求項3】
前記経路割当制御部は、前記経路に含まれるリンクの組み合わせを求め、前記リンクの組み合わせのホップ数が、最短経路のホップ数に上限値を加算した値以上となるリンクの組み合わせを持つ前記経路に対しては、前記通信スロットへの割当から除外することを特徴とする請求項1記載の通信装置。
【請求項4】
経路割当方法において、
ネットワーク内の発信ノードから着信ノード間の経路を求め、
通信スロットに前記経路を割当てる場合に、
前記通信スロットへの前記経路の割当可能数の指標となる期待値を算出して、前記期待値が最大となる経路割当てを選択する、
ことを特徴とする経路割当方法。
【請求項5】
グループ間に跨ってパケット通信を行う通信装置において、
パケットに通信スロットを割当てるスロット割当部と、
パケットバッファと、
を備え、
前記スロット割当部は、直前のグループで割当てられた通信スロットで送信された前記パケットを受信すると、直前のグループで割当てられた通信スロットの通信スロット番号を、自グループに対応する番号である自通信スロット番号に変換し、
前記パケットバッファは、前記自通信スロット番号と、前記パケットとを対にして格納し、
前記スロット割当部は、パケット送信時には、前記自通信スロット番号を選択し、前記自通信スロット番号を持つ通信スロットを前記パケットに割当て、
前記自通信スロット番号を選択しない場合は、前記自通信スロット番号よりも時間的に後で、かつ前記自通信スロット番号に対して最も時間差の小さな通信スロット番号を選択し、選択した通信スロット番号を持つ通信スロットを前記パケットに割当てる、
ことを特徴とする通信装置。
【請求項6】
グループ間に跨ってパケット通信を行う通信システムにおいて、
パケットに第1の通信スロットを割当てる第1のスロット割当部と、割当てた前記第1の通信スロットの通信スロット番号をリストに登録し、次段のグループへ送信する第1のリスト作成部とを含み、第1のグループ内に位置する第1の通信装置と、
パケットに第2の通信スロットを割当てる第2のスロット割当部と、割当てた前記第2の通信スロットの通信スロット番号を、前記第1のグループから送信された前記リストに登録する第2のリスト作成部とを含み、前記第1のグループに接続する第2のグループ内に位置する第2の通信装置と、
を有することを特徴とする通信システム。
【請求項7】
前記第2のグループに、前記第2の通信スロットが割当済みの経路が存在しない場合、
前記第1のスロット割当部は、前記第1のグループ内で、所定時間経路で送信するための前記第1の通信スロットを前記パケットに仮割当てし、
前記第1のリスト作成部は、割当てられた前記第1の通信スロットの通信スロット番号を前記リストに登録して前記第2のグループへ送信し、
前記第2のスロット割当部は、前記第2のグループ内で、所定時間経路で送信するための前記第2の通信スロットを前記パケットに仮割当てし、
前記第2のリスト作成部は、割当てられた前記第2の通信スロットの通信スロット番号を前記リストに登録し、
前記第2のグループに次段グループがあれば、前記第2のリスト作成部は、前記次段グループへ前記リストを中継送信し、
前記第2のグループが終端グループであれば、前記第1のスロット割当部は、仮割当てした前記第1の通信スロットを確定し、前記第2のスロット割当部は、仮割当てした前記第2の通信スロットで確定する、
ことを特徴とする請求項6記載の通信システム。
【請求項8】
前記第2のグループに、前記第2の通信スロットが割当済みの経路がすでに存在している場合、
前記第2のスロット割当部は、
前記第1のグループから送信された前記リストを破棄し、
前記第2の通信スロットの通信スロット番号を前記第1のグループへ返送し、
前記第1のスロット割当部は、返送された前記第2の通信スロットの通信スロット番号に対して、最も時間差の小さな通信スロット番号を選択し、選択した通信スロット番号を持つ通信スロットを前記パケットに割当て、
前記選択した通信スロット番号を前段のグループへ遡って返送する、
ことを特徴とする請求項6記載の通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【公開番号】特開2011−199840(P2011−199840A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−268970(P2010−268970)
【出願日】平成22年12月2日(2010.12.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度、総務省、「低消費電力型通信技術等の研究開発(エコインターネットの実現)」研究開発委託契約に基づく開発項目「簡素化ルータを用いた省電力フォワーディング技術」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願日】平成22年12月2日(2010.12.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度、総務省、「低消費電力型通信技術等の研究開発(エコインターネットの実現)」研究開発委託契約に基づく開発項目「簡素化ルータを用いた省電力フォワーディング技術」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]