Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2019026684) DISPOSITIF DE RÉGLAGE D'ITINÉRAIRE ET PROCÉDÉ DE COMMANDE D'ITINÉRAIRE
Document

明 細 書

発明の名称 経路制御方法及び経路設定装置

技術分野

0001  

背景技術

0002   0003   0004  

先行技術文献

非特許文献

0005  

発明の概要

発明が解決しようとする課題

0006  

課題を解決するための手段

0007   0008   0009   0010   0011   0012   0013  

発明の効果

0014  

図面の簡単な説明

0015  

発明を実施するための形態

0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033  

符号の説明

0034  

請求の範囲

1   2   3   4   5   6  

図面

1   2   3   4   5   6  

明 細 書

発明の名称 : 経路制御方法及び経路設定装置

技術分野

[0001]
 本開示は、宛先に向けてパケットを転送するだけではなく、TE(Traffic Engineering)などの高度な目的を持つ通信ネットワークにおける経路制御方法及び経路設定装置に関する。

背景技術

[0002]
 従来技術(例えば非特許文献1-3を参照。)では、OSPF(Open Shortest Path First)等の既存の経路制御方法を事前に学習し、その動作を模倣することを目的としていた。
[0003]
 この従来技術では、パスの設定制御に機械学習を応用する。機械学習は、近年、注目されているディープニューラルネットワーク等の技術を示している。本明細書では、機械学習を次のように定義する。引数(あるいは入力)xiと、戻り値(あるいは出力)yiのペアがいくつか与えられているとする(iは任意の自然数)。このとき、yi=f(xi)となる関数fを構成する。ここで、fの実体を学習器と呼ぶ。学習器は、教師データと呼ばれる入出力ペアX=(x0,x1,・・・)とY=(y0,y1,・・・)を与えられると、それらを用いて関数fを自動的に学習する(訓練するとも言う)。学習後、学習器は、教師データに含まれないx’に対しても、もっともらしいy’=f(x’)を予測できるようになる。
[0004]
 従来技術は、既存の経路制御方法を用いてあらかじめ教師データを作成していた。既存の経路制御方法は、各ルータへの到着パケット数を与えられると、ルータ間で制御メッセージを交換しながら、各パケットのパスを決定する。従来技術は、トラフィック情報をxi、宛先ごとのパスをyiとする教師データを用い、それらの対応を表す関数fを学習する。あらかじめ作成した教師データに近いトラフィックが発生すれば、既存の経路制御方法を模倣し、適切なパスを決定できた。しかし、教師データからかけ離れたトラフィックに対しては、不適切なパスを選択し、輻輳を引き起こすリスクがあった。

先行技術文献

非特許文献

[0005]
非特許文献1 : N. Kato, Z. M. Fadlullah, B. Mao, F. Tang, O. Akashi, T. Inoue,andK. Mizutani, “The Deep Learning Vision for Heterogeneous Net-work Traffic Control.Proposal, Challenges, and Future Perspec-tive”, in IEEE Wireless Communications (WCM), available online,doi:10.1109/MWC.2016.1600317WC.
非特許文献2 : Z. Fadlullah, F. Tang, B. Mao, N. Kato, O. Akashi, T. Inoue, andK. Mizutani, “State-of-the-Art Deep Learning.Evolving MachineIntelligence Toward Tomorrows Intelligent Network Traffic ControlSystems”, in IEEE Communications Surveys and Tutorials , vol.PP,no.99, pp.1-1, doi.10.1109/COMST.2017.2707140
非特許文献3 : B. Mao, Z. M. Fadlullah, F. Tang, N. Kato, O. Akashi, T. Inoue,and K. Mizutani, “Routing or Computing? The Paradigm Shift To-wardsIntelligent Computer Network Packet Transmission Based onDeep Learning”, IEEE Transactions on Computers, available online,doi.10.1109/TC.2017.2709742.7

発明の概要

発明が解決しようとする課題

[0006]
 そのため、偶発的に発生する輻輳箇所を回避するようなパスの設定が困難という課題があった。そこで、本発明は、上記課題を解決するために、OSPF等の既存の経路制御技術を必要とせず、偶発的に発生する輻輳箇所をリアルタイムにて予測し回避できる経路制御方法及び経路設定装置を提供することを目的とする。

課題を解決するための手段

[0007]
 上記目的を達成するために、本発明に係る経路制御方法及び経路設定装置は、リアルタイムに機械学習を実行することとした。
[0008]
 具体的には、本発明に係る経路制御方法は、
 通信ネットワークの各ルータに対してパスを設定し、前記パス毎に学習器を用意する前処理手順と、
 全ての前記ルータのトラフィック情報、及び現在パケットを転送しているパスの輻輳情報を収集するとともに、前記前処理手順で設定したパス毎の過去の前記トラフィック情報と前記輻輳情報の蓄積に追加し、前記蓄積を教師データとしてパス毎に機械学習を行う訓練手順と、
 与えられた前記トラフィック情報に対し、前記訓練手順で行った前記機械学習の結果に基づく輻輳予測のうち、輻輳しないと予測される1つのパスを前記ルータに設定する予測手順と、
を行う。
[0009]
 また、本発明に係る経路設定装置は、
 通信ネットワークの各ルータに対して設定されたパス毎に用意される学習器と、
 全ての前記ルータのトラフィック情報、及び現在パケットを転送しているパスの輻輳情報を収集するとともに、前記設定されたパス毎の過去の前記トラフィック情報と前記輻輳情報の蓄積に追加し、前記蓄積を教師データとしてそれぞれの前記学習器の訓練を行う訓練器と、
 全ての前記学習器に前記トラフィック情報を与え、前記学習器が出力する輻輳予測のうち、輻輳しないと予測される1つのパスを前記ルータに設定するパス予測設定を行う予測器と、
を備える。
[0010]
 本経路制御方法及び本経路設定装置は、パス毎に学習器を用意し、各ルータへの到着パケット数、各ルータの平均キュー長、各リンクでのパケット廃棄率その他のトラフィック情報をX、伝送遅延時間、伝送遅延の閾値判断その他のパスの輻輳情報をYとする。従来技術ではYを宛先ごとのパスとしていたことに対し、本発明ではYをパスの輻輳情報としていることが異なる。本経路制御方法及び本経路設定装置は、リアルタイムにX、Yを収集しながら学習器を訓練するとともに、新たなトラフィック情報x’に対してパスの輻輳状態y’を予測する。そして、本経路制御方法及び本経路設定装置は、現在利用しているパスが輻輳している、あるいは輻輳すると予想されれば、輻輳が予測されていないパスに切り替える。
[0011]
 このように、本経路制御方法及び本経路設定装置は、学習器が関数形を最適化していくので偶発的にパスに輻輳が発生してもすぐに代替パスへ切り換えることができる。従って、本発明は、OSPF等の既存の経路制御技術を必要とせず、偶発的に発生する輻輳箇所をリアルタイムにて予測し回避できる経路制御方法及び経路設定装置を提供することができる。
[0012]
 本発明に係る経路制御方法は、前記前処理手順後、設定したパスの内、最短のパスを選択して前記訓練手順を開始し、所定時間、前記訓練手順と前記予測手順を繰り返すことを特徴とする。機械学習の初期段階では、学習器の関数形を形成するために、まず、最短パスにトラフィックを転送して教師データを収集する。そして、その結果に応じて様々なパスに切り換えてトラフィックを転送してさらに教師データを収集する。このように訓練手順と予測手順を繰り返すことで学習器の関数形を形成していく。
[0013]
 本発明に係る経路制御方法は、前記所定時間、予め設定された確率で前記予測手順で輻輳しないと予測される1つのパス以外のパスを前記ルータに設定することを特徴とする。特定のパス群にトラフィックが集中するとネットワークの全体的な情報が収集できないので、適宜、予測手順で予測されるパス以外のパスにもトラフィックを転送するとよい。

発明の効果

[0014]
 本発明は、OSPF等の既存の経路制御技術を必要とせず、偶発的に発生する輻輳箇所をリアルタイムにて予測し回避できる経路制御方法及び経路設定装置を提供することができる。

図面の簡単な説明

[0015]
[図1] 本発明に係る経路設定装置の学習器に入力する情報を説明する図である。
[図2] 本発明に係る経路設定装置が行う経路制御を説明する図である。
[図3] 本発明に係る経路制御方法を説明する図である。
[図4] 本発明に係る経路設定装置を説明するブロック図である。
[図5] 本発明に係る経路設定装置で使用するトラフィック情報を説明する図である。
[図6] 本発明に係る経路設定装置での学習効果を説明する図である。

発明を実施するための形態

[0016]
 添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施例であり、本発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
[0017]
[本発明の概要]
 本実施形態の経路制御方法及び経路設定装置は、リアルタイムに機械学習を実行する。輻輳予測をパス毎に行うため、パスごとに学習器を用意する。また、始点と終点のペアごとに経路設定装置を用意し、始点と終点を同じくする学習器はその経路設定装置によって管理される。経路設定装置たちは、一カ所にまとめて設置してもよいし、始点ルータごとに設置してもよい。
[0018]
 ここで,ある特定のパスについて,学習器の訓練と予測を説明する.学習器への入力Xとして3次元ベクトル(C,T,R)にて表現するネットワーク(NW)の時系列データを利用する。 C(=c ,c ,・・・,c M-1)は、NWの状態ベクトルであり、MはNWの状態ベクトルの種別数を表す。状態ベクトルの要素として、ルータのキュー長、パケットの到着数、パケット廃棄率その他のトラフィック情報が該当する。
 T(=t 0,t -1,・・・,t 1-H)は、NWの状態を観測するHスロットの時刻からなるベクトルであり、t 0は、最新(現在)のNWの状態を示している。
 R(=r ,r ,・・・,r ,・・・,r N-1)は、NW内のルータの集合を表しており、N台のルータによって構成されているNWを表現している。
[0019]
 図1のc は、パケット到着数を、各ルータ(r ,r ,・・・)について時刻ごと(t ,t -1,・・・)に行列形式で表現している。図1のc M-1も同様に、キュー長を行列形式で表現している。すべての状態種について同じ行(時刻t )を束ねたものをx とし、すべての行を束ねたものをX=(x ,x -1,・・・)とする。x は最新の引数であり、x -1、x -2、・・・は過去の引数である。
[0020]
 また、図1の「輻輳状態」は、各時刻t において観測した当該特定のパスの輻輳状態y である。例えば、設定されているパスの遅延時間が、予め設定した閾値を超えるか否かによって輻輳しているか否かを訓練器が判定し、判定結果を2値で表現する。図1では、訓練器が輻輳と判断した場合を(1,0)とし、輻輳してないと判断した場合を(0,1)としている。それらをまとめたものをY=(y ,y -1,・・・)とする。y は最新の戻り値であり、y -1、y -2、・・・は過去の戻り値である。なお、本例では判定結果を輻輳している、輻輳していないの2値としたが、その中間の値を用意して判定結果を3値以上としてもよい。
[0021]
 ここではある特定のパスの学習器について説明しているが、Xは全ルータについての情報になる点に注意されたい。つまり、あるパスの学習器は当該パス上にないルータのトラフィック情報も予測に利用する。一方、Yは、ここで説明している特定パスの輻輳状態であり、他パスの輻輳状態は含まない。
[0022]
 教師データ(XとY)が学習器に与えられると、学習器はXとYから関数形を作り出す。予測器は学習器が作り出した関数形を利用してパスの輻輳を予測する。図2を用いて最新の時刻t s+1における予測について説明する。最新の時刻t s+1のNWの状態ベクトルx s+1を各学習器に与えると、各学習器は、引数x s+1に対して、関数形を利用して自身が担当するパスが輻輳しそうか否かを出力する(戻り値y s+1)。予測器は、戻り値y s+1の中から輻輳しないパスを選択してトラフィックを転送する。
[0023]
[経路制御手法]
 図4は、本実施形態の経路設定装置を説明するブロック図である。本経路設定装置は、
 通信ネットワークNWの各ルータ(r 、r 、r )に対して設定されたパス毎に用意される学習器12と、
 全ての前記ルータのトラフィック情報、及び現在パケットを転送しているパスの輻輳情報を収集するとともに、前記設定されたパス毎の過去の前記トラフィック情報と前記輻輳情報の蓄積に追加し、前記蓄積を教師データとしてそれぞれの前記学習器の訓練を行う訓練器13と、
 全ての学習器12に前記トラフィック情報を与え、学習器12が出力する輻輳予測のうち、輻輳しないと予測される1つのパスを前記ルータに設定するパス予測設定を行う予測器14と、
を備える。
 なお、通信ネットワークNWの各ルータに対して設定されたパス毎に学習器12を用意するともに、初期値として最短パスを設定する前処理器11を備えてもよい。
[0024]
 本実施形態の経路設定装置は、リアルタイム学習によってネットワークの輻輳状態を早期に把握して回避する経路制御方法を実現する。当該経路制御方法は、
 通信ネットワークNWの各ルータ(r 、r 、r )に対してパスを設定し、前記パス毎に学習器12を用意する前処理手順と、
 全ての前記ルータのトラフィック情報、及び現在パケットを転送しているパスの輻輳情報を収集するとともに、前記前処理手順で設定したパス毎の過去の前記トラフィック情報と前記輻輳情報の蓄積に追加し、前記蓄積を教師データとしてパス毎の学習器12で機械学習を行う訓練手順と、
 与えられた前記トラフィック情報に対し、前記訓練手順で行った前記機械学習の結果に基づく輻輳予測のうち、輻輳しないと予測される1つのパスを前記ルータに設定する予測手順と、
を行う。
[0025]
 図3は当該経路制御方法を説明するアルゴリズムである。1-6行目が前処理手順、8-12行目が訓練手順、13-15行目が予測手順となる。なお、訓練手順と予測手順は、繰り返し実行される。
 初期化手順では、トラフィックと輻輳状態の時系列データを初期化する(それぞれ1-3行目)。また、学習器も初期化する。このとき、学習器と輻輳状態は、パスごとに処理を行う。続いて、5行目で最短パスを選択し、そのパスに沿ってパケットが転送されるように、6行目で各ルータにパスを設定する。
 訓練手順では、その時点でのトラフィック情報と輻輳状態を取得し(8-9行目)、過去の時系列データに追加する(10-11行目)。12行目では、時系列データを用いて学習器を訓練し直す。
 予測手順は、現在利用しているパスp が混雑しているときに実行される(13行目)。14行目では、最新のトラフィック情報を用いて輻輳しないパスを選択する。15行目では、そのパスを各ルータに設定する。
[0026]
以下、図4のネットワークを用いた具体例を説明する。ここでは、ルータr0からr2へのパスを担当する経路設定装置について説明するが、他のルータ間についても同様に処理を行う。
[0027]
(1)前処理手順
 前処理手順は、前処理器11が行う手順である。
 r0-r2間の二つのパスをp1、p2とし、それぞれp1:r0->r2、p2:r0->r1->r2とする。r0-r2間のパスを担当する経路設定装置は、パス集合P r0r2={p1,p2}を作成する。本実施形態では、説明のため通信ネットワークのルータ数を3としているが、ルータ数を4以上でも同様である。ルータ数が多くなるとパス数が増加し、学習器の数も増加する。ここでは、前処理器11は、r0-r2間にある二つのパスをともに集合P r0r2に含めたが、ルータ数が多い場合、パス長に上限を設けるなどの制限を課して一部のパスを除外してもよい(主要なパスのみ以下の手順を行う)。
 トラフィックの時系列データをXとし、空集合φで初期化する。
 二つのパスそれぞれについて、学習器12(Lp1、Lp2)を用意し、必要に応じて初期化処理を行っておく。具体的な処理は、機械学習の実装によって異なるため、省略する。
 二つのパスそれぞれについて、輻輳状態の時系列データYp1、Yp2を用意し、φで初期化する。
 パス集合P r0r2から最短パスp1を選び、r0からr2に向かうパケットのパスとする。具体的には、パス上のルータr0に次ホップとしてr2を設定することで、パケットがp1に従って転送されるようにする。
 以下、1秒ごとに訓練・予測手順を繰り返す。
[0028]
(2)訓練手順
 訓練手順は、訓練器13が行う手順である。
 所定時間(例えば、最初の1秒)が経過し、訓練手順を開始する。全ルータr0、r1、r2から、トラフィック情報を取得する。ここではトラフィック情報として到着パケット数のみを考え、図5のような情報x0を得られたとする。図5は、たとえばr0からr1へのパケットが34個到着したことを意味する(図5の表を一列に並べたのが、図1のc のt の行である)。このトラフィック情報を、トラフィックの時系列データXに追加する。トラフィック情報は、すべての経路設定装置が共通して利用する。
 次に、r0-r2間の経路設定装置の訓練処理を説明する。
 現在、r0-r2間のパスとしてp1を利用している。そこで、p1を通過したパケットの輻輳状態を取得する。ここでは、通過時間が1msを超えていたかどうかを輻輳の基準とする。入り口ルータr0がパケットにタイムスタンプを書き込み、出口ルータr2が現在時刻との差を計算することで通過時間を計測する。この方法以外にも、ルータのキュー長から推測する方法なども利用できる。ここでは、p1が輻輳していたとする。この輻輳状態を、p1の時系列データYp1に追加する。
 XとYp1を用いて、学習器12(Lp1)を訓練する。具体的な処理は機械学習の実装によって異なるため、省略する。
[0029]
(3)予測手順1
 予測手順は、予測器14が行う手順である。
 利用していたパスp1が輻輳している場合、予測手順を実行する。まず、p1以外のパスの学習器に対し、現在のトラフィック情報x0を用いて輻輳状態を予測させる。ここでは、パスp2の学習器12(Lp2)に予測を行わせる。学習器12(Lp2)はまだ訓練を行っていない初期状態であるが、初期状態では「輻輳しない」という結果を返すものとする。
 なお、運用の初期段階では、すべてのパスについて十分な訓練を行うために、輻輳と予測されたパスをあえて選ぶこともある。たとえば、あらかじめ設定した確率εで、輻輳状態にかかわらずランダムにパスを選択する(εグリーディー手法)。
 予測器14は、輻輳しないとされたp2を、r0からr2に向かうパケットのパスとする。具体的には、r0に次ホップとしてr1を設定し、r1の次ホップとしてr2を設定する。
[0030]
(4)予測手順2
 上記のような訓練・予測をしばらく(たとえば600秒ほど)繰り返し、二つの学習器12(Lp1、Lp2)が何度も訓練されたとする。この時点で、r0からr2に向かうパケットは、パスp1を利用していたとする。各学習器12の訓練手順については上記と同じであるため省略し、以下で訓練が進んだ後の予測手順を説明する。
 利用していたパスp1が輻輳していたため、予測器14は予測手順2を実行する。まず、p1以外のパスの学習器に対し、その時点でのトラフィック情報x0を用いて輻輳状態を予測させる。ここでは、パスp2の学習器12(Lp2)に予測を行わせる。その結果、学習器12(Lp2)は輻輳しないと予測した。
 予測器14は、輻輳しないp2を、r0からr2に向かうパケットのパスとする。具体的には、r0に次ホップとしてr1を設定し、r1の次ホップとしてr2を設定する。
[0031]
(5)効果
 パケットを転送するパス毎に予測手順を行うことで、各パスの学習器12の関数形が正確となる。このため、既存のOSPF等のルーティングプロトコルでは回避できない、突発的なトラフィックによる輻輳状態をオンライン学習にて検知及び予測することができるようになる。そして、輻輳を回避するパスを設定することで、ネットワーク遅延やパケットロス率を削減することができる。
[0032]
 図6に、9ルータのネットワークで行った数値実験の結果を示す。600秒あたりで学習精度が十分に高まり、パケット損失率や遅延時間が大きく低下していることがわかる。なお、ネットワークの規模が大きくなる場合、深層学習技術を用いることで学習器の学習速度を向上させることができる。
[0033]
 本実施形態では、図4のように1台の経路設定装置が通信ネットワークNWを制御する形態を説明したが、本発明はこのような形態に限定されない。いずれかのルータが前処理部11、学習器12、訓練器13、及び予測器14を備え、ルータ間で情報交換し、通信ネットワークNWのパスを制御してもよい。また、それぞれのルータが前処理部11、学習器12、訓練器13、及び予測器14を備え、ルータ間で情報交換し、それぞれのルータが自律してネットワークNWのパスを制御してもよい。

符号の説明

[0034]
11:前処理器
12:学習器
13:訓練器
14:予測器
NW:ネットワーク

請求の範囲

[請求項1]
 通信ネットワークの各ルータに対してパスを設定し、前記パス毎に学習器を用意する前処理手順と、
 全ての前記ルータのトラフィック情報、及び現在パケットを転送しているパスの輻輳情報を収集するとともに、前記前処理手順で設定したパス毎の過去の前記トラフィック情報と前記輻輳情報の蓄積に追加し、前記蓄積を教師データとしてパス毎に機械学習を行う訓練手順と、
 与えられた前記トラフィック情報に対し、前記訓練手順で行った前記機械学習の結果に基づく輻輳予測のうち、輻輳しないと予測される1つのパスを前記ルータに設定する予測手順と、
を行う経路制御方法。
[請求項2]
 前記前処理手順後、設定したパスの内、最短のパスを選択して前記訓練手順を開始し、所定時間、前記訓練手順と前記予測手順を繰り返すことを特徴とする請求項1に記載の経路制御方法。
[請求項3]
 前記所定時間、予め設定された確率で前記予測手順で輻輳しないと予測される1つのパス以外のパスを前記ルータに設定することを特徴とする請求項2に記載の経路制御方法。
[請求項4]
 通信ネットワークの各ルータに対して設定されたパス毎に用意される学習器と、
 全ての前記ルータのトラフィック情報、及び現在パケットを転送しているパスの輻輳情報を収集するとともに、前記設定されたパス毎の過去の前記トラフィック情報と前記輻輳情報の蓄積に追加し、前記蓄積を教師データとしてそれぞれの前記学習器の訓練を行う訓練器と、
 全ての前記学習器に前記トラフィック情報を与え、前記学習器が出力する輻輳予測のうち、輻輳しないと予測される1つのパスを前記ルータに設定するパス予測設定を行う予測器と、
を備える経路設定装置。
[請求項5]
 前記訓練器は、前記設定されたパスの内、最短のパスを選択して前記学習器の訓練を開始し、
 所定時間、前記訓練器と前記予測器が前記学習器の訓練と前記パス予測設定を繰り返すことを特徴とする請求項4に記載の経路設定装置。
[請求項6]
 前記予測器は、前記所定時間、予め設定された確率で前記輻輳しないと予測される1つのパス以外のパスを前記ルータに設定することを特徴とする請求項5に記載の経路設定装置。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]