JP7046288B2 - コントローラ、ネットワークシステムおよびフロー管理方法 - Google Patents
コントローラ、ネットワークシステムおよびフロー管理方法 Download PDFInfo
- Publication number
- JP7046288B2 JP7046288B2 JP2021573173A JP2021573173A JP7046288B2 JP 7046288 B2 JP7046288 B2 JP 7046288B2 JP 2021573173 A JP2021573173 A JP 2021573173A JP 2021573173 A JP2021573173 A JP 2021573173A JP 7046288 B2 JP7046288 B2 JP 7046288B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- path
- existing
- frame
- search
- 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
Links
- 238000007726 management method Methods 0.000 title claims description 11
- 238000004891 communication Methods 0.000 claims description 73
- 230000008859 change Effects 0.000 claims description 68
- 238000012546 transfer Methods 0.000 claims description 30
- 238000012790 confirmation Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 33
- 238000012545 processing Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000000926 separation method Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- 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/42—Centralised routing
-
- 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/02—Topology update or discovery
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- 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/38—Flow based routing
-
- 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/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
-
- 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/76—Routing in software-defined topologies, e.g. routing between virtual machines
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- 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/28—Flow control; Congestion control in relation to timing considerations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Automatic Assembly (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Description
TSSDNは、TSNスイッチの設定情報をコントローラで一元管理し、その設定情報をネットワーク機器に容易に反映することが可能なネットワークである。
TSSDNは、Time-Sensitive Software-Defined Networkの略称である。
TSNは、Time-Sensitive Networkingの略称である。
TSSDNにおいて、従来のコントローラは、新規の通信フローの追加が要求された際に、以下のようにして新規の通信フローの追加を可能にする。
従来のコントローラは、新規の通信フローの情報と保存されたスケジュール情報とを元に、既存の通信フローのパスが変更されないという条件で新規の通信フローを追加するためのスケジュールおよびパスを算出する。
既存の通信フローを変更すれば新規の通信フローを追加することが可能な状況において、従来のコントローラは、新規の通信フローを追加することができない。
新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信する受付部と、
前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行う第1探索部と、
前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行う第2探索部と、
前記追加要求フレームに対する応答するための追加応答フレームを送信する応答部と、を備える。
ネットワークシステム100について、図1から図17に基づいて説明する。
SDNは、Software-Defined Networkの略称である。
図1に基づいて、ネットワークシステム100の構成を説明する。
ネットワークシステム100は、コントローラ200と複数のスイッチ300と複数のノード110とを備える。
図1には、複数のスイッチ300の一例として、3台のスイッチ(300A~300C)を示している。また、複数のノード110の一例として、2台のノード(110A,110B)を示している。
通信フローは、通信におけるフレームの流れを意味する。
コントローラ200は、プロセッサ201と主記憶装置202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
RAMは、Random Access Memoryの略称である。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
NICは、Network Interface Cardの略称である。
補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、主記憶装置202にロードされて、プロセッサ201によって実行される。
プロセッサ201は、OSを実行しながら、フロー管理プログラムを実行する。
OSは、Operating Systemの略称である。
補助記憶装置203は記憶部290として機能する。但し、主記憶装置202、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、補助記憶装置203の代わりに、又は、補助記憶装置203と共に、記憶部290として機能してもよい。
第2探索部242は、推論部242Aとパス組選択部242Bとスケジュール組探索部242Cと学習部242Dといった要素を備える。これら要素の機能について後述する。
ネットワーク情報データベース280は、フローテーブル281とネットワーク構成データ282とフロー情報データ283とタイムスロットデータ284と候補パス群データ285とを備える。
フローテーブル281は、スイッチ300別に1つ以上のフローエントリを有する。
フローエントリは、フローパターンとアクションとフラグとカウンタといった情報を含む。
フローパターンは、通信フローのパターンである。通信フローはフローパターン別に分類される。例えば、フローパターンは、フレームに設定される宛先IPアドレス、宛先MACアドレス、送信元IPアドレスまたは送信元MACアドレスなどを示す。
アクションは、スイッチ300の動作を示す。具体的には、アクションは、フローパターンに一致するフレームの転送方法を示す。「複製転送」はIEEE 802.1CBに規定されるパス冗長方式によってフレームを複製して転送することを意味する。「転送しない」はフレームの廃棄を意味する。
フラグは、フローエントリが特定の規格ために用意されたものであるか否かを示す。具体的な規格はIEEE 802.1CBである。「1」はフローエントリが特定の規格ために用意されたものであることを意味する。
カウンタは、アクションが実施された回数を示す。
ネットワーク構成データ282は、ネットワークシステム100の構成を示すデータである。
ネットワーク構成データ282は、接続情報とケーブル長とリンク速度と転送遅延といった情報を示す。
接続情報は、物理的に接続されている機器の組を示す。
ケーブル長は、機器間のケーブルの長さを示す。ケーブルは通信ケーブルともいう。
リンク速度は、機器間の通信速度である。
転送遅延は、各スイッチ300における転送時の遅延時間である。
フロー情報データ283は、通信フローごとにフロー情報283iを示す。
フロー情報283iは、優先度と許容遅延と送信周期とフレーム長とフレーム数とフレーム間ギャップとパス情報と使用済みスロット情報といった情報を含む。
優先度は、通信フローの優先順位を決定する値である。
許容遅延は、許容される通信時間である。
送信周期は、フレームの送信が行われる周期である。
フレーム長は、フレームのサイズである。
フレーム数は、送信周期に送信されるフレームの数である。
フレーム間ギャップは、フレーム間の時間間隔である。
パス情報は、フレームが経由する機器(経由機器)と経由機器においてフレームを送信するポート(転送ポート)を示す。経由機器は、フレームを送信、転送または受信する機器である。
使用済みスロット情報は、通信フローに割り当てられた時間帯(割り当て時間帯)を示す。具体的には、使用済みスロット情報は、経由機器においてフレームの転送(または送信)が開始される時刻(開始時刻)と、経由機器においてフレームの転送(または送信)が終了する時刻(終了時刻)と、を示す。
使用済みスロット情報によって、通信フローのスケジュールが決定される。
タイムスロットデータ284は、各スイッチ300の通信ポート別にタイムスロット情報284iを示す。
タイムスロット情報284iは、サイクルタイムとゲート制御リストと空きスロット情報といった情報を含む。
サイクルタイムは、管理される時間の長さである。
ゲート制御リストは、IEEE 802.1Q-2018に規定されるScheduled traffic用の情報であり、ゲート状態と持続時間との組を示す。
空きスロット情報は、サイクルタイムの中で空いている時間帯(空き時間帯)を示す。空き時間帯は開始時刻と終了時刻との組で特定される。
候補パス群データ285は、各通信フローの候補パス群の情報を含む。
候補パス群について後述する。
スイッチ300は、プロセッサ301と主記憶装置302と補助記憶装置303と通信装置304と入出力インタフェース305といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
主記憶装置302は揮発性または不揮発性の記憶装置である。主記憶装置302は、主記憶装置またはメインメモリとも呼ばれる。例えば、主記憶装置302はRAMである。主記憶装置302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じて主記憶装置302にロードされる。
通信装置304はレシーバ及びトランスミッタである。通信装置304は複数の通信ポートを有する。例えば、通信装置304は通信チップまたはNICである。
入出力インタフェース305は、入力装置および出力装置が接続されるポートである。
補助記憶装置303には、さらに、OSが記憶されている。OSの少なくとも一部は、主記憶装置302にロードされて、プロセッサ301によって実行される。
プロセッサ301は、OSを実行しながら、フレーム転送プログラムを実行する。
補助記憶装置303は記憶部390として機能する。但し、主記憶装置302、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、補助記憶装置303の代わりに、又は、補助記憶装置303と共に、記憶部390として機能してもよい。
スイッチ300は、複数の受信ポートと複数の送信ポートとを備える。
各受信ポートは、フレームを受信するための通信ポートである。
各送信ポートは、フレームを送信するための通信ポートである。
フローテーブル391は、スイッチ300用の一つ以上のフローエントリ391eを有する。
フローエントリ391eの内容は、コントローラ200において管理されるフローテーブル281に含まれるスイッチ300用のフローエントリの内容と同じである。
ネットワークシステム100の動作(特にコントローラ200の動作)の手順はフロー管理方法に相当する。
ステップS101において、受付部210は追加要求フレームを受信する。
例えば、いずれかのノード110がコントローラ200宛てに追加要求フレームを送信し、コントローラ200において受付部210が通信装置204を用いて追加要求フレームを受信する。
新規の通信フローを「新規フロー」と称する。
フロー特性情報は、パラメータ(a)~(h)を含む。
パラメータ(a)は、送信元ノードを識別する。送信元ノードは、フレームの送信元となるノード110である。
パラメータ(b)は、宛先ノードを識別する。宛先ノードは、フレームの宛先となるノード110である。
パラメータ(c)は、優先度を示す。
パラメータ(d)は、許容遅延を示す。許容遅延は、許容される通信時間の長さである。
パラメータ(e)は、送信周期を示す。送信周期は、フレームの送信が行われる周期である。
パラメータ(f)は、フレーム長を示す。フレーム長は、フレームのサイズである。
パラメータ(g)は、フレーム数を示す。フレーム数は、送信周期に送信されるフレームの数である。
パラメータ(h)は、フレーム間ギャップを示す。フレーム間ギャップは、フレーム間の時間間隔である。
図12に、パラメータ(e)~(h)の関係を示す。
ステップS102において、情報抽出部220は、追加要求フレームからフロー特性情報を読み出す。つまり、情報抽出部220は、追加要求フレームからパラメータ(a)~(h)を読み出す。
候補パス群は、1つ以上の候補パスである。
候補パスは、送信元ノードから宛先ノードまでのパスの候補である。候補パスはループを形成しない。
候補パス群は、深さ優先探索などの公知のアルゴリズムを利用して算出することができる。
送信元ノードはノード110Aであり、宛先ノードはノード110Bである。
ノード110Aからノード110Bまでのパスは2つ存在する。つまり、2つの候補パスが存在する。
候補パス(1)は、ノード110A→スイッチ300A→スイッチ300B→ノード110Bというパスである。
候補パス(2)は、ノード110A→スイッチ300A→スイッチ300C→スイッチ300B→ノード110Bというパスである。
ステップS110において、第1探索部241は、新規フローのパラメータ(c)~(h)と新規フローの候補パス群の情報とタイムスロットデータ284の中の空きスロット情報とに基づいて、第1探索を行う。
第1探索は、各既存フローのスケジュールおよびパスを変更しないで新規フローに割り当てることが可能なスケジュールおよびパスを探す処理である。
既存フローは、既に存在する通信フローである。
第1探索の詳細について後述する。
新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合、処理はステップS122に進む。
新規フローに割り当てることが可能なスケジュールおよびパスが見つらなかった場合、処理はステップS130に進む。
新規フロー追加部251は、新規フローのパスに存在するスイッチ300ごとに新規フローのフローエントリを生成し、生成したフローエントリをフローテーブル281に追加する。
新規フロー追加部251は、新規フローのパスに基づいてパス情報を生成し、新規フローのスケジュールに基づいて使用済みスロット情報を生成する。そして、新規フロー追加部251は、パラメータ(c)~(h)とパス情報と使用済みスロット情報とを含んだフロー情報283iをフロー情報データ283に追加する。
新規フロー追加部251は、新規フローのパスに存在する各スイッチ300のポートごとにタイムスロット情報284iを生成し、生成したタイムスロット情報284iをタイムスロットデータ284に追加する。
新規フロー追加部251は、新規フローの候補パス群の情報を候補パス群データ285に追加する。なお、候補パス群データ285には、既存フローの候補パス群の情報が予め登録されている。
追加通知フレームは、新規フローのフローエントリを含む。
スイッチ300において、更新部350は、追加通知フレームに含まれる新規フローのエントリをフローテーブル391に追加する。
追加応答フレーム(成功)は、追加要求フレームに対する応答のためのフレームであり、追加成功情報を含む。追加成功情報は、新規フローが追加されたことを示す。また、追加応答フレーム(可能)は、新規フローの送信時刻情報を含む。新規フローの送信時刻情報は、新規フローのスケジュールにおけるフレームの送信時刻を示す。
ステップS124の後、処理は終了する。
第2探索は、各既存フローのスケジュールおよびパスを変更して新規フローに割り当てることが可能なスケジュールおよびパスを探す処理である。第2探索において強化学習が利用される。
第2探索の詳細について後述する。
新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合、処理はステップS142に進む。
新規フローに割り当てることが可能なスケジュールおよびパスが見つらなかった場合、処理はステップS149に進む。
言い換えると、変更される各既存フローのフレームがIEEE 802.1CBに規定されるパス冗長方式に基づいて二経路で転送されるように、フローテーブル281が更新される。
更新処理(1)は、各既存フローの変更後のパスにおいてフレームを複製せずに転送する各スイッチ300用のフローエントリを追加する処理である。各既存フローの変更後のパスにおいてフレームを複製せずに転送するためのフローエントリが追加される。追加されるフローエントリのフラグ値は「1」である。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更後のパスである候補パス(2)においてフレームを複製せずに転送するスイッチ300は、スイッチ300Cおよびスイッチ300Bである。そして、スイッチ300Cがスイッチ300Aから転送されたフレームをスイッチ300Bに転送するためのフローエントリと、スイッチ300Bがスイッチ300Cから転送されたフレームをノード110Bに転送するためのフローエントリが追加される。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更前のパスである候補パス(1)においてフレームを複製して変更前のパスのスイッチ300Bと変更後のパスのスイッチ300Cとのそれぞれにフレームを転送するスイッチ300は、スイッチ300Aである。そして、スイッチ300A用のフローエントリが変更される。変更前のフローエントリは、ノード110Aから受信したフレームを複製せずにスイッチ300Bにフレームを転送するためのフローエントリである。変更後のフローエントリは、ノード110Aから受信したフレームを複製してスイッチ300Bとスイッチ300Cとのそれぞれにフレームを転送するためのフローエントリである。
具体的には、既存フロー変更部252は、SDNにおける手順にしたがい、更新処理(1)で追加されたフローエントリごとに更新通知フレームを送信した後に、更新処理(2)で変更されたフローエントリごとに更新通知フレームを送信する。
フレームの後着廃棄機能は、IEEE802.1CBの動作によって実現される。フレームの後着廃棄機能の実現のためのフローエントリの設定は不要である。
スイッチ300において、更新部350は、更新通知フレームに含まれる情報に合わせてフローテーブル391を更新する。つまり、変更後の既存フロー用のフローエントリが追加され、変更前の既存フロー用のフローエントリが変更される。
多重部310は、各受信ポートから入力されたフレームを多重にする。
送信先決定部320は、フローテーブル391から各フレームのパターンと一致するフレームパターンが設定されたフローエントリを選択し、選択したフローエントリのアクションに指定された送信ポートのポート識別子をフレームに付加する。アクションがフレームの破棄である場合またはフローエントリが存在しない場合、送信先決定部320はフレームを破棄する。フレームが破棄されない場合、送信先決定部320は、選択したフローエントリのカウンタに1を加算する。
分離部330は、各フレームをフレームに付加されたポート識別子で識別される送信ポートからフレームを転送する。
ステップS144における更新を「第2更新」と称する。
対象フローエントリが変更後の既存フロー用のフローエントリである場合、対象フローエントリは、変更後の既存フローのフレームを複製せずに転送するためのフローエントリに変更される。
対象フローエントリが変更前の既存フロー用のフローエントリである場合、対象エントリは削除される。
更新処理(3)は、各既存フローの変更前のパスにおいてフレームを複製して変更前のパスのスイッチと変更後のパスのスイッチとのそれぞれにフレームを転送する各スイッチ300用のフローエントリを変更する処理である。変更の対象となる各フローエントリは、既存フローの変更後のパスにおいてフレームを複製せずに転送するためのフローエントリに変更される。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更後のパスである候補パス(2)においてフレームを複製して変更前のパスのスイッチ300Bと変更後のパスのスイッチ300Cとのそれぞれにフレームを転送するスイッチ300は、スイッチ300Aである。そして、スイッチ300A用のフローエントリが変更される。変更前のフローエントリは、ノード110Aから受信したフレームを複製してスイッチ300Bとスイッチ300Cとのそれぞれにフレームを転送するためのフローエントリである。変更後のフローエントリは、ノード110Aから受信したフレームを複製せずにスイッチ300Cにフレームを転送するためのフローエントリである。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更前のパスである候補パス(1)においてフレームを複製せずに転送するスイッチ300は、スイッチ300Bである。そして、スイッチ300Bがスイッチ300Aから転送されたフレームをノード110Bに転送するためのフローエントリが削除される。
具体的には、既存フロー変更部252は、SDNにおける手順にしたがい、更新処理(3)で変更されたフローエントリごとに更新通知フレームを送信した後に、更新処理(4)で削除されたフローエントリごとに更新通知フレームを送信する。
各スイッチ300において、更新部350は、更新通知フレームに含まれる情報に合わせてフローテーブル391を更新する。つまり、変更後の既存フロー用のフローエントリが変更され、変更前の既存フロー用のフローエントリが削除される。
既存フロー変更部252は、変更後の既存フローのパスに基づいてパス情報を生成し、変更後の既存フローのスケジュールに基づいて使用済みスロット情報を生成する。そして、既存フロー変更部252は、変更前の既存フローのフロー情報283iをフロー情報データ283から選択し、選択したフロー情報283iのパス情報および使用済みスロット情報を生成されたパス情報および使用済みスロット情報で更新する。
既存フロー変更部252は、変更前の既存フローのパスに存在する各スイッチ300のポートごとにタイムスロット情報284iをタイムスロットデータ284から削除する。また、既存フロー変更部252は、変更後の既存フローのパスに存在する各スイッチ300のポートごとにタイムスロット情報284iを生成し、生成したタイムスロット情報284iをタイムスロットデータ284に追加する。
ステップS146の後、処理はステップS122に進む。
追加応答フレーム(失敗)は、追加要求フレームに対する応答のためのフレームであり、追加失敗情報を含む。追加失敗情報は、新規フローが追加されなかったことを示す。
ステップS149の後、処理は終了する。
ステップS111において、第1探索部241は、新規フローの候補パス群の中に未選択の候補パスが有るか判定する。
未選択の候補パスが有る場合、処理はステップS112に進む。
未選択の候補パスが無い場合、新規フローに割り当てることが可能なスケジュールおよびパスが見つからずに処理は終了する。
例えば、第1探索部241は、経由するスイッチ300の数の少ない順に候補パスを選択する。
ステップS112で選択された候補パスを「対象パス」と称する。
第1探索条件は、[条件1]と[条件2]を含む。[条件1]と[条件2]の両方が満たされる場合に第1探索条件が満たされる。
[条件1]は、対象パスに存在する各スイッチ300が新規フローのフレーム用の転送時間以上の長さを有する空きスロットを有する、という条件である。フレーム用の転送時間は、フレームを転送するために必要な時間である。
新規フローのフレーム用の転送時間以上の長さを有する空きスロットを「該当スロット」と称する。
[条件2]は、対象パスに存在する各スイッチ300が新規フローのフレームを該当スロットで転送した場合に新規フローの通信にかかる通信時間長が新規フローの許容遅延を超過しない、という条件である。通信時間長は、送信元ノードがフレームを送信してから宛先ノードがフレームを受信するまでの時間の長さである。新規フローの許容遅延はパラメータ(d)に示される。
該当スケジュールの探索は、SATソルバなどの汎用のソルバを利用して行うことができる。
該当スケジュールが見つかった場合、新規フローに割り当てることが可能なスケジュールおよびパスとして該当スケジュールおよび対象パスが見つかり、処理は終了する。
該当スケジュールが見つからなかった場合、処理はステップS111に進む。
ステップS131において、推論部242Aは、1つ以上の候補パス組と各候補パス組の報酬を算出する。
例えば、既存フロー(1)と既存フロー(2)が存在する場合、候補パス組は、新規フローの候補パスと既存フロー(1)の候補パスと既存フロー(2)の候補パスとの組である。
候補パス組が新規フローのパスと既存フローのパスとの組として使用された場合において新規フローの許容遅延に対する余裕時間と各既存フローの許容遅延に対する余裕時間が長いほど、候補パス組の報酬は高い。
許容遅延に対する余裕時間は、許容遅延と通信時間との差である。言い換えると、許容遅延に対する余裕時間は、許容遅延から通信時間を引いて算出される時間である。
報酬 = スケジュール存在フラグ×合計余裕時間
スケジュール存在フラグは、スケジュールの存在の有無を示す。スケジュールが存在する場合、スケジュール存在フラグは「1」である。スケジュールが存在しない場合、スケジュール存在フラグは「0」である。
合計余裕時間は、新規フローの許容遅延に対する余裕時間と各既存フローの許容遅延に対する余裕時間との合計である。
候補パス群データ285には、各既存フローの候補パス群の情報が含まれる。
学習済みモデル291は、強化学習によって生成された学習済みモデルである。
学習済みモデル291が演算されることにより、1つ以上の候補パス組と各候補パス組の報酬が算出される。
未選択の候補パス組が有る場合、処理はステップS133に進む。
未選択の候補パス組が無い場合、新規フローに割り当てることが可能なスケジュールおよびパスと既存フローに割り当てることが可能なスケジュールおよびパスが見つからずに処理は終了する。
選択される候補パス組を「対象パス組」と称する。
例えば、既存フロー(1)と既存フロー(2)が存在する場合、スケジュール組は、新規フローのスケジュールと既存フロー(1)のスケジュールと既存フロー(2)のスケジュールとの組である。
[条件1]と[条件2]は、第1探索条件と共通である。
[条件3]は、各既存フローにおいてフレームの送信時刻が変更されない、という条件である。つまり、[条件3]は、各既存フローにおいてフレームが送信元ノードから送信される時刻が変更されない、という条件である。
該当スケジュールの探索は、SATソルバなどの汎用のソルバを利用して行うことができる。
具体的には、学習部242Dは、対象パス組と対象パス組の報酬を入力にして学習済みモデル291に対する強化学習を行う。これにより、学習済みモデル291が更新される。
該当スケジュール組が見つかった場合、新規フローに割り当てることが可能なスケジュールと既存フローに割り当てることが可能なスケジュールとの組として該当スケジュール組が見つかり、新規フローに割り当てることが可能なパスと既存フローに割り当てることが可能なパスとの組として対象パス組が見つかり、処理は終了する。
該当スケジュール組が見つからなかった場合、処理はステップS132に進む。
既存フローのパス変更を考慮して新規フローのスケジュールおよびパスを探索することで、TSNネットワークの柔軟な運用が可能となる。
つまり、既存の通信フローを変更すれば新規の通信フローを追加することが可能な状況において新規の通信フローを追加することが可能となる。
図16に基づいて、コントローラ200のハードウェア構成を説明する。
コントローラ200は処理回路209を備える。
処理回路209は、受付部210と情報抽出部220と候補パス群算出部230と探索部240とフロー管理部250と応答部260とを実現するハードウェアである。
処理回路209は、専用のハードウェアであってもよいし、主記憶装置202に格納されるプログラムを実行するプロセッサ201であってもよい。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
スイッチ300は処理回路309を備える。
処理回路309は、多重部310と送信先決定部320と分離部330と確認部340とを実現するハードウェアである。
処理回路309は、専用のハードウェアであってもよいし、主記憶装置302に格納されるプログラムを実行するプロセッサ301であってもよい。
コントローラ200とスイッチ300のそれぞれの要素である「部」は、「処理」または「工程」と読み替えてもよい。
Claims (5)
- 新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信する受付部と、
前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行う第1探索部と、
前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行う第2探索部と、
前記追加要求フレームに対する応答するための追加応答フレームを送信する応答部と、
を備えるコントローラ。 - 前記第1探索または前記第2探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合に、前記新規フローを前記ネットワーク情報データベースに登録する新規フロー追加部と、
前記第2探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合に、各既存フローの変更を前記ネットワーク情報データベースに反映する既存フロー変更部と、
を備える
請求項1に記載のコントローラ。 - 前記既存フロー変更部は、
変更される各既存フローのフレームが変更前のパスと変更後のパスとの二経路で転送されるように前記ネットワーク情報データベースを更新する第1更新を行い、
前記第1更新の情報を含んだ更新通知フレームを前記変更前のパスに存在する各スイッチと前記変更後のパスに存在する各スイッチに送信し、
変更される各既存フローのフレームが前記二経路で転送されていることを確認するための確認通知フレームを各スイッチから受信し、
変更される各既存フローのフレームが前記変更後のパスの一経路で転送されるように前記ネットワーク情報データベースを更新する第2更新を行い、
前記第2更新の情報を含んだ更新通知フレームを前記変更前のパスに存在する各スイッチと前記変更後のパスに存在する各スイッチに送信する
請求項2に記載のコントローラ。 - 通信フローを管理するコントローラと、各通信フローのフレームを転送する複数のスイッチと、を備え、
前記コントローラは、
新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信する受付部と、
前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行う第1探索部と、
前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行う第2探索部と、
前記追加要求フレームに対する応答するための追加応答フレームを送信する応答部と、
を備える
ネットワークシステム。 - 受付部が、新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信し
第1探索部が、前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行い、
第2探索部が、前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行い、
応答部が、前記追加要求フレームに対する応答するための追加応答フレームを送信する
フロー管理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/010386 WO2021181541A1 (ja) | 2020-03-10 | 2020-03-10 | コントローラ、ネットワークシステムおよびフロー管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021181541A1 JPWO2021181541A1 (ja) | 2021-09-16 |
JP7046288B2 true JP7046288B2 (ja) | 2022-04-01 |
Family
ID=77671057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021573173A Active JP7046288B2 (ja) | 2020-03-10 | 2020-03-10 | コントローラ、ネットワークシステムおよびフロー管理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11956146B2 (ja) |
EP (1) | EP4113917A4 (ja) |
JP (1) | JP7046288B2 (ja) |
CN (1) | CN115244911B (ja) |
WO (1) | WO2021181541A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039936B (zh) * | 2021-10-22 | 2023-12-26 | 北京邮电大学 | 基于时间敏感的虚拟电厂通信业务流量调度方法及装置 |
CN115766596B (zh) * | 2022-09-27 | 2024-07-30 | 东华大学 | 一种时延敏感工业物联网基于动态分组的大规模流调度方法 |
WO2024162356A1 (ja) * | 2023-02-02 | 2024-08-08 | パナソニックIpマネジメント株式会社 | 情報処理装置、情報処理方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011155484A1 (ja) | 2010-06-09 | 2011-12-15 | 日本電気株式会社 | 通信システム、論理チャネル制御装置、制御装置、通信方法およびプログラム |
JP2015531568A (ja) | 2012-09-26 | 2015-11-02 | アルカテル−ルーセント | フローデフレクションを介したソフトウェア定義ネットワークのセキュリティ保護 |
US20190253339A1 (en) | 2016-07-19 | 2019-08-15 | Schneider Electric Industries Sas | Time-Sensitive Software Defined Networking |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3161507B2 (ja) * | 1996-06-21 | 2001-04-25 | 日本電気株式会社 | ルーティング制御方法とその装置 |
US7600039B2 (en) * | 2000-02-16 | 2009-10-06 | Motorola, Inc. | Label-based multiplexing |
EP1610503B1 (en) * | 2004-06-25 | 2011-05-18 | Nokia Siemens Networks S.p.A. | Controlling routing operations in communication networks |
JP4717785B2 (ja) * | 2006-11-20 | 2011-07-06 | 日本電信電話株式会社 | ネットワーク管理装置および方法 |
US8792374B1 (en) * | 2011-12-07 | 2014-07-29 | Google Inc. | Managing network routes from a central server |
KR101887581B1 (ko) | 2011-12-26 | 2018-08-14 | 한국전자통신연구원 | 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법 |
US20140241367A1 (en) | 2011-12-27 | 2014-08-28 | Nec Corporation | Communication system, controller, communication method, and program |
JPWO2013129673A1 (ja) * | 2012-03-02 | 2015-07-30 | 富士通株式会社 | 通信装置、及び通信制御方法 |
JP5860135B2 (ja) * | 2012-03-02 | 2016-02-16 | 富士通株式会社 | 通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステム |
US9548928B2 (en) * | 2012-03-08 | 2017-01-17 | Nec Corporation | Network system, controller, and load distribution method |
CN103379039B (zh) | 2012-04-23 | 2016-12-14 | 华为技术有限公司 | 一种用于流统计的方法、装置及系统 |
US9641397B2 (en) | 2012-09-28 | 2017-05-02 | Nec Corporation | Communication system, control apparatus, control method, and program |
JP5967222B2 (ja) | 2012-12-19 | 2016-08-10 | 日本電気株式会社 | パケット処理装置、フローエントリの配置方法及びプログラム |
JP5943389B2 (ja) | 2013-02-05 | 2016-07-05 | 日本電信電話株式会社 | 呼受付判定方法および呼受付判定装置 |
JP6287443B2 (ja) | 2014-03-26 | 2018-03-07 | 富士通株式会社 | 制御装置、及びそのテーブル作成方法 |
US11088937B1 (en) * | 2014-05-08 | 2021-08-10 | Google Llc | System and method for synchronized route update |
JP6275572B2 (ja) | 2014-07-01 | 2018-02-07 | 株式会社日立製作所 | ネットワークシステム、管理サーバ |
JP6307377B2 (ja) * | 2014-07-29 | 2018-04-04 | Kddi株式会社 | 仮想ネットワーク割当方法および装置 |
JP6234916B2 (ja) * | 2014-11-19 | 2017-11-22 | 日本電信電話株式会社 | ネットワークシステムおよびその制御方法 |
US9602387B2 (en) | 2014-12-29 | 2017-03-21 | Juniper Networks, Inc. | Network topology optimization |
US9780909B2 (en) * | 2014-12-29 | 2017-10-03 | Juniper Networks, Inc. | Network topology optimization with feasible optical paths |
US9712447B2 (en) | 2014-12-29 | 2017-07-18 | Juniper Networks, Inc. | Point-to-multipoint path computation for wide area network optimization |
US10361899B2 (en) * | 2015-09-30 | 2019-07-23 | Nicira, Inc. | Packet processing rule versioning |
WO2017203327A1 (en) * | 2016-05-25 | 2017-11-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet forwarding using vendor extension in a software-defined networking (sdn) system |
CN107634912B (zh) * | 2016-07-19 | 2020-04-28 | 华为技术有限公司 | 负载均衡方法、装置及设备 |
US10666501B2 (en) * | 2016-09-15 | 2020-05-26 | At&T Intellectual Property, I, L.P. | Software defined network based CPRI switch for improved availability in cloud-based ran |
CN114827014A (zh) * | 2018-05-28 | 2022-07-29 | 华为技术有限公司 | 一种报文处理方法和装置 |
US11368387B2 (en) * | 2020-04-06 | 2022-06-21 | Vmware, Inc. | Using router as service node through logical service plane |
US11552849B2 (en) * | 2020-12-30 | 2023-01-10 | Aalyria Technologies, Inc. | Hybrid software-defined networking and mobile ad-hoc networking routing in mesh networks |
-
2020
- 2020-03-10 EP EP20924549.7A patent/EP4113917A4/en active Pending
- 2020-03-10 CN CN202080098016.4A patent/CN115244911B/zh active Active
- 2020-03-10 WO PCT/JP2020/010386 patent/WO2021181541A1/ja unknown
- 2020-03-10 JP JP2021573173A patent/JP7046288B2/ja active Active
-
2022
- 2022-07-20 US US17/869,479 patent/US11956146B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011155484A1 (ja) | 2010-06-09 | 2011-12-15 | 日本電気株式会社 | 通信システム、論理チャネル制御装置、制御装置、通信方法およびプログラム |
JP2015531568A (ja) | 2012-09-26 | 2015-11-02 | アルカテル−ルーセント | フローデフレクションを介したソフトウェア定義ネットワークのセキュリティ保護 |
US20190253339A1 (en) | 2016-07-19 | 2019-08-15 | Schneider Electric Industries Sas | Time-Sensitive Software Defined Networking |
Also Published As
Publication number | Publication date |
---|---|
EP4113917A1 (en) | 2023-01-04 |
WO2021181541A1 (ja) | 2021-09-16 |
EP4113917A4 (en) | 2023-01-25 |
CN115244911A (zh) | 2022-10-25 |
US20220360524A1 (en) | 2022-11-10 |
CN115244911B (zh) | 2024-07-02 |
JPWO2021181541A1 (ja) | 2021-09-16 |
US11956146B2 (en) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7046288B2 (ja) | コントローラ、ネットワークシステムおよびフロー管理方法 | |
RU2643475C2 (ru) | Многодоменная ретрансляция с маршрутизацией от источника на основе взаимодействующих сетевых контроллеров | |
CN103119900B (zh) | 通信系统、控制设备、节点控制方法和节点控制程序 | |
US6857026B1 (en) | Using alternate routes for fail-over in a communication network | |
KR100445374B1 (ko) | 정상 상태에서 토폴로지 메시지 트래픽 없는 분산형 컴퓨팅 환경에서의 토폴로지 전달 | |
JP5674107B2 (ja) | 通信システム、制御装置、処理規則の設定方法およびプログラム | |
JP5440691B2 (ja) | パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム | |
US7903650B2 (en) | Method and apparatus for updating probabilistic network routing information | |
US20210306285A1 (en) | Transfer device, transfer system, transfer method, and program | |
JP5033856B2 (ja) | ネットワーク構成の想定のための装置、システム | |
JP2005203885A (ja) | 経路設計方法 | |
US10826823B2 (en) | Centralized label-based software defined network | |
JP2013537769A (ja) | 通信システム、制御装置、ノード制御方法およびプログラム | |
CN109120454A (zh) | 一种QoS流量限速系统及方法 | |
US6490244B1 (en) | Layer 3 routing in self-healing networks | |
US9705791B2 (en) | Route setting device and route setting method | |
CN109756422B (zh) | 一种转发路由节点选取方法 | |
JP2007142609A (ja) | パス経路設定システム及びその方法並びにそれに用いるノード及びプログラム | |
JP2003209568A (ja) | ノードおよびパケット通信網およびパケット通信方法およびプログラムおよび記録媒体 | |
JP7322951B2 (ja) | 経路制御装置、経路制御方法、プログラム、および、ネットワークシステム | |
US7995497B2 (en) | Spontaneous topology discovery in a multi-node computer system | |
CN113556281A (zh) | 一种重新路由方法及装置、电子设备、计算机可读介质 | |
JP2014003408A (ja) | 中継転送システム、経路制御装置およびエッジ装置 | |
JP3591492B2 (ja) | パケット振分装置およびパケット振分プログラム | |
US20210036958A1 (en) | Device, and communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211209 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20211209 |
|
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: 20220222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7046288 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |