VNC (Virtual Network Computing) is open-source software that allows a user to view and interact with a remote computer (known as the VNC server) from a local computer (known as the VNC viewer/client). VNC is used to display multiple remote desktops on the DataWall. The original VNC software can only project the whole desktop from a server to the DataWall. The VNC server and viewer were modified to project the whole desktop or an application of interest from a server to the DataWall.

In the modified version, a global variable called TargetProcessID was used to distinguish between projecting a single application and projecting the whole desktop. If TargetProcessID is zero, the whole desktop will be projected. Otherwise, TargetProcessID is the process identification of the application that will be projected. In the desktop projecting, the changes can be always additive (or aggregated) whereas the changes in the application projecting can be additive or subtractive. For example, in the desktop projecting, when a window is moved, the changes include the window at the new position plus all the newly exposed areas that were behind the window before the movement. In the application projecting, the changes include adding the window at the new position and subtracting the newly exposed areas.

In the application projecting, an application running on a remote computer can be projected on the DataWall with its own window frame. The VNC viewer does not add its frame to the application. Therefore, there is no difference between a projected application from a remote computer and an application started on the local DataWall computer. To achieve this, a new message called msgTypeVisibleWindows was added to the VNC protocol in the server-to-viewer direction. Whether the rectangles of pixels are relative or absolute, a new message type called msgTypeMode was added to be sent from the server to the client after authentication.

The original VNC is only capable of desktop sharing. The modified VNC can perform application sharing in addition to desktop sharing. For application sharing, how to select an application for sharing is a key issue. To address both privacy and convenience issues in application sharing, a VNC server can be run in one of the two modes: local and visitor.

In the visitor mode, the user (i.e. the visitor) at the application computer end is responsible for selection of an application for sharing. The visitor can select any application running on his/her computer for sharing on the DataWall using a property sheet. A user at the Data Wall is not able to select an application of the application computer to be shared. Once an application is selected for sharing, the application window(s) will be projected on the DataWall, and a user at the DataWall end can take control of the application.

This work was done by Jingyuan Zhang of the University of Alabama for the Air Force Research Laboratory. AFRL-0106

This Brief includes a Technical Support Package (TSP).
Virtual Network Computing Software for DataWall Remote Display

(reference AFRL-0106) is currently available for download from the TSP library.

Don't have an account? Sign up here.

Defense Tech Briefs Magazine

This article first appeared in the August, 2009 issue of Defense Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.