Patent ID: 8924560
Filing Date: 2014-12-30
Classification: G06F,H04L

Abstract:
1. A system for migrating a virtual machine over a wide area network, comprising: a first server at a first hosting point, the first server comprising the virtual machine; a second server at a second hosting point, the second hosting point being in a different geographical location than the first hosting point, the first server and the second server comprising hardware processors, wherein the second hosting point is operatively connected to the first hosting point over the wide area network; wherein within the wide area network the first hosting point is operatively connected to the second hosting point by a virtual private local area network service; wherein the virtual machine runs an interactive online gaming software on the first server; wherein the virtual machine on the first server communicates packets to and from clients operatively connected to the virtual machine on the first server via an internet protocol address assigned to the virtual machine; wherein in response to instructions, the first server migrates the virtual machine to the second server on the second hosting point by incrementally coping files and state of the virtual machine to the second server without interrupting the interactive software running on the virtual machine; wherein the first server comprises application aware software that detects an end of a game stage in the interactive online gamming software running on the virtual machine when online players in a game return to initial positions after a level; wherein the first server starts migration of the virtual machine for the interactive online gamming software running on the virtual machine in response detecting the end of the game stage when players in the game return to initial positions after the level; wherein during a last round of migrating the virtual machine to the second server when the virtual machine temporarily stops operating, for packets intended for the virtual machine on the first server, the first server buffers the packets in a buffer as buffered packets, and instead of discarding the packets, the first server transmits the buffered packets to the second server at the second hosting point; wherein the second server sends the buffered packets to the virtual machine now migrated to and operating on the second server at the second hosting point, such that the buffered packets are played before current packets currently received from the clients are played; wherein the second server causes a second router, in front of the second server, to advertise a more specific internet protocol prefix via a border gateway protocol than a first router in front of the first server, the more specific internet protocol prefix encompasses the internet protocol address assigned to the virtual machine; wherein in response, the first server causes the first router in front of the first server to withdraw a less specific internet protocol prefix of the first router via the border gateway protocol; wherein the second server receives and distinguishes current packets received by the second server from the buffered packets received by the second server, in which the current packets are received from the clients and the buffered packets are received from the first server; wherein in response to the last round of migrating the virtual machine to the second server, the first server marks the buffered packets which were originally intended for the virtual machine on the first server, such that the second server can identify a mark of the buffered packets when the second server receives the buffered packets; and wherein at an end of the buffered packets being transmitted to the second server, the first server sends an end of buffered packets message to the second server, such that the second server knows to start playing the current packets to the virtual machine on the second server upon receipt of the end of buffered packets message in place of playing the buffered packets having the mark.