CN106716353B - Virtual desktop migrates - Google Patents

Virtual desktop migrates Download PDF

Info

Publication number
CN106716353B
CN106716353B CN201580051560.2A CN201580051560A CN106716353B CN 106716353 B CN106716353 B CN 106716353B CN 201580051560 A CN201580051560 A CN 201580051560A CN 106716353 B CN106716353 B CN 106716353B
Authority
CN
China
Prior art keywords
user
region
current
data center
cloud
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
CN201580051560.2A
Other languages
Chinese (zh)
Other versions
CN106716353A (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN106716353A publication Critical patent/CN106716353A/en
Application granted granted Critical
Publication of CN106716353B publication Critical patent/CN106716353B/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
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

It can be with it is determined that cloud desktop be migrated from current region.The destination region for moving to the cloud desktop can be identified.The book of the cloud desktop can be copied to the destination region from the current region.The book at the current region and the book at the destination region can be synchronously safeguarded in the reproduction process.When the duplication is completed, it can freeze and the associated active user's session of the cloud desktop at the current region, and the current storage of active user's session and processor state can be copied to the destination region, and the second cloud desktop example at the destination region can be started using the book and current storage and processor state of the duplication.It can be by active user's session connection to the second cloud desktop example.

Description

Virtual desktop migrates
Background technology
Cloud computing is used in the computing resource (hardware that can be used in remote location and pass through the network-accessible of such as internet And software).User can buy these computing resources (including storage and computing capability) as utility on demand.Cloud computing will Remote service is entrusted in data, software and the calculating of user.The use of virtual computing resource can provide a variety of advantages, including at This advantage and/or the computational resource requirements that can quickly adjust so that adaptation variation.
Virtual desktop environment can trustship or the trustship on the server positioned at tissue website on cloud.Desktop meter on cloud It calculates environment (hereinafter referred to as " cloud desktop ") and the virtual desktop environment run on server in cloud is provided, user can be from individual calculus Equipment is attached thereto.Organize website at desktop computing environment (hereinafter referred to as " preset virtual desktop ") provide tissue or with the group Knit associated user possess and/or the server runed on the virtual desktop environment that runs.Multiple virtual desktops provide constant Availability, wherein virtual desktop example always on one or more of cloud server operation or one or more organize It is run on server.But virtual desktop is very sensitive to network delay, because they must be by network from server (example Such as, service running in the cloud device) to the real-time user's interactive desktop session of user equipment steaming transfer.If cloud virtual session exists High latency, then user for example move mouse or attempt spread transfer audio when may experience time delay so that user experience It reduces.In addition, network delay increases such as the geographic distance between user equipment and virtual desktop environment.
Brief description
Fig. 1 is the computing system schematic diagram of cloud desktop environment.
Fig. 2 is the flow chart for the exemplary method for showing migration desktop.
Fig. 3 is the flow chart for another exemplary method for showing migration desktop.
Fig. 4 is another computing system schematic diagram of cloud desktop environment.
Fig. 5 is the flow chart for another exemplary method for showing migration desktop.
Fig. 6 is the example system schematic diagram for the multiple virtual machine instances for showing to run in multi-tenant environment.
Fig. 7 shows to include the further details with the example system of the associated multiple management assemblies of control plane.
Fig. 8 is shown as multiple main frames computer, router and the exchange of the hardware assets for running virtual machine instance The example of machine.
Fig. 9 is the schematic diagram for the cloud desktop environment that cloud desktop resource can be provided to a variety of user equipmenies.
The generality example of the suitable computing environment of described innovation wherein may be implemented in Figure 10 diagrams.
Specific implementation mode
It summarizes
It is described below be between multiple positions (for example, region) migrate virtual desktop (for example, cloud desktop and/ Or another type of virtual desktop) to improve technology and the solution of performance (for example, reduce network delay, increase bandwidth etc.) Scheme.For example, based on geographical location or network delay by the cloud desktop example of user from a zone migration to another region It is capable of providing more satisfactory user experience, because cloud desktop can become sensitiveer.As used herein, term " user equipment " is to refer to any kind of computing device of trustship cloud desktop session (for example, server computer, desk-top meter Calculation machine, laptop computer, tablet computer, mobile phone or another type of computing device).
Cloud desktop can be run on the server in cloud.For example, cloud desktop example can be run on cloud, medium cloud table Face session capture user interaction on a user device is simultaneously real in the desktop run at different location on cloud by these interactive applications In example.But this interaction may to network delay, bandwidth, shake (for example, variation in network packet round trip time) and/ Or other performance measurements are very sensitive.If there are high latency, users may experience user equipment and show for the session of cloud desktop Lag on device or zigzag movement.Network delay often increases with the geographic distance between server in user equipment and cloud Greatly.It, can be by the server component of cloud desktop from the zone migration to user equipment presentation high latency in order to reduce network delay To the region presented to user equipment compared with low latency.In any example below, term " data center " and " region " can be with It is used interchangeably.Data center can refer to the physical location of the server component of trustship cloud desktop.Each data center can be with In a region.But one-one relationship between data center and region not necessarily.For example, region can hold Set more than one data center.Geographic area can refer to the regional extent for including the distance for starting from user equipment.Geographic area Can also refer to wherein user may where and/or may the city at hosted data center, county, location name or any other refer to Generation.
In a particular embodiment, network delay that can be based on user calculating equipment to current region and user, which calculate, to be set Standby at least one of the geographical location relative to current region is come it is determined that cloud desktop is migrated from current region.The cloud table Face can calculate in the destination region of migration based on user calculating equipment to the network delay in the destination region and user At least one of the geographical location of equipment relative to the destination region identifies.The cloud table that can will be run at current region First example in face is closed, and can be by the book of the cloud desktop of the user data comprising the user-association with the cloud desktop Destination region is moved on to from current region.It is then possible to using by the cloud desktop at mobile data volume initialization destination region The second example.When receiving user's connection request, second of the cloud desktop at the region of destination can be directed the user to Example.
In another embodiment, a kind of computing environment can be provided for migrating cloud desktop between data center. The computing environment may include the control plane layer for the book and one or more data centers for tracking cloud desktop, include cloud desktop With the current data center, one or more candidate data centers and management assembly of book.The management assembly can be used for Based on user calculating equipment to the network delay at current data center and the user calculating equipment relative to current data center At least one of geographical location come it is determined that by cloud desktop from current data Center shift, and calculated and set based on user The geographical location of the network delay at destination data center and user calculating equipment relative to the destination data center to the utmost At least one of identify one in the candidate data center for migrating cloud desktop.Can by the book of cloud desktop from Current data center moves on to identified candidate data center.Then, when receiving user's connection request, user can be determined To the second example of the cloud desktop at the candidate data center identified.
In another embodiment, it may be determined that cloud desktop should be migrated from current region.It can identify cloud table The destination region that face moves to.The book of cloud desktop can be copied to destination region from current region, while synchronously Safeguard the book at current region and the book at the region of destination.When replicating completion, can freeze at current region Knot and the associated active user's session of the cloud desktop, and the current storage of active user's session and processor state are copied to Destination region.It is then possible to be started using the book and current storage and processor state at the region of destination Second cloud desktop example, and active user's session can be reconnected to the second cloud desktop example.
Thus, it is possible to cloud desktop be moved on to another region, to improve the performance of the cloud desktop.It is also acknowledged that can For the reason of improve other than cloud desktop performance and cloud desktop is moved on to another region.For example, disaster recovery can be used as Cloud desktop is moved on to another region by a part for process.If there is the outage (or in expected data of data center Heart outage), then it can in advance or reactively move cloud desktop.As a result, user without know their cloud desktop by It is moved in data center's outage.Unique situation of the situation and non-migrating cloud desktop that are mentioned above, and be also possible to There are other situations to migrate cloud desktop.For example, server maintenance may need to migrate cloud desktop.
Cloud desktop
Fig. 1 is the computing system schematic diagram of cloud desktop environment 100.User can be for example, by running on user equipment 140 Cloud desktop client start cloud desktop session using 142.Cloud desktop client can connect user equipment 140 using 142 It is connected to the cloud desktop example 112 run on the server 110 at a region.Cloud desktop client can emulate behaviour using 142 Make the appearance of system environments, so that it looks like user equipment 140 just in 140 local runtime cloud of user equipment for user Desktop example 112.User equipment 140 can also include health monitor 144.Health monitor 144 monitor user equipment 40 with Network connection between cloud desktop example 112.Although health monitor 144 is illustrated as separating using 142 with cloud desktop client , health monitor 144 can apply 142 part alternatively as cloud desktop client.Furthermore health monitor 144 It is shown on user equipment 140.But health monitor can be alternatively positioned in cloud desktop environment 100.But it is strong Health monitor server can reside in cloud desktop environment 100.Furthermore it is real that health monitor can reside in trustship cloud desktop One of server of example or it is multiple on.
In previous example, cloud desktop client application is described.But not necessarily to use cloud desktop client Using.In some embodiments, it can check that cloud desktop example, the browser show the content of cloud desktop in web browser.
Control plane 130 identifies the position in the region where cloud desktop example 112 is run.For example, cloud desktop client application 142 can be connected to cloud desktop through single access point (for example, connection manager (not shown)).Control plane 130 is directed toward server The cloud desktop example 112 run at 110.As a result, when user is connected to the cloud desktop, it is real that control plane 130 is directed toward the cloud desktop Region where example 112.Control plane 130 also contain the information in related other regions that can be attached as a result, if user more Change region (or if this change executes automatically), control plane 130 will be directed toward the cloud desktop example run at new region.Though Right Fig. 1 shows two regions, but the diagram is for illustrative purpose, and there is more multizone.Further more, diagram is every One, a region server, wherein there may be multiple servers in region.In addition, although control plane 130 is illustrated as and cloud table Face server is separated, but it can also be located on one or more servers.
On cloud desktop example server 110 in the zone in trust.Server 110 provides the reality of the cloud desktop of user Example.Server 110 receives from user equipment 140 and inputs and operated to cloud desktop example 112, thus by user equipment 140 On input be construed to the input to cloud desktop example 112.For example, if the cloud table run on user click user equipment 140 Icon in the session of face, the then corresponding application on server 110 will be performed in cloud desktop example 112.Cloud desktop example 112 May include being exemplified to provide a user to computing resource or calculate node, such as the virtual machine of the access right of virtual desktop.It is standby Selection of land can create cloud desktop example 112 without the use of virtual machine on server 110.
Cloud desktop example 112 may include desktop environment.Desktop environment may include any kind of expression virtual desktop Environment.For example, desktop environment may include the interface for being interacted with the file and/or application stored in cloud desktop.One In a little situations, desktop environment may include including or the quick side of the data of trustship and/or application for accessing another example Formula.Furthermore in some cases, desktop environment can be provided for accessing file other than desktop and application additionally or alternatively Interface.For example, desktop environment may include or can be file manager.In some cases, no matter underlying operating system and/ Or hardware, desktop environment can be with presentation specific appearance and feelings.For example, desktop environment can be configured to emulation Windows tables Face, Linux desktops or iOS desktops.In other cases, which can be one of virtual machine computing resource of user's selection Point.In such a case, desktop environment can be the desktop environment (example for the operating system selected for the virtual machine computing resource Such as, Windows, Linux etc.).
In previous example, the individual server 110 for running cloud desktop in this region is described.However, it is possible to recognize Know, multiple servers can be used to cloud desktop.For example, individual server can include the book of the desktop.
It, can be by the book of the cloud desktop of user from previous if user wants never its cloud desktop of same district domain browsing Region moves on to the server 120 at new region, and can start new cloud desktop example 122.
It determines its cloud desktop being moved to another region for example, user can be based on many factors.For example, if user A geographic area (that is, data center's trustship of the geographic area its cloud desktop example) is lived in, but it is different by being in For a period of time, then the user can determine its cloud desktop moving on to new geographic area for geographic area.The position can by for example with The IP address of family equipment determines.Alternatively, cloud desktop application can prompt user (for example, by health monitor 144 or net Network monitor) its network health difference or if its cloud desktop is moved to another region by user, its delay can be improved.This Prompt can occur in cloud desktop session start, occur in certain times of cloud desktop ession for telecommunication, (the example under user instruction Such as, user opens application to test its network speed) or the time occurs at regular intervals in cloud desktop conversation procedure.
In previous example, cloud desktop session is described.It should be understood that the session of cloud desktop can refer to wherein near The connection of one example is redirected to meeting of second example without disconnecting (for example, user logs on in individual session) with user Words.Cloud desktop session can also refer to wherein dismantle to the connection of the first example and start to the second foundation (example of the second example Such as, the instruction that its session is reconnecting can be provided user) session.Cloud desktop session is not limited to be described above, and And the company of the first example from from user equipment to a region and the second example at another region can be that by Any session connect.
Geographic area and delay
Data center is located in a geographic area.For example, single region (for example, Oregon, Portland) can be with trustship Data center (for example, Portland data center).Another region (for example, Florida, Miami) can be different with trustship Data center (for example, data center of Miami).The cloud desktop of user can be hosted in any one of these data centers. The user for being desirably connected to its cloud desktop (that is, cloud desktop example) can be accessed by its user equipment comprising its cloud desktop reality The data center of example.Including the data center of the cloud desktop example of user can be the data for the cloud desktop foundation for being initially user Center.But if user changes position (for example, user wishes to work from Miami), the primary data center of user can Can the cloud desktop session of geographically very remote (for example, cloud desktop is hosted in Portland data center) and/or user may There are high latencies.It may be expectation that cloud desktop, which is navigated to, as a result, and is closer to the data center of user.For example, can calculate User calculating equipment and can determine whether to move cloud table to the network delay of current region using delay threshold value Face.
Furthermore the reason of other than data center is relative to the distance of user equipment, delay may increase.Depending on use Family is being connected to the concrete mode of data center (passing through network), and delay may increase according to connection.For example, if user It attempts to connect to data center and network topology from user equipment to the data center is very long or advance in connection at a slow speed, then Delay will likely be high.The geographic distance reduced as a result, between user equipment and destination data center can improve network delay. But not such was the case with for situation.For example, if data center geographically close to user equipment, but from user equipment to The connection of the data center is slow, then user can be by being connected to geographically farther out but between data center and the user equipment Faster data center is connected to experience better performance.
In some embodiments, it can be not based on network delay, but destination region is selected based on other criterion.Example Such as, if there are regulations and regulation that related data store for a country, mesh can be selected based on these regulations and regulation Ground region.Furthermore if carrying cost is different between data center, user can select purpose based on billing structure Ground region.The selection of geographic area is not limited to above description, and can utilize any amount of because usually determining purpose area Domain.For example, if there is the history delayed data in a geographical location, then destination can be determined based on the history delayed data Region.
Migrate cloud desktop
Fig. 2 is to show migration virtual desktop (for example, cloud desktop or another type of virtual desktop, such as preset virtual table Face) exemplary method flow chart.At 210, the network delay based on user calculating equipment to current region and user's meter At least one of the geographical location of equipment relative to current region is calculated to migrate cloud desktop from current region to determine.Example Such as, user can receive instruction:Network health is poor (for example, high latency or connection reliability).Cloud desktop session as a result, can be with It is recommended that cloud desktop volume is moved on to different zones by user.It can prompt the user with and migrate their cloud desktop, and based on user's Selection can make the determination of migration cloud desktop.When the determination can be happened at the cloud desktop session start of user, user's request When or can be continuously monitored by the state of network.Further, it is also possible to prompt the cloud with the associated administrator mobile subscriber of cloud desktop Desktop (for example, if administrator receives the instruction that network delay is more than threshold value) and administrator can determine cloud desktop Move to different regions.
At 220, network delay and user calculating equipment based on user calculating equipment to destination region relative to At least one of the geographical location in the destination region identifies the destination region for moving to cloud desktop.It can be to user It provides geographically close to the list of the data center of the user.Alternatively, cloud desktop can execute ping to multiple data centers It (the Internet packets survey meter) and is signed using the time of the grouping received to determine destination region.It can be marked by user Know destination region or destination can be automatically determined.For example, once it is determined that cloud desktop should be migrated, then it can be with recognition purpose Ground region is without input from the user.There can be more than one candidate region.Based on such as user equipment to one or more Geographical location of the network delay and user calculating equipment of a candidate region relative to the one or more candidate region, can be with These candidate regions are assessed to determine destination region.
At 230, the instant example (that is, first example) of the cloud desktop run at current region is closed.Because moving Cloud desktop is rolled up, thus in order to ensure during migration the volume be not modified (that is, from user makes change to cloud desktop), can be with Cloud desktop session is suspended.For example, the session can show progress bar or certain other instruction:Cloud desktop is moving or currently It is unavailable.
At 240, the book of cloud desktop is moved on into destination region from current region.Book may include and the cloud The user data of the user-association of desktop, using data, application software, operating system software or by cloud desktop move on to purpose area Any aspect needed for domain.
At 250, start the new example of cloud desktop at the region of destination using mobile book (that is, second is real Example).Second example can according to operation system image, the cloud desktop example of user from current region, movement book And/or the second example for the cloud desktop any other software or setting re-create.
At 260, when receiving user's connection request, the cloud table that user's connection request is directed at the region of destination Second example in face.User can receive the instruction that its cloud desktop has moved or can move cloud desktop without notifying user. In addition, user without know cloud desktop have been moved to where.Indicate its cloud desktop by mobile for example, user can receive Instruction.
Fig. 3 is to show migration virtual desktop (for example, cloud desktop or another type of virtual desktop, such as preset virtual table Face) another exemplary method flow chart.At 310, based on user calculating equipment to the network delay at current data center And at least one of the geographical location of user calculating equipment relative to current data center is determined cloud desktop from working as Preceding data center's migration.It, or can be constantly when user asks when the determination can be happened at the cloud desktop session start of user Monitor the state of network.
At 320, the network delay based on user calculating equipment to destination data center and user calculating equipment phase At least one of geographical location for the destination data center is come will will be in candidate data center that cloud desktop moves to One be identified as destination data center.The row at the geographically candidate data center close to the user can be provided a user Table.Alternatively, cloud desktop can execute ping to multiple candidate data centers, and select user calculating equipment to destination data The network delay at center is less than the user calculating equipment to the data center of the delay at current data center.
At 330, the book of cloud desktop is moved on into destination data center from current data center.At 340, connecing When receiving user's connection request, user's connection request is directed to the example of the cloud desktop run at destination data center.It can Management assembly is used when either step in the step of execution is mentioned above.
Fig. 4 is the computing system schematic diagram of cloud desktop environment 400 and Fig. 5 is the exemplary method for showing migration desktop Flow chart.User can start cloud desktop meeting for example, by the cloud desktop client run on user equipment 440 using 442 Words.User equipment 440 can be connected to the cloud run on the server 410 at a region by cloud desktop client using 442 Desktop example 412.
At 510, determination will migrate cloud desktop from current region.The cloud desktop session that the determination can be happened at user is opened When the beginning, when user asks or the state of network can be continuously monitored by.The determination can be by the health monitoring on user equipment 440 Device 444 executes.Control plane 430 identifies the position in the region where cloud desktop example 412 is run.
At 520, the destination region for moving to cloud desktop is identified.It can provide a user geographically close to the user Data center list.Alternatively, cloud desktop can execute multiple data centers ping and using the grouping received Time sign and determine destination region.
At 530, the book of cloud desktop is copied into destination region from current region.Book may include and use Cloud desktop using data, application software, operating system software or is moved on to any aspect needed for the region of destination by user data. At 540, the cloud desktop at cloud desktop data volume and the destination region at current region is synchronously safeguarded in a replication process Book.For example, if causing book to be modified due to such as new document of user's preservation, it will to the change of the book It is replicated, so that it is guaranteed that the book at the book and destination region at current region appears to be identical.
At 550, when replicate complete when, freeze at current region the associated active user's session of cloud desktop (for example, Active user's session is locked or suspends until being reconnected to new example).Ensure that proparea can not possibly be being worked as in this way Any new change is carried out at domain, so that the book at current region becomes different from the book at the region of destination Step.Although active user's session is freezed in present exemplary description, active user's session is without having to be frozen.For example, can To record the change at current region and transfer upwards, it is until such as user is switched to the example run at the region of destination Only.
At 560, by current region current storage and processor state copy to destination region.At 570, Start second on the server 420 at the region of destination using the book of duplication and current storage and processor state Cloud desktop example 422.The cloud desktop example for enabling the second cloud desktop example 422 to seem and run at current region in this way 412 is substantially identical.For example, what is run at cloud desktop example 412 at current region before replicate data volume any answers With will be run on the second cloud desktop example 422.
At 580, active user's session is reconnected into the second cloud desktop example 422.Because of the cloud at current region The appearance of desktop example and the second cloud desktop example is identical (that is, desktop appearance is identical), so user even can be with Do not know that cloud desktop has been moved to destination region.
In above description, term " movement " and " duplication " are used interchangeably.Due to replicating and/or moving operation The reason of essence, it should be appreciated that copy can be retained on source device, until duplication/moving operation is completed.As ability Known in domain, data retention can be carried out in the case ofs disconnection, service disruption etc. in this way.
Therefore, because cloud desktop example geographically has lower prolong closer to customer equipment or for client device It is run at slow destination region, so user should experience better performance when using the cloud desktop.
Cloud computing environment
Fig. 6 be diagram can use embodiment described herein an environment network-based calculating service provider 600 computing system schematic diagram.As background, energy can will be calculated and store by calculating service provider 600 (that is, cloud provider) Power gives final receiver group as service offering.In the exemplary embodiments, it can be established for tissue to calculate service provider Or established for tissue.That is, calculating service provider 600 can provide " private cloud environment ".In another embodiment, it calculates Service provider 600 supports multi-tenant environment, plurality of client independently to operate (that is, public cloud environment).In general, it counts Service provider 600 is calculated to be capable of providing such as drag:Infrastructure i.e. service (" IaaS "), platform i.e. service (" PaaS ") and/ Or software services (" SaaS ").Other models can be provided.For IaaS models, calculating service provider 600 can will count Calculation machine is provided as physical machine or virtual machine and other resources.Virtual machine can be managed program as visitor to transport Row, as hereafter to this further description.The delivery of PaaS models may include operating system, programming language performing environment, number According to the computing platform in library and web server.Application developers can be developed on the calculating service provider platform and run it Cost of the software solution without buying and managing bottom hardware and software.SaaS models allow calculating service provider Middle installation and operation and application software.In some embodiments, end user uses operation web browser or other lightweight clients The client device of the networking of application, such as desktop computer, laptop computer, tablet computer, smart phone is held to access Calculate service provider 600.Those skilled in the art will appreciate that " cloud " ring can be described as by calculating service provider 600 Border.
The specific calculating service provider 600 of diagram includes multiple server computer 602A-602D.Though it is shown that only Four server computers, but any quantity can be used, and big center may include thousands of server computers.Clothes Business device computer 602A-602D can provide the computing resource for executing software instances 606A-606D.In one embodiment In, example 606A-606D is virtual machine.As is known in the art, virtual machine is that application is executed as physical machine The example of the software realization of machine (that is, computer).In the example of virtual machine, each in server 602A-602D can be with It is configured to executive supervisor 608 or executes other for being configured to realize that multiple examples 606 execute on a single server The program of type.In addition, each example 606 can be configured to execute one or more application.
, can be with it should be appreciated that although embodiment disclosed herein is mainly described in the situation of virtual machine Other kinds of example is used in conjunction with concept disclosed herein and technology.For example, can be in conjunction with storage resource, data resource communication And its other kinds of computing resource uses presently disclosed technology.Embodiment disclosed herein can also calculated directly Executed in machine system application all or part of without utilizing virtual machine instance.
One or more server computers 604 can be reserved to execute for management server computer 602 and example The component software of 606 operation.For example, server computer 604 can execute management assembly 610.Client can access management Component 610 configures multiple and different aspects of the operation for the example 606 that the client is bought.For example, client can buy, rent Or example is hired out, and the configuration of these examples is modified.Client can also specify relating to how to be extended in response to demand The setting for the example bought.The management assembly can also realize customer strategy including policy document.Automatic extension element 612 can extend example 606 based on the rule of client definition.In one embodiment, automatic extension element 612 is so that client It can specify and determine when amplification rule that the when of illustrating new example uses and determine when should be by existing example The diminution rule used when termination.Automatic extension element 612 can be by different server computer 602 or other computing devices The multiple sub-components composition executed.Automatic extension element 612 can monitor available computational resources on internal management network and Available resource is changed based on demand.
The new example 606 that deployment component 614 can be used for that client is helped to dispose computing resource.The deployment component can pair with The associated account information of example has an access right, such as who is the country etc. of the owner of the account, credit card information, owner. Deployment component 614 can receive the configuration for the data that new example 606 how should be configured comprising description from client.For example, this is matched It sets and may specify to be mounted on the application of one or more of new example 606, the new example of configuration 606 is provided and wants execution script And/or other kinds of code, it provides and specifies how to prepare using the cache logic of cache and other kinds of Information.Deployment component 614 can configure, prepare and start new example using the configuration and cache logic of client's offer 606.Configuration, cache logic and other information can be specified using management assembly 610 by client or by by this information Deployment component 614 is directly provided to specify.Instance Manager can be considered as a part for deployment component.
Customer account information 615 may include any desired information with the client association of multi-tenant environment.For example, client Account information may include the unique identifier of client, customer address, charge information, License Info, for starting determining for example Parameter processed, scheduling information, automatic spreading parameter, the previous IP address etc. for accessing the account.
Health monitor 616 can continue tracing customer equipment to the health of server computer 602 (for example, network prolongs Late).For example, if health monitor 616 determines healthy poor (for example, network delay is high), health monitor 616 can prompt User.
Migration component 618 can be used for book from a data Center shift to another data center.Migration group Part 618 can be stored with the data containing connection and location information of their own.For example, the connection and location information can be used In recognition purpose region.In figure 6, health monitor 616 and migration component 618 are illustrated as individual component.It should connect, Health monitor 616 and/or migration component 618 are also used as a part for another component (for example, management assembly 610). Furthermore the management assembly can also manage cloud desktop including cloud desktop management component.The cloud desktop management component can also For migrating cloud desktop.
Network 630 can be utilized to interconnect server computer 602A-602D and server computer 604.Network 630 can be LANs (LAN) and may be coupled to wide area network (WAN) 640, so that end user is able to access that calculating service Provider 600.It should be appreciated that the network topology illustrated in Fig. 6 be simplified and can utilize much more networks and Networked devices interconnect a variety of computing systems disclosed herein.
Fig. 7 illustrates the management group that can be used in the multi-tenant environment for calculating service provider 600 in further detail Part 706.In order to access and utilize example (e.g., the example 606 of Fig. 6), client device can be used.Client device 710 can To be any one of a variety of computing devices, movement or other equipment, including cellular phone, smart phone, handheld computer, Personal digital assistant (PDA), desktop computer etc..Client device 710 can be via endpoint 712 and calculating service provider 600 communications, endpoint 712 can be designed to receive and handle the dns address of API request.Specifically, endpoint 712 can be matched It is set to the web server of open API.Using API request, it is described herein any to realize that client 710 can send out request Function.Other services 715 that may belong to calculate inside service provider 600 similarly can send out API to endpoint 712 asks It asks.
May include or can not be included in calculate service provider 600 in other general management services include license Control 714, such as one or more computers work together as admissions control web services.Admissions control 714 can be to calculating The API request that service or the storage of data are carried out in service provider 600 is authenticated, verifies and unpacks.Capacity tracker 716 It is responsible for determining need how configuration server is will pass through the management in terms of the prediction of capacity, offer and configuration in real time and distribution Meets the needs of different instances type with configuration physical inventory.Capacity tracker 716 is safeguarded in capacity pool database 718 can With the pond of inventory.Capacity tracker 716 can also monitor capacity level, to know that resource is available or limited everywhere. Instance Manager 750 controls the startup and termination of the example in network.To start reality when receiving instruction (such as passing through API request) When example, Instance Manager extracts resource from capacity pool 718, and starts the example on the host server computer determined. With Instance Manager similarly storage manager 722 and physical resource management device 724.Storage manager 722 is related to storage volume Startup and termination, and network resource manager 724 is related to the startup and termination of router, interchanger, subnet etc..Partition network 740 further describe in conjunction with Fig. 6, and include the physical layer started where example.
Health monitoring service 760 can provide to resource and client operate in calculate service provider 600 on run answer Monitoring.System manager can be collected and be tracked measurement using health monitoring service 760, and obtain application operation feelings Condition general view how.For example, health monitoring service 760 can allow the system scope visibility of application performance and operation health. The measurement that health monitoring service 760 generates can be stored in measurement database 762.
The physical hardware that Fig. 8 illustrates partition network 840 and is associated.Partition network 840 may include passing through routing Multiple data centers that device 816 is coupled, such as data center 810.Router 816 reads the address in received grouping Information, and determine the destination of grouping.If router determines that another data center includes host server computer, Forward the packet to the data center.If the grouping is addressed to the host in data center 810, network is passed it to Address Interpretation device (NAT) 818, network address interpreter (NAT) 818 by the public ip address of the grouping with being converted into private IP Location.Private Address Interpretation is also the public address bound outside data center 810 by NAT.Additional router 820 is may be coupled to NAT is to route the packet to one or more racks of host server computer 830.Each rack 830 may include coupling Close the interchanger 832 of multiple main frames server computer.Show that a specific host server calculates at 840 with the view expanded Machine.
Each host 840 is with the bottom hardware 850 for including one or more CPU, memory, storage device etc..Hard Firing floor is management program and inner nuclear layer 860 on part 850.Management program or inner nuclear layer can be classified as Class1 or type 2 manages Program.Class1 management program runs to control hardware and management guest operating system on host hardware 850.Type 2 is managed Reason program operates in conventional operating systems environment.As a result, in 2 environment of type, management program can be transported in operating system Capable different layers and the operating system are interacted with system hardware.Different types of management program include it is based on Xen, Hyper-V, ESXi/ESX, Linux etc., it is also possible to use other management programs.Management level 870 can be management program A part is separated therewith, and generally comprises the device driver accessed needed for hardware 850.Subregion 880 is management The logic unit of program isolation.Each subregion 880 can obtain in the memory of distribution hardware layer, CPU distribution, storage etc. its from There is part.Additionally, each subregion may include virtual machine and its own guest operating system.Therefore, each subregion is to set Count into the abstract part of the capacity for the virtual machine that their own is supported independently of other subregions.
Any application executed on example can monitor then management level 870 can will be measured using management level 870 Health monitoring service 760 is transmitted to be stored in measurement database 762.In addition, management level 870 can take to health monitoring Business 760 transmit the example being currently running quantity, they whether when start, operating system currently in use, be currently running Application etc..All such measurements are available for the consumption of health monitoring service 760 and are stored in measurement database 762.
Cloud desktop environment
Fig. 9 is the schematic diagram for the cloud desktop environment that cloud desktop resource can be provided to a variety of user equipmenies.Cloud desktop environment Any restrictions in relation to purposes or functional range are proposed unintentionally, because these innovations can be in any kind of computing device It realizes.For example, computing device can be any in a variety of computing devices (for example, server computer, desktop computer, knee Laptop computer, tablet computer, mobile phone or another type of computing device).
With reference to figure 9, cloud desktop environment may include one or more user equipment 902A, 902B, 902C.User equipment Each in 902A, 902B and 902C can be located in identical region or different regions.For example, user equipment 902A can be with By the user of region (for example, office) use and user equipment 902B and 902C can by different zones (for example, Go on a public errand) user use.User can normally access their the cloud desktops on a region (that is, region 1).The area Domain can include one or more data center 912A-912N of the cloud desktop of trustship and user-association.
If it is determined that user is located in a different geographical location (for example, user attempts through the use in diverse geographic location Computing device 902B or 902C access their cloud desktop at family), then the cloud desktop session of user can be moved to different areas Domain (for example, from region 1 to region 2).As another example, if cloud desktop example has been moved to different zones (that is, from region 1 arrives region 2), it is determined that the cloud desktop session performance of user can improve.It is moved as a result, from region 1 with the book of the user-association To region 2, the session of medium cloud desktop can be at least one of the data center 922A-922N of trustship at new region.
Although it should be understood that describing migration cloud desktop, any of these embodiments embodiment can also answer For service based on cloud.Such as, if it is determined that service based on cloud, as music streaming service or database are moving to newly It is performed better than in the case of region, then it can be using any of described embodiment embodiment by the service based on cloud Move to different zones.
Embodiment disclosed by the invention can be described according to following clause:
1. a kind of method for migrating cloud desktop between zones comprising:
Network delay or the user calculating equipment based on user calculating equipment to current region are relative to described current At least one of the geographical location in region migrates the cloud desktop from the current region to determine;
Network delay or the user calculating equipment based on the user calculating equipment to destination region are relative to institute At least one of the geographical location in destination region is stated to identify the destination region for moving to the cloud desktop;
The book of the cloud desktop is copied into the destination region from the current region, the data volume contains With the user data of the user-association of the cloud desktop;
The book at the current region and the destination region are synchronously safeguarded in the reproduction process The book at place;And
When completing the duplication:
Freeze and the associated active user's session of the cloud desktop at the current region;
The current storage of active user's session and processor state are copied into the destination region;
Started using the book of the duplication and current storage and processor state at the destination region Cloud desktop example;And
Active user's session is reconnected to the cloud desktop example at the destination region.
2. the method as described in project 1, wherein the determination includes:
The user calculating equipment is calculated to the network delay of the current region;And
The network delay for determining the user calculating equipment to the current region is more than delay threshold value.
3. the method as described in project 2, wherein the calculating includes executing ping operations, described in the ping operations are determining User calculating equipment is sent to the time signature of the grouping of the current region.
4. the method as described in project 1, wherein the determination includes:
Identify the current geographic position of the user calculating equipment;And
Based on the user calculating equipment relative to the current region the current geographic position come it is determined that moving Move the cloud desktop.
5. the method as described in project 4, wherein the current geographic position by the IP address of the user calculating equipment Lai Mark.
6. the method as described in project 1, wherein the determination includes:
It prompts user and to migrate the cloud desktop with one in the associated administrator of cloud desktop;And
The selection from one of them described in user and administrator is received so that the cloud desktop is moved to the purpose Ground region.
7. the method as described in project 1, wherein the determination automatically carries out and nothing in active user's ession for telecommunication Need user's input of the cloud desktop.
8. the method as described in project 1, wherein the mark includes:
The one or more candidate regions of identification;And
Network delay or the user based on the user calculating equipment to one or more of candidate regions calculate Geographical location at least one of of the equipment relative to one or more of candidate regions, assesses one or more of candidates Region is with the determination destination region.
9. the method as described in project 1, wherein the mark includes:
The mesh is at least identified based on the web-based history delayed data of the current geographic position of the user calculating equipment Ground region.
10. the method as described in project 1, wherein the mark includes:
The one or more candidate regions of identification;And
Delay based on the user calculating equipment to one or more of candidate regions or the user calculating equipment To at least one of the geographical location of one or more of candidate regions, one or more of candidate regions are assessed with true The fixed destination region.
11. the method as described in project 8, wherein mark one or more candidate region includes:
One or more of candidate regions are identified based on the billing structure of one or more of candidate regions.
12. a kind of computing system for migrating virtual desktop between data center, the computing system include:
Current data center, the current data center include virtual desktop and book, and the data volume contains and institute State the user data of the user-association of virtual desktop;
One or more candidate data centers;
Management assembly, the management assembly are configured to the operation that execution includes following:
Network delay or the user calculating equipment based on user calculating equipment to the current data center relative to Virtual desktop is moved from the current data center to determine at least one of the geographical location at the current data center It moves;
Network delay or the user calculating equipment based on the user calculating equipment to destination data center are opposite The virtual desktop will be moved at least one of the geographical location at the destination data center one Or one in multiple candidate data centers is identified as the destination data center;And
The book of the virtual desktop is moved on into the destination data center from the current data center;With And
Control plane layer, the control plane layer track the book of the virtual desktop and one or more of data Center, the control plane layer are configured to the operation that execution includes following:
When receiving user's connection request, user's connection request is directed at the destination data center and is transported The example of the capable virtual desktop.
13. the computing system as described in project 9, wherein institute of the user calculating equipment to the destination data center State network delay of the network delay less than the user calculating equipment to the current data center.
14. the computing system as described in project 9, wherein institute of the user calculating equipment to the destination data center State geographical location than the user calculating equipment to the current data center geographical location closer to.
15. the computing system as described in project 9, wherein it includes other behaviour as follows that the management assembly, which is configured to execute, Make:
Close the example of the virtual desktop run at the current data center;And
Start the example of the virtual desktop at the destination data center.
16. the computing system as described in project 9, wherein it includes other behaviour as follows that the management assembly, which is configured to execute, Make:
The copy of the book at the current data center and described is synchronously safeguarded in the moving process The copy of the book at destination data center;And
When completing described mobile:
Freeze and the associated active user's session of the virtual desktop at the current data center;
The current storage of active user's session and processor state are copied into the destination data center;
Start the purpose using the current storage and processor state of the book of the movement and the duplication The example of the virtual desktop at ground data center;And
Active user's session is reconnected to described in the virtual desktop at the destination data center The example of startup.
17. a kind of computer readable storage medium of store instruction thereon, described instruction migrates between being used to execute region The operation of service based on cloud, the operation include:
Network delay or the user calculating equipment based on user calculating equipment to current region are relative to described current At least one of the geographical location in region migrates service based on cloud from the current region to determine;
Network delay or the user calculating equipment based on the user calculating equipment to destination region are relative to institute At least one of the geographical location in destination region is stated to identify the destination for moving to the service based on cloud Region;
The book of the service based on cloud is copied into the destination region from the current region;
Using the book, start Service Instance based on cloud at the destination region;And
By the base with the associated active user's session connection of service based on cloud at the destination region In the Service Instance of cloud.
18. the computer readable storage medium as described in project 13, wherein the operation further includes:
The copy of the book at the current region and the purpose are synchronously safeguarded in the reproduction process The copy of the book at ground region;And
When completing the duplication:
Freeze and the associated active user's session of service based on cloud at the current region;And
The current storage of active user's session and processor state are copied into the destination region;And
It is wherein described to start Service Instance based on cloud and include, using the movement book and the duplication it is current Memory and processor state start the example of the service based on cloud at the destination region.
19. the computer readable storage medium as described in project 13, wherein the determination includes:
The user calculating equipment is calculated to the network delay of the current region;And
Determine that the network delay is more than delay threshold value.
20. the computer readable storage medium as described in project 13, wherein the determination with the service based on cloud Associated active user's ession for telecommunication is automatically carried out without input from the user.
Example computing device
The generality example of the suitable computing environment 1000 of described innovation wherein may be implemented in Figure 10 diagrams.Calculate ring Border 1000 is not intended to propose any restrictions in relation to purposes or functional range, because these innovations can be diversified general Or it is realized in special-purpose computing system.For example, computing environment 1000 can be any in a variety of computing devices (for example, desk-top meter Calculation machine, laptop computer, server computer, tablet computer etc.).
With reference to figure 10, computing environment 1000 include one or more processing units 1010,1015 and memory 1020, 1025.In Fig. 10, this basic configuration 1030 is comprised in dotted line.It is executable that processing unit 1010,1015 executes computer Instruction.Processing unit can be general Central Processing Unit (CPU), the processor in application-specific integrated circuit (ASIC) or it is any its The processor of his type.In multiprocessing system, multiple processing units execute computer executable instructions to increase processing capacity. For example, Figure 10 shows central processing unit 1010 and graphics processing unit or association's processing unit 1015.Tangible memory 1020, 1025 can be the addressable volatile memory of processing unit (for example, detector, cache, RAM), non-volatile memories Certain of device (for example, ROM, EEPROM, flash memory etc.) or the two combine.The storage of memory 1020,1025 is realized described herein The software 1080 of one or more innovation, software 1080 use the shape for the computer executable instructions for being suitable for being executed by processing unit Formula.
Computing system can have supplementary features.For example, computing environment 1000 includes storage device 1040, one or more Input unit 1050, one or more output devices 1060 and one or more communication connections 1070.Such as bus, controller or net The interconnection mechanism (not shown) of network interconnects the component of computing environment 1000.Typically, operating system software (not shown) is meter It calculates the other software executed in environment 1000 and operating environment is provided, and coordinate the activity of these components of computing environment 1000.
Tangible storage device 1040 can be moveable or not move, and include disk, tape or cassette, CD-ROM, DVD can be used in being stored information in a manner of non-transitory and can be accessed in computing environment 1000 any Other media.The instruction for the softwares 1080 that the storage of storage device 1040 is innovated for realizing one or more described herein.
Input unit 1050 can be touch-control input device, such as keyboard, mouse, input pen or tracking ball, voice input dress Set, scanning means or to computing environment 1000 provide input another device.Output device 1060 can be display, printing Machine, loud speaker or CD write devices or another device that output is provided from computer environment 1000.
Communication connection 1070 can realize the communication by communication media to another computational entity.The communication media is being adjusted Carry information in the data-signal of system, such as computer executable instructions, audio or video input or output or other data.Modulation Data-signal be that there is one or more of its characteristic set feature or changed in a manner of encoding information onto in the signal Signal.By way of example and not limitation, communication media can be electricity, light, RF or other carriers.
Although the operation of some methods disclosed by the invention is described for convenient with particular order, should manage It solves this describing mode and covers and rearrange, unless the concrete syntax requirement particular sorted being set forth below.For example, in some cases In, the operation of sequence description can be rearranged or is performed in parallel.Moreover, to put it more simply, this may be not shown in attached drawing The various ways that the method for disclosure of the invention can be combined to use with other methods.
Either method disclosed herein is stored as one or more computer readable storage mediums (for example, one (such as flash memory is deposited for a or multiple optical medium disks, volatile memory component (such as DRAM or SRAM) or non-volatile storage component Reservoir or hard disk)) on and in computer (for example, any commercially available computer, including smart phone or including computing hardware Other mobile devices) on the computer executable instructions that execute realize.Term computer readable storage medium does not include communication Connection, such as signal and carrier wave.It is public for realizing any computer executable instructions and the present invention of technology disclosed by the invention Any data for creating and using during the realization for the embodiment opened can be stored in one or more computer-readable deposit On storage media.These computer executable instructions can be that for example special-purpose software is applied or by web browser or other software A part for the software application for accessing or downloading using (e.g., remote computation application).Such software can be for example single local It is executed on computer (for example, any suitable commercially available computer) or in the network environment using one or more network computers (for example, via internet, wide area network, LAN, client-sever network (e.g., system for cloud computing) or other such nets Network) in execute.
For simplicity, only describing certain selected aspects in the realization based on software.It is familiar in the field of competence that other are thin Section is omitted.For example, it will be appreciated that technology disclosed by the invention is not limited to any specific computer language or program.For example, Technology disclosed by the invention can be by C++, Java, Perl, JavaScript, Adobe Flash or any other suitable volume Software that Cheng Yuyan writes is realized.Similarly, technology disclosed by the invention is not limited to any certain computer or any specific The hardware of type.Certain details of suitable computer and hardware are known, and in the present disclosure be not necessarily into Row elaborates.
It should also be understood that any functionality described herein can be at least partly by one or more hardware logic components Software is substituted to execute.Such as and without limitation, the hardware logic component of workable illustrative type, which includes scene, to be compiled Journey gate array (FPGA), application-specific integrated circuit (ASIC), program relevant criterion product (ASSP), system on chip (SOC), complexity Programmable logic device (CPLD) etc..
Furthermore it can be uploaded via suitable communication mode, download or remotely access these embodiments based on software Any of (including for example, for promoting computer to execute computer executable instructions of either method disclosed by the invention). Such suitable communication mode includes, such as internet, WWW, Intranet, software application, cable (including optical cable), magnetic flux Letter, electromagnetic communication (including RF, microwave and infrared communication), electronic communication or other such communication modes.
Method, apparatus and system disclosed by the invention are not construed as limiting in any way.On the contrary, the present invention is disclosed with list All innovations and non-obvious property towards a variety of disclosed embodiments of only and multiple combinations and each other mode of sub-combination are special In terms of seeking peace.Method, apparatus and system disclosed by the invention are not limited to any specific aspect or feature or combinations thereof, and the present invention is public The embodiment opened does not require should centainly have the advantages that any one or more are specific or solve the problems, such as any one or more yet.
In view of the applicable many possible embodiments of principle disclosed by the invention, it should be appreciated that the embodiment of diagram Only it is the preferable example of the present invention, and is not construed as limiting the scope of the invention.On the contrary, the scope of the present invention is by appended patent right Profit requires to limit.Therefore, we are to falling all groups in these rights as the present invention claims rights.

Claims (17)

1. a kind of method for migrating cloud desktop between zones comprising:
Network delay or the user calculating equipment based on user calculating equipment to current region are relative to the current region At least one of geographical location the cloud desktop is migrated from the current region to determine, wherein the determining packet It includes:
The network delay for determining the user calculating equipment to the current region is more than delay threshold value;
Network delay or the user calculating equipment based on the user calculating equipment to destination region are relative to the mesh At least one of the geographical location in ground region identify the destination region for moving to the cloud desktop;
The book of the cloud desktop is copied into the destination region from the current region, the data volume contains and institute State the user data of the user-association of cloud desktop;
It is synchronously safeguarded in the reproduction process at the book and the destination region at the current region The book;And
When completing the duplication:
Freeze and the associated active user's session of the cloud desktop at the current region;
The current storage of active user's session and processor state are copied into the destination region;
Replicated book and current storage and processor state are used to start the cloud desktop at the destination region Example;And
Active user's session is reconnected to the cloud desktop example at the destination region;
Wherein, the current storage and processor state the destination region is copied to make at the current region The cloud desktop in the application that runs can be run in the cloud desktop example at the destination region.
2. the method as described in claim 1, wherein the determination includes:
The user calculating equipment is calculated to the network delay of the current region.
3. method as claimed in claim 2, wherein the calculating includes executing ping operations, described in the ping operations are determining User calculating equipment is sent to the time signature of the grouping of the current region.
4. the method as described in claim 1, wherein the determination includes:
Identify the current geographic position of the user calculating equipment;And
Based on the user calculating equipment relative to the current region the current geographic position come it is determined that migration institute State cloud desktop.
5. method as claimed in claim 4, wherein the current geographic position by the IP address of the user calculating equipment Lai Mark.
6. the method as described in claim 1, wherein the determination includes:
It prompts user and to migrate the cloud desktop with one in the associated administrator of cloud desktop;And
One selection in user and administrator is received so that the cloud desktop is moved to the destination region.
7. the method as described in claim 1, wherein the determination automatically carries out and nothing in active user's ession for telecommunication Need the input of the user of the cloud desktop.
8. the method as described in claim 1, wherein the mark includes:
The one or more candidate regions of identification;And
Network delay based on the user calculating equipment to one or more of candidate regions or the user calculating equipment At least one of geographical location relative to one or more of candidate regions, assesses one or more of candidate regions With the determination destination region.
9. the method as described in claim 1, wherein the mark includes:
The web-based history delayed data of current geographic position at least based on the user calculating equipment identifies the purpose area Domain.
10. method as claimed in claim 8, wherein identification one or more candidate region includes:
One or more of candidate regions are identified based on the billing structure of one or more of candidate regions.
11. a kind of computing system for migrating virtual desktop between data center, the computing system include:
Current data center, the current data center include virtual desktop and book, and the data volume contains and the void The user data of the user-association of quasi- desktop;
One or more candidate data centers;
Management assembly, the management assembly are configured to the operation that execution includes following:
Based on user calculating equipment to the network delay at the current data center or the user calculating equipment relative to described At least one of the geographical location at current data center determines virtual desktop from the current data Center shift, Described in determination include:
The network delay for determining the user calculating equipment to the current data center is more than delay threshold value;
Network delay or the user calculating equipment based on the user calculating equipment to destination data center are relative to institute State at least one of the geographical location at destination data center come the virtual desktop will be moved to it is one or more One in a candidate data center is identified as the destination data center;
The book of the virtual desktop is moved to the destination data center from the current data center;
The current storage of active user's session and processor state are copied into the destination data center;And
The current storage and processor state for using moved book and being replicated start the destination data center The example of the virtual desktop at place;
Wherein, the current storage and processor state the destination data center is copied to make in the current number It can be real in the virtual desktop at the destination data center according to the application run in the virtual desktop at center It is run in example;And
Control plane layer, the control plane layer track in the book and one or more of data of the virtual desktop The heart, the control plane layer are configured to the operation that execution includes following:
When receiving user's connection request, user's connection request is directed to operation at the destination data center The example of the virtual desktop,
It includes that some following operate that the wherein described management assembly, which is configured to also execute,:
The copy of the book at the current data center and the purpose are synchronously safeguarded in the moving process The copy of the book at ground data center;And
When completing described mobile:
Freeze and the associated active user's session of the virtual desktop at the current data center;And
By being started for the virtual desktop that active user's session reconnects at the destination data center Example;
It is wherein executed when completing described mobile and replicates the current storage and processor state and the startup destination Example at data center.
12. computing system as claimed in claim 11, wherein the user calculating equipment is to the destination data center The network delay is less than the user calculating equipment to the network delay at the current data center.
13. computing system as claimed in claim 11, wherein the user calculating equipment is to the destination data center The geographical location than the user calculating equipment to the current data center geographical location closer to.
14. computing system as claimed in claim 11, wherein it includes some following that the management assembly, which is configured to also execute, Operation:
Close the example of the virtual desktop run at the current data center.
15. a kind of computer readable storage medium of store instruction thereon, for executing area when described instruction is computer-executed The operation of service based on cloud is migrated between domain, the operation includes:
Network delay or the user calculating equipment based on user calculating equipment to current region are relative to the current region At least one of geographical location service based on cloud is migrated from the current region to determine, wherein the determining packet It includes:
The network delay for determining the user calculating equipment to the current region is more than delay threshold value;
Network delay or the user calculating equipment based on the user calculating equipment to destination region are relative to the mesh At least one of the geographical location in ground region identify the destination region for moving to the service based on cloud;
The book of the service based on cloud is copied into the destination region from the current region;
Current storage and processor state with the associated active user's session of service based on cloud is copied to described Destination region;
Using the book and the current storage replicated and processor state, starts at the destination region and be based on The Service Instance of cloud;And
By with the associated active user's session connection of the service based on cloud to the destination region at described in based on cloud Service Instance;
Wherein, the current storage and processor state the destination region is copied to make at the current region The service based on cloud in the application that runs can be in the Service Instance based on cloud at the destination region Operation,
Wherein described operate further includes:
Copy and the purpose area of the book at the current region are synchronously safeguarded in the reproduction process The copy of the book at domain;And
When completing the duplication:
Freeze and the associated active user's session of service based on cloud at the current region.
16. computer readable storage medium as claimed in claim 15, wherein the determination includes:
The user calculating equipment is calculated to the network delay of the current region.
17. computer readable storage medium as claimed in claim 15, wherein the determination with the service based on cloud Associated active user's ession for telecommunication automatically carries out the input without user.
CN201580051560.2A 2014-09-23 2015-09-22 Virtual desktop migrates Active CN106716353B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/494,157 US9537938B2 (en) 2014-09-23 2014-09-23 Virtual desktop migration
US14/494,157 2014-09-23
PCT/US2015/051480 WO2016049042A1 (en) 2014-09-23 2015-09-22 Virtual desktop migration

Publications (2)

Publication Number Publication Date
CN106716353A CN106716353A (en) 2017-05-24
CN106716353B true CN106716353B (en) 2018-11-02

Family

ID=54266633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580051560.2A Active CN106716353B (en) 2014-09-23 2015-09-22 Virtual desktop migrates

Country Status (9)

Country Link
US (2) US9537938B2 (en)
EP (1) EP3198428A1 (en)
JP (1) JP6397568B2 (en)
KR (1) KR101911007B1 (en)
CN (1) CN106716353B (en)
AU (1) AU2015321468B2 (en)
CA (1) CA2959959C (en)
SG (1) SG11201705065WA (en)
WO (1) WO2016049042A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10057325B2 (en) * 2014-03-31 2018-08-21 Nuvestack, Inc. Remote desktop infrastructure
US10491590B2 (en) * 2015-10-12 2019-11-26 AssetWorks LLC System and method for verifying and redirecting mobile applications
CN107295043B (en) * 2016-03-31 2021-02-02 阿里巴巴集团控股有限公司 Method and equipment for migrating users
US9908047B2 (en) * 2016-04-25 2018-03-06 Sony Interactive Entertainment America Llc User save data migration based on location information
CN107360443B (en) * 2016-05-09 2019-10-01 南京中兴新软件有限责任公司 A kind of cloud desktop picture processing method, cloud desktop server and client
EP3465966B1 (en) * 2016-06-01 2022-04-06 Telefonaktiebolaget LM Ericsson (PUBL) A node of a network and a method of operating the same for resource distribution
US10481963B1 (en) * 2016-06-29 2019-11-19 Amazon Technologies, Inc. Load-balancing for achieving transaction fault tolerance
US10469405B2 (en) 2016-06-29 2019-11-05 Amazon Technologies, Inc. Network-accessible data volume modification
CN108989811B (en) * 2017-06-05 2022-06-03 中兴通讯股份有限公司 Cloud desktop system, image sequence compression encoding method and medium thereof
CN107301084B (en) * 2017-07-05 2020-04-21 深圳先进技术研究院 Virtual machine migration method and device of cluster server, server and storage medium
CN107317821A (en) * 2017-07-19 2017-11-03 苏睿 A kind of transmission method of view data, apparatus and system
US10452824B2 (en) * 2017-07-24 2019-10-22 Dell Products, Lp Method and apparatus for optimized access of security credentials via mobile edge-computing systems
KR102029053B1 (en) * 2017-08-28 2019-10-07 아주대학교산학협력단 Virtual machine migration device and method thereof
CN108268307A (en) * 2018-01-07 2018-07-10 长沙曙通信息科技有限公司 A kind of Table top virtualizes live migration of virtual machine implementation method
US10922123B2 (en) * 2018-12-12 2021-02-16 Microsoft Technology Licensing, Llc Container migration in computing systems
KR102183786B1 (en) * 2019-06-05 2020-11-27 부산대학교 산학협력단 Method and system for controlling migration between clouds
US11349935B2 (en) * 2019-07-24 2022-05-31 Vmware, Inc. Methods and apparatus to generate migration recommendations to migrate services between geographic regions
US11573839B1 (en) * 2019-11-21 2023-02-07 Amazon Technologies, Inc. Dynamic scheduling for live migration between cloud regions and edge locations
US11461123B1 (en) 2019-11-21 2022-10-04 Amazon Technologies, Inc. Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
US11734038B1 (en) 2019-11-21 2023-08-22 Amazon Technologies, Inc Multiple simultaneous volume attachments for live migration between cloud regions and edge locations
US11336721B2 (en) * 2019-11-29 2022-05-17 Amazon Technologies, Inc. Dynamic resource movement in heterogeneous computing environments including cloud edge locations
CA3116392A1 (en) * 2020-02-19 2021-08-19 Citrix Systems, Inc. Migration of a desktop workload
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11709696B2 (en) 2020-07-01 2023-07-25 Hypori, LLC Preloading of virtual devices in anticipation of a connection request from a physical device
US20220004415A1 (en) * 2020-07-01 2022-01-06 Intelligent Waves Llc Latency-based selection of a virtual device platform on which to load a virtual device
CN115706727A (en) * 2021-08-02 2023-02-17 中兴通讯股份有限公司 Cloud desktop data migration method, node and server
CN114401275B (en) * 2022-01-10 2024-05-14 北京百度网讯科技有限公司 Cloud mobile phone data backup and restore method and device, electronic equipment and storage medium
CN114827162A (en) * 2022-03-30 2022-07-29 河南保营机电有限公司 Migratable cloud desktop system based on edge computing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023960A (en) * 2011-09-15 2013-04-03 微软公司 Geo-migration of user state
CN104303169A (en) * 2012-07-20 2015-01-21 惠普发展公司,有限责任合伙企业 Migrating applications between networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063521A (en) * 2000-08-23 2002-02-28 Sony Corp Communication system and information processing method
US20130219043A1 (en) * 2012-02-20 2013-08-22 Moritz M. Steiner Method and apparatus for automatic migration of application service
US9069608B2 (en) * 2013-03-06 2015-06-30 Vmware, Inc. Method and system for providing a roaming remote desktop
US9158807B2 (en) 2013-03-08 2015-10-13 International Business Machines Corporation Fast distributed database frequency summarization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023960A (en) * 2011-09-15 2013-04-03 微软公司 Geo-migration of user state
CN104303169A (en) * 2012-07-20 2015-01-21 惠普发展公司,有限责任合伙企业 Migrating applications between networks

Also Published As

Publication number Publication date
US20160088066A1 (en) 2016-03-24
AU2015321468B2 (en) 2018-12-06
US10079896B2 (en) 2018-09-18
KR101911007B1 (en) 2018-12-19
US20170070581A1 (en) 2017-03-09
CN106716353A (en) 2017-05-24
AU2015321468A1 (en) 2017-03-30
KR20170052662A (en) 2017-05-12
WO2016049042A1 (en) 2016-03-31
CA2959959A1 (en) 2016-03-31
JP6397568B2 (en) 2018-09-26
SG11201705065WA (en) 2017-07-28
EP3198428A1 (en) 2017-08-02
US9537938B2 (en) 2017-01-03
JP2017528839A (en) 2017-09-28
CA2959959C (en) 2019-05-14

Similar Documents

Publication Publication Date Title
CN106716353B (en) Virtual desktop migrates
Jararweh et al. Software defined cloud: Survey, system and evaluation
Ranjan et al. Cloud resource orchestration programming: overview, issues, and directions
CN103635882B (en) Controlling network is utilized
Fan et al. A survey of mobile cloud computing
JP6518346B2 (en) Execution of commands on virtual machine instances in a distributed computing environment
US9641385B1 (en) Dynamic system configuration in a virtual environment
US10599354B1 (en) Block storage with volume locality placement based on performance requirements
JP7491650B2 (en) Increased performance for cross-frame live updates
Messina et al. An agent based architecture for vm software tracking in cloud federations
Grandinetti Pervasive cloud computing technologies: future outlooks and interdisciplinary perspectives: future outlooks and interdisciplinary perspectives
US10476809B1 (en) Moving virtual machines using migration profiles
Alaluna et al. Secure multi-cloud network virtualization
US11743325B1 (en) Centralized load balancing of resources in cloud edge locations embedded in telecommunications networks
US9930115B1 (en) Virtual network storage function layer comprising one or more virtual network storage function instances
EP3655857A1 (en) Managing a distributed network of function execution environments
US9860303B1 (en) Data center growth control
Cerroni Network performance of multiple virtual machine live migration in cloud federations
Kolekar et al. Adaptive user interface for e-learning applications based on learning styles using Web Logs analysis: A hybrid cloud architecture
Choudhari et al. Architectural vision of cloud computing in the Indian government
Shahzadi et al. Autonomous, Seamless and Resilience Carrier Cloud Brokerage Solution for Business Contingencies During Disaster Recovery
Nayyer et al. ClpyZ: A testbed for cloudlet federation
Karthikeyan et al. An exploratory literature review on advancements in applications of cloud and BI; a techno-business leadership perspective
US20240098089A1 (en) Metadata customization for virtual private label clouds
US10382293B2 (en) Scoped view of cloud control plane for development of new services

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant