EP2248041B1

Extending server-based desktop virtual machine architecture to client machines

Abstract

This record has no abstract on file.

EP2248041B1, drawing sheet 1
Sheet 1 of 7

Term

2.4 yearsleft in the term

Expires 20 February 2029.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

13 claims: 3 independent, 10 dependent

  1. 1
    A method of extending a server-based desktop-virtual machine architecture to a client machine (120), the method comprising:remotely accessing a user desktop via a communications network (13) including transmitting and receiving user input/output between a client system (120) and a server system (110), the server system (110) running a server instance of a virtual machine (118) that provides the user desktop, the server instance of the virtual machine (118) executing by way of virtualization software (117) on a physical computer system that is in communication with a data storage system (140), the virtualization software (117) directing disk read requests from the server instance of the virtual machine (118) to a virtual disk (142) comprising a virtual disk image contained in one or more files on the data storage system (140), characterised by: in the step of remotely accessing, the virtualization software (117) directing disk write requests from the server instance of the virtual machine (118) to a delta disk (144), the delta disk (144) comprising modifications to the virtual disk (142), the client system (120) having a remote desktop client (125) for receiving the user input/output and sending the user input/output to a user interface (124) at the client system (120);creating a local copy (132) of the virtual disk (142) and a local copy (134) of the delta disk (144) on the client system (120) while the server instance of the virtual machine (118) is running, and receiving at the client system (120) modifications to the virtual disk (142) stored in the delta disk (144) on the server system (110) while the server instance of the virtual machine (118) is running as a background process during the step of remotely accessing, including initiating the background process automatically without intervention of the user;sending a check-out request from the client system (120) to the server system (110) to locally access the user desktop;terminating the server instance of the virtual machine (118) if the server instance of the virtual machine (118) is currently executing;and executing a client instance (128) of the virtual machine (118) on the client system (120) using the local copy (132) of the virtual disk (142) and the local copy (134) of the delta disk (144), including using virtualization software (127) on the client system (120) to direct disk read requests from the client instance of the virtual machine (128) to at least the local copy (132) of the virtual disk (142) and direct user input/output from the client instance of the virtual machine (128) to the user interface (124) at the client system (120).
  2. 4
    The method of claim 4, further comprising, on the server system (110), merging the delta disk (144) and the local delta disk (134) with the virtual machine (118) prior to powering on the server instance of the virtual machine (118) after transmitting the copy of the local delta disk (134) to the server system (110).
  3. 12
    A tangible machine readable medium for extending server-based desktop-virtual machines architecture to a client machine (120), the tangible machine readable medium embodying computer program instructions implementing a method on a client system (120), said method comprising:remotely accessing a user desktop via a communications network (13), including transmitting and receiving user input/output between the client system (120) and a server system (110), the server system (110) running a server instance of a virtual machine (118) that provides the user desktop, the server instance of the virtual machine (118) executing by way of virtualization software (117) on a physical computer system that is in communication with a data, storage system (140), the virtualization software (117) directing disk read requests from the server instance of the virtual machine (118) to a virtual disk (142) comprising a virtual disk image contained in one or more files on the data storage systems (140), characterised by : in the step of remotely accessing, the visualization software (117) directing disk write requests from the server instance of the virtual machine (118) to a delta disk (144), the delta disk (144) comprising modifications to the virtual disk (142), the client system (120) having a remote desktop client (125) for receiving the user input/output and sending the user input/output to a user interface (124) at the client system (120);creating a local copy (132) of the virtual disk (142) and a local copy (134) of the delta disk (144) on the client system (120) while the server instance of the virtual machine (118) is running, and receiving at the client system (120) modifications to the virtual disk (142) stored in the delta disk (144) on the server system (110) while the server instance of the virtual machine (118) is running as a background process during the step of remotely accessing, including initiating the background process automatically without intervention of the user;sending a check-out request from the client system (120) to the server system (110) to locally access the user desktop, the check-out request causing the server instance of the virtual machine (118) to be terminated if the server instance of the virtual machine (118) is currently executing;and executing a client instance of the virtual machine (128) on the client system (120) using the local copy (132) of the virtual disk (142) and the local copy (134) of the delta disk (144), including using virtualization software (127) on the client system (120) to direct disk read requests from the client instance of the virtual machine (128) to at least the local copy (132) of the virtual disk (142) and direct user input/output from the client instance of the virtual machine (128) to the user interface (124) at the client system (120).
  4. 13
    A tangible machine readable medium for extending server-based desktop-virtual machines architecture to a client machine (120), the tangible machine readable medium embodying computer program instructions implementing a method on a server system (110), said method comprising:running a server instance of a virtual machine (118) that provides a user desktop, the server instance of the virtual machine (118) executing by way of virtualization software (117) on a physical computer of the server system (110), the physical computer being in communication with a data storage system (140), the virtualization software (117) directing disk read requests from the server instance of the virtual machine (118) to a virtual disk (142) comprising a virtual disk image contained in one or more files on the data storage system (140), characterised by : in the step of running a server instance of a virtual machine (118), the virtualization software (117) directing disk write requests from the server instance of the virtual machine (118) to a delta disk (144), the delta disk (144) comprising a file containing modifications to the virtual disk (142), the client system (110) having a remote desktop client (125) for receiving the user input/output and sending the user input/output to a user interface (124) at the client system (120);transmitting and receiving user input/output between the client system (120) and the server system (110);sending a copy (132) of the virtual disk (142) and a local copy (134) of the delta disk (144) to the client system (120) while the server instance of the virtual machine (118) is running, and receiving at the client system (120) modifications to the virtual disk (142) stored in the delta disk (144) on the server system (110) while the server instance of the virtual machine (118) is running as a background process, including initiating the background process automatically without intervention of the user;receiving a check-out request from the client system (120);responsive to the check-out request, terminating the server instance of the virtual machine (118) if the server instance of the virtual machine (118) is currently executing, sending a final copy (134) of the delta disk (144) to the client system (120) so that the user can access the desktop using a client instance (128) of the virtual machine (118) executing on the client system (120);and maintaining a record of a desktop status of the user desktop as being checked-in or checked-out, wherein the desktop status is checked-in when the user desktop was last accessed remotely using the server instance of the virtual machine (118), and the desktop status is checked-out when the user desktop was last accessed locally using the client instance of the virtual machine (128);the server system assuming the desktop status is checked-out after the sending of the copy (134) of the delta disk (144) to the client system (120).