Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6534399B2 - 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法 - Google Patents
[go: Go Back, main page]

JP6534399B2 - 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法 - Google Patents

仮想化ネットワークスタックをライブ移行するためのシステムおよび方法 Download PDF

Info

Publication number
JP6534399B2
JP6534399B2 JP2016567394A JP2016567394A JP6534399B2 JP 6534399 B2 JP6534399 B2 JP 6534399B2 JP 2016567394 A JP2016567394 A JP 2016567394A JP 2016567394 A JP2016567394 A JP 2016567394A JP 6534399 B2 JP6534399 B2 JP 6534399B2
Authority
JP
Japan
Prior art keywords
guest
migration
host
target
network device
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
JP2016567394A
Other languages
English (en)
Other versions
JP2017518568A (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2017518568A publication Critical patent/JP2017518568A/ja
Application granted granted Critical
Publication of JP6534399B2 publication Critical patent/JP6534399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (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

関連出願の相互参照
本願は、2014年6月20日に出願された米国特許出願第14/310492号の継続出願であり、その開示が参照により本明細書に組み込まれる。
背景
ライブ移行とは、仮想マシンの接続性、ネットワークの接続および仮想マシンの正常性状態報告を維持しながら、動作している仮想マシンを1つのホストマシンから別のホストマシンに移動させる行為である。移行中に、例えば、メモリをコピーするために仮想マシンを一時停止することによって、または仮想マシンと新しいホストとの接続を設立することによって、性能に影響を与える可能性がある。
概要
本開示の一態様は、仮想化ネットワークデバイスによるライブ移行を容易にする方法を提供する。この方法は、仮想化ネットワークデバイスによって、パケットをソースホスト上の移行ゲストに送信し、ソースホストによってパケットをターゲットホストに転送するステップと、ソースホストを介して、ターゲットホスト上の移行ゲストからパケットを受信するステップと、仮想化ネットワークデバイスによって、移行元ホストから移行先ホストへの移行ゲストの移行が完了したか否かを判定するステップと、移行が完了したと判定された場合、パケットを仮想化ネットワークデバイスからターゲットホスト上の移行ゲストに直接に送信するステップとを含む。移行ゲストの移行が完了したか否かを判定するステップは、仮想化ネットワークデバイスにおいて、ターゲットホスト上のゲストから1つ以上のパケットを直接に受信するステップと、受信した1つ以上のパケットに基づいて、移行が完了したことを確認するステップとを含む。
本開示の別の態様は、システムを提供する。このシステムは、ソースホストと、ソースホスト上で動作する移行ゲストと、ソースホストと通信するターゲットホストと、ソースホスト上の移行ゲストと通信する他の仮想化ネットワークデバイスとを備える。ソースホストは、他のネットワークデバイスから受信したトラフィックをターゲットホストに転送し、ターゲットホストから受信したトラフィックを他のネットワークデバイスに転送するように構成される。ターゲットホストは、移行ゲストの移行が完了したに、パケットを他のネットワークデバイスに直接に送信するように構成される。他のネットワークデバイスは、ターゲットホストからパケットを直接に受信した時間を判定し、それに応じて、パケットをターゲットホスト上の移行ゲストに直接に送信するように構成される。システムは、ターゲットホスト上の移行ゲストと直接通信するために、他の仮想化ネットワークデバイスにトークンを提供するように構成されたネットワークコントローラをさらに備える。いくつかの例において、移行ゲストは、移行を開始する前に移行の通知を受け、通知に応じてその状態を変更するように構成されてもよい。例えば、移行ゲストは、既存の接続をキープし、将来の処理要求を拒否するモードに移行することができる。別の例として、移行ゲストは、別のシステムと通信することができ、その通信によって、別のシステムは、移行の間に、将来の処理要求をネットワーク上の他のリソースに導くことができる。
本開示のさらに別の態様は、方法を提供する。この方法は、ソースホスト上の移行ゲストによって、ソースホストから移行ゲストをターゲットホストに移行する指示を受信するステップを含む。移行ゲストは、指示の受信に応じて、所定の作動を取る。さらに、移行ゲストは、ソースからターゲットにコピーされる。ソースホストは、他のネットワークデバイスから受信したトラフィックをターゲットホストに転送し、ターゲットホストから受信したトラフィックを他のネットワークデバイスに転送する。
本開示の態様に係る例示的なシステムを示す図である。 本開示の態様に係る図1のシステムの構成要素を示すブロック図である。 本開示の態様に係る別の例示的なシステムを示す図である。 本開示の態様に係る図3のシステムの構成要素を示すブロック図である。 本開示の態様に係る例示的な方法を示すフロー図である。 本開示の態様に係る別の例示的な方法を示すフロー図である。
詳細な説明
概要
本開示は、仮想化ネットワークスタックをライブ移行するためのシステムおよび方法を提供する。
ライブ移行は、第1仮想化または非仮想化ネットワークコンピューティングデバイスと移行される仮想ネットワークスタックとの間のネットワーク接続を中断せず、移行を行う。第1仮想化または非仮想化ネットワークコンピューティングデバイスは、仮想マシン、スイッチ、ホスト、または任意のネットワークデバイスであってもよい。仮想ネットワークスタックは、仮想マシン、Linux(登録商標)コンテナ、または他の種類の仮想ネットワークスタックであってもよい。以下の例において、第1仮想化または非仮想化ネットワークコンピューティングデバイスは、第1デバイスと呼ばれ、移行される仮想ネットワークスタックは、仮想マシンと呼ばれる。これらの例は、限定的ではないことを理解すべきである。さらに、理解すべきことは、これらの例は、単なる例示であり、記載された概念は、さまざまなシナリオに適用されてもよいことである。例えば、複数の第1デバイスは、以下に説明する技術を用いて、移行される仮想マシンと通信することができる。
第1デバイスは、ソースホスト上に位置する仮想マシンと通信する。第1デバイスは、移行中に、継続してソースホスト上の仮想マシンと通信する。移行が完了するまで、ソース仮想マシンおよびターゲット仮想マシンは、一時的に保存(proxy)されたトラフィックの転送(例えば、双方向転送または一方向転送)を行う。例えば、ソース仮想マシンは、第1デバイスからのすべての入来トラフィックを一時的に保存し、保存されたトラフィックをターゲット仮想マシンに転送する。ターゲット仮想マシンは、一時的に保存された入力トラフィックを受け入れ、同様に、ソース仮想マシンを介してすべての送出トラフィックを一時的に保存するように構成されている。このような双方向転送は、仮想マシンをソースからターゲットに移行する時点から、ネットワーク上の関連ノードが再プログラムされるまで、継続的に行うことができる。集中型の仮想ネットワークプログラミングコントローラは、仮想マシンがターゲットホストに移行されたことを第1デバイスに通知し、その結果、第1デバイスは、ターゲットホスト上の仮想マシンとの通信を再開することができる。さらに、コントローラは、その変更をネットワークの他のマシンに通知することもできる。
一例によれば、ソースにおいてすべてのトラフィックを一時的に保存し、双方向転送を行うことの代わりにまたはそれに加えて、コントローラおよびターゲットホストの両方と通信する「他の」仮想マシン(VM)が、シームレスな移行を容易にする。例えば、ターゲットVMホストは、コントローラと通信することによって、ネットワークの更新を申し込む。コントローラは、ターゲットホスト上の仮想マシンと直接通信するためのトークンを別のVMに提供する。他の仮想マシン、ソースホストおよびターゲットホストは、例えば、仮想マシンがターゲットホストに移送された時点から、ネットワークが更新されるまで、三者間ルーティングを行うことができる。例えば、他の仮想マシンは、ターゲットVMホストから入来パケットを受信するまで、ソースVMホストにトラフィックを送信し、このトラフィックは、ターゲットVMホストに転送される。この時点で、他の仮想マシンは、コントローラから受信したトークンを用いて、送出パスを認証および指定して、ターゲットホスト上の仮想マシンにパケットを直接に送信する。別の例として、他のVMホストは、認識されていない送信元からパケットを受信する場合、パケットをターゲット仮想マシンに直接に送信するように切り替えることができるように、コントローラに照会する。
上記のいずれの例において、ソースホストからターゲットホストへの平滑な移行をサポートするために、ネットワークデバイスに、例えば「他の」仮想マシンのソースおよび/またはホストに、1つ以上のルールをインストールすることができる。これらのルールは、例えばコントローラによってインストールされてもよい。ルールは、移行の特定段階、例えば、ブラウンアウト(すなわち、移行先が開始され、ソースホストからターゲットホストに仮想マシンの状態を移行している状態)、ブラックアウト(すなわち、ターゲット上でVMの再開を用意するために、仮想マシンを一時停止し、残りのVM状態をソースからターゲットに移動することができる状態)、ポストブラックアウト(すなわち、移行が完了して、ターゲットがすべての処理を行う状態)、およびキャンセル(すなわち、移行に関連するすべての設定を削除する状態)に対応して設けることができる。
ブラウンアウトの間に、仮想マシンは、ソースホスト上に位置する。移行元は、他の仮想マシン(VM)に対して、トラフィックの送受信を行うことができる。また、任意の他の仮想マシンも、移行元からトラフィックを受信することができるが、移行元にトラフィックの送信しかできない。同様に、コントローラは、移行元の転送テーブルを変更し、トラフィックを転送するために、移行テーブルを移行元にインストールする。ソースホストとターゲットホストの両方は、ローカルで動作しているホストエージェントプロセスまたはネットワークの再プログラミングを支援する仮想マシンマネージャプロセスの一部として動作しているホストエージェントプロセスを有する。移行元のホストエージェントを作動して、トラフィックのローカル転送から移行先への転送をスイッチングすることができる。
ブラックアウトの間に、ソースからターゲットに移行する必要のあるネットワーク状態(例えば、ステートフルファイアウォール状態)は、すべて移行される。移行元のホストエージェントのみが、スイッチングに関与している。コントローラは、何もする必要がない。いくつかの実現例において、スイッチングは、ブラックアウト期間の開始時に行われてもよい。他の実現例において、ブラックアウトの前にまたはブラックアウト中に移行が取り消ることに備えて、トラフィックは、ポストブラックアウトにならないと、転送されない。
ポストブラックアウトの間に、コントローラは、移行先に指向するルートを提供する。さらに、移行元からのトラフィックは、引き続き移行先に転送される。例えば、ソースホストおよびターゲットホストは、双方向転送、単方向転送、または三者間ルーティングを行うことができる。その結果、移行転送フローを除いて、移行元上の殆どのフローは、アンインストールされる。さらに、三者間ルーティングの場合、ソースホストを介したトラフィックの転送とは対照的に、移行先からの応答は、第1デバイスに直接に送信され、第1デバイスは、ターゲットホスト上の仮想マシンと直接に通信することができる。
キャンセルは、移行を取り消すときに行われる。例えば、ブラックアウトまたはブラックアウトの期間中に、ターゲットホストがクラッシュするまたは他のイベントに遭遇することによって、移行が取り消される可能性がある。キャンセル中、コントローラは、移行のために設定されたすべてのフローを削除する。例えば、ソースホストまたはターゲットホストのいずれかからパケットを受信するように第1デバイスを有効にする第1デバイス上のルールは、ソースに対応するルールのみをサポートするように再プログラムされる。ターゲットホスト上のすべてのネットワークプログラムが削除され、ソースホスト上の転送に関連するすべてのプログラムも削除される。
いくつかの例によれば、すべての仮想マシン状態が転送される前に、ターゲットで実行を開始することによって、ブラックアウトの期間を減縮することができる。例えば、ブラウンアウト段階中に、仮想マシンの状態を予めコピーし、その後のブラックアウト中に、仮想マシンのタスクの実行をターゲットホストに転送し、残りの状態を転送してもよく、転送しなくてもよい。また、ブラックアウトの後、残りの状態をコピーするポストコピーブラウンアウト段階を設けてもよい。
本開示の一態様は、間近に迫っているライブ移行をゲスト仮想マシンに公開することによって、ゲスト仮想マシンに行動を取らせることができる。そのような行動の1つは、移行前に、ゲスト仮想マシンの正常性状態を変更することである。例えば、ゲスト仮想マシンは、「レイムダック」状態に移行することができる。この状態において、ゲスト仮想マシンは、既に進行中のタスクを完了するが、新しいタスクまたは接続を受け入れないように、他のシステムと通信する。したがって、ゲスト仮想マシンは、例えば、負荷分散プールから自身を削除し、既存の接続をキープすることができる。これによって、ネットワーク全体の負荷分散が容易になり、オンラインゲームシステムのようなブラックアウト遅延に敏感な取引先にとって特に役立つことができる。
例示的なシステム
図1は、動作しているゲストをソースホストからターゲットホストに移行する例示的なシステム100を示している。図示のように、ネットワークコンピューティングデバイス120、ソースホスト130、およびターゲットホスト160は、ネットワーク150の構成要素である。ネットワークは、ネットワーク150内の1つ以上のデバイスと通信するネットワークコントローラ180をさらに含む。
ネットワーク150は、マザーボード上に設けられた周辺装置またはさまざまなシステム要素を相互接続するためのバックプレーンを含むデータセンタ、負荷分散サーバファーム、または任意の他の種類のコンピューティング環境であってもよい。ネットワーク150および介在ノードは、さまざまな構成およびプロトコルを含む。プロトコルとしては、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、1つ以上の企業に独自の通信プロトコルを使用するプライベートネットワーク、イーサネット(登録商標)、(802.11、802.11b、g、n、または他の標準の)WiFi(登録商標)およびHTTP、並びに上述もののさまざまな組み合わせを含むことができる。
ネットワークコントローラ180は、ネットワーク150の各ノードに直接的にまたは間接的に接続されてもよく、ノード間の接続を確立するためにまたは特定のノードに情報を提供するために使用されてもよい。例えば、ネットワークコントローラ180は、1つのノードから別のノードへの情報の転送を容易にするように、ネットワーク更新を提供するために使用することができる。いくつかの例において、ネットワークコントローラ180は、ネットワーク150のトポロジ、またはネットワーク150に接続され得る他のさまざまなネットワークの各々のトポロジに関する情報を格納および処理することができる。ネットワークコントローラ180は、例えば、従来のネットワークインタフェイスコントローラ(NIC)であってもよく、専用のネットワークインタフェイスコントローラであってもよい。NICは、例えば、拡張カード、マザーボード、イーサネットチップまたは他の媒体を介して、ネットワークに実装されてもよく、ネットワークに接続されてもよい。
ネットワークコンピューティングデバイス120は、仮想化コンピューティングデバイスであってもよく、非仮想化コンピューティングデバイスであってもよい。例えば、ネットワークコンピューティングデバイス120は、中央処理装置(CPU)、仮想マシン、Linux(登録商標)コンテナ、ルータ、スイッチ、またはパケットを送受信することができる任意のネットワークデバイスであってもよい。ネットワークコンピューティングデバイス120は、例えば、有線接続または無線接続によって、ソースホスト130およびゲスト110と通信することができる。
ソースホスト130は、ゲスト110をホストすることができる任意の種類のコンピューティングデバイスまたはコンピューティングシステムであってもよい。例えば、ソースホスト130は、1つ以上の仮想マシンまたは他のゲストがその上で動作しているハイパーバイザ(図示せず)を含んでもよい。ゲスト110のみが図1に示されているが、任意の時間に複数のゲストがソースホスト130上で動作してもよいことを理解すべきである。いくつかの例において、ソースホスト130は、例えばネスト仮想化環境において、仮想化されてもよい。例えば、ソースホスト130は、仮想マシン、Linuxコンテナなどであってもよい。
ソースホスト130と同様に、ターゲットホスト160は、ゲスト110をホストすることができる任意の種類のコンピューティングデバイスであってもよい。いくつかの例において、ターゲットホストは、仮想化されてもよい。
ライブ移行を開始するために、ターゲットホスト160は、ソースホスト130上の仮想マシンマネージャ(VMM)と通信する。例えば、ターゲットホスト160上でVMMのタスクを開始することができる。このようなタスクは、ソースホスト130上のVMMと通信することができ、例えば、認証を実行する。その後、ゲスト110の仕様および状態をソースホスト130からターゲットホスト160に転送するブラックアウト段階を開始してもよい。
いくつかの例によれば、ゲスト110は、間近に迫っている移行に関する情報が(例えば、ターゲット160またはソース130によって)通知されたことに応じて、所定の行動を取ることができる。そのような行動の一例は、状態、例えば正常性状態を変更することである。例えば、ゲスト110は、「レイムダック」状態に移行することができ、その状態は、正常性状態または不正常性状態などの他の状態に加えて、認識されることができる。レイムダック状態において、ゲスト110は、既存の接続をキープし、負荷分散プールから自身を削除することができる。例えば、ゲスト110は、保留中のタスクを完了することができるが、新しいタスクを受け入れない。
ゲスト110をターゲットホスト160に移動する際に、ネットワークコンピューティングデバイス120とゲスト110との間の通信は、例えばソースホスト130を介して維持されることができる。ソースホスト130は、例えば、ネットワークコンピューティングデバイス120とターゲットホスト160との間の双方向転送エージェントとして機能することができる。ターゲットホスト160は、ソース130上のゲスト110から一時的に保存された入来トラフィックを受信し、ソース130を介して送出トラフィックを一時的に保存するように構成される。
移行が完了すると、ターゲット160およびソース130の少なくとも一方は、ネットワークコントローラ180に通知することができる。次に、ネットワークコントローラ180は、ゲスト110の物理ホストIPアドレスをターゲット160上の新しい位置に対応するように変更することができる。したがって、ゲスト110と通信したいクライアントは、パケットを適切な物理ホストマシンに送信することができる。さらに、いくつかの例において、ネットワークコントローラ180は、ネットワーク150内のネットワークコンピューティングデバイス120および他のコンピューティングデバイスに、ゲスト110の場所変更を通知することができる。例えば、コントローラ180は、ゲスト110の新しいアドレスをネットワークデバイスに提供することができる。これによって、ネットワークコンピューティングデバイス120および他のデバイスは、ターゲットホスト160上のゲスト110との直接通信を再開することができる。
一旦ネットワークデバイス120がターゲット160上のゲスト110と通信し始めると、ソース130は、終了し、ターゲット160は、入来転送構成および送出転送構成を破棄することができる。例えば、ソース130およびターゲット160上の転送ルールを削除してもよい。一例によれば、ソース130およびターゲット160は、転送ルールを削除する前に、ソース130を介して転送されたトラフィックがゼロに減少した後、所定の時間、例えば1分間で待機することができる。この待機時間は、ターゲット160上のゲスト110の新しいアドレスを用いて、ネットワークデバイスを更新するタイミングの変動に適応することができる。別の例によれば、フィードバックに基づくメカニズムを使用する。具体的には、ターゲット160に対する変更をすべてのクライアントに通知したことが明確に分かる場合に限り、転送を停止する。
図2は、ソース130およびコントローラ180を含むシステム100の特定の構成要素を示すブロック図である。
ソース130は、メモリ132と、メモリ132と通信する1つ以上のプロセッサ139とを含む。メモリ132は、プロセッサ139によってアクセス可能な情報を記憶する。その情報は、プロセッサ139によって実行可能な命令138を含む。メモリはさらに、データ134を含む。プロセッサは、これらのデータを検索、操作または記憶することができる。メモリは、プロセッサによってアクセス可能な情報を記憶することができる任意の種類のもの、例えばハードドライブ、メモリカード、ROM、RAM、DVD、CD−ROM、書き込み可能なメモリ、および読み出し専用メモリなどであってもよい。
プロセッサ139は、市販の中央処理装置(CPU)またはグラフィック処理装置(GPU)などの任意の従来のプロセッサであってもよい。代替的に、プロセッサは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のハードウェアに基づくプロセッサなどの専用部品であってもよい。別の例として、プロセッサ139は、量子コンピュータであってもよい。
メモリ132は、命令138に従ってプロセッサによって検索、操作または記憶され得るデータ134を含む。システムおよび方法は、具体的なデータ構造によって制限されない。例えば、データは、コンピュータレジスタに記憶されてもよく、複数の異なるフィールドおよびレコード、またはXML文書を有するテーブルとして、関係データベース内に記憶されてもよい。データは、バイナリ値、ASCIIまたはユニコードなどを含むがこれらに限定されないコンピュータ可読フォーマットにフォーマットされてもよい。さらに、データ134は、関連情報を識別するのに十分な数字、記述テキスト、専用コード、ポインタまたは他のメモリ(他のネットワーク場所を含む)に格納されたデータへの参照などの情報、または関連データを計算するために、関数に利用される情報を含むことができる。
命令138は、プロセッサ139によって直接に実行される任意の命令セット(例えば、機械コード)または間接に実行される任意の命令セット(例えば、スクリプト)であってもよい。よって、「命令」、「ステップ」および「プログラム」という用語は、本明細書において交換可能に使用されてもよい。これらの命令は、プロセッサによる直接処理のためにオブジェクトコード形式で格納されてもよく、または必要に応じて翻訳されまたは事前にコンパイルされるスクリプトまたは独立のソースコードモジュールの集合を含む他のコンピュータ言語で格納されてもよい。
命令138は、例えば、移行先からゲストの移行に関連する情報を受信するために、プロセッサによって実行されてもよい。いくつかの例において、ゲストは、情報の受信に応じて、行動を取ることができる。例えば、ゲスト110は、自身の正常性状態を「レイムダック」状態に変更することによって、自身の状態を更新することができる。「レイムダック」状態において、ゲストは、新しいタスクを受け入れず、保留中のタスクを完了することができる。命令138は、さらに、ネットワークデバイス120とターゲット160との間の双方向転送の処理を規定することができる。例えば、データ134は、移行する予定のネットワークデバイス120から受信され、移行ゲスト110に転送されるトラフィックを処理するための、およびターゲット160から受信され、ネットワークデバイス120に転送されるトラフィックを処理するための1つ以上の転送ルールを有するフローテーブルを含むことができる。命令138は、さらに、移行が完了した後、接続の取り消しを規定することができる。例えば、ソース130は、移行が完了した後、トラフィックが少なくなるまで、所定の時間で待機してから、フローテーブルから双方向転送ルールを削除することができる。別の例として、移行されたゲスト110と通信しているすべてのネットワークデバイスがターゲット160と通信するようにスイッチングされたことを確認してから、ソース130上に設けられた転送ルールは、取り消されてもよい。
図2は、プロセッサ139およびメモリ132が同一のブロックにあることを機能的に示しているが、理解すべきことは、プロセッサおよびメモリは、実際に、同一の物理的なハウジングに格納されているまたは格納されていない複数のプロセッサおよびメモリを含むことができる。例えば、命令およびデータの一部は、取り外し可能なCD−ROMに格納され、他の部分は、読み取り専用のコンピュータチップに格納されてもよい。命令およびデータの一部または全部は、プロセッサ139から物理的に離れており、プロセッサ139によってアクセス可能な場所に格納されてもよい。同様に、プロセッサ139は、実際に、並列に動作するまたは動作しないプロセッサの集合体を含むことができる。いくつかの例において、メモリ132および/または1つ以上のプロセッサ139は、ハイパーバイザの一部であってもよい。
ソース130と同様に、コントローラ180は、メモリ182と、1つ以上のプロセッサ189とを含む。1つ以上のプロセッサ189は、ソースのプロセッサ139に関連して上述した形態のいずれかをとることもできる。メモリ182は、データ184と、命令188とを含む。メモリ182は、任意の種類であってもよく、ソースのメモリ132に関連して上述した機能のいずれかを含むことができる。命令188は、ライブ移行の完了の検出、およびターゲットホスト上のゲストのアドレスの更新を規定する。ライブ移行の完了の検出は、例えば、ソース130およびターゲット160の一方から、移行が完了したことを示す通知を受信することを含むことができる。アドレスの更新は、移行を準備するためにターゲットおよびソースをプログラミングし、ソースおよびターゲットを認識するように残りのネットワークをプログラミングすることを含むことができる。命令188は、ネットワークデバイス120などの他のネットワークデバイスに、ライブ移行が完了したことを通知することを規定することができる。通知には、ターゲット上のゲストの更新されたアドレスをネットワーク装置に提供することを含むことができる。
図3は、別の例示的なシステム300を示している。図1のシステム100と同様に、システム300は、複数の接続されたネットワーク要素、例えば、ソース330、ターゲット360およびコントローラ380を含むことができる。ソース330、ターゲット360およびコントローラ380は、図1〜2に関連して上述したソース130、ターゲット160およびコントローラ180と同様であってもよい。
システム300は、「他の」ゲスト325をさらに含むことができる。「他の」ゲスト325は、「他の」ホスト320に存在しており、ソース330、ターゲット360およびコントローラ380に通信可能に接続される。上述のように、他のホスト320は、ソース330およびターゲット360と共に、三者間ルーティングを行うことができる。この三者間ルーティングは、例えば、上記の図1に記載の双方向転送に代えてまたはそれに加えて、行うことができる。ソースホストおよびターゲットホストと同様に、他のホストは、任意の種類の仮想化または非仮想化ネットワークデバイスであってもよい。1つの他のホストおよび1つの他のゲストのみが示されているが、複数の他のホストおよび複数のゲストを実装することもできる。
この例において、ターゲットホスト360は、ネットワーク更新を申し込むために、例えば図示の通信342を介してコントローラ380と通信する。コントローラは、ルックアップ要求344に応じて、図示の通信346で示されたトークンを他のホスト320に提供する。このトークンは、ターゲットホスト360上のゲスト310と直接通信するために利用されてもよい。
図3の例は、ルックアップ要求344を発行することを示しているが、他の例において、転送を行う前に、ターゲットホスト360上の移行ゲスト310と通信するためのフローを他のホストにプッシュすることができる。例えば、ブラウンアウトおよび/またはブラックアウト中に、フローを他のホストにプッシュすることができる。
他のゲスト325は、トラフィック352をソースホスト330に送信し、送信されたトラフィックは、通信354で示されるように、ターゲットホスト360に転送される。ソースホスト330は、他のゲスト325がターゲットホスト360から入来パケット(356で示される)を受信するまで、トラフィック354を転送し続ける。他のゲスト325は、ターゲットホスト360上のゲスト310からパケット356を受信すると、通信358によって表されるように、ターゲット360上のゲスト310と直接通信を開始する。例えば、他のホスト320は、コントローラ380から受信したトークンを用いて、他のゲスト325からターゲットホスト360上のゲスト310までの送出パスを認証および指定する。これによって、他のゲスト325は、ゲスト310の新しい位置を「学習」し、ターゲット360上のゲスト310から最初の入来パケットを受信した後、ターゲット360上のゲスト310と直接通信するように自動的に切り替えることができる。
図4は、他のゲスト320を示す例示的なブロック図である。上述したように、他のゲスト325は、仮想マシンであってもよく、任意の仮想化ネットワーク要素であってもよい。他のゲスト320は、ネットワーク内の任意のホスト装置に存在するハイパーバイザ上で動作することができる。
他のゲスト325は、データ424および命令428を含むメモリ422と、1つ以上のプロセッサ429とを含む。これらの構成要素は、図2に関連して上述したメモリおよびプロセッサと同様であってもよい。命令428は、ターゲットホスト上のゲストと通信するためのトークンの受信と、ソースホスト上のゲストにトラフィックの送信、およびターゲットホスト上のゲストからの入来パケットの検出を規定することができる。入来パケットが検出されると、命令428は、受信したトークンを用いて、送出パスを認証および指定し、指定された送出パスに沿ってパケットをターゲットホスト上のゲストに直接に送信することをさらに規定することができる。
例示的な方法
図5は、仮想化ネットワークスタックをソースからターゲットにライブ移行するための方法500を示す例示的なフロー図を提供する。理解すべきことは、以下の方法に含まれる操作は、記載された順序で正確に行う必要がないことである。むしろ、さまざまな動作を異なる順序でまたは同時に処理してもよく、動作を追加または省略してもよい。
ブロック510において、ターゲットは、移行に関する情報をソースに送信する。例えば、ターゲットホスト上で仮想マシンマネージャ(VMM)を起動して、ライブ移行を開始することができる。ターゲットVMMは、移行を開始するために、ソースVMMと通信することができる。他の例によれば、通信は、ターゲットホストによって開始されてもよく、および/またはソースホストまたはソースゲストに向けられてもよい。さらなる例は、ソースがターゲットと通信すること、第三者のデバイスがソースおよびターゲットの両方に通信すること、または移行を開始するための他の任意のメカニズムを含む。
ブロック520において、ソースは、ターゲットから情報を受信する。例えば、ソースホスト、ソースVMMおよび/またはソースゲストは、情報を受信することができる。いくつかの例において、この情報は、移行される予定のゲストへの通知として機能してもよい。
いくつかの例において、ソースホスト上のゲストは、間近に迫っている移行の通知を受けたことに応じて、行動を取ることができる。そのような行動の1つは、レイムダックモードに移行することなど、自身の正常性状態を変更することである。
ブロック540において、ソースは、別のゲスト、別のホストまたは他のデバイスなどの仮想化または非仮想化ネットワークデバイスから受信したトラフィックをターゲットに転送する。例えば、ネットワークコントローラは、トラフィックを転送するために、ソース上のフローテーブルに転送ルールをインストールすることができる。同様に、ターゲットは、転送されたトラフィックを受信し、ネットワークデバイスに指定された送出トラフィックをソースに転送することができる(ブロック550)。このように、ソースは、ターゲットから転送されたトラフィックを受信し、受信したトラフィックをネットワークデバイスに提供することができる。
ブロック560において、移行が完了したか否かを判定することができる。例えば、ソースからターゲットへのゲストの移しが完了したときに、またはネットワークデバイスがターゲットホスト上のゲストと通信するように更新されたときに、移行が完了したとみなされる。一例によれば、ソースホストは、ゲストがターゲットホストに移行されたことを検出することができる。別の例として、ソースは、例えばネットワークコントローラから、移行完了の通知を受けてもよい。移行がまだ完了していない場合、ソースは、ネットワークデバイスとターゲット間の転送を引き続き行う。
ブロック560において、移行が完了したと判定された場合、ブロック550における処理は、ターゲットホスト上で再開され、ターゲットホスト上のゲストは、ネットワークデバイスからパケットを直接に受信する。例えば、コントローラは、ターゲットホスト上のゲストの更新されたアドレスをネットワークデバイスに提供することによって、直接通信を可能にすることができる。
図6は、「他の」ゲストによって促進された仮想化ネットワークスタックをライブ移行するための方法600を示す別の例示的なフロー図を提供する。図5の方法500と同様に、方法600に含まれる動作を異なる順序でまたは同時に処理してもよく、動作を追加または省略してもよい。
ブロック610において、他のゲストは、ターゲットホスト上の移行ゲストと通信するためのトークンを受信する。トークンは、例えばルックアップ要求に応じて、ネットワークコントローラから受けられてもよい。トークンは、ターゲットへの送出パスを認証および指定することができる。例えば、トークンを用いて、ターゲットから直接に受信したパケットを認証することができ、ターゲットに直接に送出されるパケットを認証することができ、およびターゲットから他のゲストへの入来パス上のパケットを認証することができる。
ブロック620において、他のゲストは、ネットワークトラフィックをソースホスト上の移行ゲストに送信する。そのトラフィックは、ソースで受信され(ブロック630)、ターゲットに転送される(ブロック640)。
ブロック650において、ターゲットは、ソースから転送されたトラフィックを受信すると共に、他のゲストに指定された送出トラフィックをソースに転送する。
ブロック660において、他のゲストは、ターゲットホスト上の移行ゲストから入来パケットを受信したか否かを判定する。受信していない場合、ソースおよびターゲットは、他のゲストとの間のトラフィックを転送し続ける。しかしながら、他のゲストがターゲットから入来パケットを受信すると、他のゲストにとって、移行が完了したことに関する知らせである可能性がある。
したがって、ブロック670において、他のゲストは、ターゲット上の移行ゲストにパケットを直接に送信する。例えば、他のゲストは、ネットワークコントローラから受信したトークンを用いて、通信用の送出パスを認証および指定する。
方法600は、よりシームレスな移行を提供することができる。これにより、移行が完了した後、他のゲストがターゲット上のゲストにパケットを送信し始めることができる。例えば、他のゲストは、ターゲットへの送出パスを設定するためのトークンをコントローラから既に受信しているため、移行が完了した後、コントローラからの更新を待つ必要がない。
前述の技術は、ゲストに与える影響を最小限にして、ゲスト仮想マシンの活動しているプロセスをソースホストからターゲットホストに移動することができるため、さらに有利である。ゲストプロセスは、遅延または中止されなくてもよく、最小限に遅延または中止されてもよい。さらに、移行ゲストを間近に迫っているライブ移行に公開し、移行ゲストがそれに応じて行動を取るようにすることも有利である。例えば、移行ゲストをレイムダックモードにすると、負荷分散操作に与える影響が最小限に抑えられ、アプリケーションの継続的な実行が可能である。このことは、ブラックアウト遅延に敏感なアプリケーションにとって特に有利である。
特許請求の範囲によって規定された主題から逸脱することなく、上述した特徴のこれらのおよび他の変形および組み合わせを利用することができるため、例示的な態様の前述の説明は、特許請求の範囲によって規定された主題を限定するものではなく、特許請求の範囲によって規定された主題を例示するものであると理解すべきである。また、理解すべきことは、本明細書に記載された例示(および「〜のような」、「例えば」および「含む」などの表現)は、特許請求された主題を特定の実施例に限定するものとして解釈すべきではなく、これらの例示は、多くの可能な態様のうち一部のみを説明することを意図している。

Claims (14)

  1. 仮想化ネットワークデバイスによるライブ移行を容易にするための方法であって、
    前記仮想化ネットワークデバイスによってパケットをソースホスト上の移行ゲストに送信し、前記ソースホストによって前記パケットをターゲットホストに転送するステップと、
    前記移行を開始する前に、前記移行を前記移行ゲストに通知するステップと、
    前記通知に応じて、前記移行ゲストの状態を変更するステップと、
    前記ソースホストを介して、前記ターゲットホスト上の前記移行ゲストからパケットを受信するステップと、
    前記仮想化ネットワークデバイスによって、前記ソースホストから前記ターゲットホストへの前記移行ゲストの移行が完了したか否かを判定するステップと、
    前記移行が完了したと判定された場合、前記仮想化ネットワークデバイスからのパケットを前記ターゲットホスト上の前記移行ゲストに直接に送信するステップとを含み、
    前記移行ゲストの移行が完了したか否かを判定するステップは、
    前記仮想化ネットワークデバイスにおいて、前記ターゲットホスト上の前記移行ゲストから1つ以上のパケットを直接に受信するステップと、
    前記受信した1つ以上のパケットに基づいて、移行が完了したことを確認するステップとを含む、方法。
  2. 前記仮想化ネットワークデバイスで、ネットワークコントローラからトークンを受信するステップをさらに含み、
    前記パケットを前記ターゲットホスト上の前記移行ゲストに直接に送信するステップは、前記受信したトークンを用いて、送出パスを認証および指定するステップを含む、請求項1に記載の方法。
  3. 前記仮想化ネットワークデバイスからのルックアップ要求を前記ネットワークコントローラに送信するステップをさらに含み、
    前記トークンは、前記ルックアップ要求に応じて、前記仮想化ネットワークデバイスで受信される、請求項2に記載の方法。
  4. ネットワークにおけるライブ移行のためのシステムであって、
    ソースホストと、
    前記ソースホスト上で動作する移行ゲストと、
    前記ソースホストと通信するターゲットホストと、
    前記ソースホスト上の前記移行ゲストと通信する他の仮想化ネットワークデバイスとを備え、
    前記ソースホストは、前記他の仮想化ネットワークデバイスから受信したトラフィックを前記ターゲットホストに転送し、前記ターゲットホストから受信したトラフィックを前記他の仮想化ネットワークデバイスに転送するように構成され、
    前記移行ゲストは、前記移行を開始する前に、前記移行の通知を受け、
    前記移行ゲストは、前記通知に応じて、その状態を変更するように構成され、
    前記ターゲットホストは、前記移行ゲストの移行が完了した時に、パケットを前記他の仮想化ネットワークデバイスに直接に送信するように構成され、
    前記他の仮想化ネットワークデバイスは、前記ターゲットホストからパケットを直接に受信した時間を判定し、それに応じて、パケットを前記ターゲットホスト上の前記移行ゲストに直接に送信するように構成される、システム。
  5. ネットワークコントローラをさらに備え、
    前記ネットワークコントローラは、前記ターゲットホスト上の前記移行ゲストと直接通信するために、前記他の仮想化ネットワークデバイスにトークンを提供するように構成される、請求項に記載のシステム。
  6. 前記トークンは、前記他の仮想化ネットワークデバイスからの送出パスを認証および指定するために使用される、請求項に記載のシステム。
  7. 前記移行ゲストは、既存の接続をキープし、将来の処理要求を拒否するモードに移行する、請求項に記載のシステム。
  8. 前記移行ゲストは、別のシステムと通信し、
    前記通信によって、前記別のシステムは、前記移行の間に、将来の処理要求を前記ネットワーク上の他のリソースに導く、請求項に記載のシステム。
  9. 前記ソースホストは、前記移行が完了した後、前記他の仮想化ネットワークデバイスから受信したトラフィックを前記ターゲットホストに転送するためのルール、または前記ターゲットホストから受信したトラフィックを前記他の仮想化ネットワークデバイスに転送するためのルールを転送テーブルから削除するように構成される、請求項4〜8のいずれか1項に記載のシステム。
  10. 前記ソースホストは、前記移行が完了した後、前記転送テーブルから前記ルールを削除する前に所定の時間で待機する、請求項に記載のシステム。
  11. 前記ソースホストおよび前記ターゲットホストの少なくとも一方は、前記移行のためのネットワーク再プログラミングが完了した通知を受信し、
    トラフィックを転送するための前記ルールは、前記通知に応じて削除される、請求項に記載のシステム。
  12. ライブ移行がソースホスト上の移行ゲストに通知された後に、前記ソースホスト上の前記移行ゲストによって前記移行ゲストをソースホストからターゲットホストに移行する指示を受信するステップと、
    前記指示の受信に応じて、所定の行動を取るステップと、
    前記移行ゲストを前記ソースホストから前記ターゲットホストにコピーするステップと、
    他のネットワークデバイスから前記ソースホスト上の前記移行ゲストのために受信したトラフィックを前記ターゲットホストに転送するステップと、
    前記ターゲットホストから前記移行ゲストのために受信したトラフィックを前記他のネットワークデバイスに転送するステップとを含み、
    前記所定の行動を取るステップは、前記移行ゲストの状態を変更するステップを含み、
    前記状態を変更するステップは、新しいタスクを受け入れることなく既存のタスクを完了するモードに、前記移行ゲストを移行するステップを含む、方法。
  13. 前記移行ゲストを前記モードに移行するステップは、
    前記移行中に別のタスクがサービス要求を提供することを可能にするステップ、または、
    負荷分散プールから前記移行ゲストを削除するステップ、
    をさらに含む、請求項12に記載の方法。
  14. 請求項1〜12または13のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
JP2016567394A 2014-06-20 2015-06-18 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法 Active JP6534399B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/310,492 2014-06-20
US14/310,492 US10013276B2 (en) 2014-06-20 2014-06-20 System and method for live migration of a virtualized networking stack
PCT/US2015/036427 WO2015195913A1 (en) 2014-06-20 2015-06-18 System and method for live migration of a virtualized networking stack

Publications (2)

Publication Number Publication Date
JP2017518568A JP2017518568A (ja) 2017-07-06
JP6534399B2 true JP6534399B2 (ja) 2019-06-26

Family

ID=54869711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016567394A Active JP6534399B2 (ja) 2014-06-20 2015-06-18 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法

Country Status (7)

Country Link
US (2) US10013276B2 (ja)
EP (1) EP3135007B1 (ja)
JP (1) JP6534399B2 (ja)
KR (1) KR101862273B1 (ja)
CN (1) CN106464579B (ja)
AU (2) AU2015277109B2 (ja)
WO (1) WO2015195913A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US9755898B2 (en) 2014-09-30 2017-09-05 Nicira, Inc. Elastically managing a service node group
US10225137B2 (en) 2014-09-30 2019-03-05 Nicira, Inc. Service node selection by an inline service switch
US10135737B2 (en) 2014-09-30 2018-11-20 Nicira, Inc. Distributed load balancing systems
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US10609091B2 (en) 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
US10404579B1 (en) * 2015-12-07 2019-09-03 Amazon Technologies, Inc. Virtual machine instance migration using a hypervisor
US10162559B2 (en) * 2016-09-09 2018-12-25 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
US10320895B2 (en) 2016-11-15 2019-06-11 Microsoft Technology Licensing, Llc Live migration of load balanced virtual machines via traffic bypass
US9906401B1 (en) 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
US10778585B1 (en) * 2016-11-30 2020-09-15 Amazon Technologies, Inc. Connection and application state migration for uninterrupted service availability
US11537419B2 (en) * 2016-12-30 2022-12-27 Intel Corporation Virtual machine migration while maintaining live network links
US10997132B2 (en) * 2017-02-07 2021-05-04 Oracle International Corporation Systems and methods for live data migration with automatic redirection
US10216598B2 (en) * 2017-07-11 2019-02-26 Stratus Technologies Bermuda Ltd. Method for dirty-page tracking and full memory mirroring redundancy in a fault-tolerant server
US10977064B2 (en) 2017-08-23 2021-04-13 Red Hat, Inc. Live virtual machine migration
US10838752B2 (en) 2017-08-28 2020-11-17 Red Hat Israel, Ltd. Network notification loss detection for virtual machine migration
US10572289B2 (en) 2017-08-28 2020-02-25 Red Hat Israel, Ltd. Guest-initiated announcement of virtual machine migration
US10628198B2 (en) 2017-08-30 2020-04-21 Red Hat Israel Ltd. Hypervisor management of migration notification and response messages for virtual machines
US11070629B2 (en) * 2017-08-30 2021-07-20 Red Hat Israel, Ltd Migration notification and response messages for virtual machines
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10965641B2 (en) 2017-12-07 2021-03-30 Red Hat, Inc. Live virtual machine migration utilizing network address pools
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10693801B2 (en) 2018-02-20 2020-06-23 Red Hat, Inc. Packet drop reduction in virtual machine migration
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US10977068B2 (en) * 2018-10-15 2021-04-13 Microsoft Technology Licensing, Llc Minimizing impact of migrating virtual services
US20200159556A1 (en) * 2018-11-21 2020-05-21 Microsoft Technology Licensing, Llc Traffic forwarding during migration
US11086654B2 (en) 2019-02-22 2021-08-10 Vmware, Inc. Providing services by using multiple service planes
CN118312284A (zh) 2019-07-31 2024-07-09 华为技术有限公司 虚拟机热迁移方法和通信设备
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11748131B2 (en) 2019-11-20 2023-09-05 Red Hat, Inc. Network updates for virtual machine migration
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11588693B2 (en) 2020-02-26 2023-02-21 Red Hat, Inc. Migrating networking configurations
US11438257B2 (en) 2020-04-06 2022-09-06 Vmware, Inc. Generating forward and reverse direction connection-tracking records for service paths at a network edge
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
CN112671647B (zh) * 2020-11-26 2022-07-12 新华三技术有限公司 一种建立路径检测会话的方法以及设备
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
CN112866410B (zh) * 2021-02-10 2023-04-07 北京字节跳动网络技术有限公司 数据报文的转发控制方法、装置、介质及电子设备

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6698017B1 (en) * 1999-07-16 2004-02-24 Nortel Networks Limited Software migration on an active processing element
US8204082B2 (en) 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7334154B2 (en) 2004-06-18 2008-02-19 Microsoft Corporation Efficient changing of replica sets in distributed fault-tolerant computing system
US7363365B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US7788665B2 (en) * 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
CN101465812B (zh) 2009-01-06 2012-03-21 北京航空航天大学 跨子网在线迁移时虚拟机网络连接重定向方法
US8150971B2 (en) 2009-05-31 2012-04-03 Red Hat Israel, Ltd. Mechanism for migration of client-side virtual machine system resources
US8438256B2 (en) 2009-06-26 2013-05-07 Vmware, Inc. Migrating functionality in virtualized mobile devices
EP2517406B1 (en) 2009-12-23 2015-06-17 Citrix Systems Inc. Systems and methods for mixed mode of ipv6 and ipv4 dns of global server load balancing
US8671238B2 (en) 2010-07-13 2014-03-11 Vmware, Inc. Robust live migration using shared filesystem
US9183046B2 (en) 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
US8819678B2 (en) 2010-12-15 2014-08-26 Red Hat Israel, Ltd. Live migration of a guest from a source hypervisor to a target hypervisor
US8625597B2 (en) 2011-01-07 2014-01-07 Jeda Networks, Inc. Methods, systems and apparatus for the interconnection of fibre channel over ethernet devices
JP5486526B2 (ja) 2011-02-17 2014-05-07 日本電信電話株式会社 制御装置、制御システム、制御方法、及び制御プログラム
US8904384B2 (en) 2011-06-14 2014-12-02 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reducing data transfer overhead during live migration of a virtual machine
US8490092B2 (en) 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
US9424144B2 (en) * 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
WO2013133842A1 (en) 2012-03-08 2013-09-12 Empire Technology Development Llc Secure migration of virtual machines
US10333827B2 (en) 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
US9152448B2 (en) * 2012-05-11 2015-10-06 Vmware, Inc. Performance of load balancing modules with migration awareness
US9035872B2 (en) 2012-06-08 2015-05-19 Apple Inc. Detection system and method between accessory and electronic device
US9866475B2 (en) 2012-06-15 2018-01-09 Citrix Systems, Inc. Systems and methods for forwarding traffic in a cluster network
WO2014011927A1 (en) 2012-07-12 2014-01-16 Jeda Networks, Inc. Methods, systems and apparatus for the control of interconnection of fibre channel over ethernet devices
CN102902599B (zh) 2012-09-17 2016-08-24 华为技术有限公司 虚拟机内部故障处理方法、装置及系统
JP2014067322A (ja) 2012-09-27 2014-04-17 Hitachi Ltd 仮想サーバの負荷分散システム、および負荷分散方法
US9794107B2 (en) * 2013-02-06 2017-10-17 Alcatel Lucent Method and apparatus for providing migration of cloud components across address domains
US9967111B2 (en) * 2013-03-15 2018-05-08 Rackspace Us, Inc. Software-defined multinetwork bridge
JP6056578B2 (ja) * 2013-03-19 2017-01-11 富士通株式会社 仮想マシンの移動終了を検出する装置、方法、及びプログラム
CN104079507B (zh) * 2013-03-27 2019-04-09 联想企业解决方案(新加坡)私人有限公司 同步ip信息的方法和装置

Also Published As

Publication number Publication date
WO2015195913A8 (en) 2016-12-01
JP2017518568A (ja) 2017-07-06
US20180203721A1 (en) 2018-07-19
EP3135007A1 (en) 2017-03-01
AU2018201833A1 (en) 2018-04-12
WO2015195913A1 (en) 2015-12-23
AU2015277109B2 (en) 2018-03-01
KR101862273B1 (ko) 2018-05-29
CN106464579B (zh) 2019-12-03
US10592273B2 (en) 2020-03-17
EP3135007B1 (en) 2020-05-06
AU2015277109A1 (en) 2016-11-24
US20150370596A1 (en) 2015-12-24
EP3135007A4 (en) 2018-04-11
US10013276B2 (en) 2018-07-03
AU2018201833B2 (en) 2019-02-21
CN106464579A (zh) 2017-02-22
KR20160146984A (ko) 2016-12-21

Similar Documents

Publication Publication Date Title
JP6534399B2 (ja) 仮想化ネットワークスタックをライブ移行するためのシステムおよび方法
US9880870B1 (en) Live migration of virtual machines using packet duplication
EP2907291B1 (en) Virtual firewall mobility
EP3985508A1 (en) Network state synchronization for workload migrations in edge devices
JP2019523949A (ja) ネットワークセキュリティマイクロサービスを負荷に基づいて動的に自動スケーリングするアーキテクチャ
US11997170B2 (en) Automated migration of monolithic applications to container platforms
US20240129185A1 (en) Secure bi-directional network connectivity system between private networks
US8923114B2 (en) Start-up delay for event-driven virtual link aggregation
US20240211295A1 (en) Systems and methods for automated migration replication
US8640127B2 (en) Relocating guest machine using proxy tool having multiple virtual machines where one virtual machines provides host route for relocation
WO2016023518A1 (en) Migration of hosts
JP2018516001A (ja) 通信装置、システム、方法、及びプログラム
CN120202463A (zh) 管理程序网络上的虚拟机迁移
JP2015156585A (ja) ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム
US20240007340A1 (en) Executing on-demand workloads initiated from cloud services in a software-defined data center
US10374874B2 (en) Reducing data plane disruption in a virtual switch
JP2026501299A (ja) 移行の計画、評価、および起動のためのシステムおよび方法
US11595464B2 (en) Migration of network file copy operations between host computing devices
CN107370679A (zh) 一种实现迁移处理的方法及装置
JP2026503955A (ja) 自動移行複製のためのシステムおよび方法
JP2026502162A (ja) プライベートネットワーク間のセキュアな双方向ネットワーク接続システム
CN117640377A (zh) 促进网络设备的弹性
JP2024503599A (ja) 高度に利用可能なフローのための通信チャネル状態情報の同期

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180327

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181221

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190528

R150 Certificate of patent or registration of utility model

Ref document number: 6534399

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250