JP7359284B2 - 制御装置、制御方法及びプログラム - Google Patents

制御装置、制御方法及びプログラム Download PDF

Info

Publication number
JP7359284B2
JP7359284B2 JP2022501469A JP2022501469A JP7359284B2 JP 7359284 B2 JP7359284 B2 JP 7359284B2 JP 2022501469 A JP2022501469 A JP 2022501469A JP 2022501469 A JP2022501469 A JP 2022501469A JP 7359284 B2 JP7359284 B2 JP 7359284B2
Authority
JP
Japan
Prior art keywords
computer
software
switch
migration
vnf
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
JP2022501469A
Other languages
English (en)
Other versions
JPWO2021166110A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021166110A1 publication Critical patent/JPWO2021166110A1/ja
Application granted granted Critical
Publication of JP7359284B2 publication Critical patent/JP7359284B2/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/76Routing in software-defined topologies, e.g. routing between virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • H04L47/00Traffic control in data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、制御装置、制御方法及びプログラムに関する。
NAPT(Network Address and Port Translation)やファイヤーウォールなど、パケット処理に過去の処理履歴であるステート情報を用いる、ステートフルネットワーク機能が広く使用されている。従来、ハードウェアで実装されていたこれらのパケット処理機能をソフトウェア実装(VNF(Virtualized Network Function))によって実現し、当該ソフトウェア実装を汎用サーバで稼働させることにより、トラヒック需要に応じた機能配備ができるようになった。更に、データの配送先であるユーザの端末が移動することに伴う転送経路の最適化を、ソフトウェア実装を別サーバに移動させることにより実現することが可能になった。
他方において、仮想現実や拡張現実(AR(Augmented Reality))など、ユーザの振る舞いを仮想空間に反映させ、仮想空間で活動することを体感することにより、ユーザに新たな体験を与えるサービスが増加している。このようなサービスでは、ユーザの振る舞いを自然な形で仮想空間に反映させ、その結果をユーザが使用するデバイスに表示させるまでの時間を短くすることが求められる。この要求条件を満たすため、ネットワーク側では低遅延を保証する通信を提供する必要がある。VNF使用時に低遅延通信を提供する際の方法として、非特許文献1で紹介されているような方法が存在する。
本方式では、VNF間で頻繁にデータ通信を行う場合、当該VNF機能を同一サーバ上で稼働させ、メモリを介してデータ通信を行う。その結果、当該VNF機能をそれぞれ別のサーバに配置し、ネットワーク経由でデータを転送する場合と比べ、データ転送遅延を削減することができる。
VNFの再配置を行う場合、再配置が完了するタイミングにもよるが、データ通信を行うVNF同士が、一時的に別々のサーバ上で稼働する場合が存在する。そのような場合、当該機能間で転送されるデータはネットワークを経由する。ネットワーク経由でのデータ転送のためには、データトラヒック用の転送経路設定をネットワークに施す必要がある。
設定された経路情報はネットワーク内でデータ転送を行うスイッチの転送用テーブルに格納される。
OpenFlowなどのSDN(Software Defined Network)技術を用いた場合、従来のIP転送と比べ多くのパケットの識別用IDを使用することができるため、TCAM(Ternary Content Addressable Memory)が用いられることが多い。TCAMは、テーブルに格納された転送先エントリの検索時間が非常に短く、識別用IDの数が増えても検索速度を速いまま維持することができるという特徴をもつ。反面、TCAMは、高価で電力消費が大きく、テーブル内のエントリ数が少ないというデメリットを有する。このため、使用しないエントリを早めに消去し、テーブルを他のデータ転送に有効利用できるようにするための方式が数多く検討されている。
従来方式では、一時的に登録されたエントリであっても、設定コマンド若しくは設定用メッセージを用いて明示的にエントリを消去する、又はタイムアウト時間を設定してエントリを自動消去する必要があった。
X. Zhang, "XenSocket: A High-Throughput Interdomain Transport for Virtual Machines", ACM/IFIP/USENIX International Conference on Distributed Systems Platforms and Open Distributed Processing. OpenFlow Switch Specification Version 1.3.0、[online]、インターネット<URL:https://www.opennetworking.org/wp-content/uploads/2014/10/openflow-spec-v1.3.0.pdf>
しかしながら、複数のVNFを同一のサーバに移行する場合における一時的な転送経路設定の場合、設定コマンド又は設定用メッセージを用いた経路設定/消去方法には、VNFの移行タイミングに応じて経路を設定/消去する方法が存在しない。また、タイムアウトによるエントリの自動消去では、データ転送用エントリの消去のために設定できるタイムアウトが、OpenFlowの仕様により最低1秒であるため(非特許文献2 A3.4.1節参照)、当該データ転送が終了しエントリが不要になっても当該エントリがしばらくテーブルに残留してしまう。
更に、TCAMにはデータの書き込みが遅いという特徴も存在する。このため、通信を行が実行されるタイミングにTCAMへの設定を行おうとすると、書き込み速度が遅いのでエントリを登録が完了する前に当該通信が始まってしまう可能性が有る。例えば、VNFの移行タイミングに同期して、すなわち、或るVNFの再配置が終了した直後に次のVNFの再配置用の転送先エントリをTCAMに登録する方法を用いた場合、当該エントリを直ちに登録できないため、スイッチに到着したパケットがスイッチでキューイングされる、又はドロップするという欠点が存在する。
本発明は、上記の点に鑑みてなされたものであって、データの転送用の設定がスイッチに残留する時間を短縮することを目的とする。
そこで上記課題を解決するため、制御装置は、第1のソフトウェアと、前記第1のソフトウェアと通信を行う第2のソフトウェアとが稼働する第1のコンピュータから第2のコンピュータへの前記第1のソフトウェアの移行中において、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに、前記第1のソフトウェア宛てのパケットを前記第2のコンピュータへ転送させるための設定を行う設定部と、前記第1のソフトウェアの移行が完了すると、前記スイッチから前記設定を削除する削除部と、を有する。
データの転送用の設定がスイッチに残留する時間を短縮することができる。
第1の実施の形態におけるデータ転送システムの構成例を示す図である。 第1の実施の形態におけるコントローラ10のハードウェア構成例を示す図である。 第1の実施の形態におけるデータ転送システムの機能構成例を示す図である。 第1の実施の形態におけるデータ転送システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。 第1の実施の形態における或るスイッチ30の転送先テーブル33の更新例を示す図である。 第2の実施の形態におけるデータ転送システムの機能構成例を示す図である。 第2の実施の形態におけるデータ転送システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。 第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第1の状態を示す図である。 第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第2の状態を示す図である。 第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第3の状態を示す図である。 第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第4の状態を示す図である。 第3の実施の形態におけるデータ転送システムの機能構成例を示す図である。 第3の実施の形態におけるデータ転送システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。 第3の実施の形態における或るスイッチ30の転送先テーブル33の更新例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第1の実施の形態におけるデータ転送システムの構成例を示す図である。図1に示されるデータ転送システムにおいて、サーバ20a及びサーバ20b等の複数のサーバ20とコントローラ10とは、ネットワークN1を介して接続されている。ネットワークN1は、1以上のスイッチ30を含むレイヤ2のネットワーク(すなわち、LAN(Local Area Network)である。
サーバ20は、仮想マシンが稼働するコンピュータである。本実施の形態では、仮想マシン上でVNF(Virtualized Network Function)機能を実現するソフトウェア(以下、単に「VNF」という。)のプロセスがサーバ20において稼働する。本実施の形態において、いずれかのVNFが、或るサーバ20から他のサーバ20へ移行(マイグレーション)される。例えば、各VNFは、パケット処理を実行するソフトウェアであってもよい。
コントローラ10は、VNFの移行に伴い、移行対象のVNF宛てのパケットを移行先のサーバ20へ転送させるための経路情報の設定等をスイッチ30に対して行うコンピュータである。
スイッチ30は、設定された経路情報に基づいてパケットの転送を行う機器である。例えば、SDN(Software Defined Network)スイッチ等がスイッチ30として利用されてもよい。
図2は、第1の実施の形態におけるコントローラ10のハードウェア構成例を示す図である。図2のコントローラ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
コントローラ10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってコントローラ10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図3は、第1の実施の形態におけるデータ転送システムの機能構成例を示す図である。図3において、コントローラ10は、経路計算部11、エントリ数決定部12及び経路設定部13を有する。これら各部は、コントローラ10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
サーバ20は、VNF稼働環境部21、VNF移行部22及びコントローラ連携部23を有する。これら各部は、サーバ20にインストールされた1以上のプログラムが、サーバ20のCPUに実行させる処理により実現される。なお、VNF稼働環境部21は、例えば、ハイパーバイザであり、VNF(Virtualized Network Function)を稼働させる。
スイッチ30は、パケット出力先決定部31及びパケット処理部32等を有する。これら各部は、スイッチ30にインストールされたプログラムがスイッチ30に実行させる処理によって実現されてもよいし、回路によって実現されてもよい。スイッチ30は、また、転送先テーブル33を有する。転送先テーブル33は、パケットの経路情報の設定を記憶するためのテーブルである。例えば、TCAM(Ternary Content Addressable Memory)が用いられて転送先テーブル33が実現されてもよい。
以下、第1の実施の形態におけるデータ転送装置1において実行される処理手順について説明する。なお、第1~第3の実施の形態においては、移行元のサーバ20(以下、「移行元サーバ20a」という。)において稼働するVNF1~VNF4の4つのVNFが、移行先のサーバ20(以下、「移行先サーバ20b」という。)への移行対象であるとする。また、VNF1とVNF2との間、VNF2とVNF3との間、VNF3とVNF4との間で通信が行われるとする。したがって、これらの通信に支障が生じないように、移行が行われる必要が有る。
図4は、第1の実施の形態におけるデータ転送システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。
ステップS101において、移行元サーバ20aのコントローラ連携部23は、VNFの移行先(移行先サーバ20b)の識別情報を含む、移行の開始通知をコントローラ10へ送信する。
コントローラ10の経路計算部11は、当該開始通知に応じ、移行元サーバ20aから移行先サーバ20bまでの通信経路を計算し、当該通信経路上の1以上のスイッチ30(以下、「対象スイッチ30」という。)を特定する(S102)。続いて、エントリ数決定部12は、各対象スイッチ30の、転送先テーブル33への1エントリあたりの登録速度(登録時間)を取得し、当該登録速度の集合に基づいて、各対象スイッチ30の転送先テーブル33のエントリ数を決定する(S103)。すなわち、或るVNFの移行中において、移行先の当該VNF宛ての通信の発生時には当該VNF宛てのエントリが各対象スイッチ30に登録されているようにするためのエントリ数が決定される。続いて、エントリ数決定部12は、当該エントリ数を移行元サーバ20aへ通知する(S104)。
続いて、コントローラ連携部23は、当該エントリ数分のVNFの移行の開始をコントローラ10へ通知する(S105)。ここでは、当該エントリ数が2であるとする。したがって、VNF1及びVNF2の2つのVNFの移行の開始が通知される。当該通知後、移行元サーバ20aのVNF移行部22と移行先サーバ20bのVNF移行部22との間で、VNF1の移行が開始される(S106)。移行の開始に伴って、移行先サーバ20bのVNF稼働環境部21は、移行対象のVNF1を起動する。したがって、この時点では、移行元サーバ20a及び移行先サーバ20bの双方にてVNF1が起動している状態となる。
一方、コントローラ10の経路設定部13は、移行の開始の通知(S105)に応じ、各対象スイッチ30に対し、VNF1宛て及びVNF2宛てのパケットの出力ポートの設定を要求する(S108)。すなわち、VNF1宛て及びVNF2宛てのパケットが移行先サーバ20bへ転送されるようにするための経路情報の設定が各対象スイッチ30に要求される。その結果、各対象スイッチ30の転送先テーブル33に、VNF1及びVNF2のそれぞれに対応するエントリが登録される(S109)。
図5は、第1の実施の形態における或るスイッチ30の転送先テーブル33の更新例を示す図である。ステップS109の実行後において、或る対象スイッチ30の転送先テーブル33は、(1)に示されるような状態となる。(1)では、VNF1のエントリ及びVNF2のエントリ(経路情報)が転送先テーブル33に登録されている。各エントリは、それぞれに対応するVNFを宛先とするパケットが、出力ポートAから出力するように設定された例が示されている。なお、図5では、出力ポートAが、当該対象スイッチ30において移行先サーバ20bへの経路に対応するポートである例が示されている。
その後、移行元サーバ20aにおけるVNF1は、適当なタイミングで停止される。この状態において、各対象スイッチ30のパケット出力先決定部31は、移行元サーバ20aのVNF2から送信される、移行先サーバ20bのVNF1宛てのパケットを受信すると、当該パケットの出力先のポートを転送先テーブル33に基づいて決定する。パケット処理部32は、パケット出力先決定部31によって決定されたポートから当該パケットを出力する。図5の例では、ポートAから当該パケットが出力される。その結果、当該パケットは、移行先サーバ20bのVNF1へ転送される。
VNF1の移行が完了すると、VNF2の移行が開始される(S110)。VNF2の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF2を起動する(S111)。したがって、この時点では、移行元サーバ20a及び移行先サーバ20bの双方にてVNF2が起動している状態となる。
続いて、移行元サーバ20aのコントローラ連携部23は、VNF1のエントリの削除要求と、VNF3の移行の開始通知とをコントローラ10へ送信する(S112)。続いて、コントローラ10の経路設定部13は、各対象スイッチ30に対し、VNF1のエントリの削除要求を送信する(S113)。各対象スイッチ30は、当該削除要求に応じ、VNF1に対するエントリを転送先テーブル33から削除する(S114)。VNF2が移行先サーバ20bにおいて既に起動されており、VNF2とVNF1との間の通信は、移行先サーバ20b内において可能である(すなわち、各対象スイッチ30を経由することはない)ため、当該エントリは不要だからである。
続いて、コントローラ10の経路設定部13は、VNF3宛てのパケットの出力ポートの設定を各対象スイッチ30に要求(S115)。その結果、各対象スイッチ30の転送先テーブル33に、VNF3に対応するエントリが登録される(S116)。この時点において、各対象スイッチ30の転送先テーブル33は、図5の(2)に示されるように、VNF2とVNF3とのそれぞれの宛先に対応する出力ポートが登録された状態となる。
その後、移行元サーバ20aにおけるVNF2は、適当なタイミングで停止される。この状態において、各対象スイッチ30は、移行元サーバ20aのVNF3から送信される、移行先サーバ20bのVNF2宛てのパケットを受信すると、当該パケットの出力先のポートを、転送先テーブル33に基づいて決定する。パケット処理部32は、パケット出力先決定部31によって決定されたポートから当該パケットを出力する。図5の例では、ポートAから当該パケットが出力される。その結果、当該パケットは、移行先サーバ20bのVNF2へ転送される。
VNF2の移行が完了すると、VNF3の移行が開始される(S117)。VNF3の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF3を起動する(S118)。したがって、この時点では、移行元サーバ20a及び移行先サーバ20bの双方にてVNF3が起動している状態となる。
続いて、移行元サーバ20aのコントローラ連携部23は、VNF2のエントリの削除要求をコントローラ10へ送信する(S119)。続いて、コントローラ10の経路設定部13は、各対象スイッチ30に対し、VNF2のエントリの削除要求を送信する(S120)。各対象スイッチ30は、当該削除要求に応じ、VNF2に対するエントリを転送先テーブル33から削除する(S121)。この時点において、各対象スイッチ30の転送先テーブル33は、図5の(3)に示されるように、VNF3の宛先に対応する出力ポートが登録された状態となる。
その後、移行元サーバ20aにおけるVNF3は、適当なタイミングで停止される。この状態において、各対象スイッチ30のパケット出力先決定部31は、移行元サーバ20aのVNF4から送信される、移行先サーバ20bのVNF3宛てのパケットを受信すると、当該パケットの出力先のポートを、転送先テーブル33に基づいて決定する。パケット処理部32は、パケット出力先決定部31によって決定されたポートから当該パケットを出力する。図5の例では、ポートAから当該パケットが出力される。その結果、当該パケットは、移行先サーバ20bのVNF3へ転送される。
VNF3の移行が完了すると、VNF4の移行が開始される(S123)。VNF4の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF4を起動する(S118)。したがって、この時点では、移行元サーバ20a及び移行先サーバ20bの双方にてVNF4が起動している状態となる。
続いて、移行元サーバ20aのコントローラ連携部23は、VNF3のエントリの削除要求をコントローラ10へ送信する(S124)。続いて、コントローラ10の経路設定部13は、各対象スイッチ30に対し、VNF3のエントリの削除要求を送信する(S125)。各対象スイッチ30は、当該削除要求に応じ、VNF3に対するエントリを転送先テーブル33から削除する(S126)。この時点において、各対象スイッチ30の転送先テーブル33は、図5の(4)に示されるように、いずれのVNF宛てのエントリも登録されていない状態となる。
その後、VNF4の移行が完了する(S127)。なお、VNF4宛てのトラヒックは、対象スイッチ30が構成する通信経路とは別経路であるため、対象スイッチ30に対して当該トラヒックに対応するエントリは登録される必要はない。
上述したように、第1の実施の形態によれば、転送先テーブル33における或るVNF宛てのエントリは、当該VNFの移行完了直後に削除される。したがって、データの転送用の設定(エントリ)がスイッチ30(転送先テーブル33)に残留する時間を短縮することができる。その結果、転送先テーブル33の有効利用を実現することができる。
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
図6は、第2の実施の形態におけるデータ転送システムの機能構成例を示す図である。図6中、図3と同一又は対応する部分には同一符号を付し、その説明は省略する。
図6において、スイッチ30は、更に、スイッチ内コントローラ34及び転送エントリ保管テーブル35を有する。スイッチ内コントローラ34は、スイッチ30のCPU又は回路を用いて実現可能である。転送エントリ保管テーブル35は、スイッチ30のメモリを用いて実現可能である。
コントローラ10は、スイッチ内コントローラ連携部14を更に有する。スイッチ内コントローラ連携部14は、コントローラ10にインストールされたプログラムがCPU104に実行させる処理により実現可能である。
図7は、第2の実施の形態におけるデータ転送システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。ステップS201~S204は、図4のステップS101~S104と同じである。
ステップS204に続いて、移行元サーバ20aのコントローラ連携部23は、VNF1のエントリの登録要求と、ステップS204において通知されたエントリ数分の、VNF1に続いて移行される各VNF(図7の例では、VNF2及びVNF3)のスイッチ内コントローラ34への登録要求とをコントローラ10に送信する(S205)。
続いて、コントローラ10の経路設定部13は、各対象スイッチ30に対し、VNF1宛てのパケットの出力ポートの設定を要求する(S206)。その結果、各対象スイッチ30の転送先テーブル33に、VNF1に対応するエントリが登録される(S207)。
続いて、スイッチ内コントローラ連携部14は、各対象スイッチ30のスイッチ内コントローラ34に対し、VNF2及びVNF3のそれぞれ宛ての出力ポートの設定の保管要求を送信する(S208)。当該保管要求は、VNF1宛てのパケットの通過に応じて、VNF2のエントリを転送先テーブル33に登録させるための要求である。各対象スイッチ30のスイッチ内コントローラ34は、VNF2及びVNF3のそれぞれに対応するエントリを転送エントリ保管テーブル35に登録する(S209)。
図8は、第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第1の状態を示す図である。図8に示されるように、ステップS209の時点において、VNF1宛てのエントリは、転送先テーブル33に登録されている。一方、VNF2及びVNF3のそれぞれに対応するエントリは、転送エントリ保管テーブル35に登録されている。
続いて、移行元サーバ20aのVNF移行部22と移行先サーバ20bのVNF移行部22との間で、VNF1の移行が開始されると(S210)、移行先サーバ20bのVNF稼働環境部21は、VNF1を起動する(S211)。
この状態において、VNF1宛てのパケットが各対象スイッチ30を通過したことに応じ、各対象スイッチ30のパケット出力先決定部31が、当該スイッチ30のスイッチ内コントローラ34に対して次のエントリを要求すると、スイッチ内コントローラ34は、転送エントリ保管テーブル35に登録されているエントリのうちの先頭のエントリ(図8の例ではVNF2のエントリ)を転送先テーブル33に登録する(S212)。
図9は、第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第2の状態を示す図である。ステップS212の実行後において、転送エントリ保管テーブル35に登録されていたVNF2のエントリが、転送先テーブル33に登録される。
VNF1の移行が完了すると、VNF2の移行が開始される(S213)。VNF2の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF2を起動する(S214)。
この状態において、VNF2宛てのパケットが各対象スイッチ30を通過したことに応じ、各対象スイッチ30のパケット出力先決定部31が、当該スイッチ30のスイッチ内コントローラ34に対して次のエントリを要求すると、スイッチ内コントローラ34は、VNF1のエントリを転送先テーブル33から削除して、転送エントリ保管テーブル35に登録されているエントリのうちの先頭のエントリ(図9の例ではVNF3のエントリ)を転送先テーブル33に登録する(S215)。
図10は、第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第3の状態を示す図である。図10に示されるように、ステップS215の実行後において、転送先テーブル33には、VNF2のエントリとVNF3のエントリとが登録された状態となる。一方、転送エントリ保管テーブル35は、空になる。
VNF2の移行が完了すると、VNF3の移行が開始される(S216)。VNF23の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF3を起動する(S217)。
この状態において、VNF3宛てのパケットが各対象スイッチ30を通過したことに応じ、各対象スイッチ30のパケット出力先決定部31が、当該スイッチ30のスイッチ内コントローラ34に対して次のエントリを要求すると、スイッチ内コントローラ34は、VNF2のエントリを転送先テーブル33から削除する(S218)。但し、転送エントリ保管テーブル35は既に空であるため、新たなエントリは転送先テーブル33には登録されない。
図11は、第2の実施の形態における或るスイッチ30の転送先テーブル33及び転送エントリ保管テーブル35の第4の状態を示す図である。図11に示されるように、ステップS218の実行後において、転送先テーブル33には、VNF3のエントリのみが登録された状態となる。
その後、VNF3の移行が完了すると、VNF4の移行が開始される(S219)。VNF2の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF4を起動する(S220)。
その結果、各対象スイッチ30においてVNF3宛てのパケットが通過しなくなる。したがって、各対象スイッチ30においてVNF3のエントリがタイムアウトしたり、コントローラ10経由でエントリの削除が要求されたりすると、各対象スイッチ30パケット出力先決定部31は、VNF3のエントリを転送先テーブル33から削除する(S221)。その結果、転送先テーブル33は、空になる。
上述したように、第2の実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。
次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
図12は、第3の実施の形態におけるデータ転送システムの機能構成例を示す図である。図12中、図3と同一又は対応する部分には同一符号を付し、その説明は省略する。図12に示されるように、第3の実施の形態において、コントローラ10は、エントリ数決定部12を有していなくてもよい。
図13は、第3の実施の形態におけるデータ転送システムにおいて実行される処理手順の一例を説明するためのシーケンス図である。図13において、ステップS301、S302は、図4のステップS101、S102と同じである。
ステップS303において、移行元サーバ20aのコントローラ連携部23は、VNF1、VNF2及びVNF3のそれぞれのエントリの登録要求をコントローラ10に送信する。
続いて、コントローラ10の経路設定部13は、各対象スイッチ30に対し、VNF1、VNF2及びVNF3のそれぞれ宛てのパケットの出力ポートの設定を要求する(S304)。その結果、各対象スイッチ30の転送先テーブル33に、VNF1、VNF2及びVNF3のそれぞれに対応するエントリが登録される(S305)。
図14は、第3の実施の形態における或るスイッチ30の転送先テーブル33の更新例を示す図である。ステップS305の実行後において、或る対象スイッチ30の転送先テーブル33は、(1)に示されるような状態となる。(1)では、VNF1のエントリ、VNF2のエントリ及びVNF3のエントリが転送先テーブル33に登録されている。各エントリは、それぞれに対応するVNFを宛先とするパケットが、出力ポートAから出力するように設定された例が示されている。なお、図14では、出力ポートAが、当該対象スイッチ30において移行先サーバ20bへの通信経路に対応するポートである例が示されている。
続いて、移行元サーバ20aのVNF移行部22と移行先サーバ20bのVNF移行部22との間で、VNF1の移行が開始されると(S306)、移行先サーバ20bのVNF稼働環境部21は、VNF1を起動する(S307)。
この状態において、VNF1宛てのパケットが、まず各対象スイッチ30に到着するので、各対象スイッチ30のパケット処理部32は、転送先テーブル33に設定された出力ポート(図14の例では、ポートA)から当該パケットを出力する。
VNF1の移行が完了すると、VNF2の移行が開始される(S308)。VNF2の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF2を起動する(S309)。
この状態において、VNF2宛てのパケットが各対象スイッチ30に到着したことに応じ、各対象スイッチ30のパケット出力先決定部31は、VNF1のエントリを転送先テーブル33から削除する(S310)。したがって、転送先テーブル33は、図14の(2)の状態となる。
VNF2の移行が完了すると、VNF3の移行が開始される(S311)。VNF3の移行の開始に伴い、移行先サーバ20bのVNF稼働環境部21は、VNF3を起動する(S312)。
この状態において、VNF3宛てのパケットが各対象スイッチ30に到着したことに応じ、各対象スイッチ30のパケット出力先決定部31は、VNF2のエントリを転送先テーブル33から削除する(S313)。したがって、転送先テーブル33は、図14の(3)の状態となる。
上述したように、第3の実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。
なお、上記各実施の形態において、コントローラ10は、制御装置の一例である。移行元サーバ20aは、第1のコンピュータの一例である。移行先サーバ20bは、第2のコンピュータの一例である。VNF1は、第1のソフトウェアの一例である。VNF2は、第2のソフトウェアの一例である。経路設定部13は、設定部及び削除部の一例である。スイッチ内コントローラ連携部14は、送信部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 コントローラ
11 経路計算部
12 エントリ数決定部
13 経路設定部
14 スイッチ内コントローラ連携部
20 サーバ
21 VNF稼働環境部
22 VNF移行部
23 コントローラ連携部
30 スイッチ
31 パケット出力先決定部
32 パケット処理部
33 転送先テーブル
34 スイッチ内コントローラ
35 転送エントリ保管テーブル
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

Claims (7)

  1. 第1のソフトウェアと、前記第1のソフトウェアと通信を行う第2のソフトウェアとが稼働する第1のコンピュータから第2のコンピュータへの前記第1のソフトウェアの移行中において、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに、前記第1のソフトウェア宛てのパケットを前記第2のコンピュータへ転送させるための設定を行う設定部と、
    前記第1のソフトウェアの移行が完了すると、前記スイッチから前記設定を削除する削除部と、
    を有することを特徴とする制御装置。
  2. 第1のコンピュータから第2のコンピュータに移行される第1のソフトウェア宛てのパケットを前記第2のコンピュータに転送させるための設定を、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに対して行う設定部と、
    前記第1のソフトウェアの移行後に前記第1のコンピュータから前記第2のコンピュータに移行される、前記第1のソフトウェアと通信を行う第2のソフトウェア宛てのパケットを前記第2のコンピュータに転送させるための設定を、前記第1のソフトウェア宛てのパケットの通過に応じて前記スイッチに実行させるための要求を前記スイッチに送信する送信部と、
    を有することを特徴とする制御装置。
  3. 第1のコンピュータにおいて稼働する第1のソフトウェアと、前記第1のコンピュータにおいて稼働し、前記第1のソフトウェアと通信を行う第2のソフトウェアとのそれぞれ宛てのパケットを、第2のコンピュータへ転送させるための設定を、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに対して行う設定部を有し、
    前記スイッチは、前記第1のソフトウェアが前記第2のコンピュータに移行された後に前記第2のソフトウェア宛てのパケットが到着すると、前記設定を削除する、
    ことを特徴とする制御装置。
  4. 第1のソフトウェアと、前記第1のソフトウェアと通信を行う第2のソフトウェアとが稼働する第1のコンピュータから第2のコンピュータへの前記第1のソフトウェアの移行中において、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに、前記第1のソフトウェア宛てのパケットを前記第2のコンピュータへ転送させるための設定を行う設定手順と、
    前記第1のソフトウェアの移行が完了すると、前記スイッチから前記設定を削除する削除手順と、
    をコンピュータが実行することを特徴とする制御方法。
  5. 第1のコンピュータから第2のコンピュータに移行される第1のソフトウェア宛てのパケットを前記第2のコンピュータに転送させるための設定を、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに対して行う設定手順と、
    前記第1のソフトウェアの移行後に前記第1のコンピュータから前記第2のコンピュータに移行される、前記第1のソフトウェアと通信を行う第2のソフトウェア宛てのパケットを前記第2のコンピュータに転送させるための設定を、前記第1のソフトウェア宛てのパケットの通過に応じて前記スイッチに実行させるための要求を前記スイッチに送信する送信手順と、
    をコンピュータが実行することを特徴とする制御方法。
  6. 第1のコンピュータにおいて稼働する第1のソフトウェアと、前記第1のコンピュータにおいて稼働し、前記第1のソフトウェアと通信を行う第2のソフトウェアとのそれぞれ宛てのパケットを、第2のコンピュータへ転送させるための設定を、前記第1のコンピュータから前記第2のコンピュータへの通信経路上のスイッチに対して行う設定手順をコンピュータが実行し、
    前記スイッチは、前記第1のソフトウェアが前記第2のコンピュータに移行された後に前記第2のソフトウェア宛てのパケットが到着すると、前記設定を削除する、
    ことを特徴とする制御方法。
  7. 請求項4乃至6いずれか一項記載の制御方法をコンピュータに実行させることを特徴とするプログラム。
JP2022501469A 2020-02-19 2020-02-19 制御装置、制御方法及びプログラム Active JP7359284B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/006475 WO2021166110A1 (ja) 2020-02-19 2020-02-19 制御装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021166110A1 JPWO2021166110A1 (ja) 2021-08-26
JP7359284B2 true JP7359284B2 (ja) 2023-10-11

Family

ID=77390781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022501469A Active JP7359284B2 (ja) 2020-02-19 2020-02-19 制御装置、制御方法及びプログラム

Country Status (3)

Country Link
US (1) US20230051003A1 (ja)
JP (1) JP7359284B2 (ja)
WO (1) WO2021166110A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012033117A1 (ja) 2010-09-09 2012-03-15 日本電気株式会社 ネットワークシステム、及びネットワーク管理方法
CN108964949A (zh) 2017-05-19 2018-12-07 中兴通讯股份有限公司 虚拟机迁移方法、sdn控制器及计算机可读存储介质
JP2019128912A (ja) 2018-01-26 2019-08-01 日本電信電話株式会社 プロセス処理装置、プロセス処理システム、プロセス移行順序決定方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5446040B2 (ja) * 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
JP2019028869A (ja) * 2017-08-02 2019-02-21 日本電信電話株式会社 パケット処理機能移行システム、サーバ、パケット処理機能移行方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012033117A1 (ja) 2010-09-09 2012-03-15 日本電気株式会社 ネットワークシステム、及びネットワーク管理方法
CN108964949A (zh) 2017-05-19 2018-12-07 中兴通讯股份有限公司 虚拟机迁移方法、sdn控制器及计算机可读存储介质
JP2019128912A (ja) 2018-01-26 2019-08-01 日本電信電話株式会社 プロセス処理装置、プロセス処理システム、プロセス移行順序決定方法、及びプログラム

Also Published As

Publication number Publication date
US20230051003A1 (en) 2023-02-16
JPWO2021166110A1 (ja) 2021-08-26
WO2021166110A1 (ja) 2021-08-26

Similar Documents

Publication Publication Date Title
US10171567B2 (en) Load balancing computer device, system, and method
EP2309680B1 (en) Switching API
CN109937401B (zh) 经由业务旁路进行的负载均衡虚拟机的实时迁移
CN109547580B (zh) 一种处理数据报文的方法和装置
US8769040B2 (en) Service providing system, a virtual machine server, a service providing method, and a program thereof
JP5500270B2 (ja) プロファイル処理プログラム、データ中継装置およびプロファイル制御方法
US20140007100A1 (en) Method and Apparatus for Migrating Virtual Machine Parameters and Virtual Machine Server
WO2012127886A1 (ja) ネットワークシステム、及びポリシー経路設定方法
JP2017518568A (ja) 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法
KR20100097694A (ko) 다수의 아답터들을 통해서 다수의 가상 ip 어드레스를 동시에 지원하는 호스트내 페일오버
KR20140043800A (ko) 가상화된 네트워크에서의 패킷 손실을 최소화하기 위한 가상 머신 이전 기법
JP2021536627A (ja) ライブステートフルコンテナを移行するためのシステムおよび方法
WO2013186825A1 (en) Computer system, communication control server, communication control method, and program
US11868794B2 (en) Network system, management method and apparatus thereof, and server
CN111010340A (zh) 数据报文转发控制方法、装置及计算装置
JP3605574B2 (ja) ネットワーク処理システム内で既存のフレーム分類器ツリーを更新するための方法およびネットワーク処理システム
CN115686729A (zh) 容器集群网络系统、数据处理方法、设备及计算机程序产品
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
JP7359284B2 (ja) 制御装置、制御方法及びプログラム
JP5980724B2 (ja) ネットワーク装置、中継管理方法、中継管理プログラムおよび通信システム
KR20180130884A (ko) 가상랜의 태그 설정 방법
JP5580766B2 (ja) サーバ装置、パケット伝送システム、パケット伝送方法及びプログラム
JP7268741B2 (ja) 通信システム、通信方法及び通信プログラム
CN108848175B (zh) 一种创建tcp连接的方法及装置
KR20220076826A (ko) Ndn 기반의 인-네트워크 처리 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230911

R150 Certificate of patent or registration of utility model

Ref document number: 7359284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150