Remote Desktop Software
Remote desktop software is software which allows graphical applications to be run remotely on a server, while being displayed locally. The remote desktop software consists of two separate computer programs, a "host version" that is installed on the computer to be controlled, and a "client version" that is installed on the controlling computer.
Remote desktop software can be divided into two categories. The first group doesn't have a centralized server -- host version software and client version software finds each other directly. Examples of this type of software include Microsoft Remote Desktop Connection and software use the VNC protocol. When host version software and client version software sit in the same network they work pretty well. However, in the scenario client version software and host version software sit in different networks, for example, a home network and a corporate network, setting up the connection could be tricky.
The second group of remote desktop software uses a centralized server to track active peers. When host version software starts, it signs in to the centralized server; the centralized server will assign a temporary ID to the machine. By providing the temporary ID to the centralized server, client version software gets necessary information of the machine it tries to connect. Host version software and client version software then try to connect to each other, either directly or through the centralized server. Examples of this type of software include GoToMyPC and TeamViewer. Typically this type of software provides great functionality to bypass firewalls.
Remote desktop software is made to increase computer users' productivity. However, misusing the software could bring up security issues. Therefore some companies have policies that disallow the usage of remote desktop software from external networks.