System for efficient remote projection of rich interactive user interfaces
First Claim
Patent Images
1. A method of communicating between a host device and a rendering device for controlling a user interface of the rendering device, the method comprising:
- generating control messages by a user interface framework executing on the host device, wherein the control messages comprise at least one animation command;
reducing a number of control messages based on a current state of the rendering device to avoid interfering with a user experience with the rendering device;
encoding, by the user interface framework, the control messages in a buffer as blob data; and
communicating the blob data as one control message to the rendering device, thereby sending control messages as a batch of control messages, wherein the rendering device displays frames of images at a frame rate and renders according to the control messages of the blob data without disrupting the display of frames at the frame rate.
2 Assignments
0 Petitions
Accused Products
Abstract
An exemplary method of communicating between a host device and a rendering device for controlling a user interface of the rendering device includes generating messages, encoding the messages in a buffer as blobs of data and communicating the blobs of data to the rendering device. Various other exemplary methods, devices, systems, etc., are also disclosed.
70 Citations
16 Claims
-
1. A method of communicating between a host device and a rendering device for controlling a user interface of the rendering device, the method comprising:
-
generating control messages by a user interface framework executing on the host device, wherein the control messages comprise at least one animation command; reducing a number of control messages based on a current state of the rendering device to avoid interfering with a user experience with the rendering device; encoding, by the user interface framework, the control messages in a buffer as blob data; and communicating the blob data as one control message to the rendering device, thereby sending control messages as a batch of control messages, wherein the rendering device displays frames of images at a frame rate and renders according to the control messages of the blob data without disrupting the display of frames at the frame rate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer storage medium having computer-executable instructions for performing a method on a host device, the method comprising:
-
in response to the one or more commands, generating messages by an application executing on the host device and reducing a number of messages based on a current state of a rendering device, wherein the application relies on a user interface framework executing on the host device to generate the messages and to encode the messages in a buffer, and further wherein the messages comprise; one or more messages originating from the application executing on the host computer in communication with a remote device executing a renderer; one or more animation commands; one or more graphics commands; one or more commands associated with a software interface for graphics or animations; a last message which comprises a call instructing the rendering device to send a copy of the last message back to the host device; encoding the messages in the buffer as blob data, wherein the buffer comprises a network buffer; communicating the blob data to the rendering device according to a communication protocol that comprises a graphics model for rendering graphics and animations, wherein the rendering device displays frames of images at a frame rate and renders according to the blob data without disrupting display of frames at the frame rate; after the communicating, generating additional messages by the application executing on the host device, encoding the additional messages in the buffer as blob data, and communicating the blob data to the rendering device prior to receipt of the last message by the host device sent from the rendering device. - View Dependent Claims (16)
-
Specification