JP6600917B2 - Ai学習による経路制御手法、サーバ装置及び経路制御プログラム - Google Patents

Ai学習による経路制御手法、サーバ装置及び経路制御プログラム Download PDF

Info

Publication number
JP6600917B2
JP6600917B2 JP2016230507A JP2016230507A JP6600917B2 JP 6600917 B2 JP6600917 B2 JP 6600917B2 JP 2016230507 A JP2016230507 A JP 2016230507A JP 2016230507 A JP2016230507 A JP 2016230507A JP 6600917 B2 JP6600917 B2 JP 6600917B2
Authority
JP
Japan
Prior art keywords
router
next hop
route
network
path
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.)
Active
Application number
JP2016230507A
Other languages
English (en)
Other versions
JP2018088602A (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.)
Tohoku University NUC
Nippon Telegraph and Telephone Corp
Original Assignee
Tohoku University NUC
Nippon Telegraph and Telephone Corp
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 Tohoku University NUC, Nippon Telegraph and Telephone Corp filed Critical Tohoku University NUC
Priority to JP2016230507A priority Critical patent/JP6600917B2/ja
Publication of JP2018088602A publication Critical patent/JP2018088602A/ja
Application granted granted Critical
Publication of JP6600917B2 publication Critical patent/JP6600917B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、通信ネットワークにおけるAI(Artificial Intelligence)学習を用いた経路制御手法、サーバ装置及び経路制御プログラムに関する。
通信ネットワークにおける経路制御手法において、宛先に向けてパケットを転送するだけではなく、TE(Traffic Engineering)などの高度な目的を持つ手法が提案されている(例えば、非特許文献1参照。)。TEの技術向上は、ネットワークの到達性や信頼性を向上させることから、NWの運用上、極めて重要な技術要素であり、本開示の貢献は大きい。
TEのためには、様々な通信要求に対して、いずれも輻輳しないようにそれぞれのパスを決定する必要がある。しかし、そのような計算はNP(Non−deterministic Polynomial time)困難であり、通信要求が発生してからリアルタイムにパスを計算することは難しい。
B. Fortz and M. Thorup, "Internet traffic engineering by optimizing OSPF weights," in IEEE INFOCOM, vol. 2, 2000, pp. 519−528. R. Salakhutdinov and G. Hinton, "An efficient learning procedure for deep boltzmann machines," Neural computation, vol. 24, no. 8, pp. 1967−2006, 2012.
本開示は、ルータ数が増加した場合であっても、NP困難の問題を解くことなく、最適なパスを現実的な期間で学習可能にすることを目的とする。
本開示は、通信ネットワークにおける経路制御を行うため、通信要求を表す交流行列に対して各入口ルータから出口ルータまでのパスを事前学習する方法において、各ルータごとに次ホップを学習する。
具体的には、本開示に係る経路制御方法は、
ネットワークに含まれるルータの経路を制御する経路制御方法であって、
最適パス計算部が、前記ネットワークに含まれるルータの経路における入口ルータ及び出口ルータを対とする教師データ用の通信要求及び最適経路を取得し、最適経路上の各ルータにおける次ホップを、各最適経路について求める次ホップ導出ステップと、
関数学習部が、最適経路上の各ルータについて、当該最適経路のときの各ルータの通信要求及び当該最適経路のときの次ホップを教師データに用い、次ホップを求める次ホップ導出関数を学習する関数学習ステップと、
次ホップ設定部が、前記ネットワークにおいて発生した通信要求及び当該通信要求の入口ルータ及び出口ルータを取得し、当該通信要求に対する次ホップを、前記次ホップ導出関数を用いて求める次ホップ設定ステップと、
を有する。
本開示は、
前記ネットワークに含まれるルータが、
パケットを受信するステップと、
当該パケットの入口ルータ及び出口ルータを決定するステップと、
決定した入口ルータ及び出口ルータに対応する次ホップを、前記次ホップ設定部で設定された次ホップに従って選択するステップと、
選択した次ホップへ向けて当該パケットを送出するステップと、
を有する態様を含む。
本開示は、
前記次ホップ設定部は、前記ネットワークに含まれるルータの経路を制御するサーバ装置に備わり、
前記サーバ装置が、前記次ホップ設定部の設定した次ホップを、前記ネットワークに含まれる各ルータに設定するルータ設定ステップをさらに有する態様を含む。
本開示は、
前記関数学習部は、前記ネットワークに含まれるルータの経路を制御するサーバ装置に備わり、
前記次ホップ設定部は、前記ネットワークに含まれる各ルータに備わり、
前記サーバ装置が、前記次ホップ導出関数を、前記ネットワークに含まれる各ルータに設定するルータ設定ステップを、前記関数学習ステップと前記次ホップ設定ステップの間にさらに有し、
前記次ホップ設定ステップにおいて、前記次ホップ設定部が、前記ネットワークにおいて発生した通信要求に対する自装置の次ホップを、前記次ホップ導出関数を用いて求める態様を含む。
本開示は、
前記次ホップ設定ステップにおいて、前記次ホップ設定部が、前記ネットワークにおいて発生した通信要求に対する当該通信要求の入口ルータから出口ルータまでの各ルータにおける次ホップを、前記次ホップ導出関数を用いて求め、
前記ネットワークに含まれるルータは、
受信したパケットの入口ルータが自装置である場合、
当該パケットの入口ルータから出口ルータまでの各ルータにおける次ホップを用いて、受信したパケットの経路を設定する態様を含む。
具体的には、本開示に係るサーバ装置は、
ネットワークに含まれるルータの経路を制御するサーバ装置であって、
前記ネットワークに含まれるルータの経路における入口ルータ及び出口ルータを対とする教師データ用の通信要求及び最適経路を取得し、最適経路上の各ルータにおける次ホップを、各最適経路について求める最適パス計算部と、
最適経路上の各ルータについて、当該最適経路のときの各ルータの通信要求及び当該最適経路のときの次ホップを教師データに用い、次ホップを求める次ホップ導出関数を学習する関数学習部と、
前記ネットワークにおいて発生した通信要求及び当該通信要求の入口ルータ及び出口ルータを取得し、当該通信要求に対する次ホップを、前記次ホップ導出関数を用いて求める次ホップ設定部と、
を備える。
具体的には、本開示に係る経路制御プログラムは、本開示に係る経路制御方法に備わる各ステップをコンピュータに実行させ、本開示に係るサーバ装置に備わる各機能部としてコンピュータを機能させる。
なお、上記各開示は、可能な限り組み合わせることができる。
本開示によれば、ルータ数が増加した場合であっても、NP困難の問題を解くことなく、最適なパスを現実的な期間で学習することができ、リアルタイムに交流行列に適したパスを設定することが可能となる。
ネットワークの例。 パス学習・設定サーバの一例を示す機能ブロック図。 ルータの一例を示す機能ブロック図。 基本技術における事前準備のフローチャート。パス学習・設定サーバが実行する。 教師データの例。 基本技術におけるパス計算・設定のフローチャート。パス学習・設定サーバが実行する。 基本技術におけるパケット転送のフローチャート。ルータsが実行する。 実施形態1における事前準備の第1のフローチャート。パス学習・設定サーバが実行する。 実施形態1における事前準備の第2のフローチャート。パス学習・設定サーバが実行する。 ルータβを入口ルータs、ルーラδを出口ルータdとするとき、ルータβの次ホップを学習するための教師データの一例。 実施形態1におけるパス計算・設定のフローチャート。パス学習・設定サーバが実行する。 実施形態1におけるパケット転送のフローチャート。ルータrが実行する。 実施形態2におけるルータの一例を示す機能ブロック図。
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、本開示は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本開示は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
(開示のポイント)
交流行列に対して、各入口ルータから出口ルータまでのパスを学習する場合、ネットワークが大規模になると、オフラインでも現実的な期間で完了しないほどに、事前の学習時間が長くなる。本開示では、交流行列に対して、各入口ルータから出口ルータまでのパスを学習するのではなく、ルータごとに次ホップを学習することにより、学習の高速化を行った。各ルータの次ホップの数は、ルータ数に対して指数的に増加することはない。これにより、事前学習にて最適なパスを現実的な期間で学習でき、リアルタイムにNP困難の問題を解くことなく、交流行列に適したパスを設定するTEを実現できる。
また、トラフィック以外の教師データを用いることで、教師データの値を加味したTEが実現できる。例として、ユーザの体感品質を示すQoE(Quality of Experience)値を用いることで、当品質の向上を目的とするTEを達成することも可能である。
(基本技術)
〔機械学習〕
TEのために機械学習を利用する。本開示では、機械学習を次のように定義する。関数の引数と戻り値のペアがいくつか与えられているとする。たとえば、xを引数、yを戻り値とすると、(x(1),y(1))、(x(2),y(2))、…となる。機械学習では、これらを教師データと呼ぶ。機械学習は、近年、注目されているディープニューラルネットワーク等の技術(非特許文献2)を示しており、教師データから、y=f(x)の関数形を「学習」する。すると、教師データに含まれないx’に対しても、y’=f(x’)を推定できるようになる。なお、x、yはベクトルや行列でもよい。
図1に、本実施形態に係るネットワークの一例を示す。本実施形態では、ネットワーク93の一例として、ルータα,β,γ,δがネットワーク93の入り口又は出口として機能する例を示す。また本実施形態では、パスの学習と設定を行う経路制御サーバ装置を「パス学習・設定サーバ」と呼ぶ。実際には、パス学習・設定サーバ91の機能が、ルータα,β,γ,δに備わっていても構わない。また、本実施形態に係るルータα,β,γ,δは、次ホップを決定しうる任意のネットワーク機器を用いることができる。
図2は、パス学習・設定サーバの一例を示す機能ブロック図である。パス学習・設定サーバ91は、最適パス計算部11、関数学習部12、学習済み関数格納部13、ルータ設定部14を備える。図3は、ルータの一例を示す機能ブロック図である。ルータ92は、ルータα,β,γ,δとして機能し、関数受信部21、パス/次ホップ格納部22、パス/次ホップ選択部23、パケット受信・転送部24を備える。基本技術において、パス/次ホップ格納部22はパス格納部として機能し、パス/次ホップ選択部23はパス選択部として機能する。
〔パスの学習〕
パス学習・設定サーバ91は、事前準備を実行する。図4に、事前準備のフローチャートの一例を示す。事前準備では、最適パス計算部11が教師データを用いて最適なパスpsdを計算し(S103)、関数学習部12が最適なパスpsdを用いて関数を学習する(S105)。
本開示の教師データは、通信要求と、適用するパスを含む。本実施形態では、教師データに含まれる通信要求を交流行列Dで表す。Dの要素dsdは、sを入口ルータとし、dを出口ルータとするトラフィック量やトラフィックの時系列変動を表す。例えば、本実施形態では、4つのルータα〜δが備わるため、交流行列Dは次式で表すことができる。
Figure 0006600917
図5に、交流行列Dの一例を示す。本実施形態では、交流行列D(1)から交流行列D(2)に変動した場合を想定する。交流行列D(1)は、αからδと、βからδに、それぞれ10のトラフィックがあることを表している。最適パス計算部11は、過去のトラフィックデータなどを参考に、実際に発生しそうな交流行列をいくつか取得しておく(S101)。これを教師データとして用いる。なお、ここで用いる交流行列Dは、必ずしも後述の運用時に同じものが現れる必要はない。つまり、正確に「当てる」ことを目的としない。それよりも、運用時の推定に役に立つように、様々なパターンを挙げておくのがよい。
次に、最適パス計算部11が、非特許文献1のTE手法を用いて、交流行列D(i)ごとにs、dペアごとの最適なパスpsd (i)を計算する(S102、S103)。例えば、本実施形態では、4つのルータα〜δが備わるため、最適なパスpsd (i)は次式のような行列Pで表すことができる。
Figure 0006600917
図5に、行列Pの一例を示す。ルータαを入口ルータとし、ルータδを出口ルータとする最適なパスはα−δであることから、最適なパスpαδ (1)=αδとなる。またルータβを入口とし、ルータδを出口とする最適なパスはβ−γ−δであることから、最適なパスpβδ (1)=βγδとなる。ここで、リンクα−δの輻輳を避けるために、TE手法は、パスpβδをα回りではなくγ回りとしている。D(2)も同様に、リンクγ−δの輻輳を避けるように、パスpβδをα回りで設定している。最適なパスpsd (i)の計算は、運用中にリアルタイムで行う必要はなく、事前にオフラインで交流行列D(i)ごとに計算しておけばよい。
続いて、関数学習部12が、関数の学習を行い、学習済み関数格納部13に格納する(S104〜S105)。トラフィックの出入口s、dごとに別々の関数を用意し、学習する。教師データを(D(1),psd (1))、(D(2),psd (2))、…と表し、学習対象の関数をpsd=fsd(D)とする。輻輳を避けるようにs、d間のパスを決定するためには、他ルータ間のトラフィック量も必要となるため、dsdではなく、最適パスを求めたときの各ルータの通信要求を表す交流行列Dそのものを入力とする。
ネットワーク93を運用し始める前に、この教師データを用いて、関数psd=fsd(D)を学習しておく。
〔パスの設定〕
運用開始後、パス学習・設定サーバ91は、パスの計算及び設定を実行する。図6に運用開始後のフローチャートの一例を示す。運用開始後、ルータ設定部14は、一定時間ごとに交流行列D’を更新する(S201)。そして、ルータ設定部14は、学習済みの関数fsdを用いてパスp’sd=fsd(D’)を計算し、計算結果であるパスp’sdを入口ルータsに設定する。
例えば、s=αのパスp’sdをルータαに設定し、s=βのパスp’sdをルータβに設定し、s=γのパスp’sdをルータγに設定し、s=δのパスp’sdをルータδに設定する。各ルータα〜δの関数受信部21は、入口ルータs及び出口ルータdに対応するパスp’sdをルータ設定部14から受信し、パス/次ホップ格納部22に格納する。
ここで、パスp’sd=fsd(D’)の計算は、観測トラフィックや疑似的に生成したトラフィックから求めてもよいし、顧客との契約条件から決定してもよい。ただし、事前準備の交流行列D(i)と異なり、実トラフィックを表していなければならない。fsd(D’)の計算は、NP困難の最適化問題を解くよりも簡単であり、一度学習してしまえば高速に計算できる。
〔パケット転送〕
各ルータα〜δは、ルータ設定部14の設定に従ってパケット転送を行う。図7に、パケット転送のフローチャートの一例を示す。入口ルータsはパケットを受信すると(S301)、経路表などを用いて、出口ルータdを決定し(S302)、設定されたパスp’sdに従って送り出す(S303)。
例えば、ルータαにおいて、パケット受信・転送部24がパケットを受信すると、パス/次ホップ選択部23は、パケットの送信元及び送信先を読み出し、パケットの送信先に対応する出口ルータdを決定する。そして、パス/次ホップ選択部23は、パス/次ホップ格納部22に格納されているパスp’sdのなかから、出口ルータdに対応するパスp’sdを選択する。パケット受信・転送部24は、パス/次ホップ選択部23の選択したパスに向けてパケットを転送する。
ここでのパケットの転送方法は任意である。たとえばMPLSのようなlabel switchingを用いる場合には、パスp’sdに対応するlabelを付与して送出すればよい。あるいは、source routingを行う場合は、パスp’sdそのものをパケットヘッダに記載する。
(実施形態1)
〔次ホップの学習〕
ネットワーク93が大規模になると、事前の学習時間が長くなる。これは、関数fの値域(パス数)が大きいことが原因である。パス数は、ネットワーク規模に対して指数的に増加することがある。そこで、パスを学習するのではなく、ルータごとに次ホップを学習することで、この問題を解決する。
具体的には、本実施形態では、図2において、学習済み関数格納部13が次ホップを求める次ホップ導出関数を学習し、ルータ設定部14が次ホップ設定部として機能し、図3において、パス/次ホップ格納部22が次ホップ格納部として機能し、パス/次ホップ選択部23が次ホップ選択部として機能する。
次ホップは、隣接ルータのいずれかであるため、パスのようにルータ数に対して指数的に増加することはなく、最大でもルータ数を超えない。図1に示すルータαで説明すると、隣接ルータはβとδであり、いずれかが次ホップとなる。
図8に、パス学習・設定サーバ91における事前準備のフローチャートの一例を示す。本実施形態では、最適パス計算部11が、教師データとして、図5に示すような交流行列D及び最適パスpsdの組を取得し、次ホップをフォーマルに定義する(S111〜S112)。入口ルータsから出口ルータdへのパス上に、ルータrがあるとする。このとき、nsdrを、sからdへのパスにおけるrの次ホップとする。図5のパスpβδ=βγδを例に取ると、γの次ホップはδなので、nβγδ=δとなる。
図9に、教師データとして交流行列Dと共に最適パスpsdが得られない場合のパス学習・設定サーバ91における事前準備のフローチャートの一例を示す。教師データとして交流行列Dと共に最適パスpsdが得られない場合、最適パス計算部11は、基本技術と同様に最適パスpsdを計算し(S102〜S103)、それに基づいて次ホップnsdr (i)を計算すればよい(S111〜S112)。
基本技術では、関数学習部12が、入口ルータs及び出口ルータdのルータペアごとに、関数psd=fsd(D)を学習した。本実施形態では、関数学習部12が、3つ組みs、d、rごとに、次ホップ導出関数である関数nsdr=fsdr(D)を学習する。本実施形態では、rごとに関数nsdr=fsdr(D)を学習するため、最適パス上のルータごとの学習となる。
なお、入口ルータsと出口ルータd毎に次ホップを決定しているが、出口ルータdのみで次ホップを決定する場合は、nsdr=ns’dr∀s,s’となり、この場合の次ホップ導出関数は、fsdrではなくfdrと表現できる。
本実施形態の教師データは(D(i),nsdr (i))となる。図1と同じネットワーク93を想定し、ルータβからルータδへのパスを考えるとき、ルータβの次ホップを学習するための教師データは、図10のようになる。たとえば、pβδ (1)=βγδから、βの次ホップがγであるとわかる。よって、pβδ (1)=βγδの場合のルータβの次ホップは、nβδβ (1)=γとなる。
ネットワーク93を運用し始める前に、関数学習部12が、この教師データを用いて、次ホップ導出関数nsdr=fsdr(D)を学習しておく。
〔次ホップの設定〕
運用開始後、パス学習・設定サーバ91は、次ホップの計算及び設定を実行する。図11に運用開始後のフローチャートの一例を示す。基本技術と同様に、運用開始後、ルータ設定部14は、一定時間ごとに交流行列D’を更新する(S201)。そして、学習済みの次ホップ導出関数nsdrを用いて次ホップn’sdr=fsdr(D’)を計算し、ルータrに設定する(S211〜S212)。
例えば、r=αの次ホップn’sdrをルータαに設定し、r=βの次ホップn’sdrをルータβに設定し、r=γの次ホップn’sdrをルータγに設定し、r=δの次ホップn’sdrをルータδに設定する。このとき、各ルータα〜δの関数受信部21は、入口ルータs及び出口ルータdに対応する次ホップn’sdrをルータ設定部14から受信し、パス/次ホップ格納部22に格納する。
〔パケット転送〕
各ルータα〜δは、ルータ設定部14の設定に従ってパケット転送を行う。図12に、パケット転送のフローチャートの一例を示す。ルータrはパケットを受信すると(S301)、送信元アドレスや経路表を用いて入口ルータsと出口ルータdを決定し(S311)、パス/次ホップ格納部22に格納された次ホップn’sdrに送り出す(S312)。
例えば、ルータαにおいて、パケット受信・転送部24がパケットを受信すると、パス/次ホップ選択部23は、パケットの送信元及び送信先を読み出し、パケットの送信元に対応する入口ルータsを決定し、パケットの送信先に対応する出口ルータdを決定する。そして、パス/次ホップ選択部23は、パス/次ホップ格納部22に格納されている次ホップn’sdrのなかから、入口ルータs及び出口ルータdに対応する次ホップn’sdrを選択する。パケット受信・転送部24は、パス/次ホップ選択部23の選択した次ホップn’sdrに向けてパケットを転送する。
以上説明したように、本実施形態は、機械学習における出力層に次ホップnsdrを用いているため、機械学習における出力層にパスpsdを用いた場合に比べ、次ホップ導出関数nsdr=fsdr(D)における中間層の素子数を非常に減らすことができる。このため、本実施形態は、ルータ数が増加した場合であっても、NP困難の問題を解く必要はない。
さらに、次ホップ導出関数n’sdr=fsdr(D’)の計算における中間層の素子数を少なくすることができるため、運用開始後に通信要求が発生してからであっても、次ホップ導出関数n’sdr=fsdr(D’)の計算をリアルタイムに行うことができる。
ここで、ルータrは最適パス上のルータであるため、最適なパスを学習することできる。したがって、本実施形態は、ルータ数が増加した場合であっても、NP困難の問題を解くことなく、最適なパスを現実的な期間で学習可能にすることができる。
(実施形態2)
実施形態1では、次ホップn’sdr=fsdr(D’)をルータrに設定したが、本開示はこれに限定されない。例えば、ルータ92は学習済みの次ホップ導出関数nsdr=fsdr(D)を保持していてもよい。この場合のルータ92の機能ブロックの一例を図13に示す。ルータ92は、次ホップ設定部27をさらに備え、パス/次ホップ格納部22に代えて学習済み関数格納部25を備え、パス/次ホップ選択部23に代えて次ホップ選択部26を備える。パス学習・設定サーバ91の機能ブロックは図2のとおりである。以下、実施形態1と異なる点について説明する。
〔次ホップの学習〕
実施形態1において説明したように、ネットワーク93を運用し始める前に、関数学習部12が、教師データを用いて、次ホップ導出関数nsdr=fsdr(D)を学習しておく。学習完了後、図2に示すルータ設定部14は、学習済み関数格納部13に格納されている学習済みの次ホップ導出関数nsdr=fsdr(D)をルータrに送信する。
例えば、ルータ設定部14は、r=αの次ホップ導出関数nsdr=fsdr(D)をルータαに送信し、r=βの次ホップ導出関数nsdr=fsdr(D)をルータβに送信し、r=γの次ホップ導出関数nsdr=fsdr(D)をルータγに送信し、r=δの次ホップ導出関数nsdr=fsdr(D)をルータδに送信する。各ルータα〜δの関数受信部21は、次ホップ導出関数nsdr=fsdr(D)をルータ設定部14から受信し、学習済み関数格納部25に格納する。
〔次ホップの設定〕
運用開始後、次ホップ設定部27は、次ホップの計算及び設定を実行する。次ホップの計算及び設定は、実施形態1におけるルータ設定部14と同様である。すなわち、次ホップ設定部27は、一定時間ごとに交流行列D’を更新し(S201)、学習済みの次ホップ導出関数nsdrを用いて次ホップn’sdr=fsdr(D’)を計算し、ルータrに設定する(S211〜S212)。
ここで、本実施形態では、ルータrにおいて次ホップn’sdr=fsdr(D’)の計算を行っているため、自装置への設定となる。そして、次ホップ設定部27は、計算によって得られた入口ルータs及び出口ルータdに対応する次ホップn’sdrを、学習済み関数格納部25に格納する。
〔パケット転送〕
各ルータα〜δにおいて、パケット受信・転送部24がパケットを受信すると、次ホップ選択部26は、パケットの送信元及び送信先をパケットから読み出し、パケットの入口ルータs及び出口ルータdを特定する。そして、次ホップ選択部26は、学習済み関数格納部25に格納されている次ホップn’sdrのなかから、入口ルータs及び出口ルータdに対応する次ホップn’sdrを選択する。パケット受信・転送部24は、次ホップ選択部26の選択した次ホップn’sdrに向けてパケットを転送する。
以上説明したように、本開示は、次ホップ導出関数nsdr=fsdr(D)における中間層の素子数を非常に減らすことができるため、学習済みの次ホップ導出関数nsdrを各ルータに搭載し、各ルータにおいて次ホップn’sdrの計算を行うことができる。これにより、本実施形態は、各ルータにおける次ホップn’sdrをリアルタイムで更新することができる。
(実施形態3)
〔パスによる転送〕
実施形態1及び2において、各ルータα〜δが次ホップを選択するとしたが、本開示はこれに限定されない。例えば、入口ルータに集約してパスを構成し、基本技術と同様にパスを指定して送出してもよい。次ホップn’sdrを入口ルータsから出口ルータdへ順に並べれば、パスを構成できる。この場合、図11は、図6と同様に、入口ルータsのみにパスを設定することになる。また、図12は、図7と同じになる。
例えば、実施形態2の図13に示すように、学習済みの次ホップ導出関数nsdr=fsdr(D)を次ホップ情報として各ルータα〜δに格納する。ここで、本実施形態の場合、入口ルータsから出口ルータdまでの各ルータをルータrとしうる次ホップの次ホップ導出関数nsdr=fsdr(D)を学習済み関数格納部25に格納する。そして、運用開始後の次ホップの設定において、入口ルータsから出口ルータdまでの各ルータをルータrとしたときの次ホップ導出関数n’sdr=fsdr(D’)を用いて、次ホップの計算及び設定を実行する。
各ルータα〜δのいずれかのパケット受信・転送部24がパケットを受信すると、次ホップ選択部26は、学習済み関数格納部25に格納されている次ホップn’sdrのなかから、入口ルータs及び出口ルータdに対応しかつ入口ルータsから出口ルータdまでの各ルータをルータrとする次ホップn’sdrを選択する。そして、次ホップ選択部26は、入口ルータsから出口ルータdへ順に並べ、パスとしてパケットに格納する。パケット受信・転送部24は、次ホップ選択部26の設定したパスに従ってパケットを転送する。
入口ルータsから出口ルータdまでの各ルータは、パケットに設定されているパスに従って、パケットを転送する。パケットの転送方法は、基本技術と同様に任意である。これにより、各ルータでの演算処理を軽減することができる。
以上説明したように、本実施形態は、入口ルータsにおいて、入口ルータsから出口ルータdまでの各ルータをルータrとする次ホップn’sdrを選択する。これにより、本実施形態は、パスを学習することなく、入口ルータsから出口ルータdまでのパスを設定することができる。したがって、本実施形態は、ルータ数が増加した場合であっても、NP困難の問題を解くことなく、最適なパスを現実的な期間で学習可能にすることができる。
なお、本開示の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
本開示は情報通信産業に適用することができる。
11:最適パス計算部
12:関数学習部
13:学習済み関数格納部
14:ルータ設定部
21:関数受信部
22:パス/次ホップ格納部
23:パス・次ホップ選択部
24:パケット受信・転送部
25:学習済み関数格納部
26:次ホップ選択部
27:次ホップ設定部
91:パス学習・設定サーバ
92:ルータ
93:ネットワーク

Claims (7)

  1. ネットワークに含まれるルータの経路を制御する経路制御方法であって、
    最適パス計算部が、前記ネットワークに含まれるルータの経路における入口ルータ及び出口ルータを対とする教師データ用の通信要求及び最適経路を取得し、最適経路上の各ルータにおける次ホップを、各最適経路について求める次ホップ導出ステップと、
    関数学習部が、最適経路上の各ルータについて、当該最適経路のときの各ルータの通信要求及び当該最適経路のときの次ホップを教師データに用い、次ホップを求める次ホップ導出関数を学習する関数学習ステップと、
    次ホップ設定部が、前記ネットワークにおいて発生した通信要求及び当該通信要求の入口ルータ及び出口ルータを取得し、当該通信要求に対する次ホップを、前記次ホップ導出関数を用いて求める次ホップ設定ステップと、
    を有する経路制御方法。
  2. 前記ネットワークに含まれるルータが、
    パケットを受信するステップと、
    当該パケットの入口ルータ及び出口ルータを決定するステップと、
    決定した入口ルータ及び出口ルータに対応する次ホップを、前記次ホップ設定部で設定された次ホップに従って選択するステップと、
    選択した次ホップへ向けて当該パケットを送出するステップと、
    を有する、
    請求項1に記載の経路制御方法。
  3. 前記次ホップ設定部は、前記ネットワークに含まれるルータの経路を制御するサーバ装置に備わり、
    前記サーバ装置が、前記次ホップ設定部の設定した次ホップを、前記ネットワークに含まれる各ルータに設定するルータ設定ステップをさらに有する、
    請求項1又は2に記載の経路制御方法。
  4. 前記関数学習部は、前記ネットワークに含まれるルータの経路を制御するサーバ装置に備わり、
    前記次ホップ設定部は、前記ネットワークに含まれる各ルータに備わり、
    前記サーバ装置が、前記次ホップ導出関数を、前記ネットワークに含まれる各ルータに設定するルータ設定ステップを、前記関数学習ステップと前記次ホップ設定ステップの間にさらに有し、
    前記次ホップ設定ステップにおいて、前記次ホップ設定部が、前記ネットワークにおいて発生した通信要求に対する自装置の次ホップを、前記次ホップ導出関数を用いて求める、
    請求項1又は2に記載の経路制御方法。
  5. 前記次ホップ設定ステップにおいて、前記次ホップ設定部が、前記ネットワークにおいて発生した通信要求に対する当該通信要求の入口ルータから出口ルータまでの各ルータにおける次ホップを、前記次ホップ導出関数を用いて求め、
    前記ネットワークに含まれるルータは、
    受信したパケットの入口ルータが自装置である場合、
    当該パケットの入口ルータから出口ルータまでの各ルータにおける次ホップを用いて、受信したパケットの経路を設定する、
    請求項4に記載の経路制御方法。
  6. ネットワークに含まれるルータの経路を制御するサーバ装置であって、
    前記ネットワークに含まれるルータの経路における入口ルータ及び出口ルータを対とする教師データ用の通信要求及び最適経路を取得し、最適経路上の各ルータにおける次ホップを、各最適経路について求める最適パス計算部と、
    最適経路上の各ルータについて、当該最適経路のときの各ルータの通信要求及び当該最適経路のときの次ホップを教師データに用い、次ホップを求める次ホップ導出関数を学習する関数学習部と、
    前記ネットワークにおいて発生した通信要求及び当該通信要求の入口ルータ及び出口ルータを取得し、当該通信要求に対する次ホップを、前記次ホップ導出関数を用いて求める次ホップ設定部と、
    を備えるサーバ装置。
  7. 請求項1から5のいずれかに記載の各ステップをコンピュータに実行させるための経路制御プログラム。
JP2016230507A 2016-11-28 2016-11-28 Ai学習による経路制御手法、サーバ装置及び経路制御プログラム Active JP6600917B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016230507A JP6600917B2 (ja) 2016-11-28 2016-11-28 Ai学習による経路制御手法、サーバ装置及び経路制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016230507A JP6600917B2 (ja) 2016-11-28 2016-11-28 Ai学習による経路制御手法、サーバ装置及び経路制御プログラム

Publications (2)

Publication Number Publication Date
JP2018088602A JP2018088602A (ja) 2018-06-07
JP6600917B2 true JP6600917B2 (ja) 2019-11-06

Family

ID=62493876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016230507A Active JP6600917B2 (ja) 2016-11-28 2016-11-28 Ai学習による経路制御手法、サーバ装置及び経路制御プログラム

Country Status (1)

Country Link
JP (1) JP6600917B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102240278B1 (ko) * 2019-10-29 2021-04-14 (주)누리텔레콤 자가 통신망 경로 설정 방법 및 장치
CN112905166B (zh) * 2021-03-04 2024-04-05 青岛海科智汇信息科技有限公司 人工智能编程系统、计算机设备、计算机可读存储介质
CN115022231B (zh) * 2022-06-30 2023-11-03 武汉烽火技术服务有限公司 一种基于深度强化学习的最优路径规划的方法和系统

Also Published As

Publication number Publication date
JP2018088602A (ja) 2018-06-07

Similar Documents

Publication Publication Date Title
CN108667734B (zh) 一种基于q学习和lstm神经网络的快速路由决策方法
JP6571090B2 (ja) 協働するネットワークコントローラに基づくマルチドメイン送信元ルート選択転送
JP6831527B2 (ja) 経路制御方法及び経路設定装置
US9699077B2 (en) Method for determining a packet forwarding path, network device, and control device
JP6600917B2 (ja) Ai学習による経路制御手法、サーバ装置及び経路制御プログラム
US11477100B2 (en) Residence time measurement for traffic engineered network
US20140222725A1 (en) Fast learning to train learning machines using shadow joining
CN117041132B (zh) 一种基于深度强化学习的分布式负载均衡卫星路由方法
Tang et al. Constructing a DRL decision making scheme for multi-path routing in All-IP access network
CN105684362B (zh) 流保留协议的第一协议实体与路由选择协议的第二协议实体之间的互相配合
JP4971292B2 (ja) オーバーレイネットワーク経路選択システムと方法およびプログラム
JP4806367B2 (ja) 経路選択装置
Blose et al. Scalable Hybrid Switching-Driven Software Defined Networking Issue: From the Perspective of Reinforcement Learning
O'Halloran Dynamic adaptation of OSPF interface metrics based on network load
Tran et al. Real-Time state-dependent routing based on user perception
JP7041917B2 (ja) 制御装置及び経路制御方法
WO2021214848A1 (ja) 実行手順探索装置、方法及びプログラム
Qiu et al. SFCPlanner: An Online SFC Planning Approach With SRv6 Flow Steering
Pinyoanuntapong Reinforcement Learning Based Multi-Layer Traffic Engineering for Intelligent Wireless Networking: From System to Algorithms
Ghosh et al. Comparative analysis between SPF and BAR algorithm in SDN unicast network
JP2010124127A (ja) ネットワーク診断装置、ネットワーク診断方法およびプログラム
CN115277432A (zh) 一种路径确定方法及装置
Goteti et al. An Approach to Integrate Reinforcement Learning in Wireless Sensor Network to Evade Congestion
Farrugia et al. Solving the multicommodity flow problem using an evolutionary routing algorithm in a computer network environment
WO2024072478A1 (en) Method and system for advertising srlg information between multiple layers of communication network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20181214

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: 20190917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190918

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190920

R150 Certificate of patent or registration of utility model

Ref document number: 6600917

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250