SYSTEM AND METHOD FOR PROVIDING INTERACTIVE CONTENT TO NON-NATIVE APPLICATION ENVIRONMENTS
First Claim
1. 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; and
providing the input to the particular software application, wherein the software application is configured to generate a second screen output in response.
4 Assignments
0 Petitions
Accused Products
Abstract
An automated electronic application delivery system for delivery software applications to client devices for which they were not originally intended for or developed. The applications are run on the particular application environment at the server side, and the content output by the application is capture, encoded, and streamed to the client devices in a way that minimizes latency. User interacts with the content and such interaction data is either mapped to a specific command catered to the application either at the client side or the server side. The mapped command or raw interaction data is then provided to the application over a control channel.
111 Citations
20 Claims
-
1. 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; and providing the input to the particular software application, wherein the software application is configured to generate a second screen output in response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. 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, a method for providing interactive content to the client device, the method 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; and providing the input to the particular software application, wherein the software application is configured to generate a second screen output in response. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification