VNC is an open source cross platform software product which enables viewing and controlling GUI desktop on remote machines on a network, either within LAN or over WAN via internet connection. The machine the sitting client is using is referred to as client and the remote machine being controlled is referred to as the server. Viewing entails sending screen update from the server to the client .Controlling sends, mouse and keyboard from the client to the server. The nature of VNC connection is such that machine running any operating system may act as either client or server simply by running the appropriate executable program. The client and the server do not need to be running the same operating system. Although a number of configuration options exist for both server and client, for most installations, a simple install of the software is all that is required to get started with VNC .Since it is open source product, there are several widely used implementations available, including tightVNC and realVNC. The availability of the source code provide the ability to the extent and customize code which has resulted in the additional implementations variety of machine architectures.One of those is the ultraVNC which has ability to use windows username and password to restrict access to the remote machine, rather than requiring an administrator to specifically create password for VNC.In the simplest form program, normally a screen update is sent to video driver or directly to some hardware. Frame buffer update is restricted or copied by the VNC to its own driver, sending it across the network to the client. There is various compression schemas included for increasing performance of these updates, but the basis mechanism is the updating for the frame buffer on the remote machine.