JP6534399B2 - System and method for live migration of a virtualization network stack - Google Patents

System and method for live migration of a virtualization network stack 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
Japanese (ja)
Other versions
JP2017518568A (en
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/en
Application granted granted Critical
Publication of JP6534399B2 publication Critical patent/JP6534399B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/46Multiprogramming arrangements
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/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; 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
    • 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号の継続出願であり、その開示が参照により本明細書に組み込まれる。
This application is a continuation of US patent application Ser. No. 14 / 310,492 filed Jun. 20, 2014, the disclosure of which is incorporated herein by reference.

背景
ライブ移行とは、仮想マシンの接続性、ネットワークの接続および仮想マシンの正常性状態報告を維持しながら、動作している仮想マシンを1つのホストマシンから別のホストマシンに移動させる行為である。移行中に、例えば、メモリをコピーするために仮想マシンを一時停止することによって、または仮想マシンと新しいホストとの接続を設立することによって、性能に影響を与える可能性がある。
Background Live migration is the act of moving a running virtual machine from one host machine to another while maintaining virtual machine connectivity, network connectivity and virtual machine health status reporting. . During migration, performance may be impacted, for example, by pausing the virtual machine to copy memory, or by establishing a connection between the virtual machine and the new host.

概要
本開示の一態様は、仮想化ネットワークデバイスによるライブ移行を容易にする方法を提供する。この方法は、仮想化ネットワークデバイスによって、パケットをソースホスト上の移行ゲストに送信し、ソースホストによってパケットをターゲットホストに転送するステップと、ソースホストを介して、ターゲットホスト上の移行ゲストからパケットを受信するステップと、仮想化ネットワークデバイスによって、移行元ホストから移行先ホストへの移行ゲストの移行が完了したか否かを判定するステップと、移行が完了したと判定された場合、パケットを仮想化ネットワークデバイスからターゲットホスト上の移行ゲストに直接に送信するステップとを含む。移行ゲストの移行が完了したか否かを判定するステップは、仮想化ネットワークデバイスにおいて、ターゲットホスト上のゲストから1つ以上のパケットを直接に受信するステップと、受信した1つ以上のパケットに基づいて、移行が完了したことを確認するステップとを含む。
SUMMARY One aspect of the present disclosure provides a method of facilitating live migration by a virtualized network device. The method comprises the steps of: sending a packet to the migrating guest on the source host by the virtualization network device; forwarding the packet to the target host by the source host; and transmitting the packet from the migrating guest on the target host via the source host The steps of receiving, determining whether migration of the migration guest from the migration source host to the migration destination host has been completed by the virtualization network device, and virtualizing the packet if it is determined that the migration has been completed Sending directly from the network device to the migrating guest on the target host. The step of determining whether migration of the migration guest has been completed may include, at the virtualization network device, directly receiving one or more packets from the guest on the target host, and based on the received one or more packets. And confirming that the migration is complete.

本開示の別の態様は、システムを提供する。このシステムは、ソースホストと、ソースホスト上で動作する移行ゲストと、ソースホストと通信するターゲットホストと、ソースホスト上の移行ゲストと通信する他の仮想化ネットワークデバイスとを備える。ソースホストは、他のネットワークデバイスから受信したトラフィックをターゲットホストに転送し、ターゲットホストから受信したトラフィックを他のネットワークデバイスに転送するように構成される。ターゲットホストは、移行ゲストの移行が完了したに、パケットを他のネットワークデバイスに直接に送信するように構成される。他のネットワークデバイスは、ターゲットホストからパケットを直接に受信した時間を判定し、それに応じて、パケットをターゲットホスト上の移行ゲストに直接に送信するように構成される。システムは、ターゲットホスト上の移行ゲストと直接通信するために、他の仮想化ネットワークデバイスにトークンを提供するように構成されたネットワークコントローラをさらに備える。いくつかの例において、移行ゲストは、移行を開始する前に移行の通知を受け、通知に応じてその状態を変更するように構成されてもよい。例えば、移行ゲストは、既存の接続をキープし、将来の処理要求を拒否するモードに移行することができる。別の例として、移行ゲストは、別のシステムと通信することができ、その通信によって、別のシステムは、移行の間に、将来の処理要求をネットワーク上の他のリソースに導くことができる。   Another aspect of the present disclosure provides a system. The system comprises a source host, a migrating guest operating on the source host, a target host communicating with the source host, and other virtualized network devices communicating with the migrating guest on the source host. The source host is configured to forward traffic received from another network device to the target host and forward traffic received from the target host to the other network device. The target host is configured to send packets directly to other network devices upon completion of migration guest migration. The other network device is configured to determine the time of receiving the packet directly from the target host and, in response, to send the packet directly to the migrating guest on the target host. The system further comprises a network controller configured to provide tokens to other virtualized network devices for direct communication with the migrating guest on the target host. In some examples, the migrating guest may be configured to be notified of the transition before initiating the transition and to change its state in response to the notification. For example, a migrating guest can transition to a mode that keeps existing connections and rejects future processing requests. As another example, the migration guest can communicate with another system, which allows another system to direct future processing requests to other resources on the network during the migration.

本開示のさらに別の態様は、方法を提供する。この方法は、ソースホスト上の移行ゲストによって、ソースホストから移行ゲストをターゲットホストに移行する指示を受信するステップを含む。移行ゲストは、指示の受信に応じて、所定の作動を取る。さらに、移行ゲストは、ソースからターゲットにコピーされる。ソースホストは、他のネットワークデバイスから受信したトラフィックをターゲットホストに転送し、ターゲットホストから受信したトラフィックを他のネットワークデバイスに転送する。   Yet another aspect of the present disclosure provides a method. The method includes receiving, by the migrating guest on the source host, an indication from the source host to migrate the migrating guest to the target host. The transition guest takes a predetermined action in response to receiving the instruction. In addition, migration guests are copied from the source to the target. The source host forwards traffic received from another network device to the target host, and forwards traffic received from the target host to the other network device.

本開示の態様に係る例示的なシステムを示す図である。FIG. 1 illustrates an exemplary system in accordance with aspects of the present disclosure. 本開示の態様に係る図1のシステムの構成要素を示すブロック図である。FIG. 6 is a block diagram illustrating components of the system of FIG. 1 in accordance with aspects of the present disclosure. 本開示の態様に係る別の例示的なシステムを示す図である。FIG. 7 illustrates another exemplary system in accordance with aspects of the present disclosure. 本開示の態様に係る図3のシステムの構成要素を示すブロック図である。FIG. 5 is a block diagram illustrating components of the system of FIG. 3 in accordance with aspects of the present disclosure. 本開示の態様に係る例示的な方法を示すフロー図である。FIG. 7 is a flow diagram illustrating an exemplary method in accordance with an aspect of the present disclosure. 本開示の態様に係る別の例示的な方法を示すフロー図である。FIG. 7 is a flow diagram illustrating another exemplary method according to aspects of the present disclosure.

詳細な説明
概要
本開示は、仮想化ネットワークスタックをライブ移行するためのシステムおよび方法を提供する。
DETAILED DESCRIPTION Overview The present disclosure provides systems and methods for live migration of a virtualization network stack.

ライブ移行は、第1仮想化または非仮想化ネットワークコンピューティングデバイスと移行される仮想ネットワークスタックとの間のネットワーク接続を中断せず、移行を行う。第1仮想化または非仮想化ネットワークコンピューティングデバイスは、仮想マシン、スイッチ、ホスト、または任意のネットワークデバイスであってもよい。仮想ネットワークスタックは、仮想マシン、Linux(登録商標)コンテナ、または他の種類の仮想ネットワークスタックであってもよい。以下の例において、第1仮想化または非仮想化ネットワークコンピューティングデバイスは、第1デバイスと呼ばれ、移行される仮想ネットワークスタックは、仮想マシンと呼ばれる。これらの例は、限定的ではないことを理解すべきである。さらに、理解すべきことは、これらの例は、単なる例示であり、記載された概念は、さまざまなシナリオに適用されてもよいことである。例えば、複数の第1デバイスは、以下に説明する技術を用いて、移行される仮想マシンと通信することができる。   Live migration provides migration without disrupting network connectivity between the first virtualized or non-virtualized network computing device and the virtual network stack being migrated. The first virtualized or non-virtualized network computing device may be a virtual machine, a switch, a host, or any network device. The virtual network stack may be a virtual machine, a Linux® container, or another type of virtual network stack. In the following example, the first virtualized or non-virtualized network computing device is called a first device, and the virtual network stack to be migrated is called a virtual machine. It should be understood that these examples are not limiting. Furthermore, it should be understood that these examples are merely exemplary, and the concepts described may be applied to various scenarios. For example, the plurality of first devices can communicate with the virtual machine to be migrated using the techniques described below.

第1デバイスは、ソースホスト上に位置する仮想マシンと通信する。第1デバイスは、移行中に、継続してソースホスト上の仮想マシンと通信する。移行が完了するまで、ソース仮想マシンおよびターゲット仮想マシンは、一時的に保存(proxy)されたトラフィックの転送(例えば、双方向転送または一方向転送)を行う。例えば、ソース仮想マシンは、第1デバイスからのすべての入来トラフィックを一時的に保存し、保存されたトラフィックをターゲット仮想マシンに転送する。ターゲット仮想マシンは、一時的に保存された入力トラフィックを受け入れ、同様に、ソース仮想マシンを介してすべての送出トラフィックを一時的に保存するように構成されている。このような双方向転送は、仮想マシンをソースからターゲットに移行する時点から、ネットワーク上の関連ノードが再プログラムされるまで、継続的に行うことができる。集中型の仮想ネットワークプログラミングコントローラは、仮想マシンがターゲットホストに移行されたことを第1デバイスに通知し、その結果、第1デバイスは、ターゲットホスト上の仮想マシンとの通信を再開することができる。さらに、コントローラは、その変更をネットワークの他のマシンに通知することもできる。   The first device communicates with a virtual machine located on the source host. The first device continuously communicates with the virtual machine on the source host during migration. Until migration is complete, the source virtual machine and the target virtual machine transfer (for example, bidirectional transfer or one-way transfer) temporarily stored traffic. For example, the source virtual machine temporarily stores all incoming traffic from the first device and forwards the stored traffic to the target virtual machine. The target virtual machine is configured to accept temporarily stored input traffic as well as temporarily store all outgoing traffic through the source virtual machine. Such bi-directional transfer can be performed continuously from the point of transition of the virtual machine from the source to the target until the associated node on the network is reprogrammed. The centralized virtual network programming controller notifies the first device that the virtual machine has been migrated to the target host, so that the first device can resume communication with the virtual machine on the target host . In addition, the controller can also notify other machines in the network of the change.

一例によれば、ソースにおいてすべてのトラフィックを一時的に保存し、双方向転送を行うことの代わりにまたはそれに加えて、コントローラおよびターゲットホストの両方と通信する「他の」仮想マシン(VM)が、シームレスな移行を容易にする。例えば、ターゲットVMホストは、コントローラと通信することによって、ネットワークの更新を申し込む。コントローラは、ターゲットホスト上の仮想マシンと直接通信するためのトークンを別のVMに提供する。他の仮想マシン、ソースホストおよびターゲットホストは、例えば、仮想マシンがターゲットホストに移送された時点から、ネットワークが更新されるまで、三者間ルーティングを行うことができる。例えば、他の仮想マシンは、ターゲットVMホストから入来パケットを受信するまで、ソースVMホストにトラフィックを送信し、このトラフィックは、ターゲットVMホストに転送される。この時点で、他の仮想マシンは、コントローラから受信したトークンを用いて、送出パスを認証および指定して、ターゲットホスト上の仮想マシンにパケットを直接に送信する。別の例として、他のVMホストは、認識されていない送信元からパケットを受信する場合、パケットをターゲット仮想マシンに直接に送信するように切り替えることができるように、コントローラに照会する。   According to one example, the "other" virtual machine (VM) communicates temporarily with both the controller and the target host, temporarily storing all traffic at the source, instead of or in addition to doing bi-directional forwarding. , To facilitate seamless transition. For example, the target VM host subscribes for network updates by communicating with the controller. The controller provides the token for communicating directly with the virtual machine on the target host to another VM. Other virtual machines, source hosts and target hosts can perform three-way routing, for example, from when the virtual machines are migrated to the target host until the network is updated. For example, another virtual machine sends traffic to the source VM host until it receives an incoming packet from the target VM host, and this traffic is forwarded to the target VM host. At this point, other virtual machines use the token received from the controller to authenticate and specify the delivery path to send packets directly to the virtual machine on the target host. As another example, if another VM host receives a packet from an unrecognized source, it queries the controller so that it can switch to send the packet directly to the target virtual machine.

上記のいずれの例において、ソースホストからターゲットホストへの平滑な移行をサポートするために、ネットワークデバイスに、例えば「他の」仮想マシンのソースおよび/またはホストに、1つ以上のルールをインストールすることができる。これらのルールは、例えばコントローラによってインストールされてもよい。ルールは、移行の特定段階、例えば、ブラウンアウト(すなわち、移行先が開始され、ソースホストからターゲットホストに仮想マシンの状態を移行している状態)、ブラックアウト(すなわち、ターゲット上でVMの再開を用意するために、仮想マシンを一時停止し、残りのVM状態をソースからターゲットに移動することができる状態)、ポストブラックアウト(すなわち、移行が完了して、ターゲットがすべての処理を行う状態)、およびキャンセル(すなわち、移行に関連するすべての設定を削除する状態)に対応して設けることができる。   In any of the above examples, to support smooth migration from source host to target host, install one or more rules on the network device, for example on the source and / or host of the "other" virtual machine be able to. These rules may, for example, be installed by the controller. The rules are specific stages of migration, eg brownout (ie transition destination started and state of virtual machine transition from source host to target host), blackout (ie VM restart on target To suspend the virtual machine and move the remaining VM state from source to target), post blackout (ie, the transition is complete and the target does all processing) And cancellation (i.e., a state in which all settings related to migration are deleted) can be provided.

ブラウンアウトの間に、仮想マシンは、ソースホスト上に位置する。移行元は、他の仮想マシン(VM)に対して、トラフィックの送受信を行うことができる。また、任意の他の仮想マシンも、移行元からトラフィックを受信することができるが、移行元にトラフィックの送信しかできない。同様に、コントローラは、移行元の転送テーブルを変更し、トラフィックを転送するために、移行テーブルを移行元にインストールする。ソースホストとターゲットホストの両方は、ローカルで動作しているホストエージェントプロセスまたはネットワークの再プログラミングを支援する仮想マシンマネージャプロセスの一部として動作しているホストエージェントプロセスを有する。移行元のホストエージェントを作動して、トラフィックのローカル転送から移行先への転送をスイッチングすることができる。   During brownout, the virtual machine is located on the source host. The migration source can transmit and receive traffic to and from other virtual machines (VMs). Also, any other virtual machine can also receive traffic from the source, but can only send traffic to the source. Similarly, the controller modifies the forwarding table of the migration source, and installs the migration table on the migration source to forward traffic. Both the source host and the target host have host agent processes running locally or host agent processes running as part of a virtual machine manager process that assists in reprogramming the network. The source host agent can be activated to switch forwarding of traffic from local forwarding to the destination.

ブラックアウトの間に、ソースからターゲットに移行する必要のあるネットワーク状態(例えば、ステートフルファイアウォール状態)は、すべて移行される。移行元のホストエージェントのみが、スイッチングに関与している。コントローラは、何もする必要がない。いくつかの実現例において、スイッチングは、ブラックアウト期間の開始時に行われてもよい。他の実現例において、ブラックアウトの前にまたはブラックアウト中に移行が取り消ることに備えて、トラフィックは、ポストブラックアウトにならないと、転送されない。   During blackout, all network states that need to move from source to target (eg, stateful firewall state) are migrated. Only the source host agent is involved in switching. The controller does not have to do anything. In some implementations, switching may occur at the beginning of the blackout period. In other implementations, traffic is not forwarded until it becomes post-blackout, in preparation for cancellation of the transition before or during blackout.

ポストブラックアウトの間に、コントローラは、移行先に指向するルートを提供する。さらに、移行元からのトラフィックは、引き続き移行先に転送される。例えば、ソースホストおよびターゲットホストは、双方向転送、単方向転送、または三者間ルーティングを行うことができる。その結果、移行転送フローを除いて、移行元上の殆どのフローは、アンインストールされる。さらに、三者間ルーティングの場合、ソースホストを介したトラフィックの転送とは対照的に、移行先からの応答は、第1デバイスに直接に送信され、第1デバイスは、ターゲットホスト上の仮想マシンと直接に通信することができる。   During post blackout, the controller provides a route that points to the destination. In addition, traffic from the source continues to be forwarded to the destination. For example, the source host and target host can perform bi-directional forwarding, uni-directional forwarding, or three-way routing. As a result, most flows on the migration source are uninstalled except for the migration transfer flow. Furthermore, in the case of three-way routing, in contrast to forwarding traffic through the source host, responses from the destination are sent directly to the first device, which is a virtual machine on the target host. Can communicate directly with.

キャンセルは、移行を取り消すときに行われる。例えば、ブラックアウトまたはブラックアウトの期間中に、ターゲットホストがクラッシュするまたは他のイベントに遭遇することによって、移行が取り消される可能性がある。キャンセル中、コントローラは、移行のために設定されたすべてのフローを削除する。例えば、ソースホストまたはターゲットホストのいずれかからパケットを受信するように第1デバイスを有効にする第1デバイス上のルールは、ソースに対応するルールのみをサポートするように再プログラムされる。ターゲットホスト上のすべてのネットワークプログラムが削除され、ソースホスト上の転送に関連するすべてのプログラムも削除される。   Cancellation takes place when canceling the transition. For example, during a blackout or blackout period, the migration may be canceled by the target host crashing or encountering other events. During cancellation, the controller deletes all flows set for migration. For example, the rules on the first device that enable the first device to receive packets from either the source host or the target host are reprogrammed to support only the rules corresponding to the source. All network programs on the target host are deleted, and all programs associated with the transfer on the source host are also deleted.

いくつかの例によれば、すべての仮想マシン状態が転送される前に、ターゲットで実行を開始することによって、ブラックアウトの期間を減縮することができる。例えば、ブラウンアウト段階中に、仮想マシンの状態を予めコピーし、その後のブラックアウト中に、仮想マシンのタスクの実行をターゲットホストに転送し、残りの状態を転送してもよく、転送しなくてもよい。また、ブラックアウトの後、残りの状態をコピーするポストコピーブラウンアウト段階を設けてもよい。   According to some examples, the blackout period can be reduced by starting execution on the target before all virtual machine states are transferred. For example, during the brownout phase, the state of the virtual machine may be pre-copied, and during the subsequent blackout the task execution of the virtual machine may be transferred to the target host and the remaining state may or may not be transferred. May be Also, after blackout, a post copy brownout stage may be provided to copy the remaining state.

本開示の一態様は、間近に迫っているライブ移行をゲスト仮想マシンに公開することによって、ゲスト仮想マシンに行動を取らせることができる。そのような行動の1つは、移行前に、ゲスト仮想マシンの正常性状態を変更することである。例えば、ゲスト仮想マシンは、「レイムダック」状態に移行することができる。この状態において、ゲスト仮想マシンは、既に進行中のタスクを完了するが、新しいタスクまたは接続を受け入れないように、他のシステムと通信する。したがって、ゲスト仮想マシンは、例えば、負荷分散プールから自身を削除し、既存の接続をキープすることができる。これによって、ネットワーク全体の負荷分散が容易になり、オンラインゲームシステムのようなブラックアウト遅延に敏感な取引先にとって特に役立つことができる。   One aspect of the present disclosure can allow guest virtual machines to take action by exposing an impending live migration to the guest virtual machines. One such action is to change the health state of the guest virtual machine prior to migration. For example, a guest virtual machine can transition to the "lame duck" state. In this state, the guest virtual machine communicates with other systems to complete tasks already in progress but not accept new tasks or connections. Thus, guest virtual machines can, for example, remove themselves from the load balancing pool and keep existing connections. This facilitates load balancing across the network and can be particularly useful for blackout delay sensitive customers such as online gaming systems.

例示的なシステム
図1は、動作しているゲストをソースホストからターゲットホストに移行する例示的なシステム100を示している。図示のように、ネットワークコンピューティングデバイス120、ソースホスト130、およびターゲットホスト160は、ネットワーク150の構成要素である。ネットワークは、ネットワーク150内の1つ以上のデバイスと通信するネットワークコントローラ180をさらに含む。
Exemplary System FIG. 1 shows an exemplary system 100 for migrating an operating guest from a source host to a target host. As shown, network computing device 120, source host 130, and target host 160 are components of network 150. The network further includes a network controller 180 in communication with one or more devices in the network 150.

ネットワーク150は、マザーボード上に設けられた周辺装置またはさまざまなシステム要素を相互接続するためのバックプレーンを含むデータセンタ、負荷分散サーバファーム、または任意の他の種類のコンピューティング環境であってもよい。ネットワーク150および介在ノードは、さまざまな構成およびプロトコルを含む。プロトコルとしては、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、1つ以上の企業に独自の通信プロトコルを使用するプライベートネットワーク、イーサネット(登録商標)、(802.11、802.11b、g、n、または他の標準の)WiFi(登録商標)およびHTTP、並びに上述もののさまざまな組み合わせを含むことができる。   Network 150 may be a data center including a backplane for interconnecting peripheral devices or various system elements provided on a motherboard, a load balancing server farm, or any other type of computing environment . Network 150 and intervening nodes include various configurations and protocols. As the protocol, Internet, World Wide Web, Intranet, Virtual Private Network, Wide Area Network, Local Network, Private Network using communication protocol unique to one or more companies, Ethernet (802.11, 802) .11b, g, n, or other standard) WiFi® and HTTP, and various combinations of the above.

ネットワークコントローラ180は、ネットワーク150の各ノードに直接的にまたは間接的に接続されてもよく、ノード間の接続を確立するためにまたは特定のノードに情報を提供するために使用されてもよい。例えば、ネットワークコントローラ180は、1つのノードから別のノードへの情報の転送を容易にするように、ネットワーク更新を提供するために使用することができる。いくつかの例において、ネットワークコントローラ180は、ネットワーク150のトポロジ、またはネットワーク150に接続され得る他のさまざまなネットワークの各々のトポロジに関する情報を格納および処理することができる。ネットワークコントローラ180は、例えば、従来のネットワークインタフェイスコントローラ(NIC)であってもよく、専用のネットワークインタフェイスコントローラであってもよい。NICは、例えば、拡張カード、マザーボード、イーサネットチップまたは他の媒体を介して、ネットワークに実装されてもよく、ネットワークに接続されてもよい。   Network controller 180 may be connected directly or indirectly to each node of network 150, and may be used to establish a connection between the nodes or to provide information to a particular node. For example, network controller 180 can be used to provide network updates to facilitate the transfer of information from one node to another. In some examples, network controller 180 may store and process information regarding the topology of network 150 or the topology of each of the various other networks that may be connected to network 150. The network controller 180 may be, for example, a conventional network interface controller (NIC) or a dedicated network interface controller. The NIC may be implemented in the network or connected to the network via, for example, an expansion card, a motherboard, an Ethernet chip or other media.

