
フロントエンドプロセッサ( FEP ) または通信プロセッサは、ホストコンピュータ、SNAなどのネットワーク、または端末、ディスク ユニット、プリンタ、テープユニットなどの周辺機器とインターフェースする小型コンピュータです。データは、高速パラレル インターフェースを使用してホストコンピュータとフロントエンドプロセッサ間で転送されます。フロントエンドプロセッサは、通常、通信ネットワークを介して、より低速のシリアル インターフェースを使用して周辺機器と通信します。その目的は、周辺機器の管理、メッセージの送受信、パケットの組み立てと分解、エラー検出、エラー訂正の作業をホストコンピュータからオフロードすることです。[ 1 ]例としては、IBM 3705 通信コントローラとBurroughsデータ通信プロセッサがあります。
FEPは通信コントローラと同義語として使われることもあるが、後者は必ずしもFEPほど柔軟性が高いとは限らない。IBM 270xシリーズのような初期の通信コントローラは有線接続だったが、後の機種はプログラマブルなデバイスとなった。
フロントエンドプロセッサは、非対称マルチプロセッサシステムにおいて、より一般的な意味でも使用されます。FEPは、メインプロセッサよりも入力ソースに近い位置にある処理装置(通常はコンピュータ)です。テレメトリ制御、データ収集、生センサーデータの処理、キーボード入力の解析など、様々なタスクを実行します。
フロントエンドプロセスは、クライアント/サーバーアーキテクチャにおけるユーザー(クライアント)とアプリケーションプロセス(サーバー)間のソフトウェアインターフェースに関係します。ユーザーはフロントエンドプロセスに入力(データ)を入力し、そこでデータが収集され、サーバー上の受信アプリケーション(バックエンド)が受け入れて処理できる形式に処理されます。たとえば、ユーザーがMicrosoft Internet ExplorerなどのGUI(フロントエンドプロセス)にURLを入力します。GUIは、ユーザーがWebサーバー(「バックエンド」プロセスとして知られるアプリケーションサーバー)上の目的のWebページにアクセスできるようにURLを処理します。フロントエンドプロセッサまたは通信プロセッサは、たとえば周辺機器制御の処理を別のデバイスまたはコントローラにオフロードすることにより、ホストCPUの効率的な使用に関係します。[ 2 ]
FEPは、クライアントアプリケーションとその関連ネットワークをホストコンピュータベースのアプリケーションに接続する役割を担っています。インターネットとIPが普遍的なプロトコルとして登場したことで、従来SNAトラフィックを処理していたFEP [ 3 ]はもはや不要になったとよく考えられています。FEPが直接接続のみを提供する場合(IPアドレスが変わらないと仮定した場合)には、これは正しいかもしれません。しかし、FEPはメッセージとトランザクションのスイッチング、多重化、トランザクションのセキュリティ、サービス品質保証、エンドツーエンドのトランザクション管理とレポートなど、トランザクションアプリケーションに密接に関連する他の重要な機能も実行します。これらの機能の必要性は、銀行、政府、POS、セキュリティ、ヘルスケアアプリケーションなどのミッションクリティカルなトランザクション環境で特に重要です。これらの環境では、FEPの機能はこれまで以上に必要不可欠になっています。
IBMは2003年に3745/3746通信フロントエンドプロセッサの販売を中止したが、設置済みの約2万台のフロントエンドプロセッサの保守は継続している。IBMはマイクロコード拡張機能も提供している。IBMの撤退によって生じた空白は、小規模企業が埋め、世界中でマシン、機能、部品、サービスを提供することで埋められている。