# Front-end processor

A front-end processor (FEP), or a communications processor, is a small-sized computer which interfaces to the host computer, a number of networks, such as SNA, or a number of peripheral devices, such as terminals, disk units, printers and tape units. Data is transferred between the host computer and the front-end processor using a high-speed parallel interface. The front-end processor communicates with peripheral devices using slower serial interfaces, usually also through communication networks. The purpose is to off-load from the host computer the work of managing the peripheral devices, transmitting and receiving messages, packet assembly and disassembly, error detection, and error correction. Two examples are the IBM 3705 Communications Controller and the Burroughs Data Communications Processor.
Sometimes FEP is synonymous with a communications controller, although the latter is not necessarily as flexible. Early communications controllers such as the IBM 270x series were hard wired, but later units were programmable devices.
Front-end processor is also used in a more general sense in asymmetric multi-processor systems. The FEP is a processing device (usually a computer) which is closer to the input source than is the main processor. It performs some task such as telemetry control, data collection, reduction of raw sensor data, analysis of keyboard input, etc.
Front-end processes relates to the software interface between the user (client) and the application processes (server) in the client/server architecture. The user enters input (data) into the front-end process where it is collected and processed in such a way that it conforms to what the receiving application (back end) on the server can accept and process. As an example, the user enters a URL into a GUI (front-end process) such as Microsoft Internet Explorer. The GUI then processes the URL in such a way that the user is able to reach or access the intended web pages on the web server (application server known as the “back end” process). Front-end processors or communications processors relates to efficient use of the host CPU by off-loading processing for peripheral control, as an example, to another device or controller.

## IP networking

FEPs are responsible for linking client applications and their associated networks to host computer based applications. With the advent of the Internet and of IP as a universal protocol, it is often assumed that there is no longer any need for FEPs, which traditionally handled SNA traffic. This may be true where FEPs provide only straight connectivity (and assuming IP address never changes). However, FEPs also perform other vital functions, that are closely linked to transaction applications, including message and transaction switching, multiplexing, transaction security, quality of service guarantors, and end-to-end transaction management and reporting. The need for these functions is especially important in mission-critical transaction environments such as banking, government, point-of-sale, security, and healthcare applications. In these environments, FEP functionality is more necessary than ever before.
Although the IBM Corporation withdrew its 3745/3746 Communications Front End Processors from marketing in 2003, the company continues to maintain the estimated 20,000 installed front-end processors. IBM also provides microcode enhancement features. Smaller companies have filled the void created by IBM's action, providing machines, features, parts and services worldwide.