ネットワークコンピューティングデバイス120は、仮想化コンピューティングデバイスであってもよく、非仮想化コンピューティングデバイスであってもよい。例えば、ネットワークコンピューティングデバイス120は、中央処理装置(CPU)、仮想マシン、Linux(登録商標)コンテナ、ルータ、スイッチ、またはパケットを送受信することができる任意のネットワークデバイスであってもよい。ネットワークコンピューティングデバイス120は、例えば、有線接続または無線接続によって、ソースホスト130およびゲスト110と通信することができる。   Network computing device 120 may be a virtualized computing device or may be a non-virtualized computing device. For example, network computing device 120 may be a central processing unit (CPU), a virtual machine, a Linux container, a router, a switch, or any network device capable of sending and receiving packets. Network computing device 120 may communicate with source host 130 and guests 110 by, for example, wired or wireless connections.

ソースホスト130は、ゲスト110をホストすることができる任意の種類のコンピューティングデバイスまたはコンピューティングシステムであってもよい。例えば、ソースホスト130は、1つ以上の仮想マシンまたは他のゲストがその上で動作しているハイパーバイザ(図示せず)を含んでもよい。ゲスト110のみが図1に示されているが、任意の時間に複数のゲストがソースホスト130上で動作してもよいことを理解すべきである。いくつかの例において、ソースホスト130は、例えばネスト仮想化環境において、仮想化されてもよい。例えば、ソースホスト130は、仮想マシン、Linuxコンテナなどであってもよい。   Source host 130 may be any type of computing device or system capable of hosting guest 110. For example, source host 130 may include a hypervisor (not shown) on which one or more virtual machines or other guests are operating. Although only guests 110 are shown in FIG. 1, it should be understood that multiple guests may operate on the source host 130 at any time. In some examples, source host 130 may be virtualized, for example, in a nested virtualization environment. For example, the source host 130 may be a virtual machine, a Linux container, or the like.

ソースホスト130と同様に、ターゲットホスト160は、ゲスト110をホストすることができる任意の種類のコンピューティングデバイスであってもよい。いくつかの例において、ターゲットホストは、仮想化されてもよい。   Similar to source host 130, target host 160 may be any type of computing device capable of hosting guest 110. In some examples, the target host may be virtualized.

ライブ移行を開始するために、ターゲットホスト160は、ソースホスト130上の仮想マシンマネージャ(VMM)と通信する。例えば、ターゲットホスト160上でVMMのタスクを開始することができる。このようなタスクは、ソースホスト130上のVMMと通信することができ、例えば、認証を実行する。その後、ゲスト110の仕様および状態をソースホスト130からターゲットホスト160に転送するブラックアウト段階を開始してもよい。   The target host 160 communicates with a virtual machine manager (VMM) on the source host 130 to initiate a live migration. For example, VMM tasks can be initiated on target host 160. Such tasks may communicate with the VMM on the source host 130, eg, perform authentication. Thereafter, a blackout phase may be initiated to transfer guest 110 specifications and status from source host 130 to target host 160.

いくつかの例によれば、ゲスト110は、間近に迫っている移行に関する情報が(例えば、ターゲット160またはソース130によって)通知されたことに応じて、所定の行動を取ることができる。そのような行動の一例は、状態、例えば正常性状態を変更することである。例えば、ゲスト110は、「レイムダック」状態に移行することができ、その状態は、正常性状態または不正常性状態などの他の状態に加えて、認識されることができる。レイムダック状態において、ゲスト110は、既存の接続をキープし、負荷分散プールから自身を削除することができる。例えば、ゲスト110は、保留中のタスクを完了することができるが、新しいタスクを受け入れない。   According to some examples, guest 110 may take predetermined actions in response to being informed (eg, by target 160 or source 130) about the impending transition. An example of such an action is to change the condition, eg normality condition. For example, the guest 110 can transition to a “lame duck” state, which can be recognized in addition to other states such as a normal state or an abnormal state. In the lame duck state, the guest 110 can keep existing connections and remove itself from the load balancing pool. For example, the guest 110 can complete pending tasks but does not accept new tasks.

ゲスト110をターゲットホスト160に移動する際に、ネットワークコンピューティングデバイス120とゲスト110との間の通信は、例えばソースホスト130を介して維持されることができる。ソースホスト130は、例えば、ネットワークコンピューティングデバイス120とターゲットホスト160との間の双方向転送エージェントとして機能することができる。ターゲットホスト160は、ソース130上のゲスト110から一時的に保存された入来トラフィックを受信し、ソース130を介して送出トラフィックを一時的に保存するように構成される。   When moving guest 110 to target host 160, communication between network computing device 120 and guest 110 may be maintained, for example, via source host 130. Source host 130 may function, for example, as a bi-directional transfer agent between network computing device 120 and target host 160. The target host 160 is configured to receive incoming traffic temporarily stored from the guest 110 on the source 130 and temporarily store outgoing traffic via the source 130.

移行が完了すると、ターゲット160およびソース130の少なくとも一方は、ネットワークコントローラ180に通知することができる。次に、ネットワークコントローラ180は、ゲスト110の物理ホストIPアドレスをターゲット160上の新しい位置に対応するように変更することができる。したがって、ゲスト110と通信したいクライアントは、パケットを適切な物理ホストマシンに送信することができる。さらに、いくつかの例において、ネットワークコントローラ180は、ネットワーク150内のネットワークコンピューティングデバイス120および他のコンピューティングデバイスに、ゲスト110の場所変更を通知することができる。例えば、コントローラ180は、ゲスト110の新しいアドレスをネットワークデバイスに提供することができる。これによって、ネットワークコンピューティングデバイス120および他のデバイスは、ターゲットホスト160上のゲスト110との直接通信を再開することができる。   Once migration is complete, at least one of the target 160 and the source 130 can notify the network controller 180. Network controller 180 may then change the physical host IP address of guest 110 to correspond to the new location on target 160. Thus, clients wishing to communicate with the guest 110 can send packets to the appropriate physical host machine. Further, in some examples, network controller 180 can notify network computing device 120 and other computing devices in network 150 of a change in location of guest 110. For example, controller 180 can provide the new address of guest 110 to the network device. This allows network computing device 120 and other devices to resume direct communication with guest 110 on target host 160.

一旦ネットワークデバイス120がターゲット160上のゲスト110と通信し始めると、ソース130は、終了し、ターゲット160は、入来転送構成および送出転送構成を破棄することができる。例えば、ソース130およびターゲット160上の転送ルールを削除してもよい。一例によれば、ソース130およびターゲット160は、転送ルールを削除する前に、ソース130を介して転送されたトラフィックがゼロに減少した後、所定の時間、例えば1分間で待機することができる。この待機時間は、ターゲット160上のゲスト110の新しいアドレスを用いて、ネットワークデバイスを更新するタイミングの変動に適応することができる。別の例によれば、フィードバックに基づくメカニズムを使用する。具体的には、ターゲット160に対する変更をすべてのクライアントに通知したことが明確に分かる場合に限り、転送を停止する。   Once the network device 120 begins to communicate with the guest 110 on the target 160, the source 130 may end and the target 160 may discard the inbound transfer configuration and the outbound transfer configuration. For example, transfer rules on source 130 and target 160 may be deleted. According to an example, source 130 and target 160 may wait for a predetermined amount of time, for example, one minute, after the traffic transferred through source 130 decreases to zero before deleting the transfer rule. This waiting time can be adapted to variations in timing of updating the network device with the new address of the guest 110 on the target 160. According to another example, a feedback based mechanism is used. Specifically, the transfer is stopped only when it is clearly understood that all clients have been notified of the change for the target 160.

図2は、ソース130およびコントローラ180を含むシステム100の特定の構成要素を示すブロック図である。   FIG. 2 is a block diagram illustrating certain components of system 100 including source 130 and controller 180.

ソース130は、メモリ132と、メモリ132と通信する1つ以上のプロセッサ139とを含む。メモリ132は、プロセッサ139によってアクセス可能な情報を記憶する。その情報は、プロセッサ139によって実行可能な命令138を含む。メモリはさらに、データ134を含む。プロセッサは、これらのデータを検索、操作または記憶することができる。メモリは、プロセッサによってアクセス可能な情報を記憶することができる任意の種類のもの、例えばハードドライブ、メモリカード、ROM、RAM、DVD、CD−ROM、書き込み可能なメモリ、および読み出し専用メモリなどであってもよい。   Source 130 includes memory 132 and one or more processors 139 in communication with memory 132. Memory 132 stores information accessible by processor 139. The information includes instructions 138 executable by processor 139. The memory further includes data 134. The processor can retrieve, manipulate or store these data. The memory may be any type capable of storing information accessible by the processor, such as a hard drive, memory card, ROM, RAM, DVD, CD-ROM, writable memory, and read only memory. May be

プロセッサ139は、市販の中央処理装置(CPU)またはグラフィック処理装置(GPU)などの任意の従来のプロセッサであってもよい。代替的に、プロセッサは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のハードウェアに基づくプロセッサなどの専用部品であってもよい。別の例として、プロセッサ139は、量子コンピュータであってもよい。   Processor 139 may be any conventional processor, such as a commercially available central processing unit (CPU) or a graphics processing unit (GPU). Alternatively, the processor may be a dedicated part, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other hardware based processor. As another example, processor 139 may be a quantum computer.

メモリ132は、命令138に従ってプロセッサによって検索、操作または記憶され得るデータ134を含む。システムおよび方法は、具体的なデータ構造によって制限されない。例えば、データは、コンピュータレジスタに記憶されてもよく、複数の異なるフィールドおよびレコード、またはXML文書を有するテーブルとして、関係データベース内に記憶されてもよい。データは、バイナリ値、ASCIIまたはユニコードなどを含むがこれらに限定されないコンピュータ可読フォーマットにフォーマットされてもよい。さらに、データ134は、関連情報を識別するのに十分な数字、記述テキスト、専用コード、ポインタまたは他のメモリ(他のネットワーク場所を含む)に格納されたデータへの参照などの情報、または関連データを計算するために、関数に利用される情報を含むことができる。   Memory 132 includes data 134 that may be retrieved, manipulated or stored by the processor in accordance with instructions 138. Systems and methods are not limited by the specific data structures. For example, data may be stored in computer registers, and may be stored in a relational database as a table with a plurality of different fields and records, or XML documents. The data may be formatted into a computer readable format, including but not limited to, binary values, ASCII or Unicode. Further, data 134 may be information, such as a number sufficient to identify related information, descriptive text, a special purpose code, pointers or references to data stored in other memories (including other network locations), or related information It can contain information used by the function to calculate data.

命令138は、プロセッサ139によって直接に実行される任意の命令セット(例えば、機械コード)または間接に実行される任意の命令セット(例えば、スクリプト)であってもよい。よって、「命令」、「ステップ」および「プログラム」という用語は、本明細書において交換可能に使用されてもよい。これらの命令は、プロセッサによる直接処理のためにオブジェクトコード形式で格納されてもよく、または必要に応じて翻訳されまたは事前にコンパイルされるスクリプトまたは独立のソースコードモジュールの集合を含む他のコンピュータ言語で格納されてもよい。   The instructions 138 may be any set of instructions (eg, machine code) executed directly by the processor 139 or any set of instructions (eg, script) executed indirectly. Thus, the terms "instructions", "steps" and "programs" may be used interchangeably herein. These instructions may be stored in object code form for direct processing by a processor, or other computer language including a collection of scripts or independent source code modules which may be translated or precompiled as required May be stored.

命令138は、例えば、移行先からゲストの移行に関連する情報を受信するために、プロセッサによって実行されてもよい。いくつかの例において、ゲストは、情報の受信に応じて、行動を取ることができる。例えば、ゲスト110は、自身の正常性状態を「レイムダック」状態に変更することによって、自身の状態を更新することができる。「レイムダック」状態において、ゲストは、新しいタスクを受け入れず、保留中のタスクを完了することができる。命令138は、さらに、ネットワークデバイス120とターゲット160との間の双方向転送の処理を規定することができる。例えば、データ134は、移行する予定のネットワークデバイス120から受信され、移行ゲスト110に転送されるトラフィックを処理するための、およびターゲット160から受信され、ネットワークデバイス120に転送されるトラフィックを処理するための1つ以上の転送ルールを有するフローテーブルを含むことができる。命令138は、さらに、移行が完了した後、接続の取り消しを規定することができる。例えば、ソース130は、移行が完了した後、トラフィックが少なくなるまで、所定の時間で待機してから、フローテーブルから双方向転送ルールを削除することができる。別の例として、移行されたゲスト110と通信しているすべてのネットワークデバイスがターゲット160と通信するようにスイッチングされたことを確認してから、ソース130上に設けられた転送ルールは、取り消されてもよい。   Instructions 138 may be executed by the processor to receive, for example, information related to guest migration from the migration destination. In some instances, a guest can take action in response to receiving information. For example, the guest 110 can update its own state by changing its state of health to a "lame duck" state. In the "Rim Duck" state, the guest can complete the pending task without accepting the new task. The instructions 138 may further define the processing of bi-directional transfer between the network device 120 and the target 160. For example, data 134 may be received from the network device 120 to be migrated and for processing traffic forwarded to the migration guest 110, and for processing traffic received from the target 160 and forwarded to the network device 120. Can include a flow table having one or more forwarding rules. Instruction 138 may further specify cancellation of the connection after the transition is complete. For example, the source 130 may wait at a predetermined time until traffic is low after migration is complete, and then remove the bi-directional forwarding rule from the flow table. As another example, after verifying that all network devices communicating with the migrated guest 110 have been switched to communicate with the target 160, the forwarding rules provided on the source 130 are canceled May be

図2は、プロセッサ139およびメモリ132が同一のブロックにあることを機能的に示しているが、理解すべきことは、プロセッサおよびメモリは、実際に、同一の物理的なハウジングに格納されているまたは格納されていない複数のプロセッサおよびメモリを含むことができる。例えば、命令およびデータの一部は、取り外し可能なCD−ROMに格納され、他の部分は、読み取り専用のコンピュータチップに格納されてもよい。命令およびデータの一部または全部は、プロセッサ139から物理的に離れており、プロセッサ139によってアクセス可能な場所に格納されてもよい。同様に、プロセッサ139は、実際に、並列に動作するまたは動作しないプロセッサの集合体を含むことができる。いくつかの例において、メモリ132および/または1つ以上のプロセッサ139は、ハイパーバイザの一部であってもよい。   Although FIG. 2 functionally illustrates that processor 139 and memory 132 are in the same block, it should be understood that processor and memory are actually stored in the same physical housing Or multiple processors and memories not stored may be included. For example, some of the instructions and data may be stored on a removable CD-ROM, and others may be stored on a read-only computer chip. Some or all of the instructions and data may be physically separated from processor 139 and stored at a location accessible by processor 139. Similarly, processor 139 may actually include a collection of processors that operate or do not operate in parallel. In some examples, memory 132 and / or one or more processors 139 may be part of a hypervisor.

ソース130と同様に、コントローラ180は、メモリ182と、1つ以上のプロセッサ189とを含む。1つ以上のプロセッサ189は、ソースのプロセッサ139に関連して上述した形態のいずれかをとることもできる。メモリ182は、データ184と、命令188とを含む。メモリ182は、任意の種類であってもよく、ソースのメモリ132に関連して上述した機能のいずれかを含むことができる。命令188は、ライブ移行の完了の検出、およびターゲットホスト上のゲストのアドレスの更新を規定する。ライブ移行の完了の検出は、例えば、ソース130およびターゲット160の一方から、移行が完了したことを示す通知を受信することを含むことができる。アドレスの更新は、移行を準備するためにターゲットおよびソースをプログラミングし、ソースおよびターゲットを認識するように残りのネットワークをプログラミングすることを含むことができる。命令188は、ネットワークデバイス120などの他のネットワークデバイスに、ライブ移行が完了したことを通知することを規定することができる。通知には、ターゲット上のゲストの更新されたアドレスをネットワーク装置に提供することを含むことができる。   Similar to source 130, controller 180 includes memory 182 and one or more processors 189. The one or more processors 189 may take any of the forms described above in connection with the source processor 139. Memory 182 includes data 184 and instructions 188. Memory 182 may be of any type and may include any of the functions described above in connection with source memory 132. Instruction 188 specifies detection of live migration completion and updating of the guest's address on the target host. Detecting the completion of live migration may include, for example, receiving a notification from one of source 130 and target 160 indicating that migration is complete. Updating the address can include programming the targets and sources to prepare for the transition, and programming the remaining networks to recognize the sources and targets. The instructions 188 may provide for notifying other network devices, such as the network device 120, that live migration is complete. The notification can include providing the network device with the updated address of the guest on the target.

図3は、別の例示的なシステム300を示している。図1のシステム100と同様に、システム300は、複数の接続されたネットワーク要素、例えば、ソース330、ターゲット360およびコントローラ380を含むことができる。ソース330、ターゲット360およびコントローラ380は、図1〜2に関連して上述したソース130、ターゲット160およびコントローラ180と同様であってもよい。   FIG. 3 shows another exemplary system 300. Similar to system 100 of FIG. 1, system 300 can include multiple connected network elements, eg, source 330, target 360 and controller 380. Source 330, target 360 and controller 380 may be similar to source 130, target 160 and controller 180 described above in connection with FIGS.

システム300は、「他の」ゲスト325をさらに含むことができる。「他の」ゲスト325は、「他の」ホスト320に存在しており、ソース330、ターゲット360およびコントローラ380に通信可能に接続される。上述のように、他のホスト320は、ソース330およびターゲット360と共に、三者間ルーティングを行うことができる。この三者間ルーティングは、例えば、上記の図1に記載の双方向転送に代えてまたはそれに加えて、行うことができる。ソースホストおよびターゲットホストと同様に、他のホストは、任意の種類の仮想化または非仮想化ネットワークデバイスであってもよい。1つの他のホストおよび1つの他のゲストのみが示されているが、複数の他のホストおよび複数のゲストを実装することもできる。   System 300 may further include “other” guests 325. The “other” guest 325 resides on the “other” host 320 and is communicatively connected to the source 330, the target 360 and the controller 380. As mentioned above, other hosts 320 may perform three-way routing with source 330 and target 360. This three-way routing can be performed, for example, instead of or in addition to the bidirectional transfer described in FIG. 1 above. Like the source and target hosts, other hosts may be any type of virtualized or non-virtualized network device. Although only one other host and one other guest are shown, multiple other hosts and multiple guests can also be implemented.

この例において、ターゲットホスト360は、ネットワーク更新を申し込むために、例えば図示の通信342を介してコントローラ380と通信する。コントローラは、ルックアップ要求344に応じて、図示の通信346で示されたトークンを他のホスト320に提供する。このトークンは、ターゲットホスト360上のゲスト310と直接通信するために利用されてもよい。   In this example, the target host 360 communicates with the controller 380, for example via the illustrated communication 342, to apply for a network update. The controller provides the other host 320 with the token indicated in the illustrated communication 346 in response to the lookup request 344. This token may be utilized to communicate directly with the guest 310 on the target host 360.

図3の例は、ルックアップ要求344を発行することを示しているが、他の例において、転送を行う前に、ターゲットホスト360上の移行ゲスト310と通信するためのフローを他のホストにプッシュすることができる。例えば、ブラウンアウトおよび/またはブラックアウト中に、フローを他のホストにプッシュすることができる。   Although the example of FIG. 3 illustrates issuing a lookup request 344, in another example, the flow for communicating with the migration guest 310 on the target host 360 is made to another host before performing transfer. You can push it. For example, flows can be pushed to other hosts during brown out and / or black out.

他のゲスト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と直接通信するように自動的に切り替えることができる。   The other guest 325 sends traffic 352 to the source host 330, and the sent traffic is forwarded to the target host 360 as indicated by communication 354. Source host 330 continues to forward traffic 354 until another guest 325 receives an incoming packet (shown at 356) from target host 360. When the other guest 325 receives the packet 356 from the guest 310 on the target host 360, it initiates direct communication with the guest 310 on the target 360, as represented by communication 358. For example, the other host 320 uses the token received from the controller 380 to authenticate and designate the delivery path from the other guest 325 to the guest 310 on the target host 360. This allows other guests 325 to "learn" the new location of guest 310 and automatically communicate directly with guest 310 on target 360 after receiving the first incoming packet from guest 310 on target 360. Can be switched.

図4は、他のゲスト320を示す例示的なブロック図である。上述したように、他のゲスト325は、仮想マシンであってもよく、任意の仮想化ネットワーク要素であってもよい。他のゲスト320は、ネットワーク内の任意のホスト装置に存在するハイパーバイザ上で動作することができる。   FIG. 4 is an exemplary block diagram illustrating another guest 320. As mentioned above, the other guest 325 may be a virtual machine or any virtualized network element. Other guests 320 can operate on a hypervisor residing on any host device in the network.

他のゲスト325は、データ424および命令428を含むメモリ422と、1つ以上のプロセッサ429とを含む。これらの構成要素は、図2に関連して上述したメモリおよびプロセッサと同様であってもよい。命令428は、ターゲットホスト上のゲストと通信するためのトークンの受信と、ソースホスト上のゲストにトラフィックの送信、およびターゲットホスト上のゲストからの入来パケットの検出を規定することができる。入来パケットが検出されると、命令428は、受信したトークンを用いて、送出パスを認証および指定し、指定された送出パスに沿ってパケットをターゲットホスト上のゲストに直接に送信することをさらに規定することができる。   Other guests 325 include memory 422, which includes data 424 and instructions 428, and one or more processors 429. These components may be similar to the memory and processor described above in connection with FIG. Instructions 428 may specify the receipt of a token to communicate with the guest on the target host, the sending of traffic to the guest on the source host, and the detection of incoming packets from the guest on the target host. When an incoming packet is detected, instruction 428 uses the received token to authenticate and designate an outgoing path, and sends the packet directly to the guest on the target host along the specified outgoing path. It can be further defined.

例示的な方法
図5は、仮想化ネットワークスタックをソースからターゲットにライブ移行するための方法500を示す例示的なフロー図を提供する。理解すべきことは、以下の方法に含まれる操作は、記載された順序で正確に行う必要がないことである。むしろ、さまざまな動作を異なる順序でまたは同時に処理してもよく、動作を追加または省略してもよい。
Exemplary Method FIG. 5 provides an exemplary flow diagram illustrating a method 500 for live transitioning a virtualization network stack from a source to a target. It should be understood that the operations involved in the following method do not have to be performed exactly in the order described. Rather, the various operations may be processed in different orders or simultaneously, and operations may be added or omitted.

ブロック510において、ターゲットは、移行に関する情報をソースに送信する。例えば、ターゲットホスト上で仮想マシンマネージャ(VMM)を起動して、ライブ移行を開始することができる。ターゲットVMMは、移行を開始するために、ソースVMMと通信することができる。他の例によれば、通信は、ターゲットホストによって開始されてもよく、および/またはソースホストまたはソースゲストに向けられてもよい。さらなる例は、ソースがターゲットと通信すること、第三者のデバイスがソースおよびターゲットの両方に通信すること、または移行を開始するための他の任意のメカニズムを含む。   At block 510, the target sends information about the migration to the source. For example, a virtual machine manager (VMM) can be launched on the target host to initiate live migration. The target VMM can communicate with the source VMM to initiate the migration. According to another example, communication may be initiated by the target host and / or directed to the source host or source guest. Further examples include the source communicating with the target, a third party device communicating with both the source and target, or any other mechanism for initiating a transition.

ブロック520において、ソースは、ターゲットから情報を受信する。例えば、ソースホスト、ソースVMMおよび/またはソースゲストは、情報を受信することができる。いくつかの例において、この情報は、移行される予定のゲストへの通知として機能してもよい。   At block 520, the source receives information from the target. For example, the source host, source VMM and / or source guest can receive the information. In some instances, this information may serve as a notification to the guests to be migrated.

いくつかの例において、ソースホスト上のゲストは、間近に迫っている移行の通知を受けたことに応じて、行動を取ることができる。そのような行動の1つは、レイムダックモードに移行することなど、自身の正常性状態を変更することである。   In some instances, the guest on the source host can take action in response to being notified of an impending transition. One such action is to change one's normality state, such as transitioning to lame duck mode.

ブロック540において、ソースは、別のゲスト、別のホストまたは他のデバイスなどの仮想化または非仮想化ネットワークデバイスから受信したトラフィックをターゲットに転送する。例えば、ネットワークコントローラは、トラフィックを転送するために、ソース上のフローテーブルに転送ルールをインストールすることができる。同様に、ターゲットは、転送されたトラフィックを受信し、ネットワークデバイスに指定された送出トラフィックをソースに転送することができる(ブロック550)。このように、ソースは、ターゲットから転送されたトラフィックを受信し、受信したトラフィックをネットワークデバイスに提供することができる。   At block 540, the source forwards traffic received from a virtualized or non-virtualized network device, such as another guest, another host or other device, to the target. For example, the network controller can install forwarding rules in the flow table on the source to forward traffic. Similarly, the target may receive forwarded traffic and forward outgoing traffic designated to the network device to the source (block 550). In this way, the source can receive traffic forwarded from the target and provide the received traffic to the network device.

ブロック560において、移行が完了したか否かを判定することができる。例えば、ソースからターゲットへのゲストの移しが完了したときに、またはネットワークデバイスがターゲットホスト上のゲストと通信するように更新されたときに、移行が完了したとみなされる。一例によれば、ソースホストは、ゲストがターゲットホストに移行されたことを検出することができる。別の例として、ソースは、例えばネットワークコントローラから、移行完了の通知を受けてもよい。移行がまだ完了していない場合、ソースは、ネットワークデバイスとターゲット間の転送を引き続き行う。   At block 560, it may be determined whether the migration is complete. For example, the migration is considered complete when the migration of the guest from the source to the target is complete, or when the network device is updated to communicate with the guest on the target host. According to one example, the source host can detect that the guest has been migrated to the target host. As another example, the source may be notified of the completion of the transition, for example from the network controller. If migration is not yet complete, the source will continue to transfer between the network device and the target.

ブロック560において、移行が完了したと判定された場合、ブロック550における処理は、ターゲットホスト上で再開され、ターゲットホスト上のゲストは、ネットワークデバイスからパケットを直接に受信する。例えば、コントローラは、ターゲットホスト上のゲストの更新されたアドレスをネットワークデバイスに提供することによって、直接通信を可能にすることができる。   If at block 560 it is determined that the migration is complete, then the processing at block 550 is resumed on the target host, and the guest on the target host receives the packet directly from the network device. For example, the controller can enable direct communication by providing the network device with the updated address of the guest on the target host.

図6は、「他の」ゲストによって促進された仮想化ネットワークスタックをライブ移行するための方法600を示す別の例示的なフロー図を提供する。図5の方法500と同様に、方法600に含まれる動作を異なる順序でまたは同時に処理してもよく、動作を追加または省略してもよい。   FIG. 6 provides another exemplary flow diagram illustrating a method 600 for live migrating a virtualized network stack promoted by "other" guests. Similar to method 500 of FIG. 5, the operations included in method 600 may be processed in a different order or simultaneously, and operations may be added or omitted.

ブロック610において、他のゲストは、ターゲットホスト上の移行ゲストと通信するためのトークンを受信する。トークンは、例えばルックアップ要求に応じて、ネットワークコントローラから受けられてもよい。トークンは、ターゲットへの送出パスを認証および指定することができる。例えば、トークンを用いて、ターゲットから直接に受信したパケットを認証することができ、ターゲットに直接に送出されるパケットを認証することができ、およびターゲットから他のゲストへの入来パス上のパケットを認証することができる。   At block 610, the other guest receives a token to communicate with the transitioning guest on the target host. The token may be received from the network controller, eg, in response to a lookup request. The token can authenticate and specify the delivery path to the target. For example, tokens can be used to authenticate packets received directly from the target, packets sent directly to the target can be authenticated, and packets on the inbound path from the target to other guests Can be certified.

ブロック620において、他のゲストは、ネットワークトラフィックをソースホスト上の移行ゲストに送信する。そのトラフィックは、ソースで受信され(ブロック630)、ターゲットに転送される(ブロック640)。   At block 620, the other guest sends network traffic to the migrating guest on the source host. The traffic is received at the source (block 630) and forwarded to the target (block 640).

ブロック650において、ターゲットは、ソースから転送されたトラフィックを受信すると共に、他のゲストに指定された送出トラフィックをソースに転送する。   At block 650, the target receives traffic forwarded from the source and forwards outgoing traffic designated for other guests to the source.

ブロック660において、他のゲストは、ターゲットホスト上の移行ゲストから入来パケットを受信したか否かを判定する。受信していない場合、ソースおよびターゲットは、他のゲストとの間のトラフィックを転送し続ける。しかしながら、他のゲストがターゲットから入来パケットを受信すると、他のゲストにとって、移行が完了したことに関する知らせである可能性がある。   At block 660, the other guest determines whether it has received an incoming packet from the migrating guest on the target host. If not, the source and target continue to forward traffic with other guests. However, when another guest receives an incoming packet from the target, it may be an indication to other guests about the completion of the migration.

したがって、ブロック670において、他のゲストは、ターゲット上の移行ゲストにパケットを直接に送信する。例えば、他のゲストは、ネットワークコントローラから受信したトークンを用いて、通信用の送出パスを認証および指定する。   Thus, at block 670, the other guest sends the packet directly to the migrating guest on the target. For example, other guests use tokens received from the network controller to authenticate and specify the delivery path for communication.

方法600は、よりシームレスな移行を提供することができる。これにより、移行が完了した後、他のゲストがターゲット上のゲストにパケットを送信し始めることができる。例えば、他のゲストは、ターゲットへの送出パスを設定するためのトークンをコントローラから既に受信しているため、移行が完了した後、コントローラからの更新を待つ必要がない。   Method 600 can provide a more seamless transition. This allows other guests to start sending packets to guests on the target after the migration is complete. For example, other guests have already received tokens from the controller to set the delivery path to the target, and therefore do not have to wait for updates from the controller after the migration is complete.

前述の技術は、ゲストに与える影響を最小限にして、ゲスト仮想マシンの活動しているプロセスをソースホストからターゲットホストに移動することができるため、さらに有利である。ゲストプロセスは、遅延または中止されなくてもよく、最小限に遅延または中止されてもよい。さらに、移行ゲストを間近に迫っているライブ移行に公開し、移行ゲストがそれに応じて行動を取るようにすることも有利である。例えば、移行ゲストをレイムダックモードにすると、負荷分散操作に与える影響が最小限に抑えられ、アプリケーションの継続的な実行が可能である。このことは、ブラックアウト遅延に敏感なアプリケーションにとって特に有利である。   The aforementioned techniques are further advantageous because the active process of the guest virtual machine can be moved from the source host to the target host with minimal impact on the guest. The guest process may not be delayed or aborted, and may be delayed or aborted minimally. Furthermore, it would be advantageous to expose the transitioning guest to the impending live transition so that the transitioning guest can act accordingly. For example, placing the migration guest in lame duck mode minimizes the impact on load balancing operations and allows for continuous execution of the application. This is particularly advantageous for blackout delay sensitive applications.

特許請求の範囲によって規定された主題から逸脱することなく、上述した特徴のこれらのおよび他の変形および組み合わせを利用することができるため、例示的な態様の前述の説明は、特許請求の範囲によって規定された主題を限定するものではなく、特許請求の範囲によって規定された主題を例示するものであると理解すべきである。また、理解すべきことは、本明細書に記載された例示(および「〜のような」、「例えば」および「含む」などの表現)は、特許請求された主題を特定の実施例に限定するものとして解釈すべきではなく、これらの例示は、多くの可能な態様のうち一部のみを説明することを意図している。   Because these and other variations and combinations of the features described above can be utilized without departing from the subject matter defined by the claims, the foregoing description of the illustrative embodiments is directed to the claims. It is to be understood that the subject matter defined is not intended to be limiting, but rather to exemplify the subject matter defined by the claims. Also, it should be understood that the illustrations (and expressions such as "such as", "for example" and "including") described herein limit the claimed subject matter to the specific embodiments. They should not be construed as, and these illustrations are intended to illustrate only some of the many possible aspects.

Claims (14)

仮想化ネットワークデバイスによるライブ移行を容易にするための方法であって、
前記仮想化ネットワークデバイスによってパケットをソースホスト上の移行ゲストに送信し、前記ソースホストによって前記パケットをターゲットホストに転送するステップと、
前記移行を開始する前に、前記移行を前記移行ゲストに通知するステップと、
前記通知に応じて、前記移行ゲストの状態を変更するステップと、
前記ソースホストを介して、前記ターゲットホスト上の前記移行ゲストからパケットを受信するステップと、
前記仮想化ネットワークデバイスによって、前記ソースホストから前記ターゲットホストへの前記移行ゲストの移行が完了したか否かを判定するステップと、
前記移行が完了したと判定された場合、前記仮想化ネットワークデバイスからのパケットを前記ターゲットホスト上の前記移行ゲストに直接に送信するステップとを含み、
前記移行ゲストの移行が完了したか否かを判定するステップは、
前記仮想化ネットワークデバイスにおいて、前記ターゲットホスト上の前記移行ゲストから1つ以上のパケットを直接に受信するステップと、
前記受信した1つ以上のパケットに基づいて、移行が完了したことを確認するステップとを含む、方法。
A method for facilitating live migration with a virtualized network device, comprising:
Sending a packet by the virtualized network device to a migrating guest on a source host, and forwarding the packet to a target host by the source host;
Informing the transition guest of the transition before starting the transition;
Changing the status of the migration guest in response to the notification;
Receiving packets from the migrating guest on the target host via the source host;
Determining whether migration of the migration guest from the source host to the target host has been completed by the virtualization network device;
Sending the packet from the virtualization network device directly to the migration guest on the target host if it is determined that the migration is complete,
In the step of determining whether migration of the migration guest is completed,
Receiving one or more packets directly from the migrating guest on the target host at the virtualized network device;
Verifying based on the one or more received packets that migration has been completed.
前記仮想化ネットワークデバイスで、ネットワークコントローラからトークンを受信するステップをさらに含み、
前記パケットを前記ターゲットホスト上の前記移行ゲストに直接に送信するステップは、前記受信したトークンを用いて、送出パスを認証および指定するステップを含む、請求項1に記載の方法。
Further comprising receiving a token from a network controller at the virtualization network device,
The method according to claim 1, wherein sending the packet directly to the transitioning guest on the target host comprises authenticating and designating a delivery path using the received token.
前記仮想化ネットワークデバイスからのルックアップ要求を前記ネットワークコントローラに送信するステップをさらに含み、
前記トークンは、前記ルックアップ要求に応じて、前記仮想化ネットワークデバイスで受信される、請求項2に記載の方法。
Further comprising transmitting a lookup request from the virtualization network device to the network controller,
The method of claim 2, wherein the token is received at the virtualization network device in response to the lookup request.
ネットワークにおけるライブ移行のためのシステムであって、
ソースホストと、
前記ソースホスト上で動作する移行ゲストと、
前記ソースホストと通信するターゲットホストと、
前記ソースホスト上の前記移行ゲストと通信する他の仮想化ネットワークデバイスとを備え、
前記ソースホストは、前記他の仮想化ネットワークデバイスから受信したトラフィックを前記ターゲットホストに転送し、前記ターゲットホストから受信したトラフィックを前記他の仮想化ネットワークデバイスに転送するように構成され、
前記移行ゲストは、前記移行を開始する前に、前記移行の通知を受け、
前記移行ゲストは、前記通知に応じて、その状態を変更するように構成され、
前記ターゲットホストは、前記移行ゲストの移行が完了した時に、パケットを前記他の仮想化ネットワークデバイスに直接に送信するように構成され、
前記他の仮想化ネットワークデバイスは、前記ターゲットホストからパケットを直接に受信した時間を判定し、それに応じて、パケットを前記ターゲットホスト上の前記移行ゲストに直接に送信するように構成される、システム。
A system for live migration in a network,
Source host,
A migration guest running on the source host;
A target host in communication with the source host;
And other virtualized network devices in communication with the migration guest on the source host;
The source host is configured to forward traffic received from the other virtualization network device to the target host and forward traffic received from the target host to the other virtualization network device.
The migration guest is notified of the migration before starting the migration;
The migrating guest is configured to change its state in response to the notification;
The target host is configured to send packets directly to the other virtualization network device when the migration guest migration is complete,
The other virtualization network device is configured to determine a time of receiving a packet directly from the target host and, in response, to send a packet directly to the migrating guest on the target host .
ネットワークコントローラをさらに備え、
前記ネットワークコントローラは、前記ターゲットホスト上の前記移行ゲストと直接通信するために、前記他の仮想化ネットワークデバイスにトークンを提供するように構成される、請求項に記載のシステム。
Further equipped with a network controller,
5. The system of claim 4 , wherein the network controller is configured to provide a token to the other virtualized network device for direct communication with the transitioning guest on the target host.
前記トークンは、前記他の仮想化ネットワークデバイスからの送出パスを認証および指定するために使用される、請求項に記載のシステム。 6. The system of claim 5 , wherein the token is used to authenticate and designate a delivery path from the other virtualization network device. 前記移行ゲストは、既存の接続をキープし、将来の処理要求を拒否するモードに移行する、請求項に記載のシステム。 The system according to claim 4 , wherein the migration guest transitions to a mode to keep existing connections and to reject future processing requests. 前記移行ゲストは、別のシステムと通信し、
前記通信によって、前記別のシステムは、前記移行の間に、将来の処理要求を前記ネットワーク上の他のリソースに導く、請求項に記載のシステム。
The migration guest communicates with another system,
5. The system of claim 4 , wherein the communication directs the further system to future processing requests to other resources on the network during the transition.
前記ソースホストは、前記移行が完了した後、前記他の仮想化ネットワークデバイスから受信したトラフィックを前記ターゲットホストに転送するためのルール、または前記ターゲットホストから受信したトラフィックを前記他の仮想化ネットワークデバイスに転送するためのルールを転送テーブルから削除するように構成される、請求項4〜8のいずれか1項に記載のシステム。 The source host is a rule for forwarding traffic received from the other virtualized network device to the target host after the migration is completed, or the other virtualized network device receives traffic received from the target host The system according to any one of claims 4 to 8 , configured to delete rules for forwarding to the forwarding table. 前記ソースホストは、前記移行が完了した後、前記転送テーブルから前記ルールを削除する前に所定の時間で待機する、請求項に記載のシステム。 10. The system of claim 9 , wherein the source host waits for a predetermined time before deleting the rule from the forwarding table after the migration is complete. 前記ソースホストおよび前記ターゲットホストの少なくとも一方は、前記移行のためのネットワーク再プログラミングが完了した通知を受信し、
トラフィックを転送するための前記ルールは、前記通知に応じて削除される、請求項に記載のシステム。
At least one of the source host and the target host receives a notification that network reprogramming for the migration is complete,
The system of claim 9 , wherein the rules for forwarding traffic are deleted in response to the notification.
ライブ移行がソースホスト上の移行ゲストに通知された後に、前記ソースホスト上の前記移行ゲストによって前記移行ゲストをソースホストからターゲットホストに移行する指示を受信するステップと、
前記指示の受信に応じて、所定の行動を取るステップと、
前記移行ゲストを前記ソースホストから前記ターゲットホストにコピーするステップと、
他のネットワークデバイスから前記ソースホスト上の前記移行ゲストのために受信したトラフィックを前記ターゲットホストに転送するステップと、
前記ターゲットホストから前記移行ゲストのために受信したトラフィックを前記他のネットワークデバイスに転送するステップとを含み、
前記所定の行動を取るステップは、前記移行ゲストの状態を変更するステップを含み、
前記状態を変更するステップは、新しいタスクを受け入れることなく既存のタスクを完了するモードに、前記移行ゲストを移行するステップを含む、方法。
After the live migration is notified to migrate the guest on the source host, the method comprising: receiving an instruction to shift to the target host the migrated guest from the source host by the transition guest on the source host,
Taking a predetermined action in response to receiving the instruction;
Copying the migration guest from the source host to the target host;
Forwarding traffic received from another network device for said migrating guest on said source host to said target host;
Forwarding traffic received from the target host for the migrating guest to the other network device.
The step of taking the predetermined action includes the step of changing the state of the transition guest.
The step of changing the state includes transitioning the transition guest to a mode of completing an existing task without accepting a new task.
前記移行ゲストを前記モードに移行するステップは、
前記移行中に別のタスクがサービス要求を提供することを可能にするステップ、または、
負荷分散プールから前記移行ゲストを削除するステップ、
をさらに含む、請求項12に記載の方法。
The step of transitioning the transition guest to the mode includes
Allowing another task to provide a service request during said transition, or
Removing the migration guest from the load balancing pool,
The method of claim 12 , further comprising:
請求項1〜12または13のいずれかに記載の方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the method according to any one of claims 1 to 3 , 12 or 13 .
JP2016567394A 2014-06-20 2015-06-18 System and method for live migration of a virtualization network stack Active JP6534399B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/310,492 US10013276B2 (en) 2014-06-20 2014-06-20 System and method for live migration of a virtualized networking stack
US14/310,492 2014-06-20
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 (en) 2017-07-06
JP6534399B2 true JP6534399B2 (en) 2019-06-26

Family

ID=54869711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016567394A Active JP6534399B2 (en) 2014-06-20 2015-06-18 System and method for live migration of a virtualization network stack

Country Status (7)

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

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
US9774537B2 (en) 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US10129077B2 (en) 2014-09-30 2018-11-13 Nicira, Inc. Configuring and operating a XaaS model in a datacenter
US9935827B2 (en) 2014-09-30 2018-04-03 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
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
US11070629B2 (en) * 2017-08-30 2021-07-20 Red Hat Israel, Ltd Migration notification and response messages for virtual machines
US10628198B2 (en) 2017-08-30 2020-04-21 Red Hat Israel Ltd. Hypervisor management of 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
US11604666B2 (en) 2019-02-22 2023-03-14 Vmware, Inc. Service path generation in load balanced manner
CN112306650B (en) * 2019-07-31 2024-03-26 华为技术有限公司 Virtual machine thermomigration method and communication equipment
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
US11277331B2 (en) 2020-04-06 2022-03-15 Vmware, Inc. Updating connection-tracking records at a network edge using flow programming
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 (en) * 2020-11-26 2022-07-12 新华三技术有限公司 Method and equipment for establishing path detection session
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 (en) * 2021-02-10 2023-04-07 北京字节跳动网络技术有限公司 Forwarding control method, forwarding control device, forwarding control medium and electronic equipment of data message

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 (en) 2009-01-06 2012-03-21 北京航空航天大学 Redirection method for virtual machine network connection when on-line migrating striding sub network
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 (en) 2011-02-17 2014-05-07 日本電信電話株式会社 Control device, control system, control method, and control program
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
US9054917B2 (en) 2012-03-08 2015-06-09 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
US8847979B2 (en) 2012-06-08 2014-09-30 Samuel G. Smith Peek mode and graphical user interface (GUI) experience
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 (en) 2012-09-17 2016-08-24 华为技术有限公司 Virtual machine internal fault handling method, Apparatus and system
JP2014067322A (en) 2012-09-27 2014-04-17 Hitachi Ltd Load distribution system of virtual server, and load distribution method
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 (en) * 2013-03-19 2017-01-11 富士通株式会社 Apparatus, method, and program for detecting end of movement of virtual machine
CN104079507B (en) * 2013-03-27 2019-04-09 联想企业解决方案(新加坡)私人有限公司 The method and apparatus of synchronous IP information

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6534399B2 (en) System and method for live migration of a virtualization network stack
US9880870B1 (en) Live migration of virtual machines using packet duplication
EP2907291B1 (en) Virtual firewall mobility
US10419267B2 (en) Network control software notification with advance learning
JP2019523949A (en) Architecture that dynamically scales network security microservices based on load
US11474880B2 (en) Network state synchronization for workload migrations in edge devices
US10447535B2 (en) Consistent processing of transport node network data in a physical sharding architecture
US10158705B2 (en) Migration of hosts
US8923114B2 (en) Start-up delay for event-driven virtual link aggregation
US8640127B2 (en) Relocating guest machine using proxy tool having multiple virtual machines where one virtual machines provides host route for relocation
JP2012243298A (en) Server i/o migration management method and device
US11288086B2 (en) Network system, management method and apparatus thereof, and server
CN103546556B (en) One kind online moving method of virtual machine in future network XIA
US11997170B2 (en) Automated migration of monolithic applications to container platforms
JP2018516001A (en) Communication apparatus, system, method, and program
JP6133804B2 (en) Network control device, communication system, network control method, and network control program
US20240129185A1 (en) Secure bi-directional network connectivity system between private networks
US20230315505A1 (en) System and method for deploying a software-defined data center based on desired state specification from virtualization software
US20180109416A1 (en) Reducing data plane disruption in a virtual switch
US11595464B2 (en) Migration of network file copy operations between host computing devices
US20240007340A1 (en) Executing on-demand workloads initiated from cloud services in a software-defined data center
US20240211295A1 (en) Systems and methods for automated migration replication
US20240195681A1 (en) Secure bi-directional network connectivity system between private networks

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