Patent ID: 8732749

Claim:
A system for providing virtual computing services, comprising: one or more servers, each server being configured to instantiate and manage operation of a plurality of virtual computers running on the server, each server further being configured to associate one or more applications running on the server with each virtual computer, each virtual computer comprising a graphic display component and an audio output component, the graphic display component being configured to generate graphic display data for the one or more associated applications, the audio output component being configured to generate audio output data for the one or more associated applications, each server also comprising one or more encoders, each encoder being configured to receive the graphic display data and the audio output data from a corresponding one of the virtual computers, the received graphic display data and the received audio output data being unsynchronized, and to encode the received graphic display data and the received audio output data for transmission over a network, the encoding including synchronizing the encoded graphic display data and the encoded audio output data; and a plurality of clients for use with associated displays, each client being configured to receive the encoded graphic display data and the encoded audio output data for an allocated one of the virtual computers via the network, and render a representation of the allocated virtual computer on the associated display, each client comprising a decoder configured to decode the encoded graphic display data and the encoded audio output data such that visible and audible components of the representation of the allocated virtual computer are substantially synchronized.