virtual network computing full report
computer science technology|
Active In SP
Joined: Jan 2010
22-01-2010, 03:38 PM
Virtual Network Computing full report.doc (Size: 263 KB / Downloads: 587)
Have you ever found yourself away from home, wishing you had your desktop machine with you Have you ever wished you could show someone, remotely, how to do something instead of talking them through it over the phone These things and much more can be done with a nifty little freeware utility called Virtual Network Computing, or VNC.
What VNC does is this: it enables a remote user (who knows the password) to take control of your machine via the internet. They can view files, run programs, delete stuff, etc. -- in other words, they can use your computer exactly as if they were sitting in front of it, although a bit slower. This might sound a little frightening, and it is, except that you have a good deal of control over the situation. You set the password, you can kick them out if they abuse it, and you have to be online already & have VNC Server running for anyone to access your machine. In reality, youâ„¢ll usually be setting up sessions specifically, or acting as the remote user yourself.
Another nifty thing you can do with VNC is letting someone else watch your screen, but disabling their control over your computer. This is great for showing your newbie friends how to do things -- get them logged on, and do it while they watch. Itâ„¢s a lot easier than explaining it over the phone. The best part about this is that they donâ„¢t need anything special -- just a Java-capable web browser.
2. VIRTUAL NETWORK COMPUTING
Virtual network computing (V.N.C) is a process of controlling a computer by sitting kilometers away through internet. Here we can control a server computer, which is situated kilometers away by sitting in front of a viewer computer. An image of the desktop of the server is brought to our computer and making events in viewer computer we can any work in the server computer. Here internet is used as the communication between the server and the viewerâ„¢s computer.
As the operating system is graphical user interface the controlling is made by mouse events. When we brought the serverâ„¢s desktop to viewerâ„¢s computer the screen resolution of the server and viewerâ„¢s must be same (eg: 800*600). So when a mouse event is happening on a particular pixel (say 300,200), that particular pixel send to the server from the viewer and the change is brought to the viewer. So the user will not feel that two computers are working here. He will get feeling that he is using the server itself.
The V.N.C technique has got a good future in the world of computer communication, since the V.N.C is easy to use, support platform independency and multi-user. It is a remote display system which allows you to view a computing Ëœdesktopâ„¢ environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures.
3. GETTING STARTED WITH VNC
VNC consists of two types of component. A server, which generates a display, and. a viewer, which actually draws the display on your screen
To get started with VNC you need to run a server, and then connect to it with a viewer. Get the packages for the platforms you use from the web and install them. The current VNC software requires a TCP/IP connection between the server and the viewer.
Most people will be running either a Unix server or a Windows server, though similar principles will apply to other platforms. The technology underlying the VNC system is a simple protocol for remote access to graphical user interfaces. It works at the frame buffer level and therefore applies to all operating systems, windowing systems, and applicationsâ€indeed to any device with some form of communications link. The protocol will operate over any reliable transport such as TCP/IP. The endpoint with which the user interacts (that is, the display and/or
input devices) is called the VNC client or viewer. The endpoint where changes to the frame buffer originate (that is, the windowing system and applications) is known as the VNC server .VNC is truly a thin-client system. Its design makes very few requirements of the client, and therefore simplifies the task of creating clients to run on a wide range of hardware.
3.1 Adaptive Update
A set of rectangles of pixel data makes a frame buffer update(or simply, update). An update represents a change from one valid frame buffer state to another. In this sense, an update is similar to a frame of video. It differs, however, in that it usually affects only a small area of the frame buffer. Each rectangle may be encoded using a different scheme. The server can therefore choose the encoding most appropriate for the particular screen content being transmitted and the available network bandwidth. The update protocol is demand-driven by the client. That is, an update is only sent by the server in response to an explicit request from the client. All screen changes since the clientâ„¢s last request are coalesced into a single update. This gives the protocol an adaptive quality: the slower the client and the network, the lower the rate of updates. On a fast network, for example, as the user drags a window across the screen it will move smoothly, being drawn at all the intermediate positions. On a slower linkâ€for example, over a modemâ€the client will request updates less frequently, and the window will appear at fewer of these positions. This means that the display will reach its final state as quickly as the network bandwidth will allow, thus maximizing the speed of interaction.
The input side of the VNC protocol is based on a standard workstation model of a keyboard and multi button pointing device. The client sends input events to the server whenever the user presses a key or pointer button, or moves the pointing device. Input events can also be synthesized from other nonstandard I/O devices. On the Video tile, for example, a pen-based handwriting recognition engine generates keyboard events.
3.3 Connection Setup and Shutdown
To establish a client-server connection, the server first requests authentication from the client, using a challenge-response VNC server VNC viewer (client)VNC protocol scheme; the client typically requires the user to enter a password at this point. The server and client then exchange messages to negotiate desktop size, pixel format, and encoding schemes. The client requests an update for the entire screen, and the session begins. Because of the stateless nature of the client, either side can close the connection at any time without adverse consequences
3.4 VNC Viewers
In day-to-day use, we prefer the more descriptive term viewer to the rather overloaded word client. Writing a VNC viewer is a simple task, as indeed it should be for any thin client system. It requires only a reliable
transport (usually TCP/IP), and a way of displaying pixels (either writing directly to the frame buffer or going through a windowing system).We have written viewers for all the networked display devices available at ORL. These include the Video tile (the original VNC viewer), an X-based viewer (which runs on Solaris, Linux, and Digital Unix workstations), a Win32viewer that runs on Windows NT and 95, and a Java applet that runs on any Java-capable browser (including Sunâ„¢s Java Station). Members of our lab use these viewers on a daily basis to access their personal computing environments.
3.4.1 Running a Viewer
You can now go to another machine and connect a viewer to the server. When you run the viewer, you need to specify the name of the server and the number of the desktop. If, for example, you have started a
server as display 2 on a machine called Ëœsnoopyâ„¢, you can start a viewer for it by typing:
vnc viewer snoopy:2
With the Windows viewer, you can run it from the command line, but you will more typically run it from the VNC group on the Start Menu. In this case, you will be prompted for the host name and display number:
Enter it and click OK, and you will be prompted for your password, after which you should see the remote display.
If you are connecting to a Windows or Mac server, the display number will be 0, unless you have explicitly changed it.
If the machine running the server does not have a proper DNS entry, you probably wonâ„¢t be able to use the name and will have to replace snoopy:2 with something like 192.168.1.2:2. You can get round this on most platforms by creating a Ëœhostsâ„¢ file which maps names onto IP addresses.
Writing a VNC server is slightly harder than writing a viewer. Because the protocol is designed to make the client as simple as possible, it is usually up to the server to perform any necessary translations (for example, the server must provide pixel data in the format the client wants). We have written servers for our two main platforms, X (that is, Unix)and Windows NT/95.The X-based server was the first one we developed. A single Unix machine can run a number of VNC servers for different users, each representing a distinct VNC desktop. Each desktop is like a virtual X display, with a root window on which several X applications can appear. The Windows VNC server was a little more difficult to create. Windows has fewer places to insert hooks into the system to monitor display updates, and the model of multi user operation is less clearly defined. Our current server simply mirrors the real display to a remote client, which means that only a single VNC desktop is available from any one PC. The X-based server, the X viewer, the Win32 server, andWin32 viewer can all fit on a single floppy disk. We have also created thin servers which produce displays other than desktops, using a simple toolkit. A VNCCD player, for example, generates a CD player user interface using VNC directly without any reference to a windowing system or frame buffer. Such servers can run on very simple hardware, and can be accessed from any of the standard VNC viewers.
3.5.1 Running a Windows Server
Install the Windows server, WinVNC, by running the Setup program included in the distribution. This will create a VNC group in your Start Menu. Install the default registry settings using the option in the VNC group.
Run the WinVNC server. If this is the first time youâ„¢ve used WinVNC on this machine youâ„¢ll be prompted to set a password, which youâ„¢ll need. when you connect to the machine from a remote location. Normally youâ„¢ll want to leave the other options on their default settings(Note that the default display number is 0 on a PC. Youâ„¢ll need to specify this to the viewer when you connect). Click OK and the server should be running. It will install a small icon on the system tray, and by right-clicking on this you can control most aspects of the server.
A variety of desktops being accessed from different viewers: (a) a Unix desktop from a Windows viewer, (b) a Windows 95 desktop from an X viewer, © a Unix desktop from a Java applet within Internet Explorer, and (d) a Windows desktop using Netscape on Unix.
VNC AFTER INSTALLATION
No state is stored at the viewer:
This means you can leave your desk, go to another machine, whether next door or several hundred miles away, reconnect to your desktop from there and finish the sentence you were typing. Even the cursor will be in the same place. With a PC X server, if your PC crashes or is restarted, all the remote applications will die. With VNC they go on running.
Â¢ It is small and simple:
The Win32 viewer, for example, is about 150K in size and can be run directly from a floppy. There is no installation needed.
Â¢ It is truly platform-independent:
A desktop running on a Linux machine may be displayed on a PC. Or a Solaris machine. Or any number of other architectures. The simplicity of the protocol makes it easy to port to new platforms. We have a Java viewer, which will run in any Java capable browser. We have a Windows NT server, allowing you to view the desktop of a remote NT machine on any of these platforms using exactly the same viewer. And other people have ported VNC to a wide variety of other platforms. Click the ËœContributedâ„¢ button on the left for details.
Â¢ It is sharable:
One desktop can be displayed and used by several viewers at once, allowing CSCW-style applications.
Â¢ It is free:
You can download it, use it, and redistribute it under the terms of the GNU Public License Both binaries and source code are available from the download page along with a complete copy of this documentation.
Â¢ Doesnâ„¢t have modem access or features.
Â¢ Display can be a bit slow, jerky, and/or incomplete
6. ADVANCE FEATURES
How do I make VNC go faster
We find VNC to be perfectly acceptable as our normal method of accessing Unix desktops on a daily basis. This is over a 10 Mbit/s ethernet on reasonably modern machines, using the X or Win32 viewer. Because Windows gives us fewer hints about what itâ„¢s doing, and because we donâ„¢t have the source code for Windows in the same way that we do for X, the WinVNC server has to work harder to find out whatâ„¢s changed, and so a really fast machine should make a big speed difference. For more information about how the Windows server works. But if youâ„¢ve been disappointed by the speed of the Windows server, donâ„¢t give up. Weâ„¢re improving it gradually, but itâ„¢ll be a while before itâ„¢s as fast as on Unix.
There are several things that can slow any VNC session down, however, and you may like to consider these if you find it too slow: Unusually Ëœbusyâ„¢ desktops. The VNC protocol is very efficient at rendering areas of a single colour, such as you generally find on window title bars, scrollbars, backgrounds of pages etc. But if, for example, you
have pretty 24-bit photographs of your girlfriend as your screen background, or dithered title-bars on your windows, you may pay a price for the aesthetics. A colourful or patterned desktop background will probably slow down VNC more than any other single factor. We have some suggestions on speedint up the twm window manager some Of which will also apply to other environments.
Hi-colour desktops. Donâ„¢t use 24-bit colour if you can use 16 or 8 equally well. Remember, on Unix you can run multiple servers, so I have a big 16-bit desktop for normal work and a small 8-bit one for when I log in from home. The server can send out a wide range of pixel formats, and some viewers will allow you to request a specific format for that session. On the Windows viewer, for example, if you click Options.., when making the connection, you can request only 8-bit pixels from the server - useful if the network gets slow. If you are using a modem, I recommend changing the shortcut in the Start menu to include the /8bit option - this will then be the default. Similarly, if you regularly connect to a remote WinVNC server, consider whether you could run happily at lower resolution. A 1280x1024 screen has more then 4 times as many pixels as a 640x480 one, and if all you are doing is checking a printer queue you probably donâ„¢t need them all! Note, though, that on WinVNC, 16-bit colour is usually the best to use. See below.
Elderly graphics cards or drivers may make quite a difference; this is a graphics-intensive application! On Windows the graphics system on. the server will affect the speed as well as the one on the viewer.
Some applications are not very economical about redrawing their display. Early versions of Unix Netscape, for example, tended to draw everything twice when scrolling, which did nothing to help the smoothness under VNC. XllAmp flashes its display very fast when in Ëœpauseâ„¢ mode.
Some Java Virtual Machines are particularly fast at reading from the network and particularly slow at drawing to the screen, or vice versa. With the Java viewer it is worth experimenting with the encodings available from the Options menu, as we sometimes find big differences in speed.
If you are connecting to WinVNC, donâ„¢t change the default settings in the Properties box unless you need to.
All the standard clients can do local rectangle copying, and this generally means that dragging a full window on X is much faster than dragging its outline. If your window manager allows this, it may speed things up. Roman Mitnitski also reports that when he increased the mouse dragging threshold (-t option of the server) the performance was improved.
Generally, with WinVNC, use 16-bit colour (65536 colours) on the server if you can. 16-bit is almost always the best depth to use, because:
256-colour screens have to be palette-converted before they can be transmitted to truecolour clients. Only if the client is 256-colour palette- based will you see any performance increase.
Even if the client is 256 colour truecolour, itâ„¢ll have to convert via a
32-bit truecolour palette!
1. 24-bit screens have to be specially munged via 32-bit since VNCâ„¢s internal colour-handling routines donâ„¢t work with 24- bit directly.
2. 24 and 32-bit screens have to have each pixel looked up in three tables to get the converted value.
3. Graphics cards claiming to do 24-bit often actually do 32-bit with munging - this in many cases makes 24-bit slower just for general use than 32-bit!
4. Finally, 16-bit involves no palette processing and a single lookup in a cached src format to dest format table to convert the pixels. On slow links, you may also want to use some software to compress the data between the two ends. SSH or Zebedee can be used for this.
How secure is VNC
Access to your VNC desktop generally allows access to your whole environment, so security is obviously important. VNC uses a challenge-response password scheme to make the initial connection the server sends a random series of bytes, which are encrypted using the password typed in, and then returned to the server, which checks them against the Ëœrightâ„¢ answer. After that the data is unencrypted and could, in theory, be watched by other malicious users, though itâ„¢s a bit harder to snoop a VNC session than, say, a telnet, rlogin, or X session. Since VNC runs over a simple
single TCP/IP socket, it is easy to add support for SSL or some other encryption scheme if this is important to you, or to tunnel it through something like SSH or Zebedee.
SSH allows you to redirect remote TCP/IP ports so that all traffic is strongly encrypted, and this can be combined with VNC. SSH can also compress the encrypted data - this can be very useful if using VNC over slow links. Zebedee is a similar system which can be sometimes simpler to use.
While weâ„¢re on the subject of security, you should also be aware that only the first 8 characters of VNC passwords are significant. This is because the Ëœgetpassâ„¢ call used in the Unix server to read a password has this restriction, and the other platforms have been made compatible with this. Wolfram Gloger < has built Xvnc with the TCP Wrapper library, allowing you more control over which hosts are allowed to connect.
Are you going to make it more secure
We do hope eventually to add better security to VNC, but thereâ„¢s also a good argument for not doing so. If security is a concern, it can be better to use a single system such as SSH, FreeS/WAN, or Zebedee to encrypt all your traffic, rather than relying on the individual packages to do the right thing. Then, if you decide in a yearâ„¢s time that one system is too easily crackable, you can replace it yourself and all of your communications will benefit. It may also be easier to fit in with corporate security systems this way.
Could you do file transfer (e.g. by drag & drop) between the two ends
Itâ„¢s certainly possible, but we arenâ„¢t going to do it. File transfer seems simple, but is actually rather complicated to do in a cross- platform way. Some examples: How do you map filenames between platforms with wildly different naming conventions How do you cope with running out of disk space What about permissions How do you do it on platforms which donâ„¢t have a concept of drag and drop Can you interrupt the transfer if itâ„¢s taking too long Can you restart it if it gets interrupted
Since there are a very large number of perfectly good systems out there for transferring files over IP, we arenâ„¢t planning to incorporate it in VNC. It would probably more than double the size of the code, and would introduce all sorts of issues that we, quite frankly, arenâ„¢t interested in! So use the standard file transfer built into Windows, or use FTP, or netcat, or the web, or rep, or ssh, or...
Access important information which you cannot take with you because it is frequently changing or not portable.
Check-up emails and download.
Start/stop any processing or computation if you forgot to do that in the office.
Make simple actions or show how-to collaborating with people in your office.
At ORL, we have used VNC to add mobility to workstation, GUIs, where the concept of at least some form of remote interaction is not new.
1. Bring up the controls for their video recorder on a mobile phone as they drive home from work.
2. Use a modem to dial a telephone answering machine and reprogram it through a graphical interface.
3. Display their car stereo or GPS receiver as part of the dashboard, regardless of the equipment brand installed.
8. FUTURE WORK
We are now building VNC software for a variety of desktop platforms, but it would not be difficult to make remote access practical for a wider range of devices. We can envisage cheap hardware that might, for example, drive a 7-segment LCD and also emit a VNC equivalent over a USB or RS232 link. The VNC commands to draw and erase each Segment could be stored as a sequence of bytes in a small amount of ROM and sent over a communications link when the segment is lit or switched off. Hardware such as this, if made in quantity, could be very cheap and could allow for mobility of much more than just a conventional desktop. If built into television sets, VNC viewers could allow them to act as displays for a very wide range of devicesâ€including, of course, the PC at the office.
Frequently Asked Questions (FAQ).htm
Cheapskate Guide to VNC.htm
I express my sincere thanks to Prof. M.N Agnisarman Namboothiri (Head of the Department, Computer Science and Engineering, MESCE), Mr. Zainul Abid (Staff incharge) for their kind co-operation for presenting the seminar and presentation.
I also extend my sincere thanks to all other members of the faculty of Computer Science and Engineering Department and my friends for their co-operation and encouragement.
1. INTRODUCTION 1
2. VIRTUAL NETWORK COMPUTING 2
3. GETTING STARTED WITH VNC 3
4. FEATURES 12
5. LIMITATIONS 13
6. ADVANCE FEATURES 13
7. APPLICATIONS 19
8. FUTURE WORK 20
9. BIBLIOGRAPHY 20
Use Search at http://topicideas.net/search.php wisely To Get Information About Project Topic and Seminar ideas with report/source code along pdf and ppt presenaion
project report tiger|
Active In SP
Joined: Feb 2010
12-02-2010, 11:52 AM
Virtual network computing.doc (Size: 242.5 KB / Downloads: 241)
VIRTUAL NETWORK COMPUTING
"Virtual Network Computing" is an application that is mainly intended for initiating and controlling remote desktop with in a network. The application also provides a facility to view and control the remote applications. Normally applications on a network can be accessed and executed by users as per the permissions assigned by the administrator. But unable to access the desktop. The "VNC" one such application that tries to provide facilities to initiate specific applications on a remote machine to be executed.
The purpose of the VNC is to view the desktop, the processes and the services that are running on a remote system on the network without being physically present there. The "VNC" consists of mainly two modules.
Â¢ Te Remote Host(Server)
Â¢ The User(Client) Remote host:
The Remote Host is the server, which could be any machine on a network. This machine is the one, which the user wants to retrieve. It runs the server module and opens a TCP/IP connection. The server machine will be polling at this socket connection looking for the client to connect. The User:
User, the client module, requests for a connection. When the connection is established the remote desktop is displayed at the client module interface, we can access and control the remote machines desktop from here.
Virtual network computing
"Virtual Network Computing" is a technology for remote desktop sharing. VNC was created as an open source research project and implimentation in the late 1990s. Since that time, several mainstream remote desktop solutions have been created based on VNC. The original development team produces the RealVNC package. Other popular derivatives include Ultra VNC and TightVNC. VNC works similarly to the Remote Desktop application built into newer versions of Microsoft Windows. Unlike Windows Remote Desktop, VNC runs on older Windows computers, Linux/Unix and other non-Windows operating systems. VNC applications, however, are generally regarded as slower and offering fewer features and security options than Windows Remote Desktop. VIRTUAL NETWORK COMPUTING:
"Virtual Network Computing" is a tool to access another system's desktop at your machine. The Server module runs on the Remote machine and the Client module runs at your machine. This tool helps to invoke the application at desktop of Remote machine using the interface at your machine. The tool has feature of providing the color mode to view the desktop at different color setting. In order to provide the quick data transfer rate to the client machine the data send from the Remote Server machine is compressed. Remote Desktop Viewer and controller System is mainly intended for those scenarios, which runs on a client/server, Internet and Intranet worked environment.
The tool is implemented using TCP/IP network protocol, the server on the remote host machine initiate the connection, and waits for the Client request. The client machines specify the remote host address. When the connection is established the Client gets the View of the Remote host desktop. The activities at the remote machine are refreshed at the client at regular intervals. The information send over the network is compressed to enable quick data transfer. For this the Client can select various compression modes. This includes the Huffman's algorithm for data compression.
VNC stands for Virtual Network Computing. It is remote control software which allows you to view and interact with one computer (the "server") using a simple program (the "viewer") on another computer anywhere on the Internet. The two computers don't even have to be the same type, so for example you can use VNC to view an office Linux machine on your Windows PC at home. VNC is freely and publicly available and is in widespread active use by millions throughout industry, academia and privately.
2. How can I use VNC?
Remote control software such as VNC has a variety of uses. It allows a person at a remote computer to assume control of another computer across a network, as if they were sitting in front of the other computer. For the individual user, one common scenario is using VNC to help troubleshoot the computer of a distant less-technically-savvy relative.Sitting at your desk in Baltimore, you could use VNC to take control of your mother's PC in London and show her how to install and use some new software package by actually doing it yourself.
For the business user, VNC can be used to provide a flexible hot-desking and road-warrior environment by allowing employees to access their office desktop and server machines from any machine in the company's offices or from other remote sites, regardless of the type of computers involved at either end. A popular business application of VNC is in remote system administration, where VNC is used to allow administrators to take control of employee machines to diagnose and fix problems, or to access and administer server machines without making a trip to the console.
VNC can also be used in educational contexts, for example to allow a distributed group of students simultaneously to view a computer screen being manipulated by an instructor, or to allow the instructor to take control of the students' computers to provide assistance .The variety of uses of VNC is really as diverse as the number of VNC users, a number which is big and growing all the time
What makes VNC different from other systems?
VNC differs from other remote display systems in three crucial ways:
Â¢ It is fully cross-platform. A desktop running on a Linux machine may be displayed on a Windows PC, any number of other architectures.
Â¢ There is. a Java viewer so that any desktop can be viewed with any Java-capable browser. There is a Windows server, allowing you to view the desktop of a remote Windows machine on any of these platforms using exactly the same viewer. The simplicity of the protocol makes it easy to port to new platforms and therefore ported VNC to a huge variety of platforms.
Â¢ It is small and simple.The Windows viewer is about 150K in size.The entire Java viewer is substantially less than 100K. and takes less time to download than the images on some web pages.
Virtual network computing
VNC consists of two components. A server, which runs on the computer you want to remotely access, and a viewer, which runs on the computer you are sitting in front of. There are two important features of VNC:
Â¢ The server and the viewer may be on different machines and on types of computer. The protocol which connects the server and viewer is simple, open, and platform independent.
Â¢ No state is stored at the viewer. Breaking the viewer's connection to the server and then reconnecting will not result in any loss of data. Because the connection can be remade from somewhere else, you have easy mobility.
So to get started with VNC you need to run a server, and then connect to it with a viewer. Networking:
VNC software requires a TCP/IP connection between the server and the viewer. This is the standard networking protocol on LANs, WANs, broadband and dialup ISP. Each computer has a unique IP address and may also have a name in the DNS. You will need to know the IP address or name of the server when you connect a viewer to it. Sometimes the IP address is fixed, and sometimes it is issued to you dynamically by your ISP. If it is allocated dynamically, you might consider using a third party DNS management service.
The VNC Protocol:
The VNC protocol is a simple protocol for remote access to graphical user interfaces. It is based on the concept of a remote framebuffer or RFB. In the past we have tended to refer to the VNC protocol as the RFB protocol, so you may have seen this term in other publications. The protocol simply allows a server to update the framebuffer displayed on a viewer. Because it works at the framebuffer level it is potentially applicable to all operating systems, windowing systems and applications. This includes X/Unix, Windows, and Macintosh, but might also include PDAs, and indeed any device with some form of communications link. The protocol will operate over any reliable transport such as TCP/IP.
This is truly a "thin-client" protocol: it has been designed to make very few
requirements of the viewer. In this way, clients can run on the widest range of hardware, and the task of implementing a client is made as simple as possible.
The display side of the protocol is based around a single graphics primitive: "put a rectangle of pixel data at a given x, y position". This might seem an inefficient way of drawing arbitrary user interface components. But because we have a variety of different encoding schemes for the pixel data, we can select the appropriate scheme for each rectangle we send, and make the most of network bandwidth, client drawing speed and server processing speed.
The lowest common denominator is the so-called raw encoding, where the
rectangle is simply pixel data sent in left-to-right scan line order. All clients and servers must support this encoding. However, the encodings actually used on any given VNC connection can be negotiated according to the abilities of the server, the client, and the connection between the two.
The copy rectangle encoding, for example, is very simple and efficient and can be
used when the client already has the same pixel data elsewhere in its frame buffer. The server simply sends an X, Y coordinate giving the position from which the client can copy the rectangle of pixel data. This means that operations such as dragging or scrolling a window, which involve substantial changes to the screen, may only require a few bytes. Most clients will support this encoding, since it is generally simple to implement and saves bandwidth.
A typical workstation desktop has large areas of solid colour and of text. Some of our most effective encodings take advantage of this by efficiently describing rectangles consisting of one majority (background) colour and 'sub-rectangles' of different colours. There are numerous other
Virtual network computing
possible schemes. We
might use a JPEG encoding for still images or MPEG for efficient transmission of moving images. An encoding which uses some kind of caching of pixel data would be good for rendering text, where the same character is drawn in the same font multiple times. Subsequent occurrences of the same character would be encoded simply by reference to the first occurrence.
Adaptive update protocol:
A sequence of these rectangles makes a framebuffer update (or simply update). An update represents a change from one valid framebuffer state to another, so in some ways is similar to a frame of video, but it is usually only a small area of the framebuffer that will be affected by a given update. Each rectangle may be encoded using a different scheme. The server can therefore choose the best encoding for the particular screen content being transmitted and the network bandwidth available.
The update protocol is demand-driven by the client. That is, an update is only sent by the server in response to an explicit request from the client. This gives the protocol an adaptive quality. The slower the client and the network are, the lower the rate of updates becomes. Each update incorporates all the changes to the 'screen' since the last client request. With a slow client and/or network, transient states of the framebuffer are ignored, resulting in reduced network traffic and less drawing for the client. This also improves the apparent response speed.
The input side of the protocol is based on a standard workstation model of a keyboard and multi-button pointing device. Input events are sent to the server by the client whenever the user presses a key or pointer button, or whenever the pointing device is moved. These input events can also be synthesized from other non-standard I/O devices.
Connection Setup and Shutdown:
When the connection between a client and a server is first established, the server begins by requesting authentication from the client using a challenge-response scheme, which typically results in the user being prompted for a password at the client end. The server and client then exchange messages to negotiate desktop size, pixel format, and the encoding schemes to be used. The client then requests an update for the entire screen, and the session begins. Because of the stateless
Virtual network computing
nature of the client, either side can close the connection at any time without adverse consequences.
Writing a VNC viewer is a simple task, as it should be for any thin-client system. It requires only a reliable transport (usually TCP/IP), and a way of displaying pixels (either directly writing to the framebuffer, or going through a windowing system). VNC clients exist for all flavors of UNIX, Windows, Macintosh, and Java and for smaller handheld appliances.
Writing a VNC server is slightly harder than writing a client for a number of reasons. The protocol is designed to make the client as simple as possible, so it is usually up to the server to perform any necessary translations. For example, the server must provide pixel data in the format the client wants. There are servers UNIX, Windows and Macintosh platforms A Unix machine can run a number of Xvnc servers for different users, each of which represents a distinct VNC desktop. Each VNC desktop is like a virtual X display, with a root window on which several X applications can be displayed.
The Windows server (WinVNC) is a little more difficult to create, because there are fewer places to insert hooks into the system to monitor display updates, and a less clearly-defined model of multi-user operation. Servers simply mirror the real display to a remote client, which means that the server is not 'multi-user'. It does, however, provide the primary user of a PC with remote access to their desktop.
Running a Windows server:
Installing the Windows server, WinVNC, should create a RealVNC group in your Start... menu. Run the VNC server.
If this is the first time you've used a VNC server on this machine you'll be prompted to set a password, which you'll need when you connect to the machine from a remote location. A small icon will appear in the system tray, and by right-clicking on this you can control most aspects of the server.
Add New Client Disconnect Clients;
Close VNC Server About...
The IP address of the computer running the VNC server can be found by hovering over the tray icon in the system tray. Unless this computer has a DNS name, you will need to specify this number to the viewer when you connect.
VNC Server (Service):192.168.0.103,172.16.76.1,172.16.209.1
You can now go to another machine and connect a viewer to the server.
Running a viewer:
You can run the Windows viewer the RealVNC group on the Start... menu.
In this case, you will be prompted for the host name (VNC server name) and display number:
VNC Viewer : Connection Details
Server: | my host, mydomain. cor~ ~~*\
Encryption: [Always Off I Options...
Enter it and click OK, and you will be prompted for your password, after which you should see the remote display. If you are connecting to a Windows or Mac server, the display number will be 0 unless you have explicitly changed it, and can be omitted. You can run the viewer on Unix and Windows by typing at the command line: vncviewer snoopy: 2
You need to specify the name of the VNC server and the number of the desktop. If, for example, you have started a server as display 2 on a machine called 'snoopy'. Remember that if you are connecting to a Windows or Mac server, the display number will be 0 unless you have explicitly changed it, and can be omitted. If the machine running the server does not have a DNS entry, you probably won't be able to use the name and will have to replace snoopy with its IP address, for example something that looks like 123. 456. 78. 9.
5. DATA FLOW DIAGRAM:
Fig: Level One DFD -Client Side
Compress Desktop Compressed data
Fig: Level One DFD -Server Side
VNC is a very impressive product, especially considering that it's free. Quite apart from that, its main advantage over its commercial competitors is that it is open source, so anyone with programming skills can contribute towards it and so make it an even better, more flexible product. Even in its current form, its remote control applications are almost limitless, and it wills no doubt find many uses and supporters in a typical support environment. Definitely a program to try out and evaluate for yourself. It is sharable. One desktop can be displayed and used by several viewers at once, allowing CSCW-style applications
With the VNC Proxy and guaranteeing QoS between the VNC server and VNC proxy, we achieved a higher number of screen updates on the VNC viewer. This clearly reflects the response-veness to user interactions on thin-client devices. Thus, making ultra-thin client systems more usable for mobile networking.
The developed system is flexible and changes can be made easily. The system is done with an insight into the necessary modifications that may be required in the future. Hence, the system can be maintained successfully without much rework.
VNC uses a random challenge-response system to provide the basic authentication that allows you to connect to a VNC server. This is reasonably secure; the password is not sent over the network. Once you are connected, however, traffic between the viewer and the server is unencrypted, and could be snooped by someone with access to the intervening network. Therefore recommend that if security is important to you, you 'tunnel' the VNC protocol through some more secure channel such as SSH So we can make VNC more secure using SSH
Now the derivations for VNC are available they provide more security than real VNC. They overcome the speed limitations of VNC. In future more powerful, secure and faster
VNC will be available on the market.
2. HOW CAN IUSEVNC?
5. DATAFLOW DIAGRAM
7. FUTURE ENHANCEMENT
project report maker|
Active In SP
Joined: Jul 2010
05-07-2010, 05:22 PM
vnc presentation.ppt (Size: 310 KB / Downloads: 356)
please read topicideashow-to-virtual-network-computing-or-vnc for getting a good abstract of virtual network computing or VNC
Use Search at http://topicideas.net/search.php wisely To Get Information About Project Topic and Seminar ideas with report/source code along pdf and ppt presenaion
Active In SP
Joined: Feb 2011
31-03-2011, 03:51 PM
vnc.ppt (Size: 454.5 KB / Downloads: 130)
SEMINAR ON VIRTUAL NETWORK COMPUTING
Virtual Network Computing
Remote Desktop Protocol
Virtual Private Network
Virtual Network Computing
VNC was created at the Oracle Research Lab.
Name originated from ATM network Computer called video tile.
The VNC server is a program on machine that shares its screen.
The VNC client is a program that watches and interacts with server.
The VNC protocol is very simple, based on one graphic primitive.
By default not a secure protocol
Brute force cracking used
Tunneling adds extra security with encryption
Open source encryption- encrypts VNC including password & authentication
Comparison of VNC s/w
Remote Desktop Protocol
Multichannel protocol allowing user to connect to different computer
RDP version 4 introduced in windows NT server and terminal server edition
Version 5.0 introduced in windows server 2000 to improve network bandwidth usage
Latest version 6 introduced with “longhorn” able
to remotely access single application instead of entire desktop and support 32 bit color.
24-bit color support,124 bit encryption
Transport layer security support
Audio allows users to run an audio program on the remote desktop and have the sound redirected to their local computer
The clipboard can be shared between the remote computer and the local computer.
Clients compatible with the Remote Desktop Protocol run on a number of different operating systems
Users do not, however, need a broadband connection to access their desktop, as even a 56K modem provides enough speed to provide 5-6 screen refreshes per second.
Synergy is a open source computer program for sharing a keyboard and mouse between multiple computers. It is used in situations where you have several PCs, with a monitor connected to each, but only want to have one keyboard and mouse on the desk
Once the program is installed, users can move the mouse "off" the side of their desktop on one computer, and the mouse-pointer will appear on the desktop of another computer.
Virtual private network VPN
Private network to communicate confidentially over a public network
Can send data, video or combination of both of these medias across secured and encrypted and private channels between these two points
Improve security where data lines have not been ciphered
Reduce operational costs versus traditional WAN
Provide global networking opportunities
Show good economy of scale
Reduce transit time and transportation costs for the remote users
Provide broadband networking compatibility
Tunneling is the transmission of data through a public network in such a way that routing nodes in the public network are unaware that the transmission is part of a private network.
Authentication (access control) - Authentication is the process of ensuring that a user or system is who the user claims to be.
VNC is a free networking application offering remote control or viewing of applications running on remote computers
Ability to run your office PC from your home computer over a dialup connection to any ISP
It is definitely worth a look for people who cannot finish their computer-based work within the eight-hour day.
smart paper boy|
Active In SP
Joined: Jun 2011
02-08-2011, 03:29 PM
VNC_Lecture.ppt (Size: 189 KB / Downloads: 160)
Virtual Network Computing
Freedom to choose your favorite computing environment
And still have access to the more powerful UNIX system
Remote access is made possible to the major platforms
You want to work at home, but you forgot that one critical file at school on the…
Reinforces the concepts of client/server software
Concept foreign to most PC/MAC users
Price is right
Where to get VNC?
AT&T Laboratories, Cambridge UK
Available for UNIX environment
Requires system administrator privileges
Already installed on the CIS machines
Available for Windows platform
Requires you to download and install on your machine
Available for Mac platform
Available for Java-enabled browsers
Limitations of VNC
VNC is network resource intensive
High Bandwidth connection = Good situation
Low Bandwidth connection = Bad situation
Filesystems are still separate between different operating systems
Transferring files still requires other mechanisms (e.g. ftp)
Access to non-Unix platforms do not have good multi-user support
PC/MAC lack general concept of several user access
Quickstart use of VNC
You should be comfortable with the client/server concepts of the X-windows environment
If not, review “Introduction to X windows”
VNC server and viewer installed on both local and remote machines
Configurations you will encounter
Local PC/MAC accessing remote UNIX system
Local UNIX system accessing remote PC/MAC
Local UNIX system accessing remote UNIX system
Installation of VNC Software
CIS Unix platforms
Already installed by system administrator
Download and install as you would other PC software
Download and install as you would other Mac software
VNC Software components
VNC has two major software components
Provides the “remote” half of the “remote control” system
Communicates interactions from the remote machine to the local machine
Exports the view of the remote “deskstop” screen environment to a local machine
Imports keyboard and mouse inputs from local machine to remote machine
Provides the “local” half of the “remote control” system
Communicates interactions between local machine to the remote machine
Imports the view of the remote “deskstop” screen environment to the local machine
Exports keyboard and mouse inputs from local machine to remote machine
Local PC/Mac Accessing Remote CIS SUN UNIX System
Assumes you have a UNIX account on CIS system
Assumes you have downloaded and installed VNC on your local PC/Mac
Use “telnet” to login to a SUN UNIX system
% telnet armstrong.cis.rit.edu
Make sure remote machine is a SUN platform
% uname -a
SunOS armstrong 5.7 ...
PC/MAC accessing UNIX(starting server for the first time)
Start the server software on the UNIX side for the first time will ask you for a password
This password does not need to be the same as your UNIX password
This password is used only during authentication when you connect using VNC
You can change this password using
PC/MAC accessing UNIX(starting the server)
Start the server software on the UNIX side
New 'X' desktop is armstrong:1
Starting app... in ~rvrpci/.vnc/xstartup
Log file is ~rvrpci/.vnc/armstrong:1.log
PC/MAC accessing UNIX(meaning of server messages)
Name of exported “virtual desktop window” is armstrong:1
New 'X' desktop is armstrong:1
The specific X-window manager and associated startup applications is specified by the file below (view using text editor)
Starting app... in ~rvrpci/.vnc/xstartup
Any informational or error messages are logged in the file below (view using text editor)
Log file is ~rvrpci/.vnc/armstrong:1.log
PC/MAC access UNIX(start the viewer)
Invoke “vncviewer” application
Double click on vncviewer icon or
You will be prompted for a remote host name to control
You will be prompted for a VNC password
If successful, you should get a window with a view
PC/MAC accessing UNIX(windows with a view)
PC/MAC accessing UNIX(shutting down the server)
% vncserver -kill :1
Killing Xvnc process ID 10733
Above command kills the virtual window, in this case, armstrong:1
If you do not kill the server, but kill the viewer, you can always reconnect from another viewer and pick up where you left off
Frowned upon by the system administrator if abused (SA has prerogative to kill your desktop)
UNIX accessing PC/MAC Desktop
VNC software installed on UNIX and remote PC/MAC
Owner of PC/MAC has given you VNC password
Vncserver running on PC
Enter PC/MAC VNC server name to access
Enter PC/MAC VNC password
UNIX accessing PC/MAC Desktop(X-windows with a view)
UNIX Desktop to UNIX Desktop Access
Rarely done using VNC because X-windows already provides this capability
VNC only adds overhead
VNC may be used to save desktop environments from session to session
Procedure similar to PC/MAC to UNIX desktop access
PC/MAC to PC/MAC Access
Prerequisites similar to PC/MAC to UNIX access
Be careful interfering with someone working on the remote machine
It is possible to disable remote keyboard and mouse
PC to PC access allows
Limited remote troubleshooting of PC system
Multiple viewers to “listen in” on one window
Other means of VNC access
Java-enabled browser can access any vncserver
For example, access to armstrong:1
Or access to armstrong:2
Successful connection will be followed by VNC password authentication
Browser Access to VNC server
When in doubt about vncserver under UNIX…
bean% vncserver -h
usage: vncserver [:<number>]
[-name <desktop-name>] [-depth <depth>]
vncserver -kill <X-display>
When in doubt about vncviewer under UNIX
bean% vncviewer -h
VNC viewer version 3.3.3r1
usage: vncviewer [<options>] <host>:<display#>
vncviewer [<options>] -listen [<display#>]
<options> are standard Xt options, or:
-encodings <encoding-list> (e.g. "raw copyrect")
Key VNC Options to consider
% vncserver -depth 24
Starts up your server in 24-bit mode color mode
% vncviewer -share -viewonly
Starts up your viewer so that others can also see the server
Useful for having two or more people control the desktop
Makes sure that you can only see the desktop and not control it
Particularly useful in a group environment when you want only one person to “drive”
Other VNC considerations
Cutting and pasting text information
Supported between remote and local windows
Provides a foundation for CSCW
Computer Supported Cooperative Work
Source code freely available
Other platforms are actively being included
VNC performance can be an issue, but
Beats driving through the snow to school to pick up that one #@$%^ data file
Active In SP
Joined: Nov 2011
13-11-2011, 03:35 AM
Joined: Jul 2011
14-11-2011, 09:58 AM
to get information about the topic"virtual network computing"refer the link bellow