The application layer contains a variety of protocols that are commonly needed. For example, there are hundreds of incompatible Computer
types in the world. Consider the plight of a full screen editor that is supposed to work over a network with many different
Computer types, each with different screen layouts, escape sequences for adding and deleting text, moving the mouse,
One way to solve this problem is to set up a standered network that everyone uses. To handle each computer type, a
piece of software must be written to map the functions of the network virtual computer onto the real computer. For example,
when the editor moves the virtual computer's cursor to the upper left-hand corner of the screen, this software must issue
the proper command sequence to the real computer to get its cursor there too. All the virtual computer software
is in the application layer.
Another application layer function is file transfer. Different file systems have different file naming instructions, different
ways of showing text lines, and so on. Transferring (or sending) a file between two different computer systems requires
handling these and other differences. This work, too, belongs to the application layer, as do electronic mail, remote job
entry, directory lookup, and various other general-purpose and special-purpose facilities.