×

Method and apparatus for reducing the amount of information that must be transmitted to slower viewers over a remote viewing session

  • US 8,386,628 B1
  • Filed: 02/16/2006
  • Issued: 02/26/2013
  • Est. Priority Date: 05/23/2005
  • Status: Active Grant
First Claim
Patent Images

1. A method of facilitating a remote viewing session over which host display information is exchanged between a host computing device and a plurality of viewer computing devices, the method comprising the steps of:

  • storing, by a first computing device, a set of update commands related to the host display information in an update queue for transmission to the plurality of viewer computing devices, the update commands in the update queue comprise paint commands and copy commands, said paint commands containing pixel information derived from the host display information and from which pixel data of the host display may be obtained to recreate an area of the host display information by the at least one viewer computing device and the copy commands containing instructions to the viewer computing device to move a source area of host display information to a target area;

    maintaining, by the first computing device, positions of each of the plurality of viewer computing devices in the update queue;

    upon receipt of a new update command, determining, by the first computing device, whether the new update command renders one or a small subset of the paint commands or copy commands in the set of update commands in the update queue unnecessary;

    pruning, by the first computing device, the one or small subset of the paint commands or copy commands from the update queue if the new update command renders the one or small subset of the update commands contained in the update queue unnecessary, to implement selective pruning of individual paint and copy commands from the update queue while maintaining other paint and copy commands not affected by the new update command within the update queue for transmission to the plurality of viewer computing devices;

    transmitting commands, by the first computing device, from the update queue to each of the plurality of viewers, the commands to be transmitted to a particular viewer being selected starting at the position of that viewer in the update queue; and

    creating, by the first computing device, a plurality of non-overlapping panes referencing update commands in the update queue and used to keep track of which commands in the update queue are required to recreate the host display information, at least some of the plurality of non-overlapping panes containing pointers to a paint command that contains data to be displayed in that pane and one or more pointers to copy commands that describe where data originates that is needed to reconstruct the pane;

    wherein if the one or small subset of the paint commands or copy commands is located within the update queue ahead of a first position of a first of the viewing computing devices, the step of pruning the one or small subset of the paint commands or copy commands from the update queue causes the one or small subset of the paint commands or copy commands to not be transmitted to the first of the viewing computing devices while maintaining all of the other update commands within the update queue ahead of the first position and while maintaining the first position of the first viewing computing device within the update queue, to thereby reduce the number of update commands within the update queue to be transmitted to the first viewing computing device; and

    wherein the panes are created to not overlap a grid comprising a plurality of grid lines, and wherein when a copy command causes a pane to translate to straddle a grid line, the translated pane will be fractured into a plurality of smaller panes coincident on at least one edge with the grid lines and not coincident on at least one other edge with any of the grid lines.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×