ネットワークに接続するノード装置であって、複数のパケット処理部と、スイッチを通じて前記複数のパケット処理部に接続し、各パケットとこれを処理可能なパケット処理部の情報とを対応づけるための対応付け情報を格納し、前記対応付け情報において第1のパケット処理部の情報に対応付けられたパケットを前記第1のパケット処理部に転送するインタフェース部と、前記第1のパケット処理部が閾値以上の負荷であると判定される場合に、前記対応付け情報において前記第1のパケット処理部で処理可能なパケットを第2のパケット処理部の情報にも対応付けるよう前記対応付け情報を更新する制御部と、を備え、前記インタフェース部は、前記更新された対応付け情報において前記第2のパケット処理部の情報に対応付けられたパケットを前記第2のパケット処理部に転送することを特徴とするノード装置。前記インタフェース部は、各パケットに含まれるべき識別子ごとに前記対応付け情報を備え、前記インタフェース部は、第1の識別子を含むパケットを、前記第1の識別子に関する対応付け情報において対応付けられた前記第1のパケット処理部に転送し、前記制御部は、前記第1の識別子を含むパケットを前記第2のパケット処理部の情報にも対応付けるよう前記第1の識別子に関する対応付け情報を更新し、前記インタフェース部は、前記第1の識別子を含むパケットを前記第2のパケット処理部に転送することを特徴とする請求項1に記載のノード装置。前記第1のパケット処理部は、前記第1の識別子を含むパケットを処理する第1のプログラムを備え、前記制御部は、前記第1のパケット処理部が前記閾値以上の負荷である場合に、前記第1のプログラムを前記第2のパケット処理部にロードし、前記第2のパケット処理部は、前記第1の識別子を含むパケットを前記第1のプログラムによって処理することを特徴とする請求項2に記載のノード装置。前記制御部は、前記第1のプログラムを前記第2のパケット処理部にロードする場合に、前記第2のパケット処理部から第2のプログラムを削除し、前記第2のプログラムが処理するパケットに含まれる第2の識別子に関する対応付け情報において、前記第2のパケット処理部の情報を削除することを特徴とする請求項3に記載のノード装置。前記制御部は、前記インタフェース部が有する前記対応付け情報と同じ対応付け情報を格納することを特徴とする請求項1に記載のノード装置。各パケット処理部は、その負荷の情報を前記インタフェース部に送り、前記インタフェース部は、前記負荷の情報を格納する負荷テーブルを備えることを特徴とする請求項1に記載のノード装置。前記負荷の情報は、各パケット処理部の各キューに溜まったパケットの数であることを特徴とする請求項6に記載のノード装置。ネットワークに接続するノード装置と、前記ノード装置に対して少なくとも第1のプログラムを格納するよう指示する管理装置と、を備えたシステムであって、前記ノード装置は、複数のパケット処理部と、スイッチを通じて前記複数のパケット処理部に接続し、各パケットとこれを処理可能なパケット処理部の情報とを対応づけるための対応付け情報を格納し、前記対応付け情報において第1のパケット処理部の情報に対応付けられたパケットを前記第1のプログラムによって処理するよう前記第1のパケット処理部に転送するインタフェース部と、前記第1のパケット処理部が閾値以上の負荷であると判定される場合に、前記対応付け情報において前記第1のパケット処理部で処理可能なパケットを第2のパケット処理部の情報にも対応付けるよう前記対応付け情報を更新する制御部と、を備え、前記制御部は、前記第1のプログラムを前記第2のパケット処理部にロードし、前記インタフェース部は、前記更新された対応付け情報において前記第2のパケット処理部の情報に対応付けられたパケットを前記第2のパケット処理部に転送することを特徴とするシステム。前記インタフェース部は、各パケットに含まれるべき識別子ごとに前記対応付け情報を備え、前記インタフェース部は、第1の識別子を含むパケットを、前記第1の識別子に関する対応付け情報において対応付けられた前記第1のパケット処理部に転送し、前記制御部は、前記第1の識別子を含むパケットを前記第2のパケット処理部の情報にも対応付けるよう前記第1の識別子に関する対応付け情報を更新し、前記インタフェース部は、前記第1の識別子を含むパケットを前記第2のパケット処理部に転送することを特徴とすることを特徴とする請求項8に記載のシステム。前記制御部は、前記第1のプログラムを前記第2のパケット処理部にロードする場合に、前記第2のパケット処理部から第2のプログラムを削除し、前記第2のプログラムが処理するパケットに含まれる第2の識別子に関する対応付け情報において、前記第2のパケット処理部の情報を削除することを特徴とする請求項9に記載のシステム。前記制御部は、前記インタフェース部が有する前記対応付け情報と同じ対応付け情報を格納することを特徴とする請求項8に記載のシステム。各パケット処理部は、その負荷の情報を前記インタフェース部に送り、前記インタフェース部は、前記負荷の情報を格納する負荷テーブルを備えることを特徴とする請求項8に記載のシステム。前記負荷の情報は、各パケット処理部の各キューに溜まったパケットの数であることを特徴とする請求項12に記載のシステム。ネットワークに接続するノード装置において実行されるパケット処理方法であって、前記ノード装置は、複数のパケット処理部と、スイッチを通じて前記複数のパケット処理部に接続し、各パケットとこれを処理可能なパケット処理部の情報とを対応づけるための対応付け情報を格納するインタフェース部と、を有し、前記パケット処理方法は、前記対応付け情報において第1のパケット処理部の情報に対応付けられたパケットを前記第1のパケット処理部に転送するステップと、前記第1のパケット処理部が閾値以上の負荷であると判定される場合に、前記対応付け情報において前記第1のパケット処理部で処理可能なパケットを第2のパケット処理部の情報にも対応付けるよう前記対応付け情報を更新するステップと、前記更新された対応付け情報において前記第2のパケット処理部の情報に対応付けられたパケットを前記第2のパケット処理部に転送するステップと、を含むことを特徴とするパケット処理方法。しかし、特許文献1の従来技術のようにサービスごとにプロセッサは固定的に割り当てられる場合、時刻によってはプロセッサごとの負荷に片寄りが大きくなってプロセッサを効率的に使用することができなくなる。また、サービスごとの負荷予測が困難な場合、特許文献2の技術の適用が困難になる。さらに、特許文献2の技術において、負荷分散しながら高速処理ができない可能性がある。本発明の目的は、パケット処理の負荷が動的に変化し予測困難な状況においても、柔軟な負荷分散ができ、かつ、パケットの高速処理ができるノード装置を提供することである。本発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークに接続するノード装置であって、複数のパケット処理部と、スイッチを通じて前記複数のパケット処理部に接続し、各パケットとこれを処理可能なパケット処理部の情報とを対応づけるための対応付け情報を格納し、前記対応付け情報において第1のパケット処理部の情報に対応付けられたパケットを前記第1のパケット処理部に転送するインタフェース部と、前記第1のパケット処理部が閾値以上の高負荷であると判定される場合に、前記対応付け情報において前記第1のパケット処理部で処理可能なパケットを第2のパケット処理部の情報にも対応付けるよう前記対応付け情報を更新する制御部と、を備え、前記インタフェース部は、前記更新された対応付け情報において前記第2のパケット処理部の情報に対応付けられたパケットを前記第2のパケット処理部に転送することを特徴とするノード装置である。本発明の実施形態によると、ノード装置は、パケットを処理するパケット処理部の数を動的に増減させることによって柔軟な負荷分散ができる。また、インタフェース部が、パケットとこれを処理可能なパケット処理部の情報とを対応づけるための対応付け情報を有しているため、高速にパケット処理部にパケットが振り分けられパケットの高速処理が可能になる。図1は、ネットワークシステム全体の構成の一例を概略的に示す。ネットワークシステムは、ネットワーク10全体を管理するネットワーク管理装置12例えば、管理用コンピュータサーバと、ネットワークに含まれる複数のノード装置14、15、端末16、17等を備える。図2は、ある一つのノード装置としてのパケットストリーム処理装置101の全体構成を示す。パケットストリーム処理装置101は、複数のパケット処理ボードPPB111と、少なくとも一つのネットワークインタフェースNIF151と、制御ボードCB141と、それらを接続するスイッチファブリック181単にスイッチとも呼ぶとによって構成される。パケット処理ボード、ネットワークインタフェース、制御ボードは、それぞれパケット処理部、インタフェース部又はインタフェース、制御部と呼ばれてもよい。パケットストリーム処理装置101は、インタフェース151によって、ネットワークに接続する。なお、制御ボード141は、本実施形態においてパケットストリーム処理装置101に内蔵されているが、パケットストリーム処理装置101の外部のサーバ等の内部に存在してもよい。パケットストリーム処理装置101は、N個のパケット処理ボード111およびM個のインタフェース151を備える。ただし、図2は、N個のパケット処理ボード111のうち3個のみを、パケット処理ボード111A、111Bおよび111Cとして示し、M個のインタフェース151のうち3個のみを、インタフェース151A、151Bおよび151Cとして示す。本実施形態において、パケット処理ボード111A、111B、111Cのいずれにも共通する説明をする場合、これらを総称してパケット処理ボード111とも記載する。同様に、インタフェース151A、151B、151Cのいずれにも共通する説明をする場合、これらを総称してインタフェース151とも記載する。制御ボード141はコンピュータであり、CPU中央演算処理装置142とメモリ143とを備える。メモリ143は、CPU142が実行するプログラムであるプログラムローダ144と負荷テーブル145、プログラムテーブル146、プログラム格納部プログラムストア147を含む。プログラムローダ144は、プログラム格納部147に格納されたプログラムP0、P1、...、Pmをパケット処理ボード111のメモリ後述のDRAM113にロードする。プログラムローダ144は、プログラム格納部147に格納されたURLUniformResourceLocatorに存在するプログラムP0、P1、...、Pmをパケット処理ボード111のメモリDRAM113にロードしてもよい。CPU142を使用してプログラムローダ144が行う処理は、図6、図7、図8を参照して後で詳述される。図3は、パケット処理ボードPPB111111A、111B、111Cの構成を示す。例えば、パケット処理ボード111は、パケット処理として、パケットのヘッダに記録されたプロトコルの情報を変更するなどのヘッダ処理を行う。本実施形態において、図2の制御ボード141の負荷テーブル145は、各パケット処理ボード111に関する負荷の情報、即ち負荷の指標となる指標値を格納する。負荷は、キュー単位、パケット処理ボード単位、処理するプログラムの単位などで表現してよい。例えば、負荷の指標値は、キュー単位として、入力キュー114a、114bに蓄積されたパケット数、パケット処理ボード単位として、全入力キューに流入または全出力キューから流出するデータ量バイト数またはパケット数、プログラムの単位として、パケット処理ボード111のCPU時間プログラム実行時間で表されてよい。また、負荷の指標値は、これらのパラメータパケット数、データ量、CPU時間を組み合わせた値特に、これらのパラメータに関して単調増加な関数値で表されてよい。本実施形態において、負荷テーブルは、各パケット処理ボード111が有する各入力キュー114a、114bの負荷の情報を格納する。なお、以後、パケット処理ボード111が有する入力キューは、PPBキューと呼ばれることがある。図3では、パケット処理ボード111のPPBキュー入力キューの負荷QLENは、PPBキューに溜まったパケットパケットのヘッダ或いはディスクリプタでもよいの数で表される。PPBキュー114aの負荷即ちパケット数は4であり、PPBキュー114bの負荷即ちパケット数は2である。なお、前述のように負荷テーブル145が各パケット処理ボード111の単位で負荷を格納してもよい。図2と図3において、i番目のパケット処理ボード111のPPBキューの識別子QIDは、Qi0、Qi1、、QiL-1Lは、パケット処理ボード111内のPPBキューの個数で示されている。負荷テーブル145は、各パケット処理ボード111の各PPBキューの負荷をPPBキューの識別子QIDに対応づけて記録する。なお、パケット処理ボード111のPPBキューが一つしかない場合には、PPBキューの識別子QIDはパケット処理ボード111の識別子にもなる。負荷テーブル145の内容は、各パケット処理ボード111からの定期または不定期の通知によって更新される。または、制御ボード141が、定期的に各パケット処理ボード111に負荷を問い合わせて負荷テーブル145の内容を更新してよい。即ち、各パケット処理ボード111が、自律的に、つまり、内蔵するタイマーが一定時間進んだ際に、または、各パケット処理ボード111における特定の処理が開始または終了する際に、各パケット処理ボード111の負荷の指標値を観測して制御ボード141に、その値を含むパケットを送信する。または、制御ボード141は、各パケット処理ボード111に問い合わせ情報を含むパケットを送信して、それに応答して各パケット処理ボード111が負荷の指標値を観測して制御ボード141にその値を含むパケットを送信する。プログラム管理テーブル146は、パケットのヘッダの特定フィールドにふくまれる値である識別子SIDと、そのSIDを有するパケットを処理するプログラムの識別子PIDと、そのプログラムに関連づけられたパケット処理ボード111のPPBキューの情報キューリストQAVAILとの組合せを格納する。識別子SIDは、パケットの種類を示す識別子であり、本実施形態では、パケットが受けるべきサービスを特定するサービス識別子である。図2のプログラム管理テーブル146において、0番目のキューリストをQAVAIL0、1番目のキューリストをQAVAIL1、k番目のキューリストをQAVAILkとする。プログラム管理テーブル146は、パケット処理ボード111のPPBキューの情報ではなく、パケット処理ボード111自体の情報を格納してよい。本実施形態において、SIDは固定長であり、617、800、715などの値を有するが、SIDは可変長としてもよい。また、本実施形態において、プログラム管理テーブル146は、SIDとしてパケット中のフィールドに含まれる値識別子と完全に一致するべき値を格納するが、代わりにこの値の一部をマスクして変換した値を格納してよい。プログラム管理テーブル146にマスクした値が格納される場合に、パケット中のフィールドに含まれる値は、マスクをかけてからプログラムテーブル146に含まれる識別子SIDと比較される。SIDとプログラムの識別子PIDとの関係は、SIDに対応する識別子を含むパケットをどのプログラムで処理すべきか示し、例えば、ネットワーク管理装置12からのプログラムロード要求によって、パケットストリーム処理装置101ノード装置の初期設定において指定される。プログラム管理テーブル146において、P0、P1、...、Pmのうちある一つのプログラムに対応するPPBキューの情報キューリストQAVAILは、そのプログラムの実行につながるPPBキューを示すビットベクトルであり、そのプログラムが処理するパケットを保持するPPBキューを示す。ここでは、ビットベクトルの要素ビットは、先頭から、所定の順のPPBキューの識別子QID例えばQ00、Q01、、Qi0、Qi1、、QN-10、QN-11に対応付けられている。ある識別子QIDのPPBキューに送られたパケットが識別子PIDのプログラムで処理可能な場合に、その識別子PIDに対するビットベクトルQAVAILにおいて、当該ある識別子QIDに対応する要素ビットは1になり、そうでない場合に、この要素ビットは0になる。例えば、識別子Q00とQi1のPPBキューだけがあるプログラムが処理するパケットを保持する場合に、このプログラムに対するビットベクトルQAVAILのビットは、先頭左から、図11aのようにPPBキューに対応付けられる。制御ボード141とインタフェース151は、図11aのようなテーブルをそれらのメモリ内に格納してもよい。また、PPBキューの識別子QIDは、上記に限られず、例えば、全パケット処理ボードを通じて、順番に整数値による識別子が付与されてもよい。プログラムローダ144は、プログラムP0、P1、...、Pmをパケット処理ボード111のメモリDRAM113にロードする際に、プログラム管理テーブル146にパケット処理ボード111のPPBキューの情報QAVAILを登録する。メモリ143のプログラム格納部147は、実行可能なプログラムP0、P1、...、Pmを格納する。本実施形態において、プログラムP0、P1、...、Pmは、メモリ143に含まれるが、半導体ディスクやハードディスク等の大容量記憶装置に格納してよい。再び図3を参照すると、パケット処理ボード111はSRAMスタティックランダムアクセスメモリによって構成されたPPBキュー入力キュー114a、114bと、入力されたパケットを処理可能なNPU112a、112bと、SRAMによって構成された出力キュー115a、115bと、DRAM113とを備える。ここでNPUは、ネットワーク処理ユニットすなわちCPUの一種、またはCPUコアである。スイッチファブリック181を経由してパケット処理ボード111に入力されたパケットのヘッダおよびディスクリプタ又はポインタは、PPBキュー114a、114bに格納され、パケットの本体はDRAMダイナミックランダムアクセスメモリ113に格納される。なお、PPBキュー114a、114bにパケット全体が格納される構成も可能である。パケット処理ボード111は、動作中でも、サービスが必要とするプログラムをロードして実行できる。PPBキュー114a、114bのパケット詳細には、パケットのヘッダおよびディスクリプタは、パケット処理可能な状態例えばアイドル状態にあるNPU112a、112bのいずれかに転送されて処理される。各NPU112a、112bは、PPBキュー114a、114bのパケットを処理するため、DRAM113に格納された対応するプログラムを実行する。PPBキュー114a、114bのパケットは、そのPPBキューに予め対応付けられたNPU112a、112bに送られてもよい。処理後のパケット詳細には、パケットのヘッダおよびディスクリプタは、NPU112a、112bに対応する出力キュー115a、115bに格納され、スイッチファブリック181を経由してインタフェース151A、151Bまたは151Cに転送される。図4は、インタフェース151151A、151B、151Cの構成を示す。インタフェース151は、パケットをパケットストリーム処理装置101ノード装置の外部から入力して、スイッチファブリック経由で、パケット処理ボード111に出力する。また、インタフェース151は、スイッチファブリック経由でパケット処理ボード111からパケットを入力してパケットストリーム処理装置101の外部に出力する。インタフェースNIF151は、その動作を制御するASIC等の演算処理回路156と、一つ又は複数のメモリとを有する。インタフェース151のメモリは、振り分けテーブル152と、入力キュー154a、154bと、キューリスト155a、155bと、負荷テーブル153とを格納する。なお、以後、インタフェース151の入力キュー154a、154bは、NIFキューと呼ばれることがある。キューリスト155a、155bは、利用可能なパケット処理ボード111の情報を示す。インタフェース151は、振り分けテーブル152を参照して、識別子SIDつまりパケットの種別に対応するNIFキューを検索して、識別子SIDごとにNIFキュー154a、154bに振り分ける。キューリストによって、NIFキュー154a、154bごとに、利用可能なパケット処理ボード111の情報が対応するため、識別子SIDごと又は振り分けられたパケットごとに利用可能なパケット処理ボード111の情報が対応付けられることになる。本実施形態においてNIFキューの個数Kは2個であるが、NIFキューの個数Kは3個以上であってよい。また、NIFキューの個数Kを1個にして、キュー振り分けテーブル152をなくすこともできる。さらに、インタフェース151は、振り分けられたパケットごとに対応付けられたパケット処理ボード111の情報に基づいて、パケットをそのパケット処理ボード111の資源に出力する。パケット処理ボード111の資源として、パケット処理ボード111自体、パケット処理ボード111内のPPBキューや処理ユニットNPUがある。例えば、パケット処理ボード111の情報は、PPBキューの識別子IDやアドレス、パケット処理ボード自体の識別子IDやアドレスやポート番号、処理ユニットNPUの番号である。振り分けテーブル152は、入力されたパケットのヘッダに含まれる識別子SIDとNIFキュー154a、154bとの関係を示す。NIFキュー154a、154bは、インタフェース151に入力されたパケットをパケット処理ボード111に転送するまで保持する。キューリスト又はキューテーブル155a、155bは、パケットが利用可能なキューを表わす。キューリスト155a、155bは、インタフェース151に入力されたパケットと、このパケットが転送されてプログラムで処理できるパケット処理ボード111の情報を対応付けている対応付け情報である。ここでは、パケット処理ボード111の情報は、パケットを転送すれば、対応するプログラムで処理できるPPBキュー入力キューを示す情報である。本実施形態において、負荷テーブル153は、パケット処理ボード111の負荷として、各PPBキューに含まれるパケット数などを、各PPBキューに対応付けて格納する。負荷テーブル153の内容は、制御ボード141の負荷テーブル145の内容に等しい。また、負荷テーブル153は、負荷テーブル145と同じく、パケット処理ボード111からの定期または不定期の負荷の通知によって更新される。各インタフェース151に、一定の時間間隔で各パケット処理ボード111から負荷が通知され、通知された負荷に基づいて負荷テーブル153に示される負荷が更新されてよい。負荷テーブル153において示された負荷が低く、かつ、利用可能キューリストビットベクトルQAVAIL155a、155bの対応するビットが1すなわち利用可能に設定されているPPBキューが選択されて、NIFキュー154a、154bに保持されたパケットが、選択されたPPBキューに転送される。例えば、NIFキューに対応する利用可能キューリストのビットベクトルが010であれば、識別子Q01のPPBキューにそのNIFキューのパケットが転送される。図5は、ネットワーク処理ユニットNPU112の構成を示す。ネットワーク処理ユニット112112a、112bは、1個の汎用処理コアGPC311、複数のパケット処理コアPPC321、I/O制御装置I/OController302、SRAM331、メモリ制御装置MemoryController341と、これらを接続するバス351とを備える。各パケット処理コア321には、整数値による識別子が付与されている。パケット処理コア321A、321B、321Cのいずれにも共通する説明をする場合、これらを総称してパケット処理コア321とも記載する。汎用処理コア311は、主に、ネットワーク処理ユニット112内の各部を制御する。複数のパケット処理コア321は、主にデータ処理を並列に実行する。I/O制御装置302は、ネットワーク処理ユニット112の外部すなわちパケット処理ボード111上にあるスイッチ361に接続されている。SRAM331は小容量だが遅延が小さい主記憶装置である。また、メモリ制御装置341は、ネットワーク処理ユニット112の外部でパケット処理ボード111上にあるDRAM113に接続されている。DRAM113は、大容量だが遅延がやや大きい主記憶装置である。スイッチ361は、スイッチファブリック181を経由してパケット処理ボード111に到達するパケットデータをI/O制御装置302に転送する。I/O制御装置302は、バス351を介してパケットデータをSRAM331に転送したり、メモリ制御装置341を経由してDRAM113に転送する。SRAM331やDRAM113に格納されたパケットデータは、パケット処理コア321において処理されて再度SRAM331やDRAM113に格納されるか、またはI/O制御装置302を介してネットワーク処理ユニット112の外部に出力される。図6は、制御ボード141のプログラムローダ144が、CPU142を介して行うプログラムロード処理の手順を示す。プログラムロード処理は、負荷監視を行うための負荷テーブル145において、いずれかのPPBキューの負荷が閾値を超えた場合に実行される。また、ネットワーク管理装置12が送ったプログラムロード要求を制御ボード141が受信した場合にも、プログラムロード処理は実行される。ネットワーク管理装置12は、パケットストリーム処理装置101のパケット処理開始前の初期設定等のために、管理者または管理プログラムの指示によりプログラムロード要求を制御ボード141に送る。ただし、プログラムローダ144がプログラムロード要求を受信した場合に、プログラムは、まだプログラム格納部147に格納されていない。このため、この場合、CPU142は、プログラムロード要求によって指定されたプログラム、又は、プログラムロード要求に含まれるプログラムをプログラム格納部147に格納し、その後、図6の手順を実行する。なお、プログラムロード要求において、プログラムは、それが存在するURLによって指定されてよい。プログラムロード処理において、プログラムがパケット処理ボード111にロードされる。さらに、ロードされたプログラムが処理するべきパケットがそのパケット処理ボード111に送られるように、各インタフェース151内において、各パケットとこれを処理可能なパケット処理部の情報とを対応づける対応付け情報キューリストQAVAILが更新される。これにより、インタフェースに到着したパケットは、それを処理可能なプログラムがロードされたパケット処理装置のうちの1台にこの対応付け情報にしたがって高速に転送され、ロードされたプログラムによって高速に処理される。各パケット処理装置111は負荷をプログラムローダ144に通知し、通知をうけたプログラムローダ144は、特定のパケット処理装置111の負荷が過大になる前に、負荷が大きいプログラムを他のパケット処理装置111にロードできる。さらに、プログラムローダ144は、処理負荷が大きいプログラムが存在するが、未使用のパケット処理装置111がない場合に、複数のパケット処理装置111に配布されているが処理負荷が低いプログラムを選択できる。プログラムローダ144は、処理負荷が低いプログラムのサービスサービス識別子SIDに関連する振り分けテーブル152の内容を削除するとともに、そのプログラムを前記の複数のパケット処理装置111のいずれかからアンロードして、かわりに処理負荷が大きいプログラムをロードできる。プログラムロード処理が開始されると、まずステップS411において、プログラムローダ144は、負荷テーブル145を参照し、パケット処理が可能である未使用又は低負荷のパケット処理ボード111とこのボード内のいずれかのPPBキュー114a、114bを選択する。なお、後述の負荷監視処理のステップS611の処理が実行された場合には、ステップS611で選択された低負荷のPPBキュー114a、114bとそれを含むパケット処理ボード111が選択されてよい。例えば、負荷テーブル145の最少の負荷を有するパケット処理ボード111が低負荷と判定されてよい。プログラムローダ144は、選択したPPBキューをプログラム管理テーブル146に登録する。PPBキューのリスト即ち、ビットベクトルQAVAILに選択されたPPBキューが示される、つまり、選択されたPPBキューに対応するビットは1に設定される。なお、ロードされるプログラムが処理すべきパケットの識別子SIDサービス識別子などに関する項目がプログラム管理テーブル146に存在しない場合に、その項目は生成され、プログラムの識別子PIDプログラム格納部147へのポインタまたはURLと、選択されたPPBキューが登録される。また、ロードされるプログラムが処理すべきパケットの識別子SIDに関する項目が、プログラム管理テーブル146に存在する場合に、パケット処理ボード111のPPBキューのリストに選択したPPBキューが追加される、つまり、選択したPPBキューに対応するビットは1に設定される。次に、ステップS412において、プログラムローダ144は、選択したパケット処理ボード111のメモリDRAM113にプログラムをロードして起動する。さらに、ステップS413において、プログラムローダ144は、プログラムロード要求に含まれていた識別子SIDと各インタフェース151内のNIFキューを対応づける。このため、プログラムローダ144は、各インタフェース151に指令を出して、識別子SIDとこれに割り当てたNIFキュー番号の対を振り分けテーブルqDT152に登録する。例えば、図4では、j番目のインタフェースNIFjにおいて、SID617に対して番号1のNIFキューqj1が、SID800に対して番号0のNIFキューqj0が割り当てられている。なお、PPBキューの負荷が閾値を超えた場合に実行されるプログラムロード処理においては、プログラムロード要求時に振り分けテーブルqDT152は既に設定されているため、ステップS413は省略されてよい。最後に、ステップS414において、プログラムローダ144の指令に応じて、各インタフェース151は、ステップS411で選択した全てのPPBキューを、これに対応するビットを1に設定することによってPPBキューのリストQAVAILに登録する。インタフェース151のメモリに記憶されたPPBキューのリストQAVAILの内容は、制御ボード141のメモリに記憶されたPPBキューのリストQAVAILと等しくなる。これによって、PPBキューのリストQAVAILに、プログラムロード処理の実行以前に登録されていたPPBキューが存在しなかった場合ビットベクトルQAVAILの全てのビットが0であった場合に、インタフェース151に到着したパケットが新たにパケット処理ボード111上のプログラムによって処理できる。また、PPBキューのリストQAVAILに、既登録のPPBキューが存在していた場合ビットベクトルQAVAILのいずれかのビットが1であった場合に、インタフェース151に到着したパケットが既登録のPPBキューだけでなく新規登録されたPPBキューにも転送され、パケット処理ボード111の負荷が分散できる。PPBキューのリストQAVAILは、制御ボード141に加えて各インタフェース151にも重複して存在することになるが、これによって各インタフェース151においてパケットが高速に処理できる。インタフェース151において、パケットがワイヤレートで処理できるように、PPBキューのリストQAVAILは、CAM連想メモリ:contentaddressablememoryのような高速アクセス可能なメモリに格納される。次に、パケットストリーム処理装置101にプログラムロード処理を起動するためのプログラムロード要求について説明する。ネットワーク管理装置12は、パケットストリーム処理装置101のパケット処理開始前の初期設定などのために、管理者または管理プログラムの指示により、プログラムロード要求をパケットストリーム処理装置101の制御ボード141に送る。プログラムロード要求は、次のi-iiiの各項目を含む:iプログラムのURLまたはプログラム自体、iiサービス識別子SID、iii負荷予測情報リソース情報。項目iに関して、プログラムロード要求にプログラム自体がふくまれている場合に、制御ボード141は、そのままプログラム格納部147にプログラムを格納する。プログラムロード要求にプログラムのURLが含まれる場合に、制御ボード141は、指定されたURLにHTTPHyperTextTransferProtocolによってアクセスして、そのプログラムを受信してプログラム格納部147に格納するか、或いは、プログラム格納部147にURL自体を格納する。プログラムは、オブジェクトプログラムまたはソースプログラムである。ソースプログラムの場合に、制御ボード141は、ソースプログラムをオブジェクトプログラムに変換するためのコンパイラを内蔵し、コンパイルによって得られたオブジェクトプログラムをプログラム格納部147に格納する。代わりに、制御ボード141は、プログラムロード処理の一部としてソースプログラムをコンパイルしてよい。コンパイルの際には、ソースプログラムが記述された言語にしたがって、その言語のコンパイラが使用される。例えば、ソースプログラムが、特定のアーキテクチャ例えば特定のネットワークプロセッサのCPUのためのものであることがソースプログラム中に記述されていれば、そのネットワークプロセッサ用のコンパイラを使用する。なお、プログラムやそのURLを含まないプログラムロード要求を受信したプログラムローダ144は、プログラム管理テーブル146にそのプログラムロード要求において指定されたサービス識別子を含む要素が存在する場合には、その要素が含むプログラムをプログラムロード要求において指定されたものとみなすことができる。項目iiに関して、サービス識別子SIDは、パケットがそれを処理するプログラムを指定するため含む値である。サービス識別子は、プログラムと1対1又は多対1に対応する。項目iiiに関して、負荷予測情報は、プログラムが、パケットストリーム処理装置101ノード装置に与える負荷を予測するための情報である。負荷予測情報は、第1の情報として、プログラムを1回実行するのに要するリソース量またはそれを推定するための情報と、第2の情報として、プログラムの実行回数またはそれを推定するための情報を含む。第1の情報として、処理時間やメモリ量などで表されたリソース量は、値または、受信すべきパケットの属性に応じた関数によって与えられてよい。なお、プログラムを1回実行するのに要するリソース量は、標準的な入力データを与えてプログラムを実行するなどによって、プログラムの静的な解析または動的な解析によって推定することもできる。その場合、第1の情報は必要ない。第2の情報としてのプログラムの実行回数は、パケット数の形で与えられるが、帯域ビットレートの形で与えられてもよい。帯域が指定されると、平均パケット長の推定値を使用して、パケット数が推定できる。制御ボード141中のプログラムローダ144がプログラムロード要求を受け取った場合に、指定されたサービス識別子をもつパケットに対して、指定されたプログラムが、選択されたパケット処理ボード111にロードされて実行されるS412。指定されたプログラムによって生成あるいは転送されるパケットは、プログラムによって転送先例えば、いずれかの隣接ノード装置が決められるように、パケットストリーム処理装置101を初期設定できる。しかし、パケットストリーム処理装置101は、通常のEthernet登録商標、以下同じスイッチまたはIPルータとして機能して、自動的にパケットが転送されるように初期設定することも可能である。また、パケットストリーム処理装置101は、その初期状態として到着したパケットをすべて廃棄するように初期設定することも可能である。また、到着したパケットのサービス識別子がキュー振り分けテーブル152にない場合、NIF151が、プログラムローダ144にプログラムロード要求を送信することもできる。この場合、プログラムやそのURLをふくまないプログラムロード要求を送信することも可能である。このようなプログラムロード要求は、OpenFlowスイッチに新規のフローが到着した際にスイッチの動作をサーバに問い合わせる要求に相当する。ここで、OpenFlowとは、OpenFlowスイッチングコンソーシアムが提唱しているネットワーク制御技術のことである。すなわち、OpenFlowスイッチにおいて、その動作が予め決められた範囲から選択されるが、本実施形態においてはそのサービス識別子を有するパケットに対するパケットストリーム処理装置101の動作を任意のプログラムによって与えることができる。本実施形態においては、プログラムの選択のためにサービス識別子というパケット中のひとつのフィールドを使用しているが、OpenFlowスイッチにおけるように、パケット中の複数のフィールドの値を使用することもできる。図7は、制御ボード141のプログラムローダ144が、CPU142を介して行うプログラムアンロード処理の手順を示す。プログラムアンロード処理は、負荷監視においてプログラムの実行の負荷が閾値を超えた場合に、このプログラムを新たにロードするパケット処理ボード111から他のプログラムをアンロードするために実行される。負荷テーブル145において、このプログラムに対応するPPBキューの負荷が閾値を超えた場合に、このプログラムの実行の負荷が閾値を超えたと判定できる。また、管理者または管理プログラムの指示によりネットワーク管理装置から送られたプログラムアンロード要求を制御ボード141が受信した場合に、プログラムローダ144は、アンロード処理の対象のプログラムがロードされた全てのパケット処理ボード111についてプログラムアンロード処理を実行する。その後、プログラムローダ144は、プログラム格納部147からこのプログラム又は対応するURLなどを削除する。プログラムアンロード要求はサービス識別子を含む。サービス識別子はプログラムと1対1又は多対1に対応するので、それによってアンロードするプログラムを指定することができる。プログラムアンロード処理が実施された後、プログラムアンロード要求に含まれたサービス識別子を有するパケットに対して、このサービス識別子に対応するプログラムがロードされる以前と同じ処理が行われる。図7を参照すると、プログラムアンロード処理が開始すると、まず、ステップS511において、プログラムローダ144は、アンロードするプログラムが存在するパケット処理ボード111と、そのプログラムが使用するボード内のPPBキューを求める。なお、負荷監視が行われている場合、このPPBキューは、後述の負荷監視処理のS611図8で選択されている低負荷のPPBキューである。プログラムローダ144は、プログラム管理テーブル146のPPBキューのリストビットベクトルQAVAILから求めたPPBキューを削除する即ち、このPPBキューに対応づけられたビットを0にする。次に、ステップS512において、プログラムローダ144は、プログラム管理テーブル146においてプログラムが利用可能なPPBキューがなくなった場合には、各インタフェース151に指令を送って、各インタフェース151の振り分けテーブルqDT内でこのプログラムに対応するサービス即ちこのサービスの識別子SIDに割り当てられたNIFキューを抹消する。プログラム管理テーブル146が含むPPBキューのリストが空即ち、QAVAILの全てのビットが0になった場合に、サービスが使用するPPBキューがなくなったと判定される。さらに、ステップS513において、前記のサービスが使用する各インタフェース151において、S511で求められた全てのPPBキューをリストQAVAILから抹消する。これによって、リストQAVAILに登録されたPPBキューがなくなった場合に、インタフェース151に到着したパケットがパケット処理ボード111上のプログラムによって処理されることがなくなる。即ち、インタフェース151に到着したパケットは、初期設定によって、廃棄されるか、通常のEthernetパケットまたはIPパケットとして処理される。また、QAVAILに登録されたPPBキューが残っている場合は、残っているPPBキューひいてはこのPPBキューを含むパケット処理ボード111に負荷が集中されるという効果が生じる。最後に、ステップS514において、プログラムローダ144は、S511において求めたパケット処理ボード111においてプログラムを停止してアンロードする。また、全てのパケット処理ボード111からアンロードされる場合、このプログラムをプログラムテーブル146からも削除する。プログラムローダ144は、このパケット処理ボード111のメモリDRAM113からプログラムを削除する。プログラムをアンロードされたパケット処理ボード111において、そのプログラムを実行することができなくなるが、そのプログラムが占有していたメモリが解放され、他のプログラムがロードされてこのメモリを利用する。図8は、制御ボード141のCPU142が定期的に繰り返して行う負荷監視処理の手順を示す。負荷監視処理において、負荷テーブル153が走査され、負荷テーブル153内で負荷を示す各要素についてステップS610以下の処理が反復実行される。ステップS610において、負荷テーブル153の選択された要素QLENに対応するPPBキューqhが高負荷であるか判定される。PPBキューqhが高負荷であれば、ステップS611-S613の処理が実行される。本実施形態において、負荷テーブル153において負荷を示す要素QLENは、対応するPPBキューqhに溜まったパケット数である。負荷ここではパケット数が一定の閾値を超えている場合、PPBキューqhは、高負荷であると判断される。例えば、閾値は、パケット数で3の値である。ただし、閾値は固定値でなくてよく、負荷テーブルの他の要素QLENの値が高い程、閾値は大きく設定されてよい。ステップS611において、負荷テーブル153が参照され、未割り当て未使用又は低負荷のPPBキューqlと、それを含むパケット処理ボードPPBplが選択される。負荷テーブル153を走査して、未割り当て又は低負荷のPPBキューqlを求めることができる。しかし、前回の走査の中で求めて、このPPBキューqlを保存しておくこともできる。ここで、負荷テーブル153において最少の負荷を有するPPBキューを低負荷のPPBキューqlとして選択できる。ステップS612において、選択されたPPBキューqlが割り当て済み即ち低負荷の場合に、図7のアンロード処理にしたがって、PPBキューqlとPPBplに対応するメモリを解放する。すなわち、PPBキューqlに蓄積されたパケットを処理するプログラムは、パケット処理ボードPPBplのメモリDRAM113から削除される。ステップS613において、図6のロード処理にしたがって、未割り当て又は低負荷のPPBキューqlを含むパケット処理ボードPPBplのメモリDRAM113にも、高負荷のPPBキューqhのパケットを処理していたプログラムがロードされる。さらに、高負荷のPPBキューqhに送られるパケットに対する利用可能キューリスト155a、155bQAVAILにおいて、未割り当て又は低負荷のPPBキューqlが追加される。すなわち、利用可能キューリスト155a、155bQAVAILにおいて高負荷のPPBキューqhに対応付けられるパケットが、未割り当て又は低負荷のパケット処理ボードPPBplにも転送され、新たにパケット処理ボードPPBplにロードされたプログラムによって処理できる。ステップS614において、負荷テーブル153の負荷を示す全要素について処理が終了したか判定される。全要素について処理が終了していない場合、ステップS615において、次の要素が選択され、ルーチンはステップS610に戻る。全要素について処理が終了した場合、ルーチンは終了する。図8の負荷監視処理において、PPBキューとプログラムとは1対1に対応している。未割り当てのPPBキューが存在しない場合に、パケット処理ボードPPBplにおいてプログラムのアンロードが行われる。しかし、1個のPPBキューを複数のプログラムに対応させる場合もある。このような場合において、使用されているPPBキューを新たなプログラムに割り当てる際に、プログラムをアンロードする必要は必ずしもない。しかし、1個のPPBキューを多数のプログラムによって共用する場合に、サービスプログラム処理間の干渉が発生するため、1個のPPBキューに対応させるプログラムの数が一定数を超えた場合には、プログラムをアンロードしてよい。また、プログラムに割り当てるメモリが不足するとき、あるいは余裕がなくなった場合に、プログラムをアンロードしてよい。図9は、各インタフェース151の演算処理回路156が行うパケット転送処理PPBキュー選択処理の手順を示す。パケット転送処理において、パケット処理ボードPPB111及びパケット処理ボード111内のPPBキューが選択されて、インタフェース151内のパケットが選択されたPPBキューに転送される。パケット転送処理が行われるj番目のインタフェース151をNIFjとする。パケット転送処理は、インタフェースNIFj内の全てのNIFキュー入力キューqjkここでk=0、1、...、K-1について並列に実行される。すなわち、各インタフェース151について、パケット転送処理は、並列的に、K回図4ではK=2実行される。ステップS801において、まず、パケット処理ボードPPB111の番号iがゼロに設定されi=0、パケット処理ボード111内の入力キューPPBキューの番号xをゼロに設定するx=0。ステップS802において、転送可能判定処理として、QAVAILk[iLx]が1であり、且つ、QLEN[iLx]が所定値例えば2より小さいか判定される。QAVAILk[iLx]が1であり、且つ、QLEN[iLx]が所定値より小さい場合に、ルーチンはステップS803に進み、そうでない場合に、ルーチンはステップS804に進む。ここで、QAVAILk[]は、k番目のNIFキューqjkのパケットを処理可能なPPBキューを示すビットベクトルQAVAILkにおいて、上位から[]番目のビットを示す。k番目のNIFキューqjkのパケットをi番目のパケット処理ボード111のx番目のPPBキューに転送すれば、プログラムによって処理可能な場合に、QAVAILk[iLx]は1となり、処理不能な場合に、QAVAILk[iLx]は0にとなる。また、QLEN[]は、負荷テーブル153の上位から[]番目の要素負荷を示す。QLEN[]は、負荷を代表する値であり、ここではPPBキューに含まれるパケットの数である。ステップS803において、転送処理として、NIFキューqjkから先頭のパケットが取り出されて、i番目のパケット処理ボード111内のx番目のPPBキューQixに転送される。ステップS804において、i番目のパケット処理ボード111内の全てのPPBキューについて、S802の転送可能判定処理が終了したか判定される。即ち、パケット処理ボード111内のPPBキューの個数をLとして、x=L-1であるか判定される。x=L-1でない場合、S805で番号xが1増加して、次のPPBキューについて、S802の処理が行われる。これにより、i番目のパケット処理ボード111内の全てのPPBキューx=0、1、...、L-1について、S802の転送可能判定処理が行われる。一方、x=L-1である場合、ルーチンはステップS806に進む。ステップS806において、全てのパケット処理ボード111について、S802の転送可能判定処理が終了したか判定される。即ち、パケットストリーム処理装置101内のパケット処理ボード111の個数をNとして、i=N-1であるか判定される。i=N-1でない場合、S807で番号iが1増加して、次のパケット処理ボードについて、S802の処理が行われる。これにより、パケットストリーム処理装置101内の全てのパケット処理ボード111i=0、1、...、N-1について、S802の処理が行われる。i=N-1である場合、ルーチンは終了する。簡単な例として、k=1、L=2、N=2、且つQAVAIL1=1001の場合について説明すると、QAVAIL1[0]=1であるためQLEN[0]<所定値例えば2であれば、NIFキュー154bqj1の先頭のパケットがPPBキューQ00に転送され、パケットの識別子SIDに対応するプログラムPPB0にロードされているにより処理される。QAVAIL1[1]=0、QAVAIL1[2]=0であるためQLEN[1]とQLEN[2]に関わらず、PPBキューQ01とQ10にNIFキュー154bqj1のパケットは転送されない。QAVAIL1[3]=1であるためQLEN[3]<所定値であれば、NIFキュー154bqj1の次の先頭のパケットはPPBキューQ11に転送され、パケットの識別子SIDに対応するプログラムPPB1にロードされているにより処理される。パケット転送処理において、利用可能なPPBキューのリストQAVAILが複数のPPBキューの表示即ち1を含んでいる場合、一つのサービス識別子SIDに関するパケットが各PPBキューに分散される必要がある。そのための最も単純な方法として上記のようなラウンドロビンスケジューリングによって、負荷が所定値より低いPPBキューを順に使用してパケットを転送することができる。一方、負荷テーブル153の負荷が低いPPBキュー或いはパケット処理ボードにより多くのパケットを転送することもできる。例えば、負荷の値により単調減少する関数によって重みをつけ、重みに応じた量のパケットをPPBキューに転送することもできる。図10を参照して、インタフェース151に到着したパケットをパケット処理ボード111のNPUに転送する転送処理をさらに説明する。まず、インタフェース151に到着したパケットに対して、キュー振り分けテーブル152qDTが使用されて、パケットに含まれる識別子SIDからパケットが入力されるNIFキューの番号又は識別子が選択される。選択された番号を有するNIFキューがNIFキュー154aであれば、パケットはNIFキュー154aに登録される。図9の手順にしたがって、各NIFキューからパケット処理ボード111内のPPBキューにパケットが転送される。従って、NIFキュー154a内のパケットも転送される。図10において、転送先がPPB0のPPBキュー114aだと仮定されている。パケットは、転送後、PPBキュー114aに登録される。パケット処理ボード111において、処理を行っていないNPUまたは処理を終了したNPUが、いずれかのPPBキューの先頭からパケットを1個とりだして処理する。各NPUは、この動作を反復する。本実施形態によると、インタフェースNIF151は、スイッチ181を通じて複数のパケット処理部111に接続し、各パケットとこれを処理可能なパケット処理部111の情報とを対応づけるための対応付け情報例えば、キューリストQAVAILを格納し、対応付け情報において第1のパケット処理部の情報に対応付けられたパケットを第1のパケット処理部例えばPPB0に転送する。制御ボード141制御部は、第1のパケット処理部が閾値以上の高負荷であると判定される場合S610に、対応付け情報において第1のパケット処理部で処理可能なパケットを第2のパケット処理部例えば、PPB1の情報にも対応付けるよう対応付け情報を更新するS414、S613。そして、インタフェース151は、更新された対応付け情報において第2のパケット処理部PPB1の情報に対応付けられたパケットを第2のパケット処理部に転送する。これにより、第1のパケット処理部の負荷が高くなることに応じて、第1のパケット処理部で処理可能なパケットが、第2のパケット処理部でも処理できるようになる。従って、あるサービスに関するパケットを処理するパケット処理部の数を負荷に応じて動的に増減させることができ、柔軟な負荷分散ができる。また、インタフェース151が対応付け情報を有するため、高速にパケット処理部にパケットが振り分けられ、ノード装置においてパケットの高速処理が可能になる。インタフェース151は、各パケットに含まれるべき識別子SIDごとに対応付け情報キューリストQAVAILを備える。インタフェース151は、第1の識別子を含むパケットを、第1の識別子に関する対応付け情報例えばQAVAIL0において対応付けられた第1のパケット処理部に転送する。制御ボード141は、第1の識別子を含むパケットを第2のパケット処理部の情報にも対応付けるよう第1の識別子に関する対応付け情報例えばQAVAIL0を更新する。インタフェース151は、第1の識別子を含むパケットを第2のパケット処理部に転送する。サービスを識別子で特定するような場合に、識別子をパケットに含めて、インタフェース151の識別子ごとの対応付け情報において、その識別子を有するパケットとパケット処理部の情報とを対応付ける。これにより、特定のサービスを受けるべきパケットごとに、処理の負荷を複数のパケット処理部に分散できる。第1のパケット処理部は、第1の識別子を含むパケットを処理する第1のプログラムを備える。制御ボード141は、第1のパケット処理部が高負荷である場合に、第1のプログラムを第2のパケット処理部にロードするS412、S613。第2のパケット処理部は、第1の識別子を含むパケットを第1のプログラムによって処理する。これにより、あるパケット処理部が高負荷である場合に、そのパケット処理部で実行されるプログラムが他のパケット処理部でも実行されるようになり、プログラムの実行による負荷が分散される。制御ボード141は、第2のパケット処理部を低負荷のパケット処理部に設定するS411、S611。制御ボード141は、第1のプログラムを第2のパケット処理部にロードする場合に、第2パケット処理部から第2のプログラムを削除するS612。これにより、第2パケット処理部から第2のプログラムが占有していたメモリが解放され、第1のプログラムを第2パケット処理部のメモリにロードできる。なお、第2パケット処理部が低負荷であることから、パケットを第2パケット処理部において処理できなくなっても悪影響は少ない。さらに、制御ボード141は、前記第2のプログラムが処理するパケットに含まれる第2の識別子に関する対応付け情報において、前記第2パケット処理部の情報を削除するS513。これにより、削除された第2のプログラムが処理すべきパケットが第2パケット処理部に転送されなくなる。制御ボード141は、インタフェース151が有する対応付け情報と同じ対応付け情報を格納する。このため、制御ボード141は、対応付け情報に基づいて、パケット処理部に送られるパケットを処理するために必要なプログラムをパケット処理部にロードできる。各パケット処理部は、その負荷の情報をインタフェース151に送り、インタフェース151は、負荷の情報を格納する負荷テーブル153を備える。これにより、インタフェース151は、対応付け情報に基づいてパケット処理可能なパケット処理部の中から低負荷のパケット処理部を高速に見つけ出してS802、この低負荷のパケット処理部にパケットを転送できる。負荷の情報は、各パケット処理部の各キューに溜まったパケットの数であってよい。これにより、簡便に負荷が把握できる。<変形例1>前記の実施形態において、パケット処理ボード111内のリソースの配分をプログラムローダ144とインタフェース151において決定していた。しかし、プログラムローダ144とインタフェース151において、パケット処理ボード111を単位として管理制御し、パケット処理ボード111内のリソース配分は、パケット処理ボード111において決定してもよい。すなわち、パケット処理ボード111に入力されたパケットは、パケット処理ボード111内できめられた規則にしたがって、パケット処理ボード111内のPPBキューに配分される。そして、NPUがアイドルになった場合に、決められたスケジューリングアルゴリズムにしたがってPPBキューを選択しパケットを取り出し、そのパケットの識別子で指定されたプログラムをNPUにおいて実行する。この場合に、ビットベクトルQAVAILは、PPBキューのリストではなく、パケットを処理可能なパケット処理ボード111のリストとしてよい。この場合に、ビットベクトルQAVAILのビットが、先頭左から図11bのように、パケット処理ボード111の番号ポート番号でよいや識別子に対応付けられてよい。<変形例2>前記の実施形態において、制御ボード141は、集中的に負荷監視を行った。しかし、負荷監視を分散的に行うことも可能である。すなわち、各パケット処理ボード111が負荷監視を行い、負荷が高い場合に、そのパケット処理ボード111にパケットを送信する全てのインタフェース151に対して、パケット処理ボード111が指令を発して、そのパケット処理ボード111へのパケットの送信を停止させる。このため、前記の実施形態においては制御ボードだけが持っていたプログラム管理テーブル146を各パケット処理ボード111が保持し、分散的に管理する。従って、各パケット処理ボード111はそれが使用するプログラムだけをプログラム管理テーブルによって管理する。<変形例3>なお、前記した実施形態において、パケット処理ボード111の負荷としてPPBキューの負荷に基づいて、インタフェース151からのパケットの転送先が決定されていた。しかし、プログラムの出力先のインタフェース151の負荷すなわち輻輳の状態も加味して転送先をきめることも可能である。すなわち、各インタフェース151は、まずプログラムロード要求時にパケット処理ボード111上のプログラムごとにその出力先のインタフェース151を把握する。そのために、プログラムロード要求が出力先のインタフェース151の情報を含んでいてもよいし、プログラムの内容からそれを見つけてもよい。そうやって得られた出力先のインタフェース151の情報と、出力先のインタフェース151から定期的に報告される輻輳情報を各インタフェース151が保管し、出力先のインタフェース151が輻輳しているプログラムが処理するパケットはPPBキューに送信するのを遅延させる。これによって、出力先インタフェース151の輻輳による出力パケットの廃棄を減少させることができる。本発明は前記の実施形態とその変形例に限定されずに、その技術的な思想の範囲内において種々の変更がなしうることは明白である。