JP7046288B2 - コントローラ、ネットワークシステムおよびフロー管理方法 - Google Patents

コントローラ、ネットワークシステムおよびフロー管理方法 Download PDF

Info

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
Application number
JP2021573173A
Other languages
English (en)
Other versions
JPWO2021181541A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021181541A1 publication Critical patent/JPWO2021181541A1/ja
Application granted granted Critical
Publication of JP7046288B2 publication Critical patent/JP7046288B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow 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と呼ばれるネットワークが存在する。
TSSDNは、TSNスイッチの設定情報をコントローラで一元管理し、その設定情報をネットワーク機器に容易に反映することが可能なネットワークである。
TSSDNは、Time-Sensitive Software-Defined Networkの略称である。
TSNは、Time-Sensitive Networkingの略称である。
非特許文献1は、TSSDNについて以下のような技術を開示している。
TSSDNにおいて、従来のコントローラは、新規の通信フローの追加が要求された際に、以下のようにして新規の通信フローの追加を可能にする。
従来のコントローラは、新規の通信フローの情報と保存されたスケジュール情報とを元に、既存の通信フローのパスが変更されないという条件で新規の通信フローを追加するためのスケジュールおよびパスを算出する。
N. G. Nayak, F. Durr, and K. Rothermel著、「Incremental Flow Scheduling and Routing in Time-Sensitive Software-Defined Networks」、IEEE Transactions on Industrial Informatics出版、2018年5月発行、vol.14、no.5、p.2066-2075
非特許文献1の開示において、従来のコントローラは以下のような課題を有する。
既存の通信フローを変更すれば新規の通信フローを追加することが可能な状況において、従来のコントローラは、新規の通信フローを追加することができない。
本開示は、既存の通信フローを変更すれば新規の通信フローを追加することが可能な状況において新規の通信フローを追加できるようにすることを目的とする。
本開示のコントローラは、
新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信する受付部と、
前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行う第1探索部と、
前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行う第2探索部と、
前記追加要求フレームに対する応答するための追加応答フレームを送信する応答部と、を備える。
本開示によれば、既存の通信フローを変更すれば新規の通信フローを追加することが可能な状況において新規の通信フローを追加することが可能となる。
実施の形態1におけるネットワークシステム100の構成図。 実施の形態1におけるコントローラ200の構成図。 実施の形態1における第2探索部242の構成図。 実施の形態1におけるコントローラ200の機能ブロック図。 実施の形態1におけるフローテーブル281の構成図。 実施の形態1におけるフロー情報283iの構成図。 実施の形態1におけるタイムスロット情報284iの構成図。 実施の形態1におけるスイッチ300の構成図。 実施の形態1におけるスイッチ300の機能ブロック図。 実施の形態1におけるフロー管理方法のフローチャート。 実施の形態1におけるフロー管理方法のフローチャート。 実施の形態1におけるパラメータ(e)~(h)の関係図。 実施の形態1における候補パス群の例を示す図。 実施の形態1における第1探索(S110)のフローチャート。 実施の形態1における第2探索(S130)のフローチャート。 実施の形態1におけるコントローラ200のハードウェア構成図。 実施の形態1におけるスイッチ300のハードウェア構成図。
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
実施の形態1.
ネットワークシステム100について、図1から図17に基づいて説明する。
ネットワークシステム100は、例えば、SDNが適用されるシステムである。
SDNは、Software-Defined Networkの略称である。
***構成の説明***
図1に基づいて、ネットワークシステム100の構成を説明する。
ネットワークシステム100は、コントローラ200と複数のスイッチ300と複数のノード110とを備える。
図1には、複数のスイッチ300の一例として、3台のスイッチ(300A~300C)を示している。また、複数のノード110の一例として、2台のノード(110A,110B)を示している。
ノード110は、各種フレームを送受信する機器である。フレームは、イーサネットフレームまたは通信フレームともいう。イーサネットは登録商標である。
スイッチ300は、フレームを転送する機器である。
コントローラ200は、通信フローを管理する装置である。
通信フローは、通信におけるフレームの流れを意味する。
図2に基づいて、コントローラ200の構成を説明する。
コントローラ200は、プロセッサ201と主記憶装置202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201はCPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
主記憶装置202は揮発性または不揮発性の記憶装置である。主記憶装置202は、メモリまたはメインメモリとも呼ばれる。例えば、主記憶装置202はRAMである。主記憶装置202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
RAMは、Random Access Memoryの略称である。
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じて主記憶装置202にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
通信装置204はレシーバ及びトランスミッタである。例えば、通信装置204は通信チップまたはNICである。
NICは、Network Interface Cardの略称である。
入出力インタフェース205は、入力装置および出力装置が接続されるポートである。
コントローラ200は、受付部210と情報抽出部220と候補パス群算出部230と探索部240とフロー管理部250と応答部260といった要素を備える。探索部240は、第1探索部241と第2探索部242といった要素を備える。フロー管理部250は、新規フロー追加部251と既存フロー変更部252といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置203には、受付部210と情報抽出部220と候補パス群算出部230と探索部240とフロー管理部250と応答部260としてコンピュータを機能させるためのフロー管理プログラムが記憶されている。フロー管理プログラムは、主記憶装置202にロードされて、プロセッサ201によって実行される。
補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、主記憶装置202にロードされて、プロセッサ201によって実行される。
プロセッサ201は、OSを実行しながら、フロー管理プログラムを実行する。
OSは、Operating Systemの略称である。
フロー管理プログラムの入出力データは記憶部290に記憶される。例えば、記憶部290には、ネットワーク情報データベース280および学習済みモデル291などが記憶される。
補助記憶装置203は記憶部290として機能する。但し、主記憶装置202、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、補助記憶装置203の代わりに、又は、補助記憶装置203と共に、記憶部290として機能してもよい。
コントローラ200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の機能を分担する。
フロー管理プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図3に基づいて、第2探索部242の構成を説明する。
第2探索部242は、推論部242Aとパス組選択部242Bとスケジュール組探索部242Cと学習部242Dといった要素を備える。これら要素の機能について後述する。
図4に基づいて、ネットワーク情報データベース280の構成を説明する。
ネットワーク情報データベース280は、フローテーブル281とネットワーク構成データ282とフロー情報データ283とタイムスロットデータ284と候補パス群データ285とを備える。
図5に基づいて、フローテーブル281を説明する。
フローテーブル281は、スイッチ300別に1つ以上のフローエントリを有する。
フローエントリは、フローパターンとアクションとフラグとカウンタといった情報を含む。
フローパターンは、通信フローのパターンである。通信フローはフローパターン別に分類される。例えば、フローパターンは、フレームに設定される宛先IPアドレス、宛先MACアドレス、送信元IPアドレスまたは送信元MACアドレスなどを示す。
アクションは、スイッチ300の動作を示す。具体的には、アクションは、フローパターンに一致するフレームの転送方法を示す。「複製転送」はIEEE 802.1CBに規定されるパス冗長方式によってフレームを複製して転送することを意味する。「転送しない」はフレームの廃棄を意味する。
フラグは、フローエントリが特定の規格ために用意されたものであるか否かを示す。具体的な規格はIEEE 802.1CBである。「1」はフローエントリが特定の規格ために用意されたものであることを意味する。
カウンタは、アクションが実施された回数を示す。
ネットワーク構成データ282を説明する。
ネットワーク構成データ282は、ネットワークシステム100の構成を示すデータである。
ネットワーク構成データ282は、接続情報とケーブル長とリンク速度と転送遅延といった情報を示す。
接続情報は、物理的に接続されている機器の組を示す。
ケーブル長は、機器間のケーブルの長さを示す。ケーブルは通信ケーブルともいう。
リンク速度は、機器間の通信速度である。
転送遅延は、各スイッチ300における転送時の遅延時間である。
図6に基づいて、フロー情報データ283を説明する。
フロー情報データ283は、通信フローごとにフロー情報283iを示す。
フロー情報283iは、優先度と許容遅延と送信周期とフレーム長とフレーム数とフレーム間ギャップとパス情報と使用済みスロット情報といった情報を含む。
優先度は、通信フローの優先順位を決定する値である。
許容遅延は、許容される通信時間である。
送信周期は、フレームの送信が行われる周期である。
フレーム長は、フレームのサイズである。
フレーム数は、送信周期に送信されるフレームの数である。
フレーム間ギャップは、フレーム間の時間間隔である。
パス情報は、フレームが経由する機器(経由機器)と経由機器においてフレームを送信するポート(転送ポート)を示す。経由機器は、フレームを送信、転送または受信する機器である。
使用済みスロット情報は、通信フローに割り当てられた時間帯(割り当て時間帯)を示す。具体的には、使用済みスロット情報は、経由機器においてフレームの転送(または送信)が開始される時刻(開始時刻)と、経由機器においてフレームの転送(または送信)が終了する時刻(終了時刻)と、を示す。
パス情報によって、通信フローのパスが決定される。通信フローのパスは、通信フローにおけるフレームの通信経路を意味する。パスは「経路」ともいう。
使用済みスロット情報によって、通信フローのスケジュールが決定される。
図7に基づいて、タイムスロットデータ284を説明する。
タイムスロットデータ284は、各スイッチ300の通信ポート別にタイムスロット情報284iを示す。
タイムスロット情報284iは、サイクルタイムとゲート制御リストと空きスロット情報といった情報を含む。
サイクルタイムは、管理される時間の長さである。
ゲート制御リストは、IEEE 802.1Q-2018に規定されるScheduled traffic用の情報であり、ゲート状態と持続時間との組を示す。
空きスロット情報は、サイクルタイムの中で空いている時間帯(空き時間帯)を示す。空き時間帯は開始時刻と終了時刻との組で特定される。
候補パス群データ285を説明する。
候補パス群データ285は、各通信フローの候補パス群の情報を含む。
候補パス群について後述する。
図8に基づいて、スイッチ300の構成を説明する。
スイッチ300は、プロセッサ301と主記憶装置302と補助記憶装置303と通信装置304と入出力インタフェース305といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
プロセッサ301は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ301はCPUである。
主記憶装置302は揮発性または不揮発性の記憶装置である。主記憶装置302は、主記憶装置またはメインメモリとも呼ばれる。例えば、主記憶装置302はRAMである。主記憶装置302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じて主記憶装置302にロードされる。
通信装置304はレシーバ及びトランスミッタである。通信装置304は複数の通信ポートを有する。例えば、通信装置304は通信チップまたはNICである。
入出力インタフェース305は、入力装置および出力装置が接続されるポートである。
スイッチ300は、多重部310と送信先決定部320と分離部330と確認部340と更新部350といった要素を備える。これらの要素はソフトウェアで実現される。
補助記憶装置303には、多重部310と送信先決定部320と分離部330と確認部340としてコンピュータを機能させるためのフレーム転送プログラムが記憶されている。フレーム転送プログラムは、主記憶装置302にロードされて、プロセッサ301によって実行される。
補助記憶装置303には、さらに、OSが記憶されている。OSの少なくとも一部は、主記憶装置302にロードされて、プロセッサ301によって実行される。
プロセッサ301は、OSを実行しながら、フレーム転送プログラムを実行する。
フレーム転送プログラムの入出力データは記憶部390に記憶される。例えば、記憶部390には、フローテーブル391などが記憶される。
補助記憶装置303は記憶部390として機能する。但し、主記憶装置302、プロセッサ301内のレジスタおよびプロセッサ301内のキャッシュメモリなどの記憶装置が、補助記憶装置303の代わりに、又は、補助記憶装置303と共に、記憶部390として機能してもよい。
スイッチ300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ301の機能を分担する。
フレーム転送プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
図9に基づいて、スイッチ300の構成の説明を続ける。
スイッチ300は、複数の受信ポートと複数の送信ポートとを備える。
各受信ポートは、フレームを受信するための通信ポートである。
各送信ポートは、フレームを送信するための通信ポートである。
スイッチ300は、フローテーブル391を有する。
フローテーブル391は、スイッチ300用の一つ以上のフローエントリ391eを有する。
フローエントリ391eの内容は、コントローラ200において管理されるフローテーブル281に含まれるスイッチ300用のフローエントリの内容と同じである。
***動作の説明***
ネットワークシステム100の動作(特にコントローラ200の動作)の手順はフロー管理方法に相当する。
図10および図11に基づいて、フロー管理方法の手順を説明する。
ステップS101において、受付部210は追加要求フレームを受信する。
例えば、いずれかのノード110がコントローラ200宛てに追加要求フレームを送信し、コントローラ200において受付部210が通信装置204を用いて追加要求フレームを受信する。
追加要求フレームは、新規の通信フローの追加を要求するためのフレームである。
新規の通信フローを「新規フロー」と称する。
追加要求フレームには、新規フローのフロー特性情報が設定されている。
フロー特性情報は、パラメータ(a)~(h)を含む。
パラメータ(a)は、送信元ノードを識別する。送信元ノードは、フレームの送信元となるノード110である。
パラメータ(b)は、宛先ノードを識別する。宛先ノードは、フレームの宛先となるノード110である。
パラメータ(c)は、優先度を示す。
パラメータ(d)は、許容遅延を示す。許容遅延は、許容される通信時間の長さである。
パラメータ(e)は、送信周期を示す。送信周期は、フレームの送信が行われる周期である。
パラメータ(f)は、フレーム長を示す。フレーム長は、フレームのサイズである。
パラメータ(g)は、フレーム数を示す。フレーム数は、送信周期に送信されるフレームの数である。
パラメータ(h)は、フレーム間ギャップを示す。フレーム間ギャップは、フレーム間の時間間隔である。
図12に、パラメータ(e)~(h)の関係を示す。
図10に戻り、ステップS102から説明を続ける。
ステップS102において、情報抽出部220は、追加要求フレームからフロー特性情報を読み出す。つまり、情報抽出部220は、追加要求フレームからパラメータ(a)~(h)を読み出す。
ステップS103において、候補パス群算出部230は、パラメータ(a)とパラメータ(b)とネットワーク構成データ282とに基づいて、新規フローの候補パス群を算出する。
候補パス群は、1つ以上の候補パスである。
候補パスは、送信元ノードから宛先ノードまでのパスの候補である。候補パスはループを形成しない。
候補パス群は、深さ優先探索などの公知のアルゴリズムを利用して算出することができる。
図13に、候補パス群の具体例を示す。
送信元ノードはノード110Aであり、宛先ノードはノード110Bである。
ノード110Aからノード110Bまでのパスは2つ存在する。つまり、2つの候補パスが存在する。
候補パス(1)は、ノード110A→スイッチ300A→スイッチ300B→ノード110Bというパスである。
候補パス(2)は、ノード110A→スイッチ300A→スイッチ300C→スイッチ300B→ノード110Bというパスである。
図10に戻り、ステップS110から説明を続ける。
ステップS110において、第1探索部241は、新規フローのパラメータ(c)~(h)と新規フローの候補パス群の情報とタイムスロットデータ284の中の空きスロット情報とに基づいて、第1探索を行う。
第1探索は、各既存フローのスケジュールおよびパスを変更しないで新規フローに割り当てることが可能なスケジュールおよびパスを探す処理である。
既存フローは、既に存在する通信フローである。
第1探索の詳細について後述する。
ステップS121において、第1探索部241は、新規フローに割り当てることが可能なスケジュールおよびパスが見つかったか判定する。
新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合、処理はステップS122に進む。
新規フローに割り当てることが可能なスケジュールおよびパスが見つらなかった場合、処理はステップS130に進む。
ステップS122において、新規フロー追加部251は、ネットワーク情報データベース280に新規フローを登録する。
新規フローは以下のように登録される。
新規フロー追加部251は、新規フローのパスに存在するスイッチ300ごとに新規フローのフローエントリを生成し、生成したフローエントリをフローテーブル281に追加する。
新規フロー追加部251は、新規フローのパスに基づいてパス情報を生成し、新規フローのスケジュールに基づいて使用済みスロット情報を生成する。そして、新規フロー追加部251は、パラメータ(c)~(h)とパス情報と使用済みスロット情報とを含んだフロー情報283iをフロー情報データ283に追加する。
新規フロー追加部251は、新規フローのパスに存在する各スイッチ300のポートごとにタイムスロット情報284iを生成し、生成したタイムスロット情報284iをタイムスロットデータ284に追加する。
新規フロー追加部251は、新規フローの候補パス群の情報を候補パス群データ285に追加する。なお、候補パス群データ285には、既存フローの候補パス群の情報が予め登録されている。
ステップS123において、新規フロー追加部251は、新規フローのパスに存在する各スイッチ300に対して追加通知フレームを生成し、新規フローのパスに存在する各スイッチ300に追加通知フレームを送信する。
追加通知フレームは、新規フローのフローエントリを含む。
例えば、新規フローのパスにスイッチ300Aが存在する。この場合、新規フロー追加部251は、フローテーブル281からスイッチ300A用のフローエントリを抽出し、抽出したフローエントリから新規フローのフローエントリを選択する。そして、新規フロー追加部251は、選択したフローエントリを含む追加通知フレームを生成し、生成した追加通知フレームをスイッチ300A宛てに送信する。
各追加通知フレームは、例えば、SDNで一般的に用いられる通信プロトコルにしたがって送信される。
各スイッチ300は、追加通知フレームを受信する。
スイッチ300において、更新部350は、追加通知フレームに含まれる新規フローのエントリをフローテーブル391に追加する。
ステップS124において、応答部260は、追加応答フレーム(成功)を生成し、追加応答フレーム(成功)を追加要求フレームの送信元へ送信する。
追加応答フレーム(成功)は、追加要求フレームに対する応答のためのフレームであり、追加成功情報を含む。追加成功情報は、新規フローが追加されたことを示す。また、追加応答フレーム(可能)は、新規フローの送信時刻情報を含む。新規フローの送信時刻情報は、新規フローのスケジュールにおけるフレームの送信時刻を示す。
ステップS124の後、処理は終了する。
ステップS130において、第2探索部242は、新規フローのパラメータ(a)~(f)と新規フローの候補パス群の情報と候補パス群データ285とに基づいて、第2探索を行う。
第2探索は、各既存フローのスケジュールおよびパスを変更して新規フローに割り当てることが可能なスケジュールおよびパスを探す処理である。第2探索において強化学習が利用される。
第2探索の詳細について後述する。
ステップS141において、第2探索部242は、新規フローに割り当てることが可能なスケジュールおよびパスが見つかったか判定する。
新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合、処理はステップS142に進む。
新規フローに割り当てることが可能なスケジュールおよびパスが見つらなかった場合、処理はステップS149に進む。
ステップS142において、既存フロー変更部252は、変更される各既存フローのフレームが変更前のパスと変更後のパスとの二経路で転送されるようにフローテーブル281を更新する。ステップS142における更新を「第1更新」と称する。
言い換えると、変更される各既存フローのフレームがIEEE 802.1CBに規定されるパス冗長方式に基づいて二経路で転送されるように、フローテーブル281が更新される。
具体的には、既存フロー変更部252は、更新処理(1)、(2)を行う。
更新処理(1)は、各既存フローの変更後のパスにおいてフレームを複製せずに転送する各スイッチ300用のフローエントリを追加する処理である。各既存フローの変更後のパスにおいてフレームを複製せずに転送するためのフローエントリが追加される。追加されるフローエントリのフラグ値は「1」である。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更後のパスである候補パス(2)においてフレームを複製せずに転送するスイッチ300は、スイッチ300Cおよびスイッチ300Bである。そして、スイッチ300Cがスイッチ300Aから転送されたフレームをスイッチ300Bに転送するためのフローエントリと、スイッチ300Bがスイッチ300Cから転送されたフレームをノード110Bに転送するためのフローエントリが追加される。
更新処理(2)は、各既存フローの変更前のパスにおいてフレームを複製して変更前のパスのスイッチと変更後のパスのスイッチとのそれぞれにフレームを転送する各スイッチ300用のフローエントリを変更する処理である。変更の対象となる各フローエントリは、既存フローの変更前のパスにおいてフレームを複製せずに転送するためのフローエントリから、フレームを複製して変更前のパスと変更後のパスとのそれぞれにおいてフレームを転送するためのフローエントリに変更される。変更後のフローエントリのフラグ値は「1」である。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更前のパスである候補パス(1)においてフレームを複製して変更前のパスのスイッチ300Bと変更後のパスのスイッチ300Cとのそれぞれにフレームを転送するスイッチ300は、スイッチ300Aである。そして、スイッチ300A用のフローエントリが変更される。変更前のフローエントリは、ノード110Aから受信したフレームを複製せずにスイッチ300Bにフレームを転送するためのフローエントリである。変更後のフローエントリは、ノード110Aから受信したフレームを複製してスイッチ300Bとスイッチ300Cとのそれぞれにフレームを転送するためのフローエントリである。
既存フロー変更部252は、追加または変更されたフローエントリごとにフローエントリの情報を含んだ更新通知フレームを生成し、生成した更新通知フレームをフローエントリに対応するスイッチ300宛てに送信する。つまり、変更前のパスに存在する各スイッチ300と変更後のパスに存在する各スイッチ300に更新通知フレームが送信される。
具体的には、既存フロー変更部252は、SDNにおける手順にしたがい、更新処理(1)で追加されたフローエントリごとに更新通知フレームを送信した後に、更新処理(2)で変更されたフローエントリごとに更新通知フレームを送信する。
変更される既存フローのフレームを廃棄する各スイッチ300用のフローエントリの更新は不要である。
フレームの後着廃棄機能は、IEEE802.1CBの動作によって実現される。フレームの後着廃棄機能の実現のためのフローエントリの設定は不要である。
ステップS143において、更新通知フレームの宛先である各スイッチ300は、更新通知フレームを受信する。
スイッチ300において、更新部350は、更新通知フレームに含まれる情報に合わせてフローテーブル391を更新する。つまり、変更後の既存フロー用のフローエントリが追加され、変更前の既存フロー用のフローエントリが変更される。
その後、各スイッチ300は、更新後のフローテーブル391の各フローエントリにしたがって各フレームの転送を行う。各フレームは以下のように転送される。
多重部310は、各受信ポートから入力されたフレームを多重にする。
送信先決定部320は、フローテーブル391から各フレームのパターンと一致するフレームパターンが設定されたフローエントリを選択し、選択したフローエントリのアクションに指定された送信ポートのポート識別子をフレームに付加する。アクションがフレームの破棄である場合またはフローエントリが存在しない場合、送信先決定部320はフレームを破棄する。フレームが破棄されない場合、送信先決定部320は、選択したフローエントリのカウンタに1を加算する。
分離部330は、各フレームをフレームに付加されたポート識別子で識別される送信ポートからフレームを転送する。
フラグ値が「1」であるフローエントリ、すなわち、変更前の既存フロー用のフローエントリまたは変更後の既存フロー用のフローエントリにおいて、カウンタ値が閾値以上の値になった場合、確認部340は次のように動作する。カウンタ値が閾値以上の値になったフローエントリを「対象フローエントリ」と称する。確認部340は、対象フローエントリの情報を含んだ確認通知フレームを生成し、確認通知フレームをコントローラ200宛てに送信する。その後、確認部340は、対象フローエントリのフラグ値を「0」に変更する。
ステップS144において、既存フロー変更部252は、確認通知フレームを受信する。確認通知フレームの受信により、変更される各既存フローのフレームが二経路で転送されていることが確認される。
既存フロー変更部252は、確認通知フレームに含まれる情報に基づいて、変更される既存フローのフレームが一経路で転送されるようにフローテーブル281を更新する。
ステップS144における更新を「第2更新」と称する。
フローテーブル281は以下のように更新される。確認通知フレームに含まれる情報によって特定されるフローエントリを「対象フローエントリ」と称する。
対象フローエントリが変更後の既存フロー用のフローエントリである場合、対象フローエントリは、変更後の既存フローのフレームを複製せずに転送するためのフローエントリに変更される。
対象フローエントリが変更前の既存フロー用のフローエントリである場合、対象エントリは削除される。
各スイッチ300からの確認通知フレームに対してフローテーブル281が更新されることにより、更新処理(3)、(4)が実現される。
更新処理(3)は、各既存フローの変更前のパスにおいてフレームを複製して変更前のパスのスイッチと変更後のパスのスイッチとのそれぞれにフレームを転送する各スイッチ300用のフローエントリを変更する処理である。変更の対象となる各フローエントリは、既存フローの変更後のパスにおいてフレームを複製せずに転送するためのフローエントリに変更される。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更後のパスである候補パス(2)においてフレームを複製して変更前のパスのスイッチ300Bと変更後のパスのスイッチ300Cとのそれぞれにフレームを転送するスイッチ300は、スイッチ300Aである。そして、スイッチ300A用のフローエントリが変更される。変更前のフローエントリは、ノード110Aから受信したフレームを複製してスイッチ300Bとスイッチ300Cとのそれぞれにフレームを転送するためのフローエントリである。変更後のフローエントリは、ノード110Aから受信したフレームを複製せずにスイッチ300Cにフレームを転送するためのフローエントリである。
更新処理(4)は、各既存フローの変更前のパスにおいてフレームを複製せずに転送する各スイッチ300用のフローエントリを削除する処理である。
図13において、候補パス(1)が変更前のパスであり、候補パス(2)が変更後のパスであると仮定する。この場合、変更前のパスである候補パス(1)においてフレームを複製せずに転送するスイッチ300は、スイッチ300Bである。そして、スイッチ300Bがスイッチ300Aから転送されたフレームをノード110Bに転送するためのフローエントリが削除される。
既存フロー変更部252は、変更または削除されたフローエントリごとにフローエントリの情報を含んだ更新通知フレームを生成し、生成した更新通知フレームをフローエントリに対応するスイッチ300宛てに送信する。
具体的には、既存フロー変更部252は、SDNにおける手順にしたがい、更新処理(3)で変更されたフローエントリごとに更新通知フレームを送信した後に、更新処理(4)で削除されたフローエントリごとに更新通知フレームを送信する。
変更される既存フローのフレームを廃棄する各スイッチ300用のフローエントリの更新は不要である。
ステップS145において、更新通知フレームの宛先である各スイッチ300は、更新通知フレームを受信する。
各スイッチ300において、更新部350は、更新通知フレームに含まれる情報に合わせてフローテーブル391を更新する。つまり、変更後の既存フロー用のフローエントリが変更され、変更前の既存フロー用のフローエントリが削除される。
その後、各スイッチ300は、更新後のフローテーブル391の各フローエントリにしたがって各フレームの転送を行う。転送方法は、ステップS143における方法と同じである。
フラグ値が「1」であるフローエントリ、すなわち、変更前の既存フロー用のフローエントリまたは変更後の既存フロー用のフローエントリにおいて、カウンタ値が閾値以上の値になった場合、確認部340は次のように動作する。カウンタ値が閾値以上の値になったフローエントリを「対象フローエントリ」と称する。確認部340は、対象フローエントリの情報を含んだ確認通知フレームを生成し、確認通知フレームをコントローラ200宛てに送信する。その後、確認部340は、対象フローエントリのフラグ値を「0」に変更する。
ステップS142からステップS145により、各既存フローの変更がフローテーブル281に反映される。
ステップS146において、既存フロー変更部252は、確認通知フレームを受信する。
既存フロー変更部252は、ネットワーク情報データベース280(フローテーブル281を除く)に各既存フローの変更を反映する。
各既存フローの変更は以下のように反映される。
既存フロー変更部252は、変更後の既存フローのパスに基づいてパス情報を生成し、変更後の既存フローのスケジュールに基づいて使用済みスロット情報を生成する。そして、既存フロー変更部252は、変更前の既存フローのフロー情報283iをフロー情報データ283から選択し、選択したフロー情報283iのパス情報および使用済みスロット情報を生成されたパス情報および使用済みスロット情報で更新する。
既存フロー変更部252は、変更前の既存フローのパスに存在する各スイッチ300のポートごとにタイムスロット情報284iをタイムスロットデータ284から削除する。また、既存フロー変更部252は、変更後の既存フローのパスに存在する各スイッチ300のポートごとにタイムスロット情報284iを生成し、生成したタイムスロット情報284iをタイムスロットデータ284に追加する。
ステップS146の後、処理はステップS122に進む。
ステップS149において、応答部260は、追加応答フレーム(失敗)を生成し、追加応答フレーム(失敗)を追加要求フレームの送信元へ送信する。
追加応答フレーム(失敗)は、追加要求フレームに対する応答のためのフレームであり、追加失敗情報を含む。追加失敗情報は、新規フローが追加されなかったことを示す。
ステップS149の後、処理は終了する。
図14に基づいて、第1探索(S110)の手順を説明する。
ステップS111において、第1探索部241は、新規フローの候補パス群の中に未選択の候補パスが有るか判定する。
未選択の候補パスが有る場合、処理はステップS112に進む。
未選択の候補パスが無い場合、新規フローに割り当てることが可能なスケジュールおよびパスが見つからずに処理は終了する。
ステップS112において、第1探索部241は、新規フローの候補パス群から未選択の候補パスを1つ選択する。
例えば、第1探索部241は、経由するスイッチ300の数の少ない順に候補パスを選択する。
ステップS112で選択された候補パスを「対象パス」と称する。
ステップS113において、第1探索部241は、第1探索条件を満たす新規フローのスケジュール(該当スケジュール)を探す。
第1探索条件は、[条件1]と[条件2]を含む。[条件1]と[条件2]の両方が満たされる場合に第1探索条件が満たされる。
[条件1]は、対象パスに存在する各スイッチ300が新規フローのフレーム用の転送時間以上の長さを有する空きスロットを有する、という条件である。フレーム用の転送時間は、フレームを転送するために必要な時間である。
新規フローのフレーム用の転送時間以上の長さを有する空きスロットを「該当スロット」と称する。
[条件2]は、対象パスに存在する各スイッチ300が新規フローのフレームを該当スロットで転送した場合に新規フローの通信にかかる通信時間長が新規フローの許容遅延を超過しない、という条件である。通信時間長は、送信元ノードがフレームを送信してから宛先ノードがフレームを受信するまでの時間の長さである。新規フローの許容遅延はパラメータ(d)に示される。
該当スケジュールの探索は、SATソルバなどの汎用のソルバを利用して行うことができる。
ステップS114において、第1探索部241は、該当スケジュールが見つかったか判定する。
該当スケジュールが見つかった場合、新規フローに割り当てることが可能なスケジュールおよびパスとして該当スケジュールおよび対象パスが見つかり、処理は終了する。
該当スケジュールが見つからなかった場合、処理はステップS111に進む。
図15に基づいて、第2探索(S130)の手順を説明する。
ステップS131において、推論部242Aは、1つ以上の候補パス組と各候補パス組の報酬を算出する。
候補パス組は、新規フローの候補パスと既存フローの候補パスとの組である。
例えば、既存フロー(1)と既存フロー(2)が存在する場合、候補パス組は、新規フローの候補パスと既存フロー(1)の候補パスと既存フロー(2)の候補パスとの組である。
候補パス組の報酬は、候補パス組の価値を示す。
候補パス組が新規フローのパスと既存フローのパスとの組として使用された場合において新規フローの許容遅延に対する余裕時間と各既存フローの許容遅延に対する余裕時間が長いほど、候補パス組の報酬は高い。
許容遅延に対する余裕時間は、許容遅延と通信時間との差である。言い換えると、許容遅延に対する余裕時間は、許容遅延から通信時間を引いて算出される時間である。
例えば、候補パス組の報酬は以下のように定義される。
報酬 = スケジュール存在フラグ×合計余裕時間
スケジュール存在フラグは、スケジュールの存在の有無を示す。スケジュールが存在する場合、スケジュール存在フラグは「1」である。スケジュールが存在しない場合、スケジュール存在フラグは「0」である。
合計余裕時間は、新規フローの許容遅延に対する余裕時間と各既存フローの許容遅延に対する余裕時間との合計である。
具体的には、推論部242Aは、新規フローのパラメータ(a)~(f)と新規フローの候補パス群の情報と候補パス群データ285とを入力にして学習済みモデル291を演算する。
候補パス群データ285には、各既存フローの候補パス群の情報が含まれる。
学習済みモデル291は、強化学習によって生成された学習済みモデルである。
学習済みモデル291が演算されることにより、1つ以上の候補パス組と各候補パス組の報酬が算出される。
ステップS131で算出される1つ以上の候補パス組を「候補パス組群」と称する。
ステップS132において、パス組選択部242Bは、候補パス組群の中に未選択の候補パス組が有るか判定する。
未選択の候補パス組が有る場合、処理はステップS133に進む。
未選択の候補パス組が無い場合、新規フローに割り当てることが可能なスケジュールおよびパスと既存フローに割り当てることが可能なスケジュールおよびパスが見つからずに処理は終了する。
ステップS133において、パス組選択部242Bは、候補パス組群から未選択の候補パス組を1つ選択する。具体的には、パス組選択部242Bは、報酬が高い順に未選択の候補パス組を選択する。
選択される候補パス組を「対象パス組」と称する。
ステップS134において、スケジュール組探索部242Cは、対象パス組が新規フローのパスと既存フローのパスとの組である場合に第2探索条件を満たすスケジュール組(該当スケジュール組)を探す。
スケジュール組は、新規フローのスケジュールと既存フローのスケジュールとの組である。
例えば、既存フロー(1)と既存フロー(2)が存在する場合、スケジュール組は、新規フローのスケジュールと既存フロー(1)のスケジュールと既存フロー(2)のスケジュールとの組である。
第2探索条件は、[条件1]と[条件2]と[条件3]とを含む。[条件1]と[条件2]と[条件3]の全ての条件が満たされる場合に第2探索条件が満たされる。
[条件1]と[条件2]は、第1探索条件と共通である。
[条件3]は、各既存フローにおいてフレームの送信時刻が変更されない、という条件である。つまり、[条件3]は、各既存フローにおいてフレームが送信元ノードから送信される時刻が変更されない、という条件である。
該当スケジュールの探索は、SATソルバなどの汎用のソルバを利用して行うことができる。
ステップS135において、学習部242Dは、学習済みモデル291を更新する。
具体的には、学習部242Dは、対象パス組と対象パス組の報酬を入力にして学習済みモデル291に対する強化学習を行う。これにより、学習済みモデル291が更新される。
ステップS136において、パス組選択部242Bは、該当スケジュール組が見つかったか判定する。
該当スケジュール組が見つかった場合、新規フローに割り当てることが可能なスケジュールと既存フローに割り当てることが可能なスケジュールとの組として該当スケジュール組が見つかり、新規フローに割り当てることが可能なパスと既存フローに割り当てることが可能なパスとの組として対象パス組が見つかり、処理は終了する。
該当スケジュール組が見つからなかった場合、処理はステップS132に進む。
***実施の形態1の効果***
既存フローのパス変更を考慮して新規フローのスケジュールおよびパスを探索することで、TSNネットワークの柔軟な運用が可能となる。
つまり、既存の通信フローを変更すれば新規の通信フローを追加することが可能な状況において新規の通信フローを追加することが可能となる。
***実施の形態の補足***
図16に基づいて、コントローラ200のハードウェア構成を説明する。
コントローラ200は処理回路209を備える。
処理回路209は、受付部210と情報抽出部220と候補パス群算出部230と探索部240とフロー管理部250と応答部260とを実現するハードウェアである。
処理回路209は、専用のハードウェアであってもよいし、主記憶装置202に格納されるプログラムを実行するプロセッサ201であってもよい。
処理回路209が専用のハードウェアである場合、処理回路209は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
ASICは、Application Specific Integrated Circuitの略称である。
FPGAは、Field Programmable Gate Arrayの略称である。
コントローラ200は、処理回路209を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路209の機能を分担する。
処理回路209において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、コントローラ200の機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
図17に基づいて、スイッチ300のハードウェア構成を説明する。
スイッチ300は処理回路309を備える。
処理回路309は、多重部310と送信先決定部320と分離部330と確認部340とを実現するハードウェアである。
処理回路309は、専用のハードウェアであってもよいし、主記憶装置302に格納されるプログラムを実行するプロセッサ301であってもよい。
処理回路309が専用のハードウェアである場合、処理回路309は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
スイッチ300は、処理回路309を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路309の機能を分担する。
処理回路309において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
このように、スイッチ300の機能はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
各実施の形態は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
コントローラ200とスイッチ300のそれぞれの要素である「部」は、「処理」または「工程」と読み替えてもよい。
100 ネットワークシステム、110 ノード、200 コントローラ、201 プロセッサ、202 主記憶装置、203 補助記憶装置、204 通信装置、205 入出力インタフェース、209 処理回路、210 受付部、220 情報抽出部、230 候補パス群算出部、240 探索部、241 第1探索部、242 第2探索部、242A 推論部、242B パス組選択部、242C スケジュール組探索部、242D 学習部、250 フロー管理部、251 新規フロー追加部、252 既存フロー変更部、260 応答部、280 ネットワーク情報データベース、281 フローテーブル、282 ネットワーク構成データ、283 フロー情報データ、283i フロー情報、284 タイムスロットデータ、284i タイムスロット情報、285 候補パス群データ、290 記憶部、291 学習済みモデル、300 スイッチ、301 プロセッサ、302 主記憶装置、303 補助記憶装置、304 通信装置、305 入出力インタフェース、309 処理回路、310 多重部、320 送信先決定部、330 分離部、340 確認部、350 更新部、390 記憶部、391 フローテーブル、391e フローエントリ。

Claims (5)

  1. 新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信する受付部と、
    前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行う第1探索部と、
    前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行う第2探索部と、
    前記追加要求フレームに対する応答するための追加応答フレームを送信する応答部と、
    を備えるコントローラ。
  2. 前記第1探索または前記第2探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合に、前記新規フローを前記ネットワーク情報データベースに登録する新規フロー追加部と、
    前記第2探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つかった場合に、各既存フローの変更を前記ネットワーク情報データベースに反映する既存フロー変更部と、
    を備える
    請求項1に記載のコントローラ。
  3. 前記既存フロー変更部は、
    変更される各既存フローのフレームが変更前のパスと変更後のパスとの二経路で転送されるように前記ネットワーク情報データベースを更新する第1更新を行い、
    前記第1更新の情報を含んだ更新通知フレームを前記変更前のパスに存在する各スイッチと前記変更後のパスに存在する各スイッチに送信し、
    変更される各既存フローのフレームが前記二経路で転送されていることを確認するための確認通知フレームを各スイッチから受信し、
    変更される各既存フローのフレームが前記変更後のパスの一経路で転送されるように前記ネットワーク情報データベースを更新する第2更新を行い、
    前記第2更新の情報を含んだ更新通知フレームを前記変更前のパスに存在する各スイッチと前記変更後のパスに存在する各スイッチに送信する
    請求項2に記載のコントローラ。
  4. 通信フローを管理するコントローラと、各通信フローのフレームを転送する複数のスイッチと、を備え、
    前記コントローラは、
    新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信する受付部と、
    前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行う第1探索部と、
    前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行う第2探索部と、
    前記追加要求フレームに対する応答するための追加応答フレームを送信する応答部と、
    を備える
    ネットワークシステム。
  5. 受付部が、新規の通信フローである新規フローの追加を要求するための追加要求フレームを受信し
    第1探索部が、前記追加要求フレームが受信された場合に、既存の通信フローである各既存フローのスケジュールおよびパスが登録されたネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更しないで前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第1探索を行い、
    第2探索部が、前記第1探索によって前記新規フローに割り当てることが可能なスケジュールおよびパスが見つからなかった場合に、前記ネットワーク情報データベースを用いて、各既存フローのスケジュールおよびパスを変更して前記新規フローに割り当てることが可能なスケジュールおよびパスを探す第2探索を行い、
    応答部が、前記追加要求フレームに対する応答するための追加応答フレームを送信する
    フロー管理方法。
JP2021573173A 2020-03-10 2020-03-10 コントローラ、ネットワークシステムおよびフロー管理方法 Active JP7046288B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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