Jump to content

VNC

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by PbS (talk | contribs) at 20:44, 22 August 2004 (No longer a stub article, includes history, and a brief description of how it works.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Virtual Network Computing (VNC) is a remote desktop protocol to remote control another computer which was originally developed by AT&T. VNC is used to transport the desktop environment of a graphical user interface from one computer to a viewer application on another computer on the network. There are clients and servers for many platforms including Linux, Microsoft Windows, BSD variants and MacOS X. The VNC protocol allows for complete platform independence. A VNC viewer on any operating system can connect to a VNC server on any other operating system. It is also possible for multiple clients to connect to a VNC server at the same time. Popular uses of the technology include remote tech support, and accessing your files on your work PC while at home or even on the road. There is even a Java viewer for VNC, so you can connect to a VNC server from your web browser without installing any software. The original VNC code is open source, as are many of the flavors of VNC available today.

History

VNC started it's life at the Olivetti & Oracle Research Lab, which at the time of VNC's creation was owned by Olivetti & Oracle. In 1999 AT&T aqcuired the lab, and in 2002 closed down the research part of the lab.

The name originates from a very-thin-client ATM Network Computer called the Videotile, which was essentially an LCD display with a pen input and a fast ATM connection to the network. VNC is essentially a software-only version of this 'ATM Network Computer', so they named the project Virtual Network Computing.

Developers that worked on VNC while still at ORL:

  • Tristan Richardson
  • Quentin Stafford-Fraser
  • James Weatherall
  • Ken Wood
  • Andy Harter
  • Charlie McLachlan
  • Paul Webster

How it works

VNC is actually two parts, a client and a server. A server is the machine that is sharing it's screen, and the client, or viewer is the program that is doing the watching and perhaps interacting with the server. VNC is actually a VERY simple protocol and is based one one and only one graphic primitive, "Put a rectangle of pixel data at a given x,y position". What this means is VNC takes small rectangles of the screen(actually the framebuffer) and transports them from the server to the client. This in it's simplest form would cause lots of bandwidth to be used, and hence various methods have been invented to make this process go faster. There are now many different 'encodings' or methods to determine the most efficient way to transfer these rectangles. The VNC protocol allows the client and server to negotiate which encoding it will use. The simplest, and lowest common denominator is the raw encoding method where the pixel data is sent in left-to-right scanline order, and after initial setup, then only transfers the rectangles that have changed.


External Resources