JP2004336209A - トラヒック分散制御装置、トラヒック分散制御方法 - Google Patents
トラヒック分散制御装置、トラヒック分散制御方法 Download PDFInfo
- Publication number
- JP2004336209A JP2004336209A JP2003126602A JP2003126602A JP2004336209A JP 2004336209 A JP2004336209 A JP 2004336209A JP 2003126602 A JP2003126602 A JP 2003126602A JP 2003126602 A JP2003126602 A JP 2003126602A JP 2004336209 A JP2004336209 A JP 2004336209A
- Authority
- JP
- Japan
- Prior art keywords
- traffic
- route
- network
- determination
- objective function
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Abstract
【課題】ネットワークを構成するルータR1〜R7によって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定をシンプレックス法によって行う際、用意された経路群がボトルネックリンクを共有していて用意された経路では帯域が十分でない場合等においても、最も好ましいトラヒックの分散を求める。
【解決手段】シンプレックス法による最適解が存在しない場合に、ボトルネックリンクを発見して迂回経路の追加を行って更にシンプレックス法を適用する。こうすることにより、要求されているトラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加することができ、ネットワークリソース消費量・遅延・ホップ数といったネットワークコストに基づく目的関数の設定により、各経路へのトラヒックの分布も最適にすることができる。
【選択図】 図1
【解決手段】シンプレックス法による最適解が存在しない場合に、ボトルネックリンクを発見して迂回経路の追加を行って更にシンプレックス法を適用する。こうすることにより、要求されているトラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加することができ、ネットワークリソース消費量・遅延・ホップ数といったネットワークコストに基づく目的関数の設定により、各経路へのトラヒックの分布も最適にすることができる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明はトラヒック分散制御装置、トラヒック分散制御方法に関し、特にネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行い、対応できない場合には必要経路のみを追加し、各経路への最適なトラヒック割り当てを求めることにより、ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御装置、トラヒック分散制御方法に関する。
【0002】
【従来の技術】
インターネットのようなネットワークは、現在使用している経路の帯域以上のトラヒックが流入してくる可能性を常にはらんでいる。このようなネットワークでは、トラヒックに対し現在の経路が十分なのか、また十分でない場合にいかに経路を増やせばよいのかが重要な問題である。
【0003】
現在の経路がトラヒックに対して十分であるか判定する問題は線形計画問題として定式化される。これについて、図14を参照して説明する。同図には、複数のルータによって構成され、IP(Internet Protocol)に準拠して構成されたネットワーク(以下、IPネットワークと呼ぶ)が示されている。同図に示されているIPネットワークは、ルータR1、R2、R3、R4、R5、R6、R7が順に接続されている。そして、ルータR7がルータR1に接続され、環状の構造をなしている。なお、ルータR3とルータR6とが直接接続されている。
【0004】
同図(a)中の数字「10」、「20」は、リンクの帯域(Mbps)である。すなわち、本例では、ルータR2とルータR3との間のリンクの帯域が10Mbpsである。そして、その他の各ルータ同士の間のリンクの帯域が20Mbpsである。なお、全てのリンクにおけるリソース消費量は「1」とする。
トラヒックは、ルータR1からルータR4までの経路、ルータR2からルータR4までの経路、ルータR7からルータR4までの経路、のそれぞれについて各10Mbpsである。
【0005】
また、同図(b)に示されているように、ルータR1からルータR4までの間には2つの経路a1 及びa2 が存在する。同図(c)に示されているように、ルータR2からルータR4までの間には2つの経路b1 及びb2 が存在する。同図(d)に示されているように、ルータR7からルータR4までの間には経路c1 が存在する。これらの各経路に流れる流量を変数とし、まとめて経路群変数とする。
【0006】
ここで、線形計画法の条件式を以下の通りとする。すなわち、目的関数は、
f=3a1 +4a2 +2b1 +5b2 +3c1 …(1)
である。線形計画法では、この目的関数を最小化する。また、トラヒック量についての制約式は、
a1 +a2 =10…(2)
b1 +b2 =10…(3)
c1 =10…(4)
である。リンク帯域についての制約式は、
a1 +b1 ≦10…(5)
a2 +b2 +c1 ≦20…(6)
である。このような条件の下では、
(a1 、a2 、b1 、b2 、c1 )=(0、10、10、0、10)…(7)
が得られる。
【0007】
以上のように、経路を変数として適当な目的関数を設定し、経路についての制約条件(リンクの帯域を越えない等)とトラヒック量についての制約条件(ある経路は何Mbps等)を設定する。これらの制約で不等号式となるものは非負のスラック変数を用いて等式(標準系)に変換する。なお、スラック変数とは、等号が成立する条件に対してどれだけ余裕があるかを示す変数である。
【0008】
ところで、標準系による線形計画問題を解く解法として、一般にシンプレックス法(単体法)が知られている。このシンプレックス法は、制約条件の平面(超平面)で囲まれる幾何学的な凸多面体またはシンプレックス(単体)を可能領域とし、この可能領域内で目的関数を最大(あるいは最小)にする点を見つける手法である。
【0009】
目的関数は線形であるため勾配を持つ。この勾配の方向に目的関数を増大(あるいは減少)させるといつか可能領域の頂点に到達する。この頂点は可能領域内で目的関数を最大(あるいは最小)にするベクトルを表す。このベクトルは、最適可能ベクトルと呼ばれる。
シンプレックスの解の判定は、この可能領域を利用することで行うことができる。可能領域が存在しない場合、最適可能ベクトルも存在しないため解はない。つまり、現在の経路では条件を満たす変数の値が存在しないため、現在の経路では不十分であることがわかる。逆に、可能領域が存在する場合に得られる最適可能ベクトルは、目的関数に従った最も好ましいトラヒックの分散を表すことになる。
なお、シンプレックス法については、例えば、非特許文献1に記載されている。
【0010】
【非特許文献1】
伊理正夫・古林隆著 「ネットワーク理論」ORライブラリー12 日科技連出版、1984年
【0011】
【発明が解決しようとする課題】
上述したように、線形計画問題としてシンプレックス法を用いる手法では、解の有無を判定し、解がある場合に目的関数に応じた最適解を返す。このことから、この手法は、非常に有用な手法である。
しかし、上述した従来の手法では、予め用意された経路群に対してシンプレックス法を適用することになる。例えば、上述した図14(b)〜(d)に示されている経路a1 、a2 、b1 、b2 、及び、c1 に対してシンプレックス法を適用することになる。
【0012】
このため、より少数の経路で充分であるのに、全ての経路について計算することになり、計算量が冗長である場合が生じる。また、予め用意された経路群がボトルネックリンクを共有していて用意された経路では帯域が十分でない場合が生じる。このような場合には、上述した従来の手法では対応できないという欠点がある。
【0013】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的は計算量が冗長である場合や、用意された経路群がボトルネックリンクを共有していて用意された経路では帯域が十分でない場合等においても、最も好ましいトラヒックの分散を求めることのできる、トラヒック分散制御装置、トラヒック分散制御方法を提供することである。
【0014】
【課題を解決するための手段】
本発明の請求項1によるトラヒック分散制御装置は、ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、前記ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御装置であって、
ネットワークを構成する各ルータ間のトラヒックと前記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が前記トラヒックに対応できるかどうかについての判定を行う判定手段と、
前記判定手段により既存の経路が前記トラヒックに対応できないと判定されたとき前記既存の経路以外の迂回経路を探索する迂回経路探索手段と、
を有し、前記迂回経路探索手段によって探索された迂回経路を追加して前記判定手段による判定を更に行うようにしたことを特徴とする。このように構成すれば、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加でき、トラヒックを最適に分散できる。
【0015】
本発明の請求項2によるトラヒック分散制御装置は、請求項1において、前記判定手段は、前記制約条件から定まる補助目的関数について前記シンプレックス法を適用することにより、要求されているトラヒックに対応できない原因となるボトルネックリンクを発見し、
前記迂回経路探索手段は、前記ボトルネックリンクを迂回するための前記迂回経路を探索することを特徴とする。こうすることにより、従来技術とは異なり、ボトルネックリンクを発見でき、かつ、迂回経路を追加して、トラヒックを最適に分散できる。
【0016】
本発明の請求項3によるトラヒック分散制御装置は、請求項1又は2において、前記迂回経路探索手段は、前記各ルータ間のリンクコストに基づく最短経路を探索するアルゴリズムにより、前記迂回経路を探索することを特徴とする。後述するアルゴリズムを採用することにより、最短経路を容易に探索することができる。
【0017】
本発明の請求項4によるトラヒック分散制御装置は、請求項1乃至3のいずれか1項において、前記判定手段は、所定周期毎に前記判定を行うことを特徴とする。こうすることにより、定期的に、経路の設定を更新することができる。
本発明の請求項5によるトラヒック分散制御装置は、請求項1乃至3のいずれか1項において、前記判定手段は、前記ネットワークを構成するルータそれぞれのトラヒック状況の監視結果に応じて前記判定を行うことを特徴とする。こうすることにより、所定量を越えるトラヒックがバースト的に流入してきた場合に、経路の設定を更新することができる。
【0018】
本発明の請求項6によるトラヒック分散制御装置は、請求項1乃至5のいずれか1項において、前記判定手段の判定結果に基づいて、前記ネットワークのコストを最小にするためのトラヒックを決定するトラヒック決定手段を更に含むことを特徴とする。ネットワークのコストを最小、すなわち、ネットワークのリソースについての消費量を最小にしたり、遅延を最小にするようにしたり、ホップ数を最小にしたりするためのトラヒックを決定することにより、必要経路のみを追加した状態で、トラヒックを最適に分散できる。
【0019】
本発明の請求項7によるトラヒック分散制御装置は、請求項1乃至6のいずれか1項において、トラヒック決定手段による決定においては、優先度を示す複数のクラスが前記トラヒックに存在する場合、前記クラスに応じてトラヒックを決定することを特徴とする。こうすることにより、要求されているトラヒックに複数のクラスが存在する場合でも、その優先度に応じて最適な経路を設定して、トラヒックを分散することができる。
【0020】
本発明の請求項8によるトラヒック分散制御方法は、ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、前記ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御方法であって、
ネットワークを構成する各ルータ間のトラヒックと前記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が前記トラヒックに対応できるかどうかについての判定を行う判定ステップと、
前記判定ステップにより既存の経路が前記トラヒックに対応できないと判定されたとき前記既存の経路以外の迂回経路を探索する迂回経路探索ステップと、
を有し、前記迂回経路探索ステップによって探索された迂回経路を追加して前記判定ステップによる判定を更に行うようにしたことを特徴とする。この方法によれば、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加でき、トラヒックを最適に分散できる。
【0021】
本発明の請求項9によるトラヒック分散制御方法は、請求項8において、前記判定ステップの判定結果に基づいて、前記ネットワークのリソースについての消費量を最小にするためのトラヒックを決定するトラヒック決定ステップを更に含むことを特徴とする。こうすることにより、必要経路のみを追加した状態で、トラヒックを最適に分散できる。
【0022】
要するに本発明は、現在の経路がトラヒックに対して十分であるかシンプレックス法により判定を行い、不十分である場合、シンプレックス法の特性を利用してボトルネックリンクを発見し、ボトルネックリンクを迂回する経路を新たに経路群に追加することで動的かつ必要箇所のみの経路追加を実現する。また、ネットワークコストを最小にするように目的関数を設定し、判定により求まった経路に対し最適なトラヒックの分散を行う。
【0023】
ここで、本発明が従来技術と異なる点は、最適解が存在しない場合に、要求されているトラヒックに対応できない原因となるボトルネックリンクを発見して迂回経路の追加を行う点である。従来技術においては、最適解が存在しない場合には、そこで処理が終了してしまい、ボトルネックの発見や迂回経路の追加は行っていない。
【0024】
ボトルネックの発見は、以下のように行う。すなわち、制約条件から定まる、補助目的関数(後述する)が0にならずに停止した時点での仮の可能ベクトルを利用する。この仮のベクトルは現在の経路に対して最大限のトラヒックを流した状態を表しているので、この値とリンク帯域の値とを比較すれば、ボトルネックリンクを発見することができる。
なお、このボトルネックリンクを迂回する経路は、後述する各種のアルゴリズムによって求めることができる。
【0025】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図においては、他の図と同等部分に同一符号が付されている。
図1は本発明によるトラヒック分散制御装置を含むネットワーク全体の構成を示すブロック図である。同図に示されているように、本例では、IPネットワークは、ルータR1からR7が順に接続された、環状の構造をなしている。ルータR3とルータR6とが直接接続されている。
【0026】
これらの各ルータR1〜R7におけるトラヒック状況は、トラヒック分散制御装置1によって監視される。このトラヒック分散制御装置1の構成について、図2を参照して説明する。
同図に示されているトラヒック分散制御装置1は、IPネットワークを構成するルータR1〜R7のトラヒック状況を受信して監視する監視機能11と、シンプレックス法を適用することにより、既存の経路が、要求されているトラヒックに対応できるかどうかについて判定する判定機能12と、既存の経路が上記トラヒックに対応できないと判定されたとき既存の経路以外の迂回経路を探索して求める迂回経路探索機能13と、判定機能12による判定結果に基づいて、ネットワークリソース消費量・遅延・ホップ数といったネットワークコストを最小にするためのトラヒックを決定するトラヒック決定機能14と、トラヒック決定機能14によって決定されたトラヒックを各ルータR1〜R7へ設定するための情報を通知する通知機能15とを含んで構成されている。
【0027】
このような構成からなるトラヒック分散制御装置1の動作について図3及び図4を参照して説明する。図3及び図4は、トラヒック分散制御装置1の動作を示すフローチャートである。
トラヒック分散制御装置1は、トラヒックの状況をネットワーク内のルータから監視する(ステップS200)。トラヒック分散制御装置1は、現在の経路がトラヒックに対応できるかどうかの判定を行う。その判定は、定期的に(つまり所定周期毎に)行っても良いし、所定量を越えるトラヒックがバースト的に流入してきた場合に開始しても良い。すなわち、所定周期が到来した場合、又はバースト的にトラヒックが流入してきた場合が、判定を行うトリガとなる(ステップS201)。このトリガに応答して、トラヒック分散制御装置1は、現在の経路がトラヒックに対応できるかどうかの判定を開始する(ステップS201→S202)。
【0028】
その判定においては、最初に、シンプレックス法の目的関数を設定する(ステップS203)。例えば、ネットワークリソース消費量(すなわちコスト)を最小化するような関数を、シンプレックス法の目的関数に設定する。
次に、制約条件を設定する(ステップS204)。例えば、リンク帯域に関する制約、流れるトラヒックに関する制約を、シンプレックス法の制約条件として設定する。さらに、シンプレックスの初期可能ベクトルを求めるための補助目的関数を設定する(ステップS205)。
【0029】
以上の設定が完了したら、まず補助目的関数と制約条件についてシンプレックス法を解く(ステップS206)。
補助目的関数が規定の条件を満たせば、図4に移り、得られたベクトルを初期可能ベクトルとして目的関数と制約条件についてシンプレックス法を解く(ステップS207→S301)。そして、トラヒック分散の仕方を表す最適可能ベクトルから、品質について複数のクラス(後述する)が存在していても、それらクラスに対応した、トラヒックの最適な分散が得られる(ステップS302)。この最適可能ベクトルをネットワークルータに通知し(ステップS303)、処理は終了となる。
【0030】
図3に戻り、ステップS207において、補助目的関数が規定の条件を満たさない場合、その状態でのベクトルからボトルネックリンクを特定する(ステップS207→S208)。そして、ボトルネックリンクを利用する経路についてのみ迂回経路を求める(ステップS209)。
迂回経路が存在しない場合、図4に移り、ネットワーク全体の帯域でもトラヒックには対応できない、ということになる(ステップS210→S304)。この状態が得られるベクトルから、この状態での最適トラヒック分散が得られる(ステップS305)。この場合、解無しである旨をネットワークルータに通知し(ステップS303)、処理は終了となる。
【0031】
図3に戻り、ステップS210において、迂回経路が存在する場合、経路群変数として追加し(ステップS210→S211)。そして、再度、目的関数・制約条件・補助目的関数の設定を行い(ステップS203、S204、S205)、シンプレックスを解く(ステップS206)。以下、再帰的に、上記の処理が繰返される。
【0032】
(トラヒック分散制御方法)
以上の動作を行うトラヒック分散制御装置においては、以下のようなトラヒック分散制御方法が実現されている。すなわち、ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、上記ネットワークにおけるトラヒックを分散させるように制御する方法であり、ネットワークを構成する各ルータ間のトラヒックと上記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が上記トラヒックに対応できるかどうかについての判定を行う判定ステップ(上記ステップS203〜S206に対応)と、上記判定ステップにより既存の経路が上記トラヒックに対応できないと判定されたとき上記既存の経路以外の迂回経路を探索する迂回経路探索ステップ(上記ステップS207〜S209に対応)と、を有し、上記迂回経路探索ステップによって探索された迂回経路を追加して上記判定ステップによる判定を更に行う(上記ステップS210、S211…に対応)ようにした、トラヒック分散制御方法が実現されている。また、上記判定ステップの判定結果に基づいて、上記ネットワークのリソースについての消費量を最小にするためのトラヒックを決定するトラヒック決定ステップ(上記ステップS301及びS302、ステップS304及びS305に対応)を更に含んでいる。以上のような方法によれば、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加でき、トラヒックを最適に分散できる。
【0033】
(各ルータにおける処理)
上述した通知機能14によって通知される情報に基づき、各ルータR1〜R7は経路情報を更新する。すなわち、図1中の各ルータR1〜R7内には、ネットワーク内の経路を示す経路情報が記憶されており、上記処理によって経路が追加された場合に通知機能14によって通知される情報に基づいて、各ルータR1〜R7は経路情報を追加する処理を行う。また、トラヒックに後述するクラスが存在する場合には、通知機能14によって通知される情報に基づいて、各ルータR1〜R7は各クラスと経路情報とを対応付ける処理を行う。
【0034】
(シンプレックス法)
ここで、シンプレックス法と、その特性からボトルネックリンクを発見する原理と、について述べる。
シンプレックス法は可能領域内で目的関数を最大(あるいは最小)にする最適可能ベクトルを求める手法である。まず、その解に至る具体的な過程を説明する。
シンプレックス法では可能領域の頂点に解が存在することが知られている。この可能領域の頂点のうち、目的関数を最大(あるいは最小)にするものを最適可能ベクトル、その他の頂点を可能ベクトルと呼ぶ。
【0035】
シンプレックス法はまず任意の可能ベクトルを求めることから始まる。可能ベクトルが求まれば、そこを始点に目的関数の勾配に従い他の可能ベクトルへの移動を繰返すことで最適可能ベクトルに到達する。逆に、可能ベクトルが存在しない場合、つまり可能領域が存在しない場合は解が存在しない。
図5(a)において、目的関数f=x+yを最大化する場合を考える。制約条件は、x、y≧0…(8)
−2x+4y≦32…(9)
7x−2y≦8…(10)
である。制約条件を全て満たす領域がシンプレックス(可能領域)である。これは、同図(a)中のx軸及びy軸と、直線S1及び直線S2に囲まれた領域Sである。なお、同図(a)において、直線S1は式(9)による直線、直線S2は式(10)による直線、である。
【0036】
シンプレックス法における演算の意味は、目的関数が増加する方向に頂点から頂点へと境界を進み、最適可能ベクトルに到達することである。この演算について、同図(b)を参照して説明する。同図(b)に示されているように、初期の可能ベクトル(x、y)=(0、0)から演算を開始する。同図(b)中の矢印Y11及びY12が目的関数の増加方向である。なお、同図(b)中には、原点Pを通るf=0の直線L1、領域Sの次の頂点を通るf=8の直線L2、直線S1と直線S2とが交差する点を通るf=12の直線L3、が示されている。
【0037】
同図(b)において、領域Sの境界に沿って、目的関数の増加方向に進むと、境界では矢印Y21方向に進んだ後、矢印Y22方向に進むことになる。この結果、最適可能ベクトル(x、y)=(4、10)が得られる。
ところで、初期の可能ベクトルを求めるためには、本来の目的関数以外に別の目的関数を定め(以下、補助目的関数と呼ぶ)、まずその補助目的関数についてシンプレックス法を解く。補助目的関数がある値(例えば0)になると、そのときの各変数の値が初期の可能ベクトルとなる。
【0038】
図6において、目的関数f=x+yを最大化する場合、制約条件は、
x、y≧0…(8)
−2x+4y≦32…(9)
7x−2y≦8…(10)
x≧7…(11)
である。同図(a)には、図5の場合と同じ領域Sの他に、領域S’が示されている。ここで、非負のスラック変数α、β、γを用いて、式(9)〜式(11)を等式に変形すると、
−2x+4y+α=32…(12)
7x−2y+β=8…(13)
x−γ=7…(14)
となる。さらに、人工変数z1、z2、z3と移項により、式(12)〜式(14)を変形すると、
z1=32+2x−4y−α…(15)
z2=8−7x+2y−β…(16)
z3=7−x+γ…(17)
となる。ここで、
f’=−z1−z2−z3=−47+5x+2y−α−β+γ…(18)
とおく。この式(18)が補助目的関数である。
【0039】
この補助目的関数は、式(8)のような非負条件以外の制約条件を、スラック変数により全て等式に変形した後、それぞれの制約条件に対し人工変数を設定し、その人工変数に−(マイナス)を掛けて合計した式である。
この補助目的関数について、同図(b)に示されているように解く。同図(b)中の矢印Y11’及びY12’が目的関数の増加方向である。なお、同図(b)中には、原点Pを通るf’=−47の直線L1’、領域S’の次の頂点を通るf’=−31の直線L2’、直線S1と直線S2とが交差する点を通るf’=−7の直線L3’、が示されている。
【0040】
ここで、式(15)〜式(17)は、式(12)〜式(14)や式(9)〜式(11)と同じ問題ではない。これらが同じ問題になるのは、z1、z2、z3が0になるときであるため、z1、z2、z3が全て0にならないと制約条件がそもそも満たされないことになる。このため、可能領域があり、可能ベクトルが存在する場合は必ず各z1、z2、z3は全て0になり、従って補助目的関数も0になるはずである。つまり、z1、z2、z3に値がある(0でない)と制約条件が変わることになる。
【0041】
補助目的関数についてシンプレックス法を解くとは、以下の処理を行うことである。すなわち、補助目的関数がある制約条件による超平面にぶつかった後、補助目的関数をその超平面上に射影し、勾配に沿ってその超平面を進む。そして、新しい制約条件による超平面にぶつかるとまた再度射影を行い、勾配に沿って進む。以上の処理を繰返す。
【0042】
同図(b)においては、領域Sの境界に沿って、目的関数の増加方向に進むと、境界では矢印Y21’方向に進んだ後、矢印Y22’方向に進むことになる。
そして、ある頂点にたどり着き、その先に領域が存在しないにもかかわらず、補助目的関数が0にならないとすると、解が存在しないということになる。この場合、可能ベクトルは存在しない。
【0043】
要するに、補助目的関数が規定の値0になれば初期可能ベクトルが存在し、補助目的関数が規定の値0にならなければ初期可能ベクトルは存在しない。本例の場合、補助目的関数が規定の値0にならず、目的関数の増加方向に領域が無い。したがって、解が存在しないことになる。
つまり、ある頂点にたどり着き、その先に領域が存在しないにもかかわらず補助目的関数が0にならない状態をもって解なしと判定される。この解なしが判定される直前にたどり着いた頂点は、そこに到達するまでの制約条件(超平面)は満たしている。この時点で得られる各変数の値を仮の可能ベクトルとする。
【0044】
この状態が意味するところは、各経路にはリンクの帯域内で流せるだけのトラヒックを流しているが、流すべきトラヒックはまだ存在するということである。つまり、リンクの帯域に対する制約条件と、流すべきトラヒック量に関する制約条件とがお互いに疎であるため可能領域が存在しないのである。したがって、この仮の可能ベクトルから、各経路にはどの程度のトラヒックが流れ、その結果どのリンクがボトルネックとなっているのか特定することができる。
【0045】
同図(a)に示されている場合、領域Sと領域S’とが互いに疎であるため、可能領域は存在しない。可能領域の存在有無については、制約条件が同図に示されているような2次元の場合は自明である。しかし、制約条件がより高次元の場合は存在有無の判定が困難である。
同図(b)に示されている状態は、仮の可能ベクトルに到達するまで、いくつかの制約条件に沿って進んでいるが、この先に進むべき領域が無い状態である。このような状態がネットワークにおいて意味することは、以下のようなことである。すなわち、各経路にはリンク帯域内で流せるだけのトラヒックを流しているが、流すべきトラヒックはまだ存在することを意味する。このため、仮の可能ベクトルの値を経路群変数の値とすると、ボトルネックリンクを決定することができる。
【0046】
そこで、このボトルネックを回避するように所定のアルゴリズムにより経路の再計算を行えば、このボトルネックリンクを利用していた経路についてのみ最適な迂回経路が求まり、その他の経路に影響を与えずにすむ。この経路の再計算には、例えばダイクストラ(Dijkstra)のアルゴリズム、べき乗法、ウォーシャル・フロイド(Warshall−Floyd)のアルゴリズム、を用いることができる。すなわち、各ルータ間のリンクコストに基づく最短経路を探索するアルゴリズムにより、迂回経路を探索する。
【0047】
(ダイクストラ)
ダイクストラは、ネットワーク内のノードとノードとの間で、コストが最小になる最短経路木を作成する手法である。各ノード間のリンクコストの合計が最小になる経路が最短経路木に記録される。ボトルネックリンクのコストを上昇させ、ダイクストラのアルゴリズムを用いて再計算を行うと、コストの高いリンクは最短経路として選択されなくなる。このため、迂回経路を求めることができる。
【0048】
ここで、ダイクストラを適用して迂回経路を求める手順の例について、図7を参照して説明する。同図(a)において、ルータ間の数字は、リンクコストを示している。すなわち、ルータR3とルータR6との間のみリンクコストが2であり、その他のルータ同士の間はリンクコストが1である。
ここで、ルータR1からルータR4までの最短経路をダイクストラによって探索する。この最短経路は、同図(b)に示されているように、ルータR2及びR3を経由する経路である。この経路のリンクコストは3である。
【0049】
この最短経路だけではトラヒックが流れない場合、ボトルネックリンクを発見し、そのリンクコストを上昇させる。すなわち、同図(c)に示されているように、ルータR2とルータR3との間のリンクコストを上昇させる。ここでは、ルータR2とルータR3との間のリンクコストを100に上昇させる。このようにリンクコストを上昇させた状態で、ダイクストラによって迂回経路を求める。この迂回経路は、同図(d)に示されているように、ルータR7、R6及びR5を順に経由する経路である。この経路のリンクコストは4である。
【0050】
これら2つの経路でもトラヒックが流れない場合、ボトルネックリンクを再度発見し、そのリンクコストを上昇させる。すなわち、同図(e)に示されているように、ルータR6とルータR5との間及びルータR5とルータR4との間のリンクコストを上昇させる。ここでは、ルータR6とルータR5との間及びルータR5とルータR4との間のリンクコストをそれぞれ100に上昇させる。このようにリンクコストを上昇させた状態で、ダイクストラによってさらに迂回経路を求める。この迂回経路は、同図(f)に示されているように、ルータR7、R6及びR3を順に経由する経路である。この経路のリンクコストは5である。
以上のように、ボトルネックリンクが発見された場合には、ダイクストラによって迂回経路を求める。そして、この求めた迂回経路を追加した状態で、更にシンプレックス法を適用する。
【0051】
(ウォーシャル・フロイド)
ウォーシャル・フロイドとは、拠点数を「n」、i番目の拠点の名称を「Li 」、拠点iと拠点jとの距離を「dij」とした場合に、次の手順により最短経路を決定する解法である。なお、「距離dij」とは、物理的な距離に限らず、コスト、時間等何らかの概念の距離であればよい。また、拠点iと拠点jとが接続されていない場合には、距離dij=∞となる。
【0052】
手順1: dij(0)=dij,pij=i(i,j=1,2,3,…n)、m=1とおく。
手順2: (a)dij(m)=min(dij(m−1),dim(m−1)+dmj(m−1)とする。(b)dij(m)<dij(m−1)である(i,j)に対して、pij=pmjとする。
手順3: m=nならば終了する。m<nならばmの値を1増やして手順2に戻る。ここで、dij(m)は、Li からLj への経路を示し、中間の通過点としてL1 ,L2 ,…Lm だけを許すものの中での最短距離である。m=nまで進んだときのdij(n)は、Li からLj への最短経路であり、pijは、Li からLj への最短経路におけるLjの直前の拠点の番号である。
【0053】
上述したダイクストラやウォーシャル・フロイドのアルゴリズムによって迂回経路として求められ、新たに加わる経路は、必要最低限なリンクである。このため、シンプレックスの変数の増加を防ぐことができる。この新しい経路の追加により経路全体の帯域が広がる。したがって、帯域に関する制約条件とトラヒック量に関する制約条件とが可能領域を持つまで経路の追加を繰返せば、変数の数が最も少なくかつ最適な経路の追加を行うことができる。
【0054】
もちろん補助目的関数が0になる場合は、そのとき得られるベクトルを初期の可能ベクトルとして、目的関数や制約条件からなる線形計画問題についてシンプレックス法を解くことで最適可能ベクトルが求まる。
次に、上述した経路群変数に対し、ネットワークコストをできるだけ抑えるようにトラヒックの分散を行う手法について説明する。
【0055】
上述したように、シンプレックス法は目的関数についての最大化・最小化を行う手法である。つまり、ネットワークリソースの消費量をネットワークのコストとして、この目的関数をネットワークリソースの消費量を最小に抑えるように設定すれば、解が存在するか判定できるとともに、解が存在する場合には最適可能ベクトルとして最適なトラヒックの流し方を得ることができる。
【0056】
各リンクが単位トラヒックあたりに消費するネットワークリソースが定まっているとすると、各経路は個々のリンクの集合であるので、各経路の消費するネットワークリソースは経路に含まれるリンクの消費するネットワークリソースの合計になる。
ここで、図8に示されているネットワークについて、ネットワークリソースの消費量を最低限に抑えるように目的関数を設定する場合を考える。なお、図8において、全てのリンクにおけるリソースの消費量は、1とする。
【0057】
まず、リンクLにおけるリソースの消費量をCL とする。すると、経路PiのコストCPiは利用するリンクコストの総和なので、
CPi= Σ CL …(16)
L ∈ Pi
である。経路を流れるトラヒックをxi とすると、目的関数fは、
i=1
f= Σ CPixi …(17)
i ≦ n
となる。つまり、目的関数fを最小にするxi はネットワークリソースの消費量を最小に抑えるトラヒックの流し方を表す。
【0058】
同図(a)を参照するとルータR1とルータR4との間には、経路a1 と経路a2 とが存在する。同図(b)を参照するとルータR2とルータR4との間には、経路b1 と経路b2 とが存在する。同図(c)を参照するとルータR7とルータR4との間には、経路c1 が存在する。
【0059】
同図(a)において、経路a1 のコストは、ルータR1とルータR2との間のリンク(以後、「Link(R1−R2)」等と略記する)、Link(R2−R3)のコストの合計である。したがって、1+1+1=3がコストとなる。また、経路a2 のコストは、Link(R1−R7)、Link(R7−R6)、Link(R6−R5)、Link(R5−R4)のコストの合計である。したがって、1+1+1+1=4がコストとなる。同図(b)中の経路b1 、b2 、同図(c)中の経路c1 についても、同様にコストを求めると、経路b1 のコストは2、経路b2 のコストは5、経路c1 のコストは3、となる。
【0060】
よって、このように求めた各経路についてのリソースの消費量と経路の流量との積をとった目的関数は、
f=3a1 +4a2 +2b1 +5b2 +3c1
となる。目的関数は各経路のトラヒック量を変数とした値になるが、経路のネットワークリソースの消費量を定数(本例では1)として設定すれば、ネットワークリソースの消費量を最小化することができる。
【0061】
【実施例】
以下、本発明の第1の実施例〜第3の実施例について、図9〜図12を参照して説明する。
(第1の実施例)
本実施例のネットワークのトポロジが図9(a)に示されている。同図(a)において、リンクの帯域は、ルータR2とルータR3との間のみ10Mbpsで、その他のルータ間は20Mbpsである。なお、各リンクが単位トラヒックあたりに消費するネットワークリソースは1とする。
【0062】
また、トラヒックは、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、それぞれ5Mbpsである。同図(b)、(c)、(d)に示されているように、現在利用されている経路はa1 、b1 、c1 である。目的関数を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件、補助目的関数を設定し、現在のリンクで対応できるかどうか判定を行う。
【0063】
同図(b)、(c)、(d)に示されている場合、目的関数f=3a1 +2b1 +3c1 について、シンプレックス法で解けば、可能ベクトル
(a1 、b1 、c1 )=(5、5、5)
が求まる。この状態では現在の経路のみで対応できるため、そのままトラヒックは転送される。
【0064】
次に、トラヒックが、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、それぞれ10Mbpsに増加した場合を考える。現在利用されている経路は、経路a1 、b1 、c1 のままである。
目的関数f=3a1 +2b1 +3c1 を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件、補助目的関数を設定する。そして、現在のリンクで対応できるかどうか、シンプレックス法による判定を行う。
【0065】
この状態では、仮の可能ベクトルは、
(a1 、b1 、c1 )=(10、0、10)
で補助目的関数が0にならず停止する。つまり、Link(R2−R3)に限界の10Mbpsが流れていることがわかり、この仮の可能ベクトルからLink(R2−R3)がボトルネックリンクであることがわかる。
【0066】
このボトルネックリンクであるLink(R2−R3)を回避するようにダイクストラにより次善経路の計算を行う。これにより、同図(e)、(f)、(g)に示されているように、迂回経路である新たな経路a2 及びb2 が追加される。この経路が追加された状態で、再度シンプレックス法による判定を行う。
つまり、目的関数
f=3a1 +4a2 +2b1 +5b2 +3c1
についてシンプレックス法を解くと、対応できることがわかり、可能ベクトル
(a1 、a2 、b1 、b2 、c1 )=(0、10、10、0、10)
が求まる。
【0067】
(第2の実施例)
本実施例のネットワークのトポロジが図10(a)に示されている。同図(a)において、リンクの帯域は、ルータR2とルータR3との間のみ10Mbpsで、その他のルータ間は20Mbpsである。なお、各リンクが単位トラヒックあたりに消費するネットワークリソースは1とする。
【0068】
本実施例では、トラヒックには、優先度を示す2つのクラス(class)が存在するものとする。すなわち、クラスAとクラスBとが存在する。そして、それらクラスの優先度は、クラスA>クラスBである。
また、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、各クラスA、クラスBのトラヒックがそれぞれ5Mbpsである。同図(b)、(c)、(d)に示されているように、現在利用されている経路はa1 、b1 、c1 である。目的関数を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件を設定する。
【0069】
ここで、クラスAのトラヒックは最短経路で送るという品質要求があると、それを表す条件としてa1 ≧5、b1 ≧5、c1 ≧5が加わる。この式は最短経路にクラスA以上のトラヒックが流れることを表している。これらの制約条件から補助目的関数を設定し、現在のリンクで対応できるかどうか判定を行う。
同図(b)、(c)、(d)に示されている場合、目的関数
f=3a1 +2b1 +3c1
について、シンプレックス法で解けば、仮の可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で解無しとなる。
【0070】
この状態では、仮の可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R2−R3)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。この結果、同図(e)、(f)、(g)に示されている、新たなa2 、b2 が得られ、これらを目的関数の変数として追加する。
【0071】
この変数が追加された目的関数
f=3a1 +4a2 +2b1 +5b2 +3c1
について、品質要求を考慮した式a1 ≧5、b1 ≧5、c1 ≧5を加え、再度シンプレックス法による判定を行う。すると対応できることがわかり、品質要求を満たした最適解としての可能ベクトル
(a1 、a2 、b1 、b2 、c1 )=(5、5、5、5、10)
が求まる。
【0072】
(第3の実施例)
本実施例のネットワークのトポロジが図11(a)に示されている。同図(a)において、リンクの帯域は、ルータR2とルータR3との間のみ10Mbpsで、その他のルータ間は20Mbpsである。なお、各リンクが単位トラヒックあたりに消費するネットワークリソースは1とする。
【0073】
本実施例では、トラヒックに、3つのクラスが存在するものとする。すなわち、クラスAとクラスBとクラスCとが存在する。そして、それらクラスの優先度は、クラスA>クラスB>クラスCである。
また、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、各クラスA、クラスB、クラスCのトラヒックがそれぞれ5Mbpsである。同図(b)、(c)、(d)に示されているように、現在利用されている経路はa1 、b1 、c1 である。目的関数を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件を設定する。
【0074】
ここで、クラスAのトラヒックは最短経路で送るという品質要求があると、それを表す条件としてa1 ≧5、b1 ≧5、c1 ≧5が加わる。この式は最短経路にクラスA以上のトラヒックが流れることを表している。これらの制約条件から補助目的関数を設定し、現在のリンクで対応できるかどうか判定を行う。
同図(b)、(c)、(d)に示されている場合、目的関数
f=3a1 +2b1 +3c1
について、シンプレックス法で解けば、仮の可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で解無しとなる。
【0075】
この状態では、可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R2−R3)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。この結果、同図(e)、(f)、(g)に示されている、新たな経路a2 、b2 が得られ、これらを目的関数の変数として追加する。
【0076】
この変数が追加された目的関数
f=3a1 +4a2 +2b1 +5b2 +3c1
について、品質要求を考慮した式a1 ≧5、b1 ≧5、c1 ≧5を加え、再度シンプレックス法による判定を行う。すると、この状態でも仮の可能ベクトル
(a1 、a2 、b1 、b2 、c1 )=(5、5、5、5、10)
で解無しとなる。
【0077】
この状態では、仮の可能ベクトルは、
(a1 、a2 、b1 、b2 、c1 )=(5、5、5、5、10)
で補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R6−R5)、及び、Link(R5−R4)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。この結果、図12(a)、(b)、(c)に示されている、新たな経路a3 、b3 、c2 が得られ、これらを目的関数の変数を追加する。
【0078】
上記の変数が追加された目的関数
f=3a1 +4a2 +4a3 +2b1 +5b2 +5b3 +3c1 +3c2
について、品質要求を考慮した式a1 ≧5、b1 ≧5、c1 ≧5を加え、再度シンプレックス法による判定を行う。すると迂回経路を追加した状態で対応できることがわかり、品質要求を満たした最適解としての可能ベクトル
(a1 、a2 、a3 、b1 、b2 、b3 、c1 、c2 )=(5、5、5、5、5、5、10、5)
が求まる。
【0079】
経路は最短経路から2番目の経路、3番目の経路の3種類が存在することになり、優先度の高いトラヒックから順によい経路に割り当てられていく。つまり、ルータR1からルータR4までの間、及び、ルータR2からルータR4までの間については、クラスAは最短経路に、クラスBは2番目に短い経路に、クラスCは3番目に短い経路に、それぞれ割り当てられる。
【0080】
また、ルータR7からルータR4までの間については、クラスA及びクラスBは最短経路に、クラスCは2番目に短い経路に、それぞれ割り当てられる。
次に、トラヒックが、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、それぞれ10Mbpsに増加した場合を考える。
【0081】
目的関数
f=3a1 +4a2 +4a3 +2b1 +5b2 +5b3 +3c1 +3c2
について、品質要求を考慮して再度シンプレックス法による判定を行う。この状態では、可能ベクトルは、
(a1 、a2 、a3 、b1 、b2 、b3 、c1 、c2 )=(5、5、5、5、5、5、10、5)
で解無しとなり、補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R3−R4)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。しかしながら、新たな経路はもう存在しない。つまり、ネットワークにこれ以上経路の追加ができないことになり、真の解無しとなる。
【0082】
経路を追加できないので、仮の可能ベクトル
(a1 、a2 、a3 、b1 、b2 、b3 、c1 、c2 )=(5、5、5、5、5、5、10、5)
でトラヒックを流すことになる。ここで、例えば、周知のDiffServ(Differentiated Services)等を組み合わせれば、優先度の低いトラヒックのみを破棄することができる。本例では、優先度の低いクラスCだけを破棄することができる。
【0083】
(変形例)
上記第3の実施例においては、優先度の高いクラスから良い経路を割り当てるといった各経路流量に対するクラス毎の対応アルゴリズムを記したが、例えば優先度の高いトラヒックがお互い干渉しないように流す、帯域を必要とするトラヒックはその帯域要求を満たす経路に流す、などの設定によって、アルゴリズムは異なるものとなる。
【0084】
また、一般に大規模ネットワークはエリア分けされており、各エリアをまたぐルータは限られている。そのため、エリア毎に本発明を適用すればスケラービリティも満たすことができる。
さらにまた、ボトルネックリンクの発見の際、厳密に使用率が100%のリンクだけでなく、例えばリンク使用率70%以上をボトルネックリンクとしても良い。こうすることで、1回に追加される変数は増えるが、再帰の数を減らすことができる。
【0085】
上記の説明では、各リンクのネットワークリソースの消費量を定数としているが、定数でない場合もある。例えば、キューイングの遅延はキューの利用率に応じて指数的に増加するため、ネットワークリソースの消費量もリンクの利用率に対して変更する場合もある。
また、目的関数はネットワークリソースの消費量だけでなく、その他のネットワークコストを最小、すなわち、例えば遅延を最小にするように設定したりホップ数を基に設定したりという場合も考えられる。
【0086】
遅延を最小にする場合、各経路変数の係数が各リンク遅延の合計になる。
図13(a)に示されているネットワークにおいて、ルータR1〜R7において、ルータR1とルータR7との間のリンク、ルータR7とルータR6との間のリンク、ルータR6とルータR3との間のリンク、それぞれの遅延が10Mbps、その他の各ルータ間のリンクそれぞれの遅延が5Mbps、である場合を考える。
【0087】
同図(b)、同図(c)、同図(d)に示されている、経路a1 、b1 、c1 、については、遅延に基づく目的関数は、次のようになる。すなわち、
a1 の係数=5+5+5=15
b1 の係数=5+5=10
c1 の係数=10+5+5=20
である。よって、目的関数は、
f=15a1 +10b1 +20c1
となる。この目的関数について、上記実施例の場合と同様に、シンプレックスを適用すれば良い。その場合、ボトルネックリンクは、ダイクストラ等によって回避できる。
【0088】
一方、同図(b)、同図(c)、同図(d)に示されている、経路a1 、b1 、c1 、については、ホップ数に基づく目的関数は、次のようになる。すなわち、隣接するルータ同士間のホップ数は1なので、
a1 の係数=1+1+1=3
b1 の係数=1+1=2
c1 の係数=1+1+1=3
である。よって、目的関数は、
f=3a1 +2b1 +3c1
となる。この目的関数について、上記実施例の場合と同様に、シンプレックスを適用すれば良い。その場合、ボトルネックリンクは、上述したダイクストラ等のアルゴリズムによって回避できる。
【0089】
【発明の効果】
以上説明したように本発明は、シンプレックス法による最適解が存在しない場合に、ボトルネックリンクを発見して迂回経路の追加を行って更にシンプレックス法を適用することにより、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加することができ、ネットワークリソース消費量・遅延・ホップ数といったネットワークコストに基づく目的関数の設定により、各経路へのトラヒックの分布も最適にすることができるという効果がある。
【図面の簡単な説明】
【図1】本発明によるトラヒック分散制御装置を含むネットワーク全体の構成例を示すブロック図である。
【図2】図1中のトラヒック分散制御装置の構成を示すブロック図である。
【図3】図1中のトラヒック分散制御装置の動作を示すフローチャートである。
【図4】図1中のトラヒック分散制御装置の動作を示すフローチャートである。
【図5】シンプレックス法の適用例の概略を示す図である。
【図6】シンプレックス法の他の適用例の概略を示す図である。
【図7】ダイクストラを適用して迂回経路を求める手順の例を示す図である。
【図8】ネットワークリソースの消費量を最低限に抑えるように目的関数を設定する場合を説明する図である。
【図9】本発明の第1の実施例を示す図である。
【図10】本発明の第2の実施例を示す図である。
【図11】本発明の第3の実施例を示す図である。
【図12】本発明の第3の実施例を示す図である。
【図13】目的関数を、遅延を最小にするように設定したりホップ数を基に設定したりする場合を説明する図である。
【図14】現在の経路がトラヒックに対して十分であるか判定する従来の手法を説明する図である。
【符号の説明】
1 トラヒック分散制御装置
11 監視機能
12 判定機能
13 迂回経路探索機能
14 トラヒック決定機能
15 通知機能
R1〜R7 ルータ
【発明の属する技術分野】
本発明はトラヒック分散制御装置、トラヒック分散制御方法に関し、特にネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行い、対応できない場合には必要経路のみを追加し、各経路への最適なトラヒック割り当てを求めることにより、ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御装置、トラヒック分散制御方法に関する。
【0002】
【従来の技術】
インターネットのようなネットワークは、現在使用している経路の帯域以上のトラヒックが流入してくる可能性を常にはらんでいる。このようなネットワークでは、トラヒックに対し現在の経路が十分なのか、また十分でない場合にいかに経路を増やせばよいのかが重要な問題である。
【0003】
現在の経路がトラヒックに対して十分であるか判定する問題は線形計画問題として定式化される。これについて、図14を参照して説明する。同図には、複数のルータによって構成され、IP(Internet Protocol)に準拠して構成されたネットワーク(以下、IPネットワークと呼ぶ)が示されている。同図に示されているIPネットワークは、ルータR1、R2、R3、R4、R5、R6、R7が順に接続されている。そして、ルータR7がルータR1に接続され、環状の構造をなしている。なお、ルータR3とルータR6とが直接接続されている。
【0004】
同図(a)中の数字「10」、「20」は、リンクの帯域(Mbps)である。すなわち、本例では、ルータR2とルータR3との間のリンクの帯域が10Mbpsである。そして、その他の各ルータ同士の間のリンクの帯域が20Mbpsである。なお、全てのリンクにおけるリソース消費量は「1」とする。
トラヒックは、ルータR1からルータR4までの経路、ルータR2からルータR4までの経路、ルータR7からルータR4までの経路、のそれぞれについて各10Mbpsである。
【0005】
また、同図(b)に示されているように、ルータR1からルータR4までの間には2つの経路a1 及びa2 が存在する。同図(c)に示されているように、ルータR2からルータR4までの間には2つの経路b1 及びb2 が存在する。同図(d)に示されているように、ルータR7からルータR4までの間には経路c1 が存在する。これらの各経路に流れる流量を変数とし、まとめて経路群変数とする。
【0006】
ここで、線形計画法の条件式を以下の通りとする。すなわち、目的関数は、
f=3a1 +4a2 +2b1 +5b2 +3c1 …(1)
である。線形計画法では、この目的関数を最小化する。また、トラヒック量についての制約式は、
a1 +a2 =10…(2)
b1 +b2 =10…(3)
c1 =10…(4)
である。リンク帯域についての制約式は、
a1 +b1 ≦10…(5)
a2 +b2 +c1 ≦20…(6)
である。このような条件の下では、
(a1 、a2 、b1 、b2 、c1 )=(0、10、10、0、10)…(7)
が得られる。
【0007】
以上のように、経路を変数として適当な目的関数を設定し、経路についての制約条件(リンクの帯域を越えない等)とトラヒック量についての制約条件(ある経路は何Mbps等)を設定する。これらの制約で不等号式となるものは非負のスラック変数を用いて等式(標準系)に変換する。なお、スラック変数とは、等号が成立する条件に対してどれだけ余裕があるかを示す変数である。
【0008】
ところで、標準系による線形計画問題を解く解法として、一般にシンプレックス法(単体法)が知られている。このシンプレックス法は、制約条件の平面(超平面)で囲まれる幾何学的な凸多面体またはシンプレックス(単体)を可能領域とし、この可能領域内で目的関数を最大(あるいは最小)にする点を見つける手法である。
【0009】
目的関数は線形であるため勾配を持つ。この勾配の方向に目的関数を増大(あるいは減少)させるといつか可能領域の頂点に到達する。この頂点は可能領域内で目的関数を最大(あるいは最小)にするベクトルを表す。このベクトルは、最適可能ベクトルと呼ばれる。
シンプレックスの解の判定は、この可能領域を利用することで行うことができる。可能領域が存在しない場合、最適可能ベクトルも存在しないため解はない。つまり、現在の経路では条件を満たす変数の値が存在しないため、現在の経路では不十分であることがわかる。逆に、可能領域が存在する場合に得られる最適可能ベクトルは、目的関数に従った最も好ましいトラヒックの分散を表すことになる。
なお、シンプレックス法については、例えば、非特許文献1に記載されている。
【0010】
【非特許文献1】
伊理正夫・古林隆著 「ネットワーク理論」ORライブラリー12 日科技連出版、1984年
【0011】
【発明が解決しようとする課題】
上述したように、線形計画問題としてシンプレックス法を用いる手法では、解の有無を判定し、解がある場合に目的関数に応じた最適解を返す。このことから、この手法は、非常に有用な手法である。
しかし、上述した従来の手法では、予め用意された経路群に対してシンプレックス法を適用することになる。例えば、上述した図14(b)〜(d)に示されている経路a1 、a2 、b1 、b2 、及び、c1 に対してシンプレックス法を適用することになる。
【0012】
このため、より少数の経路で充分であるのに、全ての経路について計算することになり、計算量が冗長である場合が生じる。また、予め用意された経路群がボトルネックリンクを共有していて用意された経路では帯域が十分でない場合が生じる。このような場合には、上述した従来の手法では対応できないという欠点がある。
【0013】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的は計算量が冗長である場合や、用意された経路群がボトルネックリンクを共有していて用意された経路では帯域が十分でない場合等においても、最も好ましいトラヒックの分散を求めることのできる、トラヒック分散制御装置、トラヒック分散制御方法を提供することである。
【0014】
【課題を解決するための手段】
本発明の請求項1によるトラヒック分散制御装置は、ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、前記ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御装置であって、
ネットワークを構成する各ルータ間のトラヒックと前記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が前記トラヒックに対応できるかどうかについての判定を行う判定手段と、
前記判定手段により既存の経路が前記トラヒックに対応できないと判定されたとき前記既存の経路以外の迂回経路を探索する迂回経路探索手段と、
を有し、前記迂回経路探索手段によって探索された迂回経路を追加して前記判定手段による判定を更に行うようにしたことを特徴とする。このように構成すれば、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加でき、トラヒックを最適に分散できる。
【0015】
本発明の請求項2によるトラヒック分散制御装置は、請求項1において、前記判定手段は、前記制約条件から定まる補助目的関数について前記シンプレックス法を適用することにより、要求されているトラヒックに対応できない原因となるボトルネックリンクを発見し、
前記迂回経路探索手段は、前記ボトルネックリンクを迂回するための前記迂回経路を探索することを特徴とする。こうすることにより、従来技術とは異なり、ボトルネックリンクを発見でき、かつ、迂回経路を追加して、トラヒックを最適に分散できる。
【0016】
本発明の請求項3によるトラヒック分散制御装置は、請求項1又は2において、前記迂回経路探索手段は、前記各ルータ間のリンクコストに基づく最短経路を探索するアルゴリズムにより、前記迂回経路を探索することを特徴とする。後述するアルゴリズムを採用することにより、最短経路を容易に探索することができる。
【0017】
本発明の請求項4によるトラヒック分散制御装置は、請求項1乃至3のいずれか1項において、前記判定手段は、所定周期毎に前記判定を行うことを特徴とする。こうすることにより、定期的に、経路の設定を更新することができる。
本発明の請求項5によるトラヒック分散制御装置は、請求項1乃至3のいずれか1項において、前記判定手段は、前記ネットワークを構成するルータそれぞれのトラヒック状況の監視結果に応じて前記判定を行うことを特徴とする。こうすることにより、所定量を越えるトラヒックがバースト的に流入してきた場合に、経路の設定を更新することができる。
【0018】
本発明の請求項6によるトラヒック分散制御装置は、請求項1乃至5のいずれか1項において、前記判定手段の判定結果に基づいて、前記ネットワークのコストを最小にするためのトラヒックを決定するトラヒック決定手段を更に含むことを特徴とする。ネットワークのコストを最小、すなわち、ネットワークのリソースについての消費量を最小にしたり、遅延を最小にするようにしたり、ホップ数を最小にしたりするためのトラヒックを決定することにより、必要経路のみを追加した状態で、トラヒックを最適に分散できる。
【0019】
本発明の請求項7によるトラヒック分散制御装置は、請求項1乃至6のいずれか1項において、トラヒック決定手段による決定においては、優先度を示す複数のクラスが前記トラヒックに存在する場合、前記クラスに応じてトラヒックを決定することを特徴とする。こうすることにより、要求されているトラヒックに複数のクラスが存在する場合でも、その優先度に応じて最適な経路を設定して、トラヒックを分散することができる。
【0020】
本発明の請求項8によるトラヒック分散制御方法は、ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、前記ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御方法であって、
ネットワークを構成する各ルータ間のトラヒックと前記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が前記トラヒックに対応できるかどうかについての判定を行う判定ステップと、
前記判定ステップにより既存の経路が前記トラヒックに対応できないと判定されたとき前記既存の経路以外の迂回経路を探索する迂回経路探索ステップと、
を有し、前記迂回経路探索ステップによって探索された迂回経路を追加して前記判定ステップによる判定を更に行うようにしたことを特徴とする。この方法によれば、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加でき、トラヒックを最適に分散できる。
【0021】
本発明の請求項9によるトラヒック分散制御方法は、請求項8において、前記判定ステップの判定結果に基づいて、前記ネットワークのリソースについての消費量を最小にするためのトラヒックを決定するトラヒック決定ステップを更に含むことを特徴とする。こうすることにより、必要経路のみを追加した状態で、トラヒックを最適に分散できる。
【0022】
要するに本発明は、現在の経路がトラヒックに対して十分であるかシンプレックス法により判定を行い、不十分である場合、シンプレックス法の特性を利用してボトルネックリンクを発見し、ボトルネックリンクを迂回する経路を新たに経路群に追加することで動的かつ必要箇所のみの経路追加を実現する。また、ネットワークコストを最小にするように目的関数を設定し、判定により求まった経路に対し最適なトラヒックの分散を行う。
【0023】
ここで、本発明が従来技術と異なる点は、最適解が存在しない場合に、要求されているトラヒックに対応できない原因となるボトルネックリンクを発見して迂回経路の追加を行う点である。従来技術においては、最適解が存在しない場合には、そこで処理が終了してしまい、ボトルネックの発見や迂回経路の追加は行っていない。
【0024】
ボトルネックの発見は、以下のように行う。すなわち、制約条件から定まる、補助目的関数(後述する)が0にならずに停止した時点での仮の可能ベクトルを利用する。この仮のベクトルは現在の経路に対して最大限のトラヒックを流した状態を表しているので、この値とリンク帯域の値とを比較すれば、ボトルネックリンクを発見することができる。
なお、このボトルネックリンクを迂回する経路は、後述する各種のアルゴリズムによって求めることができる。
【0025】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図においては、他の図と同等部分に同一符号が付されている。
図1は本発明によるトラヒック分散制御装置を含むネットワーク全体の構成を示すブロック図である。同図に示されているように、本例では、IPネットワークは、ルータR1からR7が順に接続された、環状の構造をなしている。ルータR3とルータR6とが直接接続されている。
【0026】
これらの各ルータR1〜R7におけるトラヒック状況は、トラヒック分散制御装置1によって監視される。このトラヒック分散制御装置1の構成について、図2を参照して説明する。
同図に示されているトラヒック分散制御装置1は、IPネットワークを構成するルータR1〜R7のトラヒック状況を受信して監視する監視機能11と、シンプレックス法を適用することにより、既存の経路が、要求されているトラヒックに対応できるかどうかについて判定する判定機能12と、既存の経路が上記トラヒックに対応できないと判定されたとき既存の経路以外の迂回経路を探索して求める迂回経路探索機能13と、判定機能12による判定結果に基づいて、ネットワークリソース消費量・遅延・ホップ数といったネットワークコストを最小にするためのトラヒックを決定するトラヒック決定機能14と、トラヒック決定機能14によって決定されたトラヒックを各ルータR1〜R7へ設定するための情報を通知する通知機能15とを含んで構成されている。
【0027】
このような構成からなるトラヒック分散制御装置1の動作について図3及び図4を参照して説明する。図3及び図4は、トラヒック分散制御装置1の動作を示すフローチャートである。
トラヒック分散制御装置1は、トラヒックの状況をネットワーク内のルータから監視する(ステップS200)。トラヒック分散制御装置1は、現在の経路がトラヒックに対応できるかどうかの判定を行う。その判定は、定期的に(つまり所定周期毎に)行っても良いし、所定量を越えるトラヒックがバースト的に流入してきた場合に開始しても良い。すなわち、所定周期が到来した場合、又はバースト的にトラヒックが流入してきた場合が、判定を行うトリガとなる(ステップS201)。このトリガに応答して、トラヒック分散制御装置1は、現在の経路がトラヒックに対応できるかどうかの判定を開始する(ステップS201→S202)。
【0028】
その判定においては、最初に、シンプレックス法の目的関数を設定する(ステップS203)。例えば、ネットワークリソース消費量(すなわちコスト)を最小化するような関数を、シンプレックス法の目的関数に設定する。
次に、制約条件を設定する(ステップS204)。例えば、リンク帯域に関する制約、流れるトラヒックに関する制約を、シンプレックス法の制約条件として設定する。さらに、シンプレックスの初期可能ベクトルを求めるための補助目的関数を設定する(ステップS205)。
【0029】
以上の設定が完了したら、まず補助目的関数と制約条件についてシンプレックス法を解く(ステップS206)。
補助目的関数が規定の条件を満たせば、図4に移り、得られたベクトルを初期可能ベクトルとして目的関数と制約条件についてシンプレックス法を解く(ステップS207→S301)。そして、トラヒック分散の仕方を表す最適可能ベクトルから、品質について複数のクラス(後述する)が存在していても、それらクラスに対応した、トラヒックの最適な分散が得られる(ステップS302)。この最適可能ベクトルをネットワークルータに通知し(ステップS303)、処理は終了となる。
【0030】
図3に戻り、ステップS207において、補助目的関数が規定の条件を満たさない場合、その状態でのベクトルからボトルネックリンクを特定する(ステップS207→S208)。そして、ボトルネックリンクを利用する経路についてのみ迂回経路を求める(ステップS209)。
迂回経路が存在しない場合、図4に移り、ネットワーク全体の帯域でもトラヒックには対応できない、ということになる(ステップS210→S304)。この状態が得られるベクトルから、この状態での最適トラヒック分散が得られる(ステップS305)。この場合、解無しである旨をネットワークルータに通知し(ステップS303)、処理は終了となる。
【0031】
図3に戻り、ステップS210において、迂回経路が存在する場合、経路群変数として追加し(ステップS210→S211)。そして、再度、目的関数・制約条件・補助目的関数の設定を行い(ステップS203、S204、S205)、シンプレックスを解く(ステップS206)。以下、再帰的に、上記の処理が繰返される。
【0032】
(トラヒック分散制御方法)
以上の動作を行うトラヒック分散制御装置においては、以下のようなトラヒック分散制御方法が実現されている。すなわち、ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、上記ネットワークにおけるトラヒックを分散させるように制御する方法であり、ネットワークを構成する各ルータ間のトラヒックと上記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が上記トラヒックに対応できるかどうかについての判定を行う判定ステップ(上記ステップS203〜S206に対応)と、上記判定ステップにより既存の経路が上記トラヒックに対応できないと判定されたとき上記既存の経路以外の迂回経路を探索する迂回経路探索ステップ(上記ステップS207〜S209に対応)と、を有し、上記迂回経路探索ステップによって探索された迂回経路を追加して上記判定ステップによる判定を更に行う(上記ステップS210、S211…に対応)ようにした、トラヒック分散制御方法が実現されている。また、上記判定ステップの判定結果に基づいて、上記ネットワークのリソースについての消費量を最小にするためのトラヒックを決定するトラヒック決定ステップ(上記ステップS301及びS302、ステップS304及びS305に対応)を更に含んでいる。以上のような方法によれば、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加でき、トラヒックを最適に分散できる。
【0033】
(各ルータにおける処理)
上述した通知機能14によって通知される情報に基づき、各ルータR1〜R7は経路情報を更新する。すなわち、図1中の各ルータR1〜R7内には、ネットワーク内の経路を示す経路情報が記憶されており、上記処理によって経路が追加された場合に通知機能14によって通知される情報に基づいて、各ルータR1〜R7は経路情報を追加する処理を行う。また、トラヒックに後述するクラスが存在する場合には、通知機能14によって通知される情報に基づいて、各ルータR1〜R7は各クラスと経路情報とを対応付ける処理を行う。
【0034】
(シンプレックス法)
ここで、シンプレックス法と、その特性からボトルネックリンクを発見する原理と、について述べる。
シンプレックス法は可能領域内で目的関数を最大(あるいは最小)にする最適可能ベクトルを求める手法である。まず、その解に至る具体的な過程を説明する。
シンプレックス法では可能領域の頂点に解が存在することが知られている。この可能領域の頂点のうち、目的関数を最大(あるいは最小)にするものを最適可能ベクトル、その他の頂点を可能ベクトルと呼ぶ。
【0035】
シンプレックス法はまず任意の可能ベクトルを求めることから始まる。可能ベクトルが求まれば、そこを始点に目的関数の勾配に従い他の可能ベクトルへの移動を繰返すことで最適可能ベクトルに到達する。逆に、可能ベクトルが存在しない場合、つまり可能領域が存在しない場合は解が存在しない。
図5(a)において、目的関数f=x+yを最大化する場合を考える。制約条件は、x、y≧0…(8)
−2x+4y≦32…(9)
7x−2y≦8…(10)
である。制約条件を全て満たす領域がシンプレックス(可能領域)である。これは、同図(a)中のx軸及びy軸と、直線S1及び直線S2に囲まれた領域Sである。なお、同図(a)において、直線S1は式(9)による直線、直線S2は式(10)による直線、である。
【0036】
シンプレックス法における演算の意味は、目的関数が増加する方向に頂点から頂点へと境界を進み、最適可能ベクトルに到達することである。この演算について、同図(b)を参照して説明する。同図(b)に示されているように、初期の可能ベクトル(x、y)=(0、0)から演算を開始する。同図(b)中の矢印Y11及びY12が目的関数の増加方向である。なお、同図(b)中には、原点Pを通るf=0の直線L1、領域Sの次の頂点を通るf=8の直線L2、直線S1と直線S2とが交差する点を通るf=12の直線L3、が示されている。
【0037】
同図(b)において、領域Sの境界に沿って、目的関数の増加方向に進むと、境界では矢印Y21方向に進んだ後、矢印Y22方向に進むことになる。この結果、最適可能ベクトル(x、y)=(4、10)が得られる。
ところで、初期の可能ベクトルを求めるためには、本来の目的関数以外に別の目的関数を定め(以下、補助目的関数と呼ぶ)、まずその補助目的関数についてシンプレックス法を解く。補助目的関数がある値(例えば0)になると、そのときの各変数の値が初期の可能ベクトルとなる。
【0038】
図6において、目的関数f=x+yを最大化する場合、制約条件は、
x、y≧0…(8)
−2x+4y≦32…(9)
7x−2y≦8…(10)
x≧7…(11)
である。同図(a)には、図5の場合と同じ領域Sの他に、領域S’が示されている。ここで、非負のスラック変数α、β、γを用いて、式(9)〜式(11)を等式に変形すると、
−2x+4y+α=32…(12)
7x−2y+β=8…(13)
x−γ=7…(14)
となる。さらに、人工変数z1、z2、z3と移項により、式(12)〜式(14)を変形すると、
z1=32+2x−4y−α…(15)
z2=8−7x+2y−β…(16)
z3=7−x+γ…(17)
となる。ここで、
f’=−z1−z2−z3=−47+5x+2y−α−β+γ…(18)
とおく。この式(18)が補助目的関数である。
【0039】
この補助目的関数は、式(8)のような非負条件以外の制約条件を、スラック変数により全て等式に変形した後、それぞれの制約条件に対し人工変数を設定し、その人工変数に−(マイナス)を掛けて合計した式である。
この補助目的関数について、同図(b)に示されているように解く。同図(b)中の矢印Y11’及びY12’が目的関数の増加方向である。なお、同図(b)中には、原点Pを通るf’=−47の直線L1’、領域S’の次の頂点を通るf’=−31の直線L2’、直線S1と直線S2とが交差する点を通るf’=−7の直線L3’、が示されている。
【0040】
ここで、式(15)〜式(17)は、式(12)〜式(14)や式(9)〜式(11)と同じ問題ではない。これらが同じ問題になるのは、z1、z2、z3が0になるときであるため、z1、z2、z3が全て0にならないと制約条件がそもそも満たされないことになる。このため、可能領域があり、可能ベクトルが存在する場合は必ず各z1、z2、z3は全て0になり、従って補助目的関数も0になるはずである。つまり、z1、z2、z3に値がある(0でない)と制約条件が変わることになる。
【0041】
補助目的関数についてシンプレックス法を解くとは、以下の処理を行うことである。すなわち、補助目的関数がある制約条件による超平面にぶつかった後、補助目的関数をその超平面上に射影し、勾配に沿ってその超平面を進む。そして、新しい制約条件による超平面にぶつかるとまた再度射影を行い、勾配に沿って進む。以上の処理を繰返す。
【0042】
同図(b)においては、領域Sの境界に沿って、目的関数の増加方向に進むと、境界では矢印Y21’方向に進んだ後、矢印Y22’方向に進むことになる。
そして、ある頂点にたどり着き、その先に領域が存在しないにもかかわらず、補助目的関数が0にならないとすると、解が存在しないということになる。この場合、可能ベクトルは存在しない。
【0043】
要するに、補助目的関数が規定の値0になれば初期可能ベクトルが存在し、補助目的関数が規定の値0にならなければ初期可能ベクトルは存在しない。本例の場合、補助目的関数が規定の値0にならず、目的関数の増加方向に領域が無い。したがって、解が存在しないことになる。
つまり、ある頂点にたどり着き、その先に領域が存在しないにもかかわらず補助目的関数が0にならない状態をもって解なしと判定される。この解なしが判定される直前にたどり着いた頂点は、そこに到達するまでの制約条件(超平面)は満たしている。この時点で得られる各変数の値を仮の可能ベクトルとする。
【0044】
この状態が意味するところは、各経路にはリンクの帯域内で流せるだけのトラヒックを流しているが、流すべきトラヒックはまだ存在するということである。つまり、リンクの帯域に対する制約条件と、流すべきトラヒック量に関する制約条件とがお互いに疎であるため可能領域が存在しないのである。したがって、この仮の可能ベクトルから、各経路にはどの程度のトラヒックが流れ、その結果どのリンクがボトルネックとなっているのか特定することができる。
【0045】
同図(a)に示されている場合、領域Sと領域S’とが互いに疎であるため、可能領域は存在しない。可能領域の存在有無については、制約条件が同図に示されているような2次元の場合は自明である。しかし、制約条件がより高次元の場合は存在有無の判定が困難である。
同図(b)に示されている状態は、仮の可能ベクトルに到達するまで、いくつかの制約条件に沿って進んでいるが、この先に進むべき領域が無い状態である。このような状態がネットワークにおいて意味することは、以下のようなことである。すなわち、各経路にはリンク帯域内で流せるだけのトラヒックを流しているが、流すべきトラヒックはまだ存在することを意味する。このため、仮の可能ベクトルの値を経路群変数の値とすると、ボトルネックリンクを決定することができる。
【0046】
そこで、このボトルネックを回避するように所定のアルゴリズムにより経路の再計算を行えば、このボトルネックリンクを利用していた経路についてのみ最適な迂回経路が求まり、その他の経路に影響を与えずにすむ。この経路の再計算には、例えばダイクストラ(Dijkstra)のアルゴリズム、べき乗法、ウォーシャル・フロイド(Warshall−Floyd)のアルゴリズム、を用いることができる。すなわち、各ルータ間のリンクコストに基づく最短経路を探索するアルゴリズムにより、迂回経路を探索する。
【0047】
(ダイクストラ)
ダイクストラは、ネットワーク内のノードとノードとの間で、コストが最小になる最短経路木を作成する手法である。各ノード間のリンクコストの合計が最小になる経路が最短経路木に記録される。ボトルネックリンクのコストを上昇させ、ダイクストラのアルゴリズムを用いて再計算を行うと、コストの高いリンクは最短経路として選択されなくなる。このため、迂回経路を求めることができる。
【0048】
ここで、ダイクストラを適用して迂回経路を求める手順の例について、図7を参照して説明する。同図(a)において、ルータ間の数字は、リンクコストを示している。すなわち、ルータR3とルータR6との間のみリンクコストが2であり、その他のルータ同士の間はリンクコストが1である。
ここで、ルータR1からルータR4までの最短経路をダイクストラによって探索する。この最短経路は、同図(b)に示されているように、ルータR2及びR3を経由する経路である。この経路のリンクコストは3である。
【0049】
この最短経路だけではトラヒックが流れない場合、ボトルネックリンクを発見し、そのリンクコストを上昇させる。すなわち、同図(c)に示されているように、ルータR2とルータR3との間のリンクコストを上昇させる。ここでは、ルータR2とルータR3との間のリンクコストを100に上昇させる。このようにリンクコストを上昇させた状態で、ダイクストラによって迂回経路を求める。この迂回経路は、同図(d)に示されているように、ルータR7、R6及びR5を順に経由する経路である。この経路のリンクコストは4である。
【0050】
これら2つの経路でもトラヒックが流れない場合、ボトルネックリンクを再度発見し、そのリンクコストを上昇させる。すなわち、同図(e)に示されているように、ルータR6とルータR5との間及びルータR5とルータR4との間のリンクコストを上昇させる。ここでは、ルータR6とルータR5との間及びルータR5とルータR4との間のリンクコストをそれぞれ100に上昇させる。このようにリンクコストを上昇させた状態で、ダイクストラによってさらに迂回経路を求める。この迂回経路は、同図(f)に示されているように、ルータR7、R6及びR3を順に経由する経路である。この経路のリンクコストは5である。
以上のように、ボトルネックリンクが発見された場合には、ダイクストラによって迂回経路を求める。そして、この求めた迂回経路を追加した状態で、更にシンプレックス法を適用する。
【0051】
(ウォーシャル・フロイド)
ウォーシャル・フロイドとは、拠点数を「n」、i番目の拠点の名称を「Li 」、拠点iと拠点jとの距離を「dij」とした場合に、次の手順により最短経路を決定する解法である。なお、「距離dij」とは、物理的な距離に限らず、コスト、時間等何らかの概念の距離であればよい。また、拠点iと拠点jとが接続されていない場合には、距離dij=∞となる。
【0052】
手順1: dij(0)=dij,pij=i(i,j=1,2,3,…n)、m=1とおく。
手順2: (a)dij(m)=min(dij(m−1),dim(m−1)+dmj(m−1)とする。(b)dij(m)<dij(m−1)である(i,j)に対して、pij=pmjとする。
手順3: m=nならば終了する。m<nならばmの値を1増やして手順2に戻る。ここで、dij(m)は、Li からLj への経路を示し、中間の通過点としてL1 ,L2 ,…Lm だけを許すものの中での最短距離である。m=nまで進んだときのdij(n)は、Li からLj への最短経路であり、pijは、Li からLj への最短経路におけるLjの直前の拠点の番号である。
【0053】
上述したダイクストラやウォーシャル・フロイドのアルゴリズムによって迂回経路として求められ、新たに加わる経路は、必要最低限なリンクである。このため、シンプレックスの変数の増加を防ぐことができる。この新しい経路の追加により経路全体の帯域が広がる。したがって、帯域に関する制約条件とトラヒック量に関する制約条件とが可能領域を持つまで経路の追加を繰返せば、変数の数が最も少なくかつ最適な経路の追加を行うことができる。
【0054】
もちろん補助目的関数が0になる場合は、そのとき得られるベクトルを初期の可能ベクトルとして、目的関数や制約条件からなる線形計画問題についてシンプレックス法を解くことで最適可能ベクトルが求まる。
次に、上述した経路群変数に対し、ネットワークコストをできるだけ抑えるようにトラヒックの分散を行う手法について説明する。
【0055】
上述したように、シンプレックス法は目的関数についての最大化・最小化を行う手法である。つまり、ネットワークリソースの消費量をネットワークのコストとして、この目的関数をネットワークリソースの消費量を最小に抑えるように設定すれば、解が存在するか判定できるとともに、解が存在する場合には最適可能ベクトルとして最適なトラヒックの流し方を得ることができる。
【0056】
各リンクが単位トラヒックあたりに消費するネットワークリソースが定まっているとすると、各経路は個々のリンクの集合であるので、各経路の消費するネットワークリソースは経路に含まれるリンクの消費するネットワークリソースの合計になる。
ここで、図8に示されているネットワークについて、ネットワークリソースの消費量を最低限に抑えるように目的関数を設定する場合を考える。なお、図8において、全てのリンクにおけるリソースの消費量は、1とする。
【0057】
まず、リンクLにおけるリソースの消費量をCL とする。すると、経路PiのコストCPiは利用するリンクコストの総和なので、
CPi= Σ CL …(16)
L ∈ Pi
である。経路を流れるトラヒックをxi とすると、目的関数fは、
i=1
f= Σ CPixi …(17)
i ≦ n
となる。つまり、目的関数fを最小にするxi はネットワークリソースの消費量を最小に抑えるトラヒックの流し方を表す。
【0058】
同図(a)を参照するとルータR1とルータR4との間には、経路a1 と経路a2 とが存在する。同図(b)を参照するとルータR2とルータR4との間には、経路b1 と経路b2 とが存在する。同図(c)を参照するとルータR7とルータR4との間には、経路c1 が存在する。
【0059】
同図(a)において、経路a1 のコストは、ルータR1とルータR2との間のリンク(以後、「Link(R1−R2)」等と略記する)、Link(R2−R3)のコストの合計である。したがって、1+1+1=3がコストとなる。また、経路a2 のコストは、Link(R1−R7)、Link(R7−R6)、Link(R6−R5)、Link(R5−R4)のコストの合計である。したがって、1+1+1+1=4がコストとなる。同図(b)中の経路b1 、b2 、同図(c)中の経路c1 についても、同様にコストを求めると、経路b1 のコストは2、経路b2 のコストは5、経路c1 のコストは3、となる。
【0060】
よって、このように求めた各経路についてのリソースの消費量と経路の流量との積をとった目的関数は、
f=3a1 +4a2 +2b1 +5b2 +3c1
となる。目的関数は各経路のトラヒック量を変数とした値になるが、経路のネットワークリソースの消費量を定数(本例では1)として設定すれば、ネットワークリソースの消費量を最小化することができる。
【0061】
【実施例】
以下、本発明の第1の実施例〜第3の実施例について、図9〜図12を参照して説明する。
(第1の実施例)
本実施例のネットワークのトポロジが図9(a)に示されている。同図(a)において、リンクの帯域は、ルータR2とルータR3との間のみ10Mbpsで、その他のルータ間は20Mbpsである。なお、各リンクが単位トラヒックあたりに消費するネットワークリソースは1とする。
【0062】
また、トラヒックは、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、それぞれ5Mbpsである。同図(b)、(c)、(d)に示されているように、現在利用されている経路はa1 、b1 、c1 である。目的関数を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件、補助目的関数を設定し、現在のリンクで対応できるかどうか判定を行う。
【0063】
同図(b)、(c)、(d)に示されている場合、目的関数f=3a1 +2b1 +3c1 について、シンプレックス法で解けば、可能ベクトル
(a1 、b1 、c1 )=(5、5、5)
が求まる。この状態では現在の経路のみで対応できるため、そのままトラヒックは転送される。
【0064】
次に、トラヒックが、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、それぞれ10Mbpsに増加した場合を考える。現在利用されている経路は、経路a1 、b1 、c1 のままである。
目的関数f=3a1 +2b1 +3c1 を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件、補助目的関数を設定する。そして、現在のリンクで対応できるかどうか、シンプレックス法による判定を行う。
【0065】
この状態では、仮の可能ベクトルは、
(a1 、b1 、c1 )=(10、0、10)
で補助目的関数が0にならず停止する。つまり、Link(R2−R3)に限界の10Mbpsが流れていることがわかり、この仮の可能ベクトルからLink(R2−R3)がボトルネックリンクであることがわかる。
【0066】
このボトルネックリンクであるLink(R2−R3)を回避するようにダイクストラにより次善経路の計算を行う。これにより、同図(e)、(f)、(g)に示されているように、迂回経路である新たな経路a2 及びb2 が追加される。この経路が追加された状態で、再度シンプレックス法による判定を行う。
つまり、目的関数
f=3a1 +4a2 +2b1 +5b2 +3c1
についてシンプレックス法を解くと、対応できることがわかり、可能ベクトル
(a1 、a2 、b1 、b2 、c1 )=(0、10、10、0、10)
が求まる。
【0067】
(第2の実施例)
本実施例のネットワークのトポロジが図10(a)に示されている。同図(a)において、リンクの帯域は、ルータR2とルータR3との間のみ10Mbpsで、その他のルータ間は20Mbpsである。なお、各リンクが単位トラヒックあたりに消費するネットワークリソースは1とする。
【0068】
本実施例では、トラヒックには、優先度を示す2つのクラス(class)が存在するものとする。すなわち、クラスAとクラスBとが存在する。そして、それらクラスの優先度は、クラスA>クラスBである。
また、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、各クラスA、クラスBのトラヒックがそれぞれ5Mbpsである。同図(b)、(c)、(d)に示されているように、現在利用されている経路はa1 、b1 、c1 である。目的関数を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件を設定する。
【0069】
ここで、クラスAのトラヒックは最短経路で送るという品質要求があると、それを表す条件としてa1 ≧5、b1 ≧5、c1 ≧5が加わる。この式は最短経路にクラスA以上のトラヒックが流れることを表している。これらの制約条件から補助目的関数を設定し、現在のリンクで対応できるかどうか判定を行う。
同図(b)、(c)、(d)に示されている場合、目的関数
f=3a1 +2b1 +3c1
について、シンプレックス法で解けば、仮の可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で解無しとなる。
【0070】
この状態では、仮の可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R2−R3)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。この結果、同図(e)、(f)、(g)に示されている、新たなa2 、b2 が得られ、これらを目的関数の変数として追加する。
【0071】
この変数が追加された目的関数
f=3a1 +4a2 +2b1 +5b2 +3c1
について、品質要求を考慮した式a1 ≧5、b1 ≧5、c1 ≧5を加え、再度シンプレックス法による判定を行う。すると対応できることがわかり、品質要求を満たした最適解としての可能ベクトル
(a1 、a2 、b1 、b2 、c1 )=(5、5、5、5、10)
が求まる。
【0072】
(第3の実施例)
本実施例のネットワークのトポロジが図11(a)に示されている。同図(a)において、リンクの帯域は、ルータR2とルータR3との間のみ10Mbpsで、その他のルータ間は20Mbpsである。なお、各リンクが単位トラヒックあたりに消費するネットワークリソースは1とする。
【0073】
本実施例では、トラヒックに、3つのクラスが存在するものとする。すなわち、クラスAとクラスBとクラスCとが存在する。そして、それらクラスの優先度は、クラスA>クラスB>クラスCである。
また、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、各クラスA、クラスB、クラスCのトラヒックがそれぞれ5Mbpsである。同図(b)、(c)、(d)に示されているように、現在利用されている経路はa1 、b1 、c1 である。目的関数を、ネットワークリソースの消費量を最小化するように設定し、リンクに対する制約条件、トラヒック量に対する制約条件を設定する。
【0074】
ここで、クラスAのトラヒックは最短経路で送るという品質要求があると、それを表す条件としてa1 ≧5、b1 ≧5、c1 ≧5が加わる。この式は最短経路にクラスA以上のトラヒックが流れることを表している。これらの制約条件から補助目的関数を設定し、現在のリンクで対応できるかどうか判定を行う。
同図(b)、(c)、(d)に示されている場合、目的関数
f=3a1 +2b1 +3c1
について、シンプレックス法で解けば、仮の可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で解無しとなる。
【0075】
この状態では、可能ベクトルは、
(a1 、b1 、c1 )=(5、5、10)
で補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R2−R3)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。この結果、同図(e)、(f)、(g)に示されている、新たな経路a2 、b2 が得られ、これらを目的関数の変数として追加する。
【0076】
この変数が追加された目的関数
f=3a1 +4a2 +2b1 +5b2 +3c1
について、品質要求を考慮した式a1 ≧5、b1 ≧5、c1 ≧5を加え、再度シンプレックス法による判定を行う。すると、この状態でも仮の可能ベクトル
(a1 、a2 、b1 、b2 、c1 )=(5、5、5、5、10)
で解無しとなる。
【0077】
この状態では、仮の可能ベクトルは、
(a1 、a2 、b1 、b2 、c1 )=(5、5、5、5、10)
で補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R6−R5)、及び、Link(R5−R4)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。この結果、図12(a)、(b)、(c)に示されている、新たな経路a3 、b3 、c2 が得られ、これらを目的関数の変数を追加する。
【0078】
上記の変数が追加された目的関数
f=3a1 +4a2 +4a3 +2b1 +5b2 +5b3 +3c1 +3c2
について、品質要求を考慮した式a1 ≧5、b1 ≧5、c1 ≧5を加え、再度シンプレックス法による判定を行う。すると迂回経路を追加した状態で対応できることがわかり、品質要求を満たした最適解としての可能ベクトル
(a1 、a2 、a3 、b1 、b2 、b3 、c1 、c2 )=(5、5、5、5、5、5、10、5)
が求まる。
【0079】
経路は最短経路から2番目の経路、3番目の経路の3種類が存在することになり、優先度の高いトラヒックから順によい経路に割り当てられていく。つまり、ルータR1からルータR4までの間、及び、ルータR2からルータR4までの間については、クラスAは最短経路に、クラスBは2番目に短い経路に、クラスCは3番目に短い経路に、それぞれ割り当てられる。
【0080】
また、ルータR7からルータR4までの間については、クラスA及びクラスBは最短経路に、クラスCは2番目に短い経路に、それぞれ割り当てられる。
次に、トラヒックが、ルータR1とルータR4との間、ルータR2とルータR4との間、ルータR7とルータR4との間で、それぞれ10Mbpsに増加した場合を考える。
【0081】
目的関数
f=3a1 +4a2 +4a3 +2b1 +5b2 +5b3 +3c1 +3c2
について、品質要求を考慮して再度シンプレックス法による判定を行う。この状態では、可能ベクトルは、
(a1 、a2 、a3 、b1 、b2 、b3 、c1 、c2 )=(5、5、5、5、5、5、10、5)
で解無しとなり、補助目的関数が0にならず停止する。この仮の可能ベクトルからLink(R3−R4)がボトルネックリンクであることがわかる。
このボトルネックリンクを回避するようにダイクストラにより次善経路の計算を行い、迂回経路を求める。しかしながら、新たな経路はもう存在しない。つまり、ネットワークにこれ以上経路の追加ができないことになり、真の解無しとなる。
【0082】
経路を追加できないので、仮の可能ベクトル
(a1 、a2 、a3 、b1 、b2 、b3 、c1 、c2 )=(5、5、5、5、5、5、10、5)
でトラヒックを流すことになる。ここで、例えば、周知のDiffServ(Differentiated Services)等を組み合わせれば、優先度の低いトラヒックのみを破棄することができる。本例では、優先度の低いクラスCだけを破棄することができる。
【0083】
(変形例)
上記第3の実施例においては、優先度の高いクラスから良い経路を割り当てるといった各経路流量に対するクラス毎の対応アルゴリズムを記したが、例えば優先度の高いトラヒックがお互い干渉しないように流す、帯域を必要とするトラヒックはその帯域要求を満たす経路に流す、などの設定によって、アルゴリズムは異なるものとなる。
【0084】
また、一般に大規模ネットワークはエリア分けされており、各エリアをまたぐルータは限られている。そのため、エリア毎に本発明を適用すればスケラービリティも満たすことができる。
さらにまた、ボトルネックリンクの発見の際、厳密に使用率が100%のリンクだけでなく、例えばリンク使用率70%以上をボトルネックリンクとしても良い。こうすることで、1回に追加される変数は増えるが、再帰の数を減らすことができる。
【0085】
上記の説明では、各リンクのネットワークリソースの消費量を定数としているが、定数でない場合もある。例えば、キューイングの遅延はキューの利用率に応じて指数的に増加するため、ネットワークリソースの消費量もリンクの利用率に対して変更する場合もある。
また、目的関数はネットワークリソースの消費量だけでなく、その他のネットワークコストを最小、すなわち、例えば遅延を最小にするように設定したりホップ数を基に設定したりという場合も考えられる。
【0086】
遅延を最小にする場合、各経路変数の係数が各リンク遅延の合計になる。
図13(a)に示されているネットワークにおいて、ルータR1〜R7において、ルータR1とルータR7との間のリンク、ルータR7とルータR6との間のリンク、ルータR6とルータR3との間のリンク、それぞれの遅延が10Mbps、その他の各ルータ間のリンクそれぞれの遅延が5Mbps、である場合を考える。
【0087】
同図(b)、同図(c)、同図(d)に示されている、経路a1 、b1 、c1 、については、遅延に基づく目的関数は、次のようになる。すなわち、
a1 の係数=5+5+5=15
b1 の係数=5+5=10
c1 の係数=10+5+5=20
である。よって、目的関数は、
f=15a1 +10b1 +20c1
となる。この目的関数について、上記実施例の場合と同様に、シンプレックスを適用すれば良い。その場合、ボトルネックリンクは、ダイクストラ等によって回避できる。
【0088】
一方、同図(b)、同図(c)、同図(d)に示されている、経路a1 、b1 、c1 、については、ホップ数に基づく目的関数は、次のようになる。すなわち、隣接するルータ同士間のホップ数は1なので、
a1 の係数=1+1+1=3
b1 の係数=1+1=2
c1 の係数=1+1+1=3
である。よって、目的関数は、
f=3a1 +2b1 +3c1
となる。この目的関数について、上記実施例の場合と同様に、シンプレックスを適用すれば良い。その場合、ボトルネックリンクは、上述したダイクストラ等のアルゴリズムによって回避できる。
【0089】
【発明の効果】
以上説明したように本発明は、シンプレックス法による最適解が存在しない場合に、ボトルネックリンクを発見して迂回経路の追加を行って更にシンプレックス法を適用することにより、トラヒックが現在の経路で収容できるかどうかを判定できると共に、収容できない場合には、必要経路のみを追加することができ、ネットワークリソース消費量・遅延・ホップ数といったネットワークコストに基づく目的関数の設定により、各経路へのトラヒックの分布も最適にすることができるという効果がある。
【図面の簡単な説明】
【図1】本発明によるトラヒック分散制御装置を含むネットワーク全体の構成例を示すブロック図である。
【図2】図1中のトラヒック分散制御装置の構成を示すブロック図である。
【図3】図1中のトラヒック分散制御装置の動作を示すフローチャートである。
【図4】図1中のトラヒック分散制御装置の動作を示すフローチャートである。
【図5】シンプレックス法の適用例の概略を示す図である。
【図6】シンプレックス法の他の適用例の概略を示す図である。
【図7】ダイクストラを適用して迂回経路を求める手順の例を示す図である。
【図8】ネットワークリソースの消費量を最低限に抑えるように目的関数を設定する場合を説明する図である。
【図9】本発明の第1の実施例を示す図である。
【図10】本発明の第2の実施例を示す図である。
【図11】本発明の第3の実施例を示す図である。
【図12】本発明の第3の実施例を示す図である。
【図13】目的関数を、遅延を最小にするように設定したりホップ数を基に設定したりする場合を説明する図である。
【図14】現在の経路がトラヒックに対して十分であるか判定する従来の手法を説明する図である。
【符号の説明】
1 トラヒック分散制御装置
11 監視機能
12 判定機能
13 迂回経路探索機能
14 トラヒック決定機能
15 通知機能
R1〜R7 ルータ
Claims (9)
- ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、前記ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御装置であって、
ネットワークを構成する各ルータ間のトラヒックと前記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が前記トラヒックに対応できるかどうかについての判定を行う判定手段と、
前記判定手段により既存の経路が前記トラヒックに対応できないと判定されたとき前記既存の経路以外の迂回経路を探索する迂回経路探索手段と、
を有し、前記迂回経路探索手段によって探索された迂回経路を追加して前記判定手段による判定を更に行うようにしたことを特徴とするトラヒック分散制御装置。 - 前記判定手段は、前記制約条件から定まる補助目的関数について前記シンプレックス法を適用することにより、要求されているトラヒックに対応できない原因となるボトルネックリンクを発見し、
前記迂回経路探索手段は、前記ボトルネックリンクを迂回するための前記迂回経路を探索することを特徴とする請求項1記載のトラヒック分散制御装置。 - 前記迂回経路探索手段は、前記各ルータ間のリンクコストに基づく最短経路を探索するアルゴリズムにより、前記迂回経路を探索することを特徴とする請求項1又は2記載のトラヒック分散制御装置。
- 前記判定手段は、所定周期毎に前記判定を行うことを特徴とする請求項1乃至3のいずれか1項に記載のトラヒック分散制御装置。
- 前記判定手段は、前記ネットワークを構成するルータそれぞれのトラヒック状況の監視結果に応じて前記判定を行うことを特徴とする請求項1乃至3のいずれか1項に記載のトラヒック分散制御装置。
- 前記判定手段の判定結果に基づいて、前記ネットワークのコストを最小にするためのトラヒックを決定するトラヒック決定手段を更に含むことを特徴とする請求項1乃至5のいずれか1項に記載のトラヒック分散制御装置。
- トラヒック決定手段による決定においては、優先度を示す複数のクラスが前記トラヒックに存在する場合、前記クラスに応じてトラヒックを決定することを特徴とする請求項1乃至6のいずれか1項に記載のトラヒック分散制御装置。
- ネットワークを構成するルータによって実現されている既存の経路が、要求されているトラヒックに対応できるかどうかの判定を行うことにより、前記ネットワークにおけるトラヒックを分散させるように制御するトラヒック分散制御方法であって、
ネットワークを構成する各ルータ間のトラヒックと前記ネットワークの経路に関する情報とを含む目的関数や制約条件からなる線形計画問題についてシンプレックス法を適用することにより、既存の経路が前記トラヒックに対応できるかどうかについての判定を行う判定ステップと、
前記判定ステップにより既存の経路が前記トラヒックに対応できないと判定されたとき前記既存の経路以外の迂回経路を探索する迂回経路探索ステップと、
を有し、前記迂回経路探索ステップによって探索された迂回経路を追加して前記判定ステップによる判定を更に行うようにしたことを特徴とするトラヒック分散制御方法。 - 前記判定ステップの判定結果に基づいて、前記ネットワークのリソースについての消費量を最小にするためのトラヒックを決定するトラヒック決定ステップを更に含むことを特徴とする請求項8記載のトラヒック分散制御方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003126602A JP2004336209A (ja) | 2003-05-01 | 2003-05-01 | トラヒック分散制御装置、トラヒック分散制御方法 |
US10/832,235 US20050007949A1 (en) | 2003-05-01 | 2004-04-27 | Traffic distribution control apparatus and method |
CNB2004100366673A CN1309222C (zh) | 2003-05-01 | 2004-04-29 | 通信量分布控制装置和方法 |
EP20040010287 EP1473894B1 (en) | 2003-05-01 | 2004-04-30 | Traffic distribution control apparatus and method |
DE200460010864 DE602004010864T2 (de) | 2003-05-01 | 2004-04-30 | Gerät und Verfahren zur Verkehrsverteilungssteuerung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003126602A JP2004336209A (ja) | 2003-05-01 | 2003-05-01 | トラヒック分散制御装置、トラヒック分散制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004336209A true JP2004336209A (ja) | 2004-11-25 |
Family
ID=32985603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003126602A Pending JP2004336209A (ja) | 2003-05-01 | 2003-05-01 | トラヒック分散制御装置、トラヒック分散制御方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20050007949A1 (ja) |
EP (1) | EP1473894B1 (ja) |
JP (1) | JP2004336209A (ja) |
CN (1) | CN1309222C (ja) |
DE (1) | DE602004010864T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010147826A (ja) * | 2008-12-19 | 2010-07-01 | Univ Of Electro-Communications | 制御装置および制御方法、ノードおよび送信方法 |
JPWO2021001873A1 (ja) * | 2019-07-01 | 2021-01-07 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BRPI0511629A (pt) * | 2004-05-28 | 2008-01-02 | Cargill Inc | composição alimentar e método para aumentar produção de leite em um ruminante |
US20060008546A1 (en) * | 2004-05-28 | 2006-01-12 | Cargill, Incorporated | Organisms with enhanced histidine biosynthesis and their use in animal feeds |
US7664037B2 (en) * | 2005-01-04 | 2010-02-16 | Intel Corporation | Multichannel mesh network, multichannel mesh router and methods for routing using bottleneck channel identifiers |
US7471633B2 (en) | 2005-01-04 | 2008-12-30 | Intel Corporation | Multichannel, mesh router and methods for path selection in a multichannel mesh network |
US7697459B2 (en) * | 2005-01-05 | 2010-04-13 | Intel Corporation | Methods and apparatus for identifying a distance-vector route associated with a wireless mesh network |
US8045463B2 (en) * | 2008-07-30 | 2011-10-25 | Microsoft Corporation | Path estimation in a wireless mesh network |
IL216313A0 (en) | 2011-11-10 | 2012-02-29 | Google Inc | Method for allocating resources of a network among a plurality of traffic demands and a network using such method |
US10261690B1 (en) * | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404451A (en) * | 1990-02-06 | 1995-04-04 | Nemirovsky; Paul | System for identifying candidate link, determining underutilized link, evaluating addition of candidate link and removing of underutilized link to reduce network cost |
JPH08195745A (ja) * | 1995-01-13 | 1996-07-30 | Fujitsu Ltd | パス切替装置およびパス切替方法 |
US6141319A (en) * | 1996-04-10 | 2000-10-31 | Nec Usa, Inc. | Link based alternative routing scheme for network restoration under failure |
US6400681B1 (en) * | 1996-06-20 | 2002-06-04 | Cisco Technology, Inc. | Method and system for minimizing the connection set up time in high speed packet switching networks |
CN1157986C (zh) * | 1997-08-22 | 2004-07-14 | 北方电讯有限公司 | 基于分组的电信系统和其节点、触发数据重新选择路由和旁路故障的方法 |
US6151304A (en) * | 1997-10-29 | 2000-11-21 | Lucent Technologies Inc. | Distributed precomputation of network signal paths with improved performance through parallelization |
US6032194A (en) * | 1997-12-24 | 2000-02-29 | Cisco Technology, Inc. | Method and apparatus for rapidly reconfiguring computer networks |
US7430164B2 (en) * | 1998-05-04 | 2008-09-30 | Hewlett-Packard Development Company, L.P. | Path recovery on failure in load balancing switch protocols |
DE19833931C2 (de) * | 1998-07-28 | 2000-06-15 | Siemens Ag | Verfahren zum Übermitteln von Datenpaketen an mehrere Empfänger in einem heterogenen Kommunikationsnetz |
US6498778B1 (en) * | 1998-12-17 | 2002-12-24 | At&T Corp. | Optimizing restoration capacity |
US6714549B1 (en) * | 1998-12-23 | 2004-03-30 | Worldcom, Inc. | High resiliency network infrastructure |
JP4150159B2 (ja) * | 2000-03-01 | 2008-09-17 | 富士通株式会社 | 伝送経路制御装置及び伝送経路制御方法並びに伝送経路制御プログラムを記録した媒体 |
JP2001326689A (ja) * | 2000-03-06 | 2001-11-22 | Fujitsu Ltd | 回線復旧方式およびパケット転送装置 |
US6996065B2 (en) * | 2000-07-06 | 2006-02-07 | Lucent Technologies Inc. | Dynamic backup routing of network tunnel paths for local restoration in a packet network |
US7158486B2 (en) * | 2001-03-12 | 2007-01-02 | Opcoast Llc | Method and system for fast computation of routes under multiple network states with communication continuation |
JP3700596B2 (ja) * | 2001-03-14 | 2005-09-28 | 日本電気株式会社 | 通信ネットワーク及びパス設定方法並びにパス設定用プログラム |
JP4145025B2 (ja) * | 2001-05-17 | 2008-09-03 | 富士通株式会社 | 予備パスの設定方法および装置 |
US7756041B2 (en) * | 2001-06-14 | 2010-07-13 | Meshnetworks, Inc. | Embedded routing algorithms under the internet protocol routing layer of a software architecture protocol stack in a mobile Ad-Hoc network |
AU2002351589A1 (en) * | 2001-06-27 | 2003-03-03 | Brilliant Optical Networks | Distributed information management schemes for dynamic allocation and de-allocation of bandwidth |
US8675493B2 (en) * | 2002-07-02 | 2014-03-18 | Alcatel Lucent | Routing bandwidth guaranteed paths with local restoration in label switched networks |
-
2003
- 2003-05-01 JP JP2003126602A patent/JP2004336209A/ja active Pending
-
2004
- 2004-04-27 US US10/832,235 patent/US20050007949A1/en not_active Abandoned
- 2004-04-29 CN CNB2004100366673A patent/CN1309222C/zh not_active Expired - Fee Related
- 2004-04-30 DE DE200460010864 patent/DE602004010864T2/de not_active Expired - Lifetime
- 2004-04-30 EP EP20040010287 patent/EP1473894B1/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010147826A (ja) * | 2008-12-19 | 2010-07-01 | Univ Of Electro-Communications | 制御装置および制御方法、ノードおよび送信方法 |
JPWO2021001873A1 (ja) * | 2019-07-01 | 2021-01-07 | ||
WO2021001873A1 (ja) * | 2019-07-01 | 2021-01-07 | 日本電信電話株式会社 | 経路制御装置、経路制御方法、プログラム、および、ネットワークシステム |
JP7322951B2 (ja) | 2019-07-01 | 2023-08-08 | 日本電信電話株式会社 | 経路制御装置、経路制御方法、プログラム、および、ネットワークシステム |
Also Published As
Publication number | Publication date |
---|---|
CN1543141A (zh) | 2004-11-03 |
DE602004010864T2 (de) | 2009-01-02 |
EP1473894A3 (en) | 2006-04-26 |
DE602004010864D1 (de) | 2008-02-07 |
EP1473894B1 (en) | 2007-12-26 |
EP1473894A2 (en) | 2004-11-03 |
CN1309222C (zh) | 2007-04-04 |
US20050007949A1 (en) | 2005-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9647949B2 (en) | Systems and methods for network transmission of big data | |
US8259736B2 (en) | Selecting a path through a network | |
US6363319B1 (en) | Constraint-based route selection using biased cost | |
JP4606333B2 (ja) | ルーティング制御方法 | |
EP3318008B1 (en) | Negotiating quality of service for data flows | |
EP3318027B1 (en) | Quality of service management in a network | |
CN107454019B (zh) | 软件定义网络动态带宽分配方法、装置、设备及存储介质 | |
JP2006109454A (ja) | 電気通信ネットワークにおける経路選択方法及び装置 | |
JP2004236198A (ja) | 伝送帯域制御装置 | |
US20070076615A1 (en) | Non-Blocking Destination-Based Routing Networks | |
JP2005217838A (ja) | ネットワーク制御装置およびそのパス制御方法 | |
JP2004336209A (ja) | トラヒック分散制御装置、トラヒック分散制御方法 | |
JP2012199644A (ja) | 仮想ネットワーク管理システム、仮想ネットワーク管理方法および仮想ネットワーク管理用プログラム | |
JP2006074600A (ja) | 遅延保証パス設定システム | |
JP2009038717A (ja) | オーバーレイネットワークにおける通信経路決定方法とオーバーレイノードおよびオーバーレイネットワークとプログラム | |
JP4553314B2 (ja) | オーバーレイネットワークにおける通信経路決定方法および通信経路決定システム | |
CN115277572B (zh) | 一种多源点多汇点网络的拥塞控制方法及系统 | |
JP2002359634A (ja) | 通信経路設計方法、通信経路設計装置及びプログラム | |
JP4852568B2 (ja) | オーバーレイネットワーク通信経路決定方法とシステムおよびプログラム | |
JP5238793B2 (ja) | 通信管理装置、通信管理方法 | |
JP4200522B2 (ja) | リソース算出装置およびリソース算出方法 | |
JP2007072801A (ja) | 分散処理システム、車載端末、及び分散処理システムにおける管理ノード決定方法 | |
CN112217737A (zh) | 一种基于业务优先级的机会网络资源动态分配方法 | |
JP4678689B2 (ja) | ドメイン間パスの品質クラス割当方法、プログラムおよびその記憶媒体 | |
JP5506640B2 (ja) | コンテンツ配信方法及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080708 |