摘要:
Updates may be transmitted over a remote viewing session using a transmission protocol configured to allow sessions to be established, terminated, and used by participants. The transmission protocol provides a message structure that may be used to exchange administrative information associated with the session, as well as host display information to be transmitted from the host to the viewers over the session. A bounding rectangle construct may be used to convey positional information associated with the update or content of an update message. The messages may be passed directly between the host and viewers or via an intermediate service. The messages also may be used to allow viewers to highlight information on the display for a limited period of time so that the highlighting appears to the host and optionally to the other viewers on the session.
摘要:
Changed Host Display Information (HDI) may be captured, selectively encoded, and optionally transmitted between participants over a session. Hints indicative of which portions of the HDI may have changed are collected and used to select areas of HDI for processing. Changed HDI is encoded using an encoding process selected from a number of encoding processes by determining which process is likely to efficiently encode that portion of the HDI. Where the HDI is divided into tiles for processing the encoding method selection may take place on a tile-by-tile basis, for example by counting the number of colors in the tile to be encoded. Changed HDI may be transmitted to viewers using paint commands containing pixel information and copy commands indicating that a portion of the HDI has been moved.
摘要:
Commands associated with an update allow a presenter display to be recreated by a viewer. The commands are delineated by end of update markers. Commands are transmitted to viewers in viewer updates to allow viewers to see information that was shown on the presenter display as it existed at a particular point in time. A target end of update marker will be selected for a viewer update and all commands necessary to recreate the presenter display at that point in time will be transmitted to the viewer. Since the target end of update marker may cause several presenter updates to be included in a given viewer update, some of the commands in the update queue may not need to be transmitted to the viewer. Prunability indicators are therefore added to commands to allow commands to be selected for transmission to a viewer based on the target end of update marker.
摘要:
Updates may be transmitted over a remote viewing session using a transmission protocol configured to allow sessions to be established, terminated, and used by participants. The transmission protocol provides a message structure that may be used to exchange administrative information associated with the session, as well as host display information to be transmitted from the host to the viewers over the session. A bounding rectangle construct may be used to convey positional information associated with the update or content of an update message. The messages may be passed directly between the host and viewers or via an intermediate service. The messages also may be used to allow viewers to highlight information on the display for a limited period of time so that the highlighting appears to the host and optionally to the other viewers on the session.
摘要:
To accommodate different viewer capabilities, update commands may be maintained in an update queue at the server and distributed to viewers according to the viewers' abilities to receive them. As update commands arrive that supersede older update commands, the new update commands may cause the old update commands to be removed from the queue so that the older update commands may be pruned from the update queue. Where the pruned update messages have not yet been sent to the slower viewers, pruning the older update commands from the update queue enables information that will quickly be replaced via another update command to be selectively not transmitted to slower viewers. Panes may be used to keep track of which updates are required to be maintained in the queue and which may be pruned from the queue.
摘要:
Remote viewing software at a display may contain control logic to enable it to manage the connection associated with a session. The connection management process may preferentially elect to establish a socket connection and, if that is unavailable or unreliable, may use HTTP tunneling. The connection management process may also automatically reconnect the display to the session so that the display is not required to manually re-join an ongoing session. The connection management process also manages the termination of the session to ensure that both the server and the client process at the display end the session correctly.
摘要:
Changed Host Display Information (HDI) may be captured, selectively encoded, and optionally transmitted between participants over a session. Hints indicative of which portions of the HDI may have changed are collected and used to select areas of HDI for processing. Changed HDI is encoded using an encoding process selected from a number of encoding processes by determining which process is likely to efficiently encode that portion of the HDI. Where the HDI is divided into tiles for processing the encoding method selection may take place on a tile-by-tile basis, for example by counting the number of colors in the tile to be encoded. Changed HDI may be transmitted to viewers using paint commands containing pixel information and copy commands indicating that a portion of the HDI has been moved.
摘要:
Control of the display computer that is the source of display information on a remote viewing session may be passed between the display participant and one or more of the viewer participants using simplified and intuitive controls rather than a more complicated menu-driven system. In one embodiment, the display participant may elect to provide control to a particular viewer participant or to any viewer participant on the session. When a viewer participant has the ability to control the display computer, the pointer shown to the display participant will be changed to notify the display participant. Likewise, color of the mouse pointer shown to the viewer participant will be changed to allow the viewer participant to know that he has the ability to assume control. Tooltips may be used as well to instruct the participants how to assume control. The color of the mouse pointer is thus determined for each participant individually according to the state of that participant relative to the remote control option of the remote viewing software.