Terminal emulations simulate terminals of other, usually remote, computers. They provide an interface for data input and control of a remote computer. Remote software is also used to control a remote computer. Mostly, these are programs that run on a PC, for example, and simulate or emulate the input screen or terminal via a textual input window. There are many different terminal emulations, including e.g. IBM 5250, IBM 3270, BS2000, VT52, VT100 and VT220. Terminal emulation is used, among other things, when users work on the move and want to access mainframes. However, due to the system, mobile terminals are not always online (e.g. empty battery, wireless hole, device switched off, etc.), so a special proxy server should keep the session open in case the connection is lost.