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 (106, 108) running on the server, each server further being configured to associate one or more applications (110, 112, 114, 116) 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 employing a codec configured to employ time stamps associated with the graphic display data and the audio output data to encode the graphic display data and the audio output data from a corresponding one of the virtual computers for transmission over a network such that the encoded graphic display data and the encoded audio output data are synchronized, the time stamps associated with the graphic display data and the audio output data being relative time stamps computed based on the amount of the 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 employing a codec configured to employ the time stamps associated with the graphic display data and the audio output data 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 when displayed. one or more servers, each server being configured to instantiate and manage operation of a plurality of virtual computers (106, 108) running on the server, each server further being configured to associate one or more applications (110, 112, 114, 116) 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 employing a codec configured to employ time stamps associated with the graphic display data and the audio output data to encode the graphic display data and the audio output data from a corresponding one of the virtual computers for transmission over a network such that the encoded graphic display data and the encoded audio output data are synchronized, the time stamps associated with the graphic display data and the audio output data being relative time stamps computed based on the amount of the 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 employing a codec configured to employ the time stamps associated with the graphic display data and the audio output data 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 when displayed.