JP5212503B2 - 通信制御装置、通信制御方法、および、通信制御プログラム - Google Patents

通信制御装置、通信制御方法、および、通信制御プログラム Download PDF

Info

Publication number
JP5212503B2
JP5212503B2 JP2011036567A JP2011036567A JP5212503B2 JP 5212503 B2 JP5212503 B2 JP 5212503B2 JP 2011036567 A JP2011036567 A JP 2011036567A JP 2011036567 A JP2011036567 A JP 2011036567A JP 5212503 B2 JP5212503 B2 JP 5212503B2
Authority
JP
Japan
Prior art keywords
flow rate
communication control
link
flow
router
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011036567A
Other languages
English (en)
Other versions
JP2012175480A (ja
Inventor
規景 今中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2011036567A priority Critical patent/JP5212503B2/ja
Publication of JP2012175480A publication Critical patent/JP2012175480A/ja
Application granted granted Critical
Publication of JP5212503B2 publication Critical patent/JP5212503B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信制御装置、通信制御方法、および、通信制御プログラムの技術に関する。
インターネットなどのネットワークシステムは、複数のルータがそれぞれリンクで接続されることで構成され、各ルータは、受信したパケットのヘッダに記載されている宛先アドレスを参照して、自ルータから宛先へ向かう隣接ルータへと、パケットを転送する。ここで、あるルータから宛先アドレスへの経路が分岐しているなどして、複数の隣接ルータの候補があるときには、それらの候補から転送先の1つの隣接ルータを選択する必要がある。
非特許文献1に記載のLNF(Left Neighbor First)and RNF(Right Neighbor First)は、固定的に同じ1つの隣接ルータに転送することがあらかじめ決められているルーティング方法である。転送先の候補が2つあり、自身から見て、必ず左のリンクに送出するのがLNFで、必ず右のリンクに送出するのがRNFである。
非特許文献2に記載のRCA(Regional Congestion Awareness)は、ネットワーク内の特定のルータを宛先とするパケットを隣接ルータに転送するときに、転送する候補である複数の隣接ルータそれぞれについて、その隣接ルータの輻輳状態を参照して、転送先のルータを決定するルーティング方法である。
Zhao、You−Jian and Yue、Zu−Hui and Wu、Jian−Ping著、"Research on Next−Generation Scalable Routers Implemented with H−Torus Topology"、Journal of Computer Science and Technology、vol.23、684−693、2008. P.Gratz、B.Grot、 and S.W.Keckler著、"Regional Congestion Awareness for Load Balance in Networks−on−Chip"、In International Symposium on High−Performance Computer Architecture、203−214、February 2008.
ネットワークシステムの通信効率を向上させるためには、ネットワークシステムを構成する各構成要素にかかる負担を、なるべくバランスよく分散されることが、望ましい。もし、ある1つのルータだけに負荷が集中してしまうと、そのルータがネットワークシステム全体のボトルネックとなり、他のルータの処理能力に余裕があるにもかかわらず、ネットワークシステム全体の通信効率が向上しないためである。
一方、従来の技術では、ネットワークシステム全体の負荷分散を考慮した、転送先のルータを決定する方法は提案されていない。
非特許文献1では、そもそも負荷情報を全く考慮せず、常に同一の隣接ルータに転送するために、その転送先の隣接ルータへの負荷集中が発生しやすい。
非特許文献2では、負荷情報として隣接ルータ(隣接する通信制御装置)だけの輻輳状態を参照するだけなので、ルータ間のホップ数が2ホップ以上先に、ネットワークトポロジ全体に負荷を分散できる迂回路が存在していても、その迂回路は採用されづらい。
そこで、本発明は、前記した課題を解決し、パケットの転送先である隣接する通信制御装置を選択するときに、ネットワークシステム全体の負荷分散を実現することを、主な目的とする。
前記課題を解決するために、本発明は、複数の通信制御装置がそれぞれリンクで接続されることで構成されるネットワークシステムに用いられる通信制御装置であって、
前記通信制御装置が、受信部と、送信部と、経路テーブルと、既定流量計算部と、未定流量計算部と、転送先決定部とを有しており、
前記経路テーブルには、パケットの送信元と宛先との組み合わせで定義されるフローごとに、そのフローの宛先への経路上に位置し、自身に隣接する転送先の前記通信制御装置と、その隣接する前記通信制御装置の候補になる前記通信制御装置の台数とが対応づけて格納されており、
前記受信部が、他の前記通信制御装置からパケットを受信すると、そのパケットが自身宛てでないときに、受信したパケットを前記送信部へと通知し、
前記送信部が、通知されたパケットの宛先をもとに前記経路テーブルを検索し、その宛先に向かうための隣接する前記通信制御装置を特定して、その特定した前記通信制御装置へパケットを送信し、
前記既定流量計算部が、隣接する前記通信制御装置の候補が1台のフローと、隣接する前記通信制御装置の候補が複数台のフローのうちの前記受信部を介して受信したフローとを、ネットワークシステム内の各リンクに割り当てることで、リンクごとの流量を計算し、
前記未定流量計算部が、
隣接する前記通信制御装置の候補が複数台のフローのうちの前記送信部を介して送信するフローについて、複数台の候補のうちの1台を選択して、その選択した前記通信制御装置へのリンクに割り当てる仮割当処理について、選択する前記通信制御装置を前記仮割当処理ごとに異なるものとして複数回実行し、
前記既定流量計算部が計算したリンクごとの流量と、前記仮割当処理により割り当てられたフローのリンクごとの流量とを加算することにより、前記各仮割当処理におけるリンクごとの流量を計算し、
前記転送先決定部が、前記未定流量計算部が計算した前記各仮割当処理におけるリンクごとの流量を入力とする負荷評価関数を計算することにより、その負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理を特定し、その特定した前記仮割当処理により各リンクに割り当てられたフローをもとに、前記経路テーブルを更新することを特徴とする。
その他の手段は、後記する。
本発明によれば、パケットの転送先である隣接する通信制御装置を選択するときに、ネットワークシステム全体の負荷分散を実現することができる。
本発明の一実施形態に関するネットワークシステムの構成例を示す説明図である。 本発明の一実施形態に関するネットワークシステムに用いられるルータを示す構成図である。 本発明の一実施形態に関するルータによるフロー通信処理および経路変更処理を示すフローチャートである。 本発明の一実施形態に関するネットワークシステムを構成するネットワークトポロジを示す構成図である。 本発明の一実施形態に関する図4のネットワークシステムにおいて、フローの経路の変更処理を示す説明図である。
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
図1は、ネットワークシステムの構成例を示す説明図である。ネットワークシステムは、複数のルータ1(通信制御装置)が、それぞれリンクで接続されて構成される。ルータ1とは、他装置から受信したフローのパケットを隣接するルータ1へと転送する転送手段と、自装置が作成したパケットを隣接するルータ1へと送信する送信手段とを備えた通信装置であり、ルータ専用機だけでなく、その他の通信機器、無線ネットワークを構築するデバイスなどによって構成されてもよい。
ルータ1は、制御部(CPU)、記憶部(メモリ、ハードディスクなど)、および、通信部(受信部および送信部を実現するためのネットワークインタフェース)を備えるコンピュータとして構成される。ルータ1は、例えば、ホップ数に基づく最短経路法により構築されたルーティングテーブルを参照して、パケットの転送先を決定する。
なお、本実施形態の説明において、ルータごとにそのルータのID(図1のR1など)や、リンクごとにそのリンクのID(1から順に採番した番号)などを付して説明する。
Figure 0005212503
表1は、図1のネットワークシステム上を流れるフローの分類を示す表である。
「フロー」とは、ネットワークを流れるトラフィック(パケット)のうちの、送信元と宛先との組み合わせが一致するパケットの集合を示す。フローの識別情報(送信元と宛先との組み合わせ)は、例えば、パケットのヘッダを読み取ることによって、取得することができる。
「送信元ルータ」とは、フローの送信元を示すルータである。
「宛先ルータ」とは、フローの宛先を示すルータである。
「隣接ルータ」とは、送信元ルータから宛先ルータへの経路上のルータ群のうち、自ルータからみて経路の次ホップに位置するルータ(換言すると、自ルータからみてパケットの直接の送信先であるルータ)である。なお、「宛先ルータ」が自ルータから直接リンクで接続されている場合、宛先ルータと隣接ルータとは、同じルータになる。
「転送先ルータ(適宜「転送先」と略す)」とは、送信元ルータから宛先ルータへのフローの経路が一意に決定したとき、その決定した経路上に位置する「隣接ルータ」である。
「転送先数」とは、自ルータからみた、所定の「宛先ルータ」に向かうための転送先ルータの候補数(隣接ルータの数)である。
「経路数」とは、送信元ルータから宛先ルータへの経路のうちの、ルーティングにホップ数に基づく最短経路法を採用した場合、最短ホップ数でフローを伝達できる経路の候補数である。
例えば、図1(a)では、送信元ルータ(R2)から宛先ルータ(R5)へのフローの経路数は、以下に示すように、「2」である。
・フローFy(ルータR2→ルータR3→ルータR5:2ホップ)
・フローFz(ルータR2→ルータR4→ルータR5:2ホップ)
また、図1(a)では、送信元ルータ(R4)から宛先ルータ(R5)へのフローの経路数は、フローFx(ルータR4→ルータR5)の「1」である。なお、迂回経路(ルータR4→ルータR2→ルータR3→ルータR5)は、ホップ数が3であるため、最短経路には該当しない。
ここで、隣接ルータを通過する経路とは、「経路数」が最短(最小)である経路であることが、望ましい。つまり、「経路数」が最短ではない迂回経路を通過する次ホップのルータを、転送先ルータの候補である隣接ルータから除外してもよい。
「転送先」と「転送先数」とについて、例えば、図1(a)では、自ルータ(R2)からみて、送信元ルータ(R2)から宛先ルータ(R5)へのフローの「転送先数」は、2つ(転送先=ルータR3,R4)である。
一方、図1(b)では、自ルータ(R1)からみて、送信元ルータ(R1)から宛先ルータ(R5)へのフローの「転送先数」は、1つ(転送先=ルータR2)である。フローFpでも、フローFqでも同じルータR2が「隣接ルータ」となるためである。
「方向」とは、自ルータからみた、フローの送受信の方向を示す。同じフローFyでも、ルータR2からみたら「方向=送信」であり、ルータR5からみたら「方向=受信」である。
「分類」とは、第1〜第4フローを「既定フロー」または「未定フロー」のいずれかに分類するものである。「既定フロー」とは、自ルータからみて宛先の「隣接ルータ」を複数の候補から1つの候補を選択する必要がないフローである。「未定フロー」とは、自ルータからみて宛先の「隣接ルータ」を複数の候補から1つの候補を選択する必要があるフローである。
第1フローは、経路数「1」かつ転送先数「1」かつ方向「送受信」に該当するフローであり、図1(a)では、例えば、ルータR4からみたフローFxが第1フローに該当する。
第2フローは、経路数「複数」かつ転送先数「1」かつ方向「送受信」に該当するフローであり、図1(b)では、例えば、ルータR1からみた、フローFpやフローFqが該当する。
第3フローは、経路数「複数」かつ転送先数「複数」かつ方向「受信」に該当するフローであり、図1(a)では、例えば、ルータR5からみた、フローFyやフローFzが該当する。
第4フローは、経路数「複数」かつ転送先数「複数」かつ方向「送信」に該当するフローであり、図1(a)では、例えば、ルータR2からみた、フローFyやフローFzが該当する。
Figure 0005212503
表2は、本実施形態で説明に用いる各パラメータを示す変数リストを示す表である。
カウンタ用(制御用)の変数「i、j、k、r」は、同じ処理を繰り返すときに、現在の処理対象を特定するために用いられる。
フローの流量を示す変数集合「f1、f2、f3、f4」は、表1で示した4種類のフローそれぞれのネットワークシステム上で流れている流量の値を示す。なお、ネットワークシステムには複数のリンクが存在するため、フローの流量を示す変数集合(例えば、f1)のうちの所定のリンクでのフローの流量(例えば、2番目のリンクの流量)を示すために、配列表現(f1[2])を適宜用いている。
重み値「w2、w3、w4」は、第2〜第4フローの流量「f2,f3,f4」にそれぞれ乗算する値である。w2、w3、w4は、それぞれ0より大きく1以下の値から任意に設定でき、ある重み値と、別の重み値とが同じ値でもよいし、別の値でもよい。
第2〜第4フローは、経路数が複数あるフローであり、経路が切り替わることで経由するルータが変わることもある。つまり、その複数の経路の内のどのリンクに割り当てられるかは、経路テーブル13(図2参照)の経路表の内容や、転送先決定部16(図2参照)で決定された経路に依存する。
よって、第2〜第4フローは、経路の「隣接ルータ」が変更される可能性があることも考慮するため、第2〜第4フローの各流量(f2〜f4)に対して、第1フローの重み「1」以下の重み値(w2〜w4)を乗算(重み付け演算)することによって、経路の切替が発生する可能性がない第1フローよりも、経路の切替が発生する可能性がある第2〜第4フローの影響を低く設定している。
以下の説明では、重み値「w2=1,w3=1,w4=0.5」を例に説明する。
計算結果格納用の変数集合「A、B、C」は、ルータ1が第4フローの転送先である隣接ルータを特定するための計算結果(計算過程も含む)を格納するものである。これらの各変数集合の詳細は、図2の構成図や図3(a),図3(b)のフローチャートにおいて、明らかにする。
図2は、ネットワークシステムに用いられるルータを示す構成図である。この図2の説明では、ルータ1内の各構成要素の処理概要を説明するものであり、その処理概要に対応する処理詳細(計算式など)は、後記する図3のフローチャートの説明において、明らかにする。
ルータ1は、受信部11と、送信部12と、経路テーブル13と、既定流量計算部14と、未定流量計算部15と、転送先決定部16とを含めて構成される。
なお、既定流量計算部14、未定流量計算部15、および、転送先決定部16は、ルータ1の制御部(CPU)がルータ1の記憶手段から読み取ったプログラムを実行することにより実現される。
受信部11は、隣接ルータから受信したパケットあるいは自ルータが作成したパケットを受信する。
送信部12は、送信対象のパケットの転送先である隣接ルータを、経路テーブル13から特定し、その隣接ルータに対して、送信対象のパケットを送信する。
経路テーブル13には、フローの宛先ごとに、その宛先に向かうための1つの隣接ルータが対応づけられている。
既定流量計算部14は、流量f1〜f3、重みw2,w3をもとに、リンクiごとに既定流量A[i]を計算する。換言すると、既定流量計算部14は、既定フローの各流量f1〜f3を、各リンクiに割り当てる。
未定流量計算部15は、j=1〜M回の仮割当を行うことで第4フローの流量f4[j][i]を特定し、その仮割当ごとに、仮割当流量B[j]を計算する。換言すると、未定流量計算部15は、未定フローの流量f4を各リンクiに割り当てるとともに、各リンクiに割り当てられた既定フローと未定フローの合計値をもとに、各リンクiの負荷を見積る。
転送先決定部16は、複数の仮割当流量B[j]から、それぞれの負荷評価関数を計算し、1つの仮割当流量B[k]を仮割当から本割当として決定する。さらに、転送先決定部16は、決定したk回目の仮割当のフロー経路上に位置する隣接ルータを、転送先として経路テーブル13へと書き込む。
なお、転送先決定部16は、同じフローのパケット群(送信元ルータと宛先ルータとの組み合わせが同じパケット群)を、同じ隣接ルータへと転送する。例えば、同じ時間帯において、図1(a)のフローFyかフローFzかのいずれかが本割当のフローとして決定され(例えば、フローFy)、決定されなかったフローの経路(例えば、フローFz)は用いられない。これにより、パケットの経路変更によるパケットの順序の入れ替わりを抑制する。
一方、非特許文献2の方法では、同じフローのパケットであっても、それぞれ異なる隣接ルータヘ順次転送されると、経路ごとの転送時間の差から宛先のルータで順序の入れ替わりが発生してしまい、TCP(Transmission Control Protocol)などのセッションを管理しているトラフィックがネットワーク内に流れている場合には、宛先で到着したパケットが順番通りに届いていないとパケットの再送などの問題が生じる。
図3(a)は、ルータ1によるフロー通信処理を示すフローチャートである。
S101において、受信部11は、隣接ルータから受信したパケットあるいは自ルータが作成したパケットを受信する。受信したパケットが、自ルータを宛先ルータとするパケットであれば、自ルータがそのままパケットを読み取り、送信部12への通知を省略する。一方、自ルータを宛先ルータとするパケットでなければ、受信したパケットを転送用のパケットとして送信部12に通知する。
S102において、送信部12は、送信対象のパケット(自ルータが新たに作成したパケットや、受信部11から通知された転送用のパケット)を受け、送信対象のパケットの宛先を検索キーとして、経路テーブル13から該当するレコードの「転送先」である隣接ルータを特定する。
S103において、送信部12は、S102で特定された隣接ルータに対して、送信対象のパケットを送信する。
図3(b)は、ルータ1による経路変更処理を示すフローチャートである。この図3(b)の処理は、所定契機(定期的に、または、不定期に)ごとに実行される。以下の説明では、後記する図4,図5のルータR1を自ルータとしたときの処理を一例として説明する。
Figure 0005212503
表3は、パケットの伝送量を示す表である。この表は、行要素が送信元のルータ、列要素が宛先のルータである2次元の表である。例えば、1行目(R1)と2列目(R2)とが交差するセル値「2」とは、ルータ1からルータ2へのパケットの伝送量が2であることを示す。なお、対角要素(d行目,d列目)は、自ルータから自ルータヘのパケットの伝送量であり、簡単のために「0」とした。
ルータ1は、自身の記憶手段(図示省略)内に、表3のようなパケットの伝送量を示すデータをあらかじめ記憶しておく。
Figure 0005212503
表4は、図3(b)の処理を行う前(経路テーブル13の変更前)における、ルータR1の経路テーブル13と、各フローの経路(送信元ルータ、中継ルータ、宛先ルータ)を示す表である。この経路テーブル13を構成する各パラメータ(フローごとの転送先数など)は、あらかじめルーティングプロトコルの処理により動的に作成されてもよいし、管理者が手入力した経路テーブル13を用いてもよい。
経路テーブル13において、1行目のフローA(ルータR1→ルータR2)と、2行目のフローB(ルータR1→ルータR3)との割当内容は、次のようになっている。
フローA(ルータR1→ルータR2)は、隣接ルータR4(i=1)へと送信される。
フローB(ルータR1→ルータR3)は、隣接ルータR4(i=1)へと送信される。
経路テーブル13において、3行目〜5行目では、第2ルータ集合に属する各ルータ(R4,R5,R6)は、それぞれ第1ルータ集合のルータR1から直接接続されたリンクを介して、1ホップで通信可能である(宛先=転送先)。
S201において、既定流量計算部14は、既定流量Aの計算に必要な入力パラメータ(流量f1〜f3、重みw2,w3)を取得する。
そのため、まず、既定流量計算部14は、表1で既定フローと分類されている第1〜第3フローの流量(f1,f2,f3)を取得する。次に、既定流量計算部14は、ルータ1内の記憶手段にあらかじめ格納されている重みリスト(図示省略)から、重み値「w2=1,w3=1」を取得する。
なお、第1〜第4フローのうちのどのフローに該当するかを分類する処理を例示する。
まず、既定流量計算部14は、受信部11が受信したパケットの通知を受け、そのパケットのヘッダを参照することで、フローの特定情報(送信元および宛先の組み合わせ)を取得する。
次に、既定流量計算部14は、フローの特定情報を検索キーとして、ルータ1内の記憶手段にあらかじめ格納されているフロー分類リスト(図示省略)から検索し、そのフローの特定情報に対応するフローの分類結果(第1〜第4フローのうちのいずれか)を取得する。
つまり、フロー分類リストは、フローの特定情報ごとに、そのフローの分類結果(第1〜第4フローのうちのいずれか)をあらかじめ定義するものである。
例えば、ルータR1を自ルータとすると、後記する図4,図5のネットワークトポロジでは、第1フローは流れるものの、第2フローおよび第3フローは流れない。よって、表3のパケットの伝送量から、以下のようにフロー流量が取得される。
・f1[1]=28、f1[2]=27、f1[3]=16
リンク番号「i=1」は、ルータR1とルータR4とを接続するリンクに付された番号である。
リンク番号「i=2」は、ルータR1とルータR5とを接続するリンクに付された番号である。
リンク番号「i=3」は、ルータR1とルータR6とを接続するリンクに付された番号である。
・f2[i]=0(i=1,2,3)
・f3[i]=0(i=1,2,3)
S202において、既定流量計算部14は、リンクiごとに既定流量Aを計算する。つまり、計算式「既定流量A[i]=f1[i]+f2[i]×w2+f3[i]×w3」を、各リンク(i=1〜N)ごとに計算する。
例えば、ルータR1を自ルータとしたときには、ルータR1に接続されている3つのリンク(i=1,2,3)ごとに、既定流量A[i]が計算される。
A[1]=28+1×0+1×0=28
A[2]=27+1×0+1×0=27
A[3]=16+1×0+1×0=16
S203において、未定流量計算部15は、転送先決定部16が転送先を決定する対象となる第4フローの集合を取得する。そのため、未定流量計算部15は、定期にもしくは不定期に、所定期間分に送信部12が送信するパケットを、送信部12から受け取る。そして、未定流量計算部15は、送信部12から受け取った各フローから、S201で説明したように第1〜第4フローの分類処理を行うことで、第4フローとして分類されたフローの集合を取得する。
S204において、未定流量計算部15は、j=1〜M回の仮割当を行う。それぞれの仮割当は、第4フローを隣接ルータへ割り当てる組み合わせにより表現され、前回以前の仮割当の組み合わせと、今回の仮割当の組み合わせとは、異なる組み合わせとする。仮割当の結果は、f4[j][i]である。
なお、仮割当の組み合わせが複数個あるときに、どの組み合わせを優先的に選択するかについては、例えば、隣接ルータのルータIDがなるべく小さい値になる組み合わせを優先的に選択してもよい(非特許文献1に記載されている方法)。
以下では、仮割当の回数として、M=2の場合を例示する。なお、一般的には、S203で取得した第4フローの集合から、その集合に属する各フローの転送先数(フローAでは「3」、フローBでは「3」)をそれぞれ取得し、取得した転送先数どうしを乗算した結果(3×3=9)がM回の上限値(すべての組み合わせを網羅した仮割当回数)に該当する。
図4は、ネットワークシステムを構成するネットワークトポロジを示す構成図である。この図4のネットワークシステムの構成例は、後記する図5の仮割当処理の説明用のネットワークシステムである。
このネットワークシステムでは、6つのルータ1のうちのルータR1〜R3を第1ルータ集合とし、残りのルータR4〜R6を第2ルータ集合とすると、第1ルータ集合に属する任意のルータ1と、第2ルータ集合に属する任意のルータ1とが直接接続されている。
つまり、あるルータ1は、自身とは異なるルータ集合に属するルータ1への通信を、直接接続されたリンクを介して、1ホップで通信できる。一方、あるルータ1は、自身と同じルータ集合に属する他のルータ1への通信を、自身とは異なるルータ集合を経由して、2ホップで通信できる。
図5は、図4のネットワークシステムにおいて、フローの経路の変更処理を示す説明図である。図5では図4で示したリンクのうち、フローが流れないリンクを省略しているが、実際には図4で示したリンクは存在する。
図5(a)では、j=1回目の仮割当として、フローA(ルータR1→ルータR2)の隣接ルータをルータR4(i=1)に割り当て、フローB(ルータR1→ルータR3)の隣接ルータをルータR6(i=3)に割り当てる。つまり、f4[1][i]は、以下の値である。
f4[1][1]=2(表3の1行目2列目)
f4[1][2]=0(仮割当の対象外)
f4[1][3]=8(表3の1行目3列目)
図5(b)では、j=2回目の仮割当として、フローA(ルータR1→ルータR2)の隣接ルータをルータR5(i=2)に割り当て、フローB(ルータR1→ルータR3)の隣接ルータをルータR5(i=2)に割り当てる。つまり、f4[1][i]は、以下の値である。
f4[2][1]=0(仮割当の対象外)
f4[2][2]=10(表3の1行目2列目+表3の1行目3列目)
f4[2][3]=0(仮割当の対象外)
S205において、未定流量計算部15は、j回目の仮割当における仮割当流量B[j]を計算する。なお、仮割当流量B[j]は、仮割当流量B[j][1]〜仮割当流量B[j][N]によって構成される。
そして、未定流量計算部15は、i番目のリンクごとの仮割当流量B[j][i]を、以下の計算式で計算する。
仮割当流量B[j][i]=A[i]+f4[j][i]×w4
なお、A[i]は、S202で計算されたパラメータであり、既定流量計算部14から未定流量計算部15へと通知される。
j=1回目の仮割当では、仮割当流量B[1]は、以下の仮割当流量B[1][i]から構成される。
仮割当流量B[1][1]=A[1]+f4[1][1]×w4=28+2×0.5=29
仮割当流量B[1][2]=A[2]+f4[1][2]×w4=27+0×0.5=27
仮割当流量B[1][3]=A[3]+f4[1][3]×w4=16+8×0.5=20
j=2回目の仮割当では、仮割当流量B[2]は、以下の仮割当流量B[1][i]から構成される。
仮割当流量B[2][1]=A[1]+f4[2][1]×w4=28+0×0.5=28
仮割当流量B[2][2]=A[2]+f4[2][2]×w4=27+10×0.5=32
仮割当流量B[2][3]=A[3]+f4[2][3]×w4=16+0×0.5=16
S206において、転送先決定部16は、複数の仮割当流量B[j]から、1つの仮割当流量B[k]を転送先として決定する(換言すると、複数の仮割当の候補から、1つの割当内容を決定する)。この転送先の決定処理には、仮割当流量B[j]を入力パラメータとする、ネットワークシステム全体の負荷分散度合いを評価する負荷評価関数を用いる。以下、負荷評価関数を2つ例示する。
1つめの負荷評価関数は、仮割当流量B[j]の取り得る値の幅(レンジ)として、レンジR[j]を計算する関数である。j回目の仮割当(仮割当流量B[j])のレンジは、次の式で計算できる。
レンジR[j]=(仮割当流量B[j][i]のうちの最大値)−(仮割当流量B[j][i]のうちの最小値)
2つめの負荷評価関数は、仮割当流量B[j]の各値の分散V[j]を計算する関数である。j回目の仮割当(仮割当流量B[j])の分散は、次の式で計算できる。
Figure 0005212503
例えば、1つめの負荷評価関数を採用すると、転送先決定部16は、仮割当流量B[1]および仮割当流量B[2]それぞれについて、以下の負荷評価値を計算する。
レンジR[1]=29−20=9
レンジR[2]=32−16=16
そして、転送先決定部16は、負荷評価値が低い「j=k回目」の仮割当を転送先として採用する。この場合は、k=1回目が採用される。
S207において、転送先決定部16は、決定したk回目の仮割当の経路を、経路テーブル13へと書き込む。これにより、S102において、更新された経路テーブル13を参照した送信部12は、ネットワーク全体の負荷分散がなされたk=1回目の割当結果である経路を活用することができ、ネットワークの利用効率を高めることができる。
Figure 0005212503
表5は、表4の状態から、転送先決定部16による経路テーブル13の更新処理(S207)が実行された後の各テーブルを示す。経路テーブル13の2行目の転送先が、図5(a)で示されるように、ルータR4からルータR6へと更新されている。
以上、転送先決定部16が仮割当流量B[j]の負荷評価関数をもとに、採用する仮割当の経路を決定する処理を説明した。
転送先決定部16は、さらに、リンクごとの情報である仮割当流量B[j]の代わりに、ルータごとの情報であるルータ負荷値C[j]を負荷評価関数の入力パラメータとして用いてもよい。ルータ負荷値C[j]は、ルータ負荷値C[j][1]〜ルータ負荷値C[j][R]の集合であり、ルータ負荷値C[j][1]とは、j回目の仮割当における1番目のルータの負荷値を示す。
ルータ負荷値C[j][r]は、以下の計算式で求められる。
ルータ負荷値C[j][r]=(j回目の仮割当におけるr番目のルータに流入する第1フローから第4フローまでの流量の総和)+(j回目の仮割当におけるr番目のルータから流出する第1フローから第4フローまでの流量の総和)
表4の経路テーブル13の内容では、ルータ負荷値Cは、以下のように計算される。なお、表4の経路テーブル13では、仮割当をしていないため、j=0とする。
ルータ負荷値C[0][1]=68
ルータ負荷値C[0][2]=41
ルータ負荷値C[0][3]=53
ルータ負荷値C[0][4]=68
ルータ負荷値C[0][5]=60
ルータ負荷値C[0][6]=36
ルータ負荷値C[0]の負荷評価値は、レンジR[0]=68−36=32、または、分散V[0]=153となる。
例えば、ルータ負荷値C[0][1]=68は、以下の3つの流量の和(26+14+28=68)である。
・1番目のルータR1を送信元ルータとするフローの流量=表3の1行目要素=0+2+8+4+7+5=26
・1番目のルータR1を宛先ルータとするフローの流量=表3の1列目要素=0+3+2+1+8+0=14
・1番目のルータR1を中継ルータとするフローの流量=表4の中継ルータが「R1」であるフローを抽出し(表4の7行目〜12行目)、抽出したフローごとに、各フローを識別するための「送信元ルータと宛先ルータとの組み合わせ」を取得し、その取得したフローに該当する伝送量を表3から読み取る。例えば、表4の7行目のフローは、「送信元ルータR4,宛先ルータR5」なので、表3の4行目5列目の要素「4」を読み取る。このようにして、抽出した表4の7行目〜12行目に該当するフローの伝送量として、4+1+8+8+28+0+7=28が計算される。
表5の経路テーブル13の内容では、ルータ負荷値Cは、以下のように計算される。j=1とする。
ルータ負荷値C[1][1]=52
ルータ負荷値C[1][2]=41
ルータ負荷値C[1][3]=69
ルータ負荷値C[1][4]=49
ルータ負荷値C[1][5]=60
ルータ負荷値C[1][6]=55
ルータ負荷値C[1]の負荷評価値は、レンジR[1]=69−41=28、または、分散V[1]=76となる。
よって、経路変更前の表4の経路テーブル13よりも、経路変更後の表5の経路テーブル13のほうが、負荷評価値を低くすることができ、各ルータの処理量がネットワーク全体で、効率的に分散されている。
以上説明した本実施形態では、ルータの接続するリンクを流れるパケットの伝送量から得られる指標(フローの流量)に基づいて、ルータの接続するリンクを流れるパケットの伝送量が同じになるように(レンジや分散値がなるべく低くなるように)、宛先ルータごとにパケットの転送先である隣接ルータを決定する。この隣接ルータを決定する処理をネットワークシステム内の各ルータがそれぞれ独立して行う。
これにより、ネットワークシステム内のルータごとの処理量の偏りが緩和されるので、パケットの転送先である隣接する通信制御装置を選択するときに、ネットワークシステム全体の負荷分散を実現することができる。
1 ルータ(通信制御装置)
11 受信部
12 送信部
13 経路テーブル
14 既定流量計算部
15 未定流量計算部
16 転送先決定部

Claims (9)

  1. 複数の通信制御装置がそれぞれリンクで接続されることで構成されるネットワークシステムに用いられる通信制御装置であって、
    前記通信制御装置は、受信部と、送信部と、経路テーブルと、既定流量計算部と、未定流量計算部と、転送先決定部とを有しており、
    前記経路テーブルには、パケットの送信元と宛先との組み合わせで定義されるフローごとに、そのフローの宛先への経路上に位置し、自身に隣接する転送先の前記通信制御装置と、その隣接する前記通信制御装置の候補になる前記通信制御装置の台数とが対応づけて格納されており、
    前記受信部は、他の前記通信制御装置からパケットを受信すると、そのパケットが自身宛てでないときに、受信したパケットを前記送信部へと通知し、
    前記送信部は、通知されたパケットの宛先をもとに前記経路テーブルを検索し、その宛先に向かうための隣接する前記通信制御装置を特定して、その特定した前記通信制御装置へパケットを送信し、
    前記既定流量計算部は、隣接する前記通信制御装置の候補が1台のフローと、隣接する前記通信制御装置の候補が複数台のフローのうちの前記受信部を介して受信したフローとを、ネットワークシステム内の各リンクに割り当てることで、リンクごとの流量を計算し、
    前記未定流量計算部は、
    隣接する前記通信制御装置の候補が複数台のフローのうちの前記送信部を介して送信するフローについて、複数台の候補のうちの1台を選択して、その選択した前記通信制御装置へのリンクに割り当てる仮割当処理について、選択する前記通信制御装置を前記仮割当処理ごとに異なるものとして複数回実行し、
    前記既定流量計算部が計算したリンクごとの流量と、前記仮割当処理により割り当てられたフローのリンクごとの流量とを加算することにより、前記各仮割当処理におけるリンクごとの流量を計算し、
    前記転送先決定部は、前記未定流量計算部が計算した前記各仮割当処理におけるリンクごとの流量を入力とする負荷評価関数を計算することにより、その負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理を特定し、その特定した前記仮割当処理により各リンクに割り当てられたフローをもとに、前記経路テーブルを更新することを特徴とする
    通信制御装置。
  2. 前記未定流量計算部は、前記既定流量計算部が計算したリンクごとの流量と、前記仮割当処理により割り当てられたフローのリンクごとの流量とを加算するときに、各リンクごとの流量に対して、異なった重み値を乗算してから加算し、前記既定流量計算部が計算したリンクごとの流量にかかる重み値よりも、前記仮割当処理により割り当てられたフローのリンクごとの流量にかかる重み値を小さい値とすることを特徴とする
    請求項1に記載の通信制御装置。
  3. 前記転送先決定部は、前記負荷評価関数を計算するときに、リンクごとの流量について、最も大きい流量から最も小さい流量を減じた流量のレンジを計算し、そのレンジが最も小さい値である前記仮割当処理を、前記負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理とすることを特徴とする
    請求項1または請求項2に記載の通信制御装置。
  4. 前記転送先決定部は、前記負荷評価関数を計算するときに、リンクごとの流量を入力とする分散評価関数を計算し、その分散値が最も小さい値である前記仮割当処理を、前記負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理とすることを特徴とする
    請求項1または請求項2に記載の通信制御装置。
  5. 複数の通信制御装置がそれぞれリンクで接続されることで構成されるネットワークシステムに用いられる通信制御装置による通信制御方法であって、
    前記通信制御装置は、制御部と、受信部と、送信部と、経路テーブルとを有しており、
    前記経路テーブルには、パケットの送信元と宛先との組み合わせで定義されるフローごとに、そのフローの宛先への経路上に位置し、自身に隣接する転送先の前記通信制御装置と、その隣接する前記通信制御装置の候補になる前記通信制御装置の台数とが対応づけて格納されており、
    前記制御部は、
    前記受信部に、他の前記通信制御装置からパケットを受信させると、そのパケットが自身宛てでないときに、受信したパケットを前記送信部へと通知させる受信制御ステップと、
    前記送信部に通知されたパケットの宛先をもとに前記経路テーブルを検索させ、その宛先に向かうための隣接する前記通信制御装置を特定させて、その特定した前記通信制御装置へパケットを送信させる送信制御ステップと、
    隣接する前記通信制御装置の候補が1台のフローと、隣接する前記通信制御装置の候補が複数台のフローのうちの前記受信部を介して受信したフローとを、ネットワークシステム内の各リンクに割り当てることで、リンクごとの流量を計算させる既定流量計算ステップと、
    隣接する前記通信制御装置の候補が複数台のフローのうちの前記送信部を介して送信するフローについて、複数台の候補のうちの1台を選択して、その選択した前記通信制御装置へのリンクに割り当てる仮割当処理について、選択する前記通信制御装置を前記仮割当処理ごとに異なるものとして複数回実行し、前記既定流量計算ステップで計算されたリンクごとの流量と、前記仮割当処理により割り当てられたフローのリンクごとの流量とを加算することにより、前記各仮割当処理におけるリンクごとの流量を計算させる未定流量計算ステップと、
    前記未定流量計算ステップで計算された前記各仮割当処理におけるリンクごとの流量を入力とする負荷評価関数を計算することにより、その負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理を特定させ、その特定した前記仮割当処理により各リンクに割り当てられたフローをもとに、前記経路テーブルを更新させる転送先決定ステップとを実行することを特徴とする
    通信制御方法。
  6. 前記制御部は、前記未定流量計算ステップにおいて、前記既定流量計算ステップで計算されたリンクごとの流量と、前記仮割当処理により割り当てられたフローのリンクごとの流量とを加算するときに、各リンクごとの流量に対して、異なった重み値を乗算してから加算し、前記既定流量計算ステップで計算されたリンクごとの流量にかかる重み値よりも、前記仮割当処理により割り当てられたフローのリンクごとの流量にかかる重み値を小さい値とすることを特徴とする
    請求項5に記載の通信制御方法。
  7. 前記制御部は、前記転送先決定ステップにおいて、前記負荷評価関数を計算するときに、リンクごとの流量について、最も大きい流量から最も小さい流量を減じた流量のレンジを計算し、そのレンジが最も小さい値である前記仮割当処理を、前記負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理とすることを特徴とする
    請求項5または請求項6に記載の通信制御方法。
  8. 前記制御部は、前記転送先決定ステップにおいて、前記負荷評価関数を計算するときに、リンクごとの流量を入力とする分散評価関数を計算し、その分散値が最も小さい値である前記仮割当処理を、前記負荷評価関数において負荷のばらつきが最も少ない前記仮割当処理とすることを特徴とする
    請求項5または請求項6に記載の通信制御方法。
  9. 請求項5ないし請求項8のいずれか1項に記載の通信制御方法を、コンピュータに実行させることを特徴とする通信制御プログラム。
JP2011036567A 2011-02-23 2011-02-23 通信制御装置、通信制御方法、および、通信制御プログラム Expired - Fee Related JP5212503B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011036567A JP5212503B2 (ja) 2011-02-23 2011-02-23 通信制御装置、通信制御方法、および、通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011036567A JP5212503B2 (ja) 2011-02-23 2011-02-23 通信制御装置、通信制御方法、および、通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2012175480A JP2012175480A (ja) 2012-09-10
JP5212503B2 true JP5212503B2 (ja) 2013-06-19

Family

ID=46977935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011036567A Expired - Fee Related JP5212503B2 (ja) 2011-02-23 2011-02-23 通信制御装置、通信制御方法、および、通信制御プログラム

Country Status (1)

Country Link
JP (1) JP5212503B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016066141A1 (en) * 2014-10-31 2016-05-06 Huawei Technologies Co., Ltd. Low jitter traffic scheduling on a packet network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6123205B2 (ja) * 2012-09-26 2017-05-10 日本電気株式会社 メッセージ交換システム、メッセージ配信システム、メッセージ交換方法、メッセージ配信方法およびコンピュータ・プログラム
US9923730B2 (en) 2014-12-17 2018-03-20 Intel Corporation System for multicast and reduction communications on a network-on-chip

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4277189B2 (ja) * 2003-02-19 2009-06-10 株式会社 インテック・ネットコア ルータ装置及びパケット転送制御方法
JP3762411B2 (ja) * 2004-03-19 2006-04-05 日本電信電話株式会社 経路制御装置およびプログラム
EP2453612B1 (en) * 2009-07-07 2014-12-03 Panasonic Corporation Bus control device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016066141A1 (en) * 2014-10-31 2016-05-06 Huawei Technologies Co., Ltd. Low jitter traffic scheduling on a packet network
US10298506B2 (en) 2014-10-31 2019-05-21 Huawei Technologies Co., Ltd. Low jitter traffic scheduling on a packet network

Also Published As

Publication number Publication date
JP2012175480A (ja) 2012-09-10

Similar Documents

Publication Publication Date Title
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
CN104335537B (zh) 用于层2多播多路径传送的系统和方法
CN106209669A (zh) 面向sdn数据中心网络最大概率路径流调度方法及装置
US9246814B2 (en) Communication system, control apparatus, communication node, and communication method
CN102710489B (zh) 动态分流调度系统和方法
CN106533960A (zh) 一种基于Fat‑Tree结构的数据中心网络路由方法
JP6920533B2 (ja) データフロー伝送
JP5943431B2 (ja) ネットワーク、データ転送ノード、通信方法およびプログラム
JP6323547B2 (ja) 通信システム、制御装置、通信制御方法、および、プログラム
CN107294852B (zh) 一种使用拓扑分散短路径集的网络路由方法
US9385939B2 (en) Method and a controller system for configuring a software-defined network
US20160065449A1 (en) Bandwidth-Weighted Equal Cost Multi-Path Routing
CN105357124B (zh) 一种MapReduce带宽优化方法
EP1561311A1 (en) Dynamic load distribution using local state information
WO2011118574A1 (ja) 通信システム、制御装置、遅延測定方法およびプログラム
JP5212503B2 (ja) 通信制御装置、通信制御方法、および、通信制御プログラム
JP6084583B2 (ja) フロー経路変更計算装置およびフロー経路変更計算システム
WO2017090535A1 (ja) フロー制御装置、通信システム、フロー制御方法及び記録媒体
EP2966814A1 (en) Communication system, integrated controller, packet transfer method and program
JP2000092131A (ja) 最大フロ―デ―タ経路設定
JP3591492B2 (ja) パケット振分装置およびパケット振分プログラム
KR101541168B1 (ko) 소프트웨어 정의 네트워크 환경에서 컨트롤러의 플로우에 대한 경로 제어방법
JP2016225729A (ja) ネットワークシステム、データ転送制御方法及び制御装置
Zhao et al. QoS multi-path routing scheme based on ACR algorithm in industrial ethernet
Khamforoosh et al. A new multi-path AODV routing based on distance of nodes from the network center

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R150 Certificate of patent or registration of utility model

Ref document number: 5212503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees