Patent ID: 8903897

Claim:
In a system including a plurality of host devices, a client device, and a server coupled to the plurality of host devices and the client device over a data communications network, each host device hosting a software application configured to run on an application environment provided by the host device, and the client device receiving interactive content generated by a particular software application configured to run on an application environment different than an application environment provided by the client device, the server comprising: a processor; and a memory coupled to the processor and storing program instructions therein, the processor being configured to execute the program instructions, the program instructions comprising: receiving from the client device identification of the particular software application; identifying one of the plurality of host devices hosting the particular software application; invoking the particular software application on the application environment provided by the identified host device; periodically capturing and encoding a screen display output generated by the particular software application into a plurality of video frames; streaming the plurality of video frames over the data communications network during a streaming session; receiving interaction data from the client device in response to the streamed video frames; converting the interaction data to a corresponding input catered to the particular software application; providing the input to the particular software application, wherein the software application is configured to generate a second screen output in response; identifying a configuration file associated with the particular software application, wherein a user input is mapped to a particular command based on the configuration file; and receiving the user input or the particular command from the client device as the interaction data.