(57)【要約】【課題】新たな機能拡張モジュールの追加によるスループットの低下を防止する。【解決手段】本発明は、装置の全体を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置において、前記ネットワークインタフェースは、ＣＰＵとメモリとを備え、前記メモリは、前記ＣＰＵが実行するプログラムを記憶し、前記ＣＰＵは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とする。【選択図】図１−１
2006253899.tif 000002
【特許請求の範囲】
【請求項１】
装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置と、前記パケット通信装置に対してパケットを送受信する端末と、前記パケット通信装置と前記端末とを接続するネットワークと、を含むパケット通信システムにおいて、
前記ネットワークインタフェースは、ＣＰＵとメモリとを備え、
前記メモリは、前記ＣＰＵが実行するプログラムを記憶し、
前記ＣＰＵは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、
前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とするパケット通信システム。
【請求項２】
装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置において、
前記ネットワークインタフェースは、ＣＰＵとメモリとを備え、
前記メモリは、前記ＣＰＵが実行するプログラムを記憶し、
前記ＣＰＵは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、
前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とするパケット通信装置。
【請求項３】
前記ノード管理用プロセッサは、
前記メモリに記憶されているプログラムを更新するための更新情報を前記機能拡張モジュールから受信し、
前記受信した更新情報に基づいて特定された、前記プログラムが格納されている場所から、前記プログラムを取得し、
前記取得したプログラムを前記ネットワークインタフェースに送信することを特徴とする請求項２に記載のパケット通信装置。
【請求項４】
前記更新情報は、前記プログラム、前記プログラムの所在に関する情報及び／又は前記プログラムの特徴を表す情報を含むことを特徴とする請求項３に記載のパケット通信装置。
【請求項５】
情報を記憶するノード内メモリを備え、
前記ノード内メモリは、前記ノード管理用プロセッサが受信した更新情報に含まれる前記プログラム及び／又は前記プログラムの所在に関する情報を記憶することを特徴とする請求項４に記載のパケット通信装置。
【請求項６】
前記ネットワークインタフェースは、前記外部ネットワークを介して、装置外部のサーバ及びノードに接続され、
前記プログラムの所在に関する情報は、前記プログラムを記憶している装置外部のサーバ又は装置外部のノードの位置情報であることを特徴とする請求項４に記載のパケット通信装置。
【請求項７】
前記ノード管理用プロセッサは、
前記プログラムを前記機能拡張モジュールから受信し、
前記受信したプログラムを前記ネットワークインタフェースに送信することを特徴とする請求項２に記載のパケット通信装置。
【請求項８】
前記ノード管理用プロセッサは、
前記プログラムを前記機能拡張モジュールから受信し、
予め設定された条件に従って、前記受信したプログラムの送信先となるネットワークインタフェースを特定し、
前記受信したプログラムを前記特定したネットワークインタフェースに送信することを特徴とする請求項２に記載のパケット通信装置。
【請求項９】
情報を記憶するノード内メモリを備え、
前記ノード内メモリは、前記プログラムを管理するプログラム管理情報を記憶し、
前記ノード管理用プロセッサは、
前記プログラムを前記機能拡張モジュールから受信し、
前記プログラム管理情報に基づいて、前記受信したプログラムの送信先となるネットワークインタフェースを特定し、
前記受信したプログラムを前記特定したネットワークインタフェースに送信することを特徴とする請求項２に記載のパケット通信装置。
【請求項１０】
前記プログラム管理情報は、前記プログラムのバージョン、前記ネットワークインタフェースと前記プログラムとの対応、前記機能拡張モジュールと前記プログラムとの対応、前記メモリの残量及び／又は前記プログラムを使用している前記機能拡張モジュールの個数を示すカウンタを含むことを特徴とする請求項９に記載のパケット通信装置。
【請求項１１】
前記ノード内メモリは、プログラム及び／又はプログラムの所在に関する情報を記憶し、
前記ノード管理用プロセッサは、前記プログラム管理情報に基づいて、前記メモリに記憶されているプログラム、前記ノード内メモリに記憶されているプログラム及び／又は前記ノード内メモリに記憶されているプログラムの所在に関する情報を、追加又は削除することを特徴とする請求項１０に記載のパケット通信装置。
【請求項１２】
ノード管理用プロセッサは、
前記受信したプログラムの送信先となるネットワークインタフェースを特定すると、前記プログラム管理情報を参照することによって、特定したネットワークインタフェースの前記メモリに当該プログラムが既に記憶されているか否かを判定し、
既に記憶されている場合には、前記プログラム管理情報に含まれる前記カウンタを増加させ、
前記特定したネットワークインタフェースが前記機能拡張モジュールへパケットを転送するための情報を、前記特定したネットワークインタフェースへ送信することを特徴とする請求項１０に記載のパケット通信装置。
【請求項１３】
前記機能拡張モジュールが取り外されると、
前記ノード管理用プロセッサは、前記プログラム管理情報に含まれる前記カウンタを減少させ、
前記カウンタが０になると、当該カウンタに対応するプログラムが記憶されているネットワークインタフェースへ、当該プログラムの削除を要求することを特徴とする請求項１０に記載のパケット通信装置。
【請求項１４】
前記プログラムは、前記外部ネットワークから受信したパケットを前記機能拡張モジュールへ転送することを特徴とする請求項２に記載のパケット通信装置。
【請求項１５】
前記プログラムは、所定の時間が経過した場合又は特定のパケットを受信した場合に、他のプログラムの追加又は削除をネットワークインタフェースに要求することを特徴とする請求項２に記載のパケット通信装置。
【請求項１６】
前記パケット通信装置に追加されたネットワークインタフェースは、前記ノード管理用プロセッサにプログラムを要求し、
前記ノード管理用プロセッサは、
前記プログラムの要求があると、予め設定された条件に基づいて、前記追加されたネットワークインタフェースに送信するプログラムを特定し、
前記特定したプログラムを取得し、
前記追加されたネットワークインタフェースに前記取得したプログラムを送信することを特徴とする請求項２に記載のパケット通信装置。
【請求項１７】
情報を記憶するノード内メモリを備え、
前記ノード内メモリは、プログラムを管理するプログラム管理情報を記憶し、
前記ノード管理用プロセッサは、
前記プログラム管理情報に基づいて、前記特定したプログラムが格納されている場所を特定し、
前記特定した場所から、前記プログラムを取得することを特徴とする請求項１６に記載のパケット通信装置。
【請求項１８】
前記ネットワークインタフェースは、前記外部ネットワークを介して、装置外部のサーバ及び装置外部のノードに接続され、
前記ノード管理用プロセッサは、前記特定したプログラムを、前記ノード内メモリ、前記機能拡張モジュール、前記装置外部のサーバ又は前記装置外部のノードから取得することを特徴とする請求項１６に記載のパケット通信装置。
【請求項１９】
装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置における機能拡張方法であって、
前記ネットワークインタフェースは、ＣＰＵとメモリとを備え、
前記メモリは、前記ＣＰＵが実行するプログラムを記憶し、
前記ＣＰＵは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、
前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とする機能拡張方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でパケットを転送するパケット通信装置に関し、特に、パケット通信装置の機能を拡張する技術に関する。
【背景技術】
【０００２】
パケット通信を行うネットワークは、通信装置、端末及びリンクで構成される。通信装置は、パケットを中継する。端末は、ネットワークの末端でパケットを送受信する。リンクは、端末と通信装置とを接続する。
【０００３】
例えば、端末が、パケットを目的の端末へ送信する。すると、パケット通信装置は、当該パケットを目的の端末へ中継する。そして、目的の端末が、当該パケットを受信する。
【０００４】
パケット通信装置は、受信したパケットから宛先を抽出する。次に、抽出した宛先に対応する次の転送先を経路表から検索する。そして、パケットに中継時の処理を実行した後に、検索した次の転送先へパケットを送信する。
【０００５】
現在のパケット通信装置は、パケット中継時の処理をハードウェアによって実行している。よって、パケット中継時の処理を変更する場合、パケット通信装置の全体を交換する必要がある。しかし、パケット通信装置全体の交換では、コスト的に問題がある。また、迅速な対応が困難である。
【０００６】
この問題を解決する、パケット処理装置が知られている（例えば、特許文献１及び特許文献２参照。）。
【０００７】
特許文献１に記載されているパケット処理装置は、パケットの種類とそれに対応した処理のテーブルをパケット処理装置のネットワークインタフェース（ＮＩＦ）上に備える。そして、パケット処理装置に新たな拡張部位（機能拡張モジュール）が追加されると、ＮＩＦは、当該テーブルを書き換える。これによって、ＮＩＦは、外部から受信したパケットを機能拡張モジュールへ転送する。
【０００８】
また、特許文献２に記載されているパケット処理装置は、特許文献１に記載されているパケット処理装置と同様のテーブルをＮＩＦ上に備える。更に、ＮＩＦは、外部からパケットを受信すると、受信したパケットに固定長のヘッダを複数付与する。これによって、ＮＩＦは、受信したパケットを複数の機能拡張モジュールに転送できる。
【０００９】
しかし、従来のパケット処理装置では、ＮＩＦは、パケットの転送処理だけを行う。また、機能拡張モジュールは、ＮＩＦに比べて高機能な処理を行う。
【００１０】
例えば、ＮＩＦは、外部から受信したパケットの大部分を機能拡張モジュールに転送する場合で考える。すると、機能拡張モジュールがボトルネックとなってしまい、パケット処理装置全体のスループットが低下してしまうという問題があった。
【００１１】
この問題を解決するために、機能拡張モジュールの処理を軽減するプログラムをすべてのＮＩＦにプリインストールする技術が知られている。
【００１２】
また、機能拡張モジュールがパケットを処理するために必要な情報を、ＮＩＦで付与した後、機能拡張モジュールへ転送する場合がある。特に、このような情報が機能拡張モジュールの種類によって異なる場合には、機能拡張モジュールを追加するたびに、管理者がＮＩＦの設定やソフトウェアを更新しなければならないという問題があった。
【特許文献１】特開２００３−２５８８４２号公報
【特許文献２】特開２００４−２８９２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
機能拡張モジュールの処理を軽減するプログラムをすべてのＮＩＦにプリインストールするパケット処理装置は、適用できる機能拡張モジュールの種類が限られてしまう。また、当該パケット処理装置は、新たに必要となった処理を実行する機能拡張モジュールに対応できない。また、当該パケット処理装置のＮＩＦは、不必要となったプログラムも記憶しているため、メモリリソースの効率が悪かった。
【００１４】
そこで、本発明は、これらの問題を解決するパケット通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置において、前記ネットワークインタフェースは、ＣＰＵとメモリとを備え、前記メモリは、前記ＣＰＵが実行するプログラムを記憶し、前記ＣＰＵは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とする。
【発明の効果】
【００１６】
本発明のパケット通信装置は、ＮＩＦにおいてパケット処理を行うプログラム更新することで、新たな機能拡張モジュールを追加できる。
【００１７】
また、パケット処理以外の機能を有するプログラムをＮＩＦにインストールすることによって、パケット転送装置の管理負荷を低減できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を図面を参照して説明する。
【００１９】
図１−１は、本発明の実施の形態のパケット通信装置１０１のブロック図である。
【００２０】
パケット通信装置１０１は、ノード管理用プロセッサ１０２、オペレータ制御端末１０３、ノード内メモリ１０４、ネットワークインタフェース（ＮＩＦ）１０５、モジュールＩ／Ｆ１０６、制御用Ｉ／Ｆ１０７、機能拡張モジュール１０８及び内部スイッチ１０９を備える。
【００２１】
なお、ＮＩＦ１０５、モジュールＩ／Ｆ１０６及び機能拡張モジュール１０８は、いくつ備えられていてもよい。
【００２２】
ノード管理用プロセッサ１０２は、パケット通信装置１０１の全体を管理する。
【００２３】
オペレータ制御端末１０３は、表示部（例えば、液晶ディスプレイ等）及び入力部（例えば、キーボード等）を備える計算機である。オペレータ制御端末１０３には、パケット通信装置１０１への指示がオペレータから入力される。また、オペレータ制御端末１０３は、入力された指示をノード管理用プロセッサ１０２へ送信する。
【００２４】
制御用Ｉ／Ｆ１０７は、ノード管理用プロセッサ１０２とオペレータ制御端末１０３とを接続するインタフェースである。なお、制御用Ｉ／Ｆ１０７とノード管理用プロセッサ１０２とは、直接接続されていてもよいし、内部スイッチ１０９を介して接続されていてもよい。
【００２５】
ノード内メモリ１０４は、ノード管理用プロセッサ１０２に接続され、当該ノード管理用プロセッサ１０２が使用する情報を記憶する。なお、ノード内メモリ１０４とノード管理用プロセッサ１０２とは、直接接続されていてもよいし、内部スイッチ１０９を介して接続されていてもよい。
【００２６】
ＮＩＦ１０５は、外部ネットワーク１１０とパケットを送受信する。また、ＮＩＦ１０５は、パケットを送受信する機能を停止することなく、プログラムをインストールできる。同様に、ＮＩＦ１０５は、パケットを送受信する機能を停止することなく、インストールされたプログラムを削除できる。また、ＮＩＦ１０５は、インストールされたプログラムを実行することによって、受信したパケットに所定の処理を行う。所定の処理は、例えば、カプセル化処理、暗号化処理及び／又は複合化処理等である。
【００２７】
外部のネットワーク１１０は、ユーザネットワーク、ＩＳＰ（インターネットサービスプロバイダ）網又はアクセス網等である。ユーザネットワークは、ユーザが直接接続するネットワークである。ＩＳＰ網は、インターネットサーバが直接接続するネットワークである。インターネットサーバは、ユーザにインターネットサービスを提供する計算機である。アクセス網は、ユーザネットワークとＩＳＰ網とを接続するネットワークである。
【００２８】
モジュールＩ／Ｆ１０６は、内部スイッチ１０９と機能拡張モジュール１０８とを接続するインタフェースである。
【００２９】
なお、モジュールＩ／Ｆ１０６及び制御用Ｉ／Ｆ１０７は、ＮＩＦ１０５と同等の機能を備えるインタフェースであってもよい。
【００３０】
機能拡張モジュール１０８は、モジュールＩ／Ｆ１０６に着脱できる。また、機能拡張モジュール１０８は、モジュールＩ／Ｆ１０６に装着されると、パケット通信装置１０１に機能を提供する。
【００３１】
内部スイッチ１０９は、ノード管理用プロセッサ１０２、ＮＩＦ１０５及びモジュールＩ／Ｆ１０６等を含む装置内の部位と接続する。また、内部スイッチ１０９は、フォワーディングテーブルを記憶する。フォワーディングテーブルは、パケットのヘッダ情報とパケットの転送先との対応を示す。
【００３２】
具体的には、内部スイッチ１０９は、接続する装置内の部位からパケットを受信する。次に、内部スイッチ１０９は、フォワーディングテーブルを参照して、受信したパケットの転送先を決定する。そして、内部スイッチ１０９は、決定した転送先の装置内の部位へ当該パケットを転送する。
【００３３】
図１−２は、本発明の実施の形態のパケット通信装置１０１の内部におけるパケットの構成図である。
【００３４】
パケット通信装置１０１の内部におけるパケット（内部パケット）１１３は、内部ヘッダ１１１及びペイロード１１２を含む。
【００３５】
内部ヘッダ１１１には、パケット通信装置１０１の内部のみで有効なアドレス（内部アドレス）などの情報が格納される。ペイロード１１２には、当該パケットの内容が格納される。
【００３６】
図２は、本発明の実施の形態のパケット通信装置１０１を適用したネットワークのブロック図である。
【００３７】
本説明図は、ユーザ端末２０１がインターネット２０２に接続するネットワークの典型的な構成を示す。このネットワークは、インターネット２０２、アクセス網２０３及びＩＳＰ網２０５を含む。
【００３８】
ユーザ端末２０１は、ＩＳＰ網２０５を経由して、インターネット２０２に接続する計算機である。
【００３９】
インターネット２０２は、多数のサーバで構築されるネットワークである。
【００４０】
ＩＳＰ網２０５は、インターネットサーバ２０７及びノード２０４を含む。インターネットサーバ２０７は、ユーザ端末２０１にインターネットサービスを提供する。ノード２０４は、ネットワーク上でパケットを転送する。
【００４１】
アクセス網２０３は、ユーザ端末２０１とＩＳＰ網２０５とを接続するネットワークである。また、アクセス網２０３は、ノード２０４を含む。
【００４２】
更に、ＩＳＰ網２０５に含まれるノード２０４及び／又はアクセス網２０３に含まれるノード２０４には、本実施の形態のパケット通信装置１０１を適用できる。この場合、パケット通信装置１０１は、インターネットサーバ２０７とユーザ端末２０１とを接続し、パケットを転送する。また、パケット通信装置１０１は、転送するパケットに所定の処理を行う。所定の処理は、例えば、パケットフィルタリング処理、認証処理及び／又は暗号化処理等である。
【００４３】
図３−１は、本発明の実施の形態のＮＩＦ１０５のブロック図である。
【００４４】
ＮＩＦ１０５は、ＮＩＦ管理用プロセッサ３０１、ＮＩＦ内メモリ３０２、パケット処理用プロセッサ３０３、内部Ｉ／Ｆ３０５、外部Ｉ／Ｆ３０６及びＮＩＦ内部スイッチ３０７を備える。
【００４５】
外部Ｉ／Ｆ３０６は、ｎ個を図示しているが、いくつであってもよい。
【００４６】
ＮＩＦ内部スイッチ３０７は、ＮＩＦ管理用プロセッサ３０１、ＮＩＦ内メモリ３０２、パケット処理用プロセッサ３０３、内部Ｉ／Ｆ３０５及び外部Ｉ／Ｆ３０６と接続する。
【００４７】
ＮＩＦ管理用プロセッサ３０１は、ＮＩＦ１０５の全体を管理する。
【００４８】
ＮＩＦ内メモリ３０２は、ＮＩＦ管理用プロセッサ３０１が使用する情報を記憶する。また、ＮＩＦ内メモリ３０２は、内部Ｉ／Ｆ３０５又は外部Ｉ／Ｆ３０６から受信したパケットを一時的に記憶する。
【００４９】
また、ＮＩＦ内メモリ３０２は、図４−２で後述するフォワーディングテーブルを記憶する。フォワーディングテーブルは、パケットのヘッダ情報とパケットの転送先との対応を示す。更に、ＮＩＦ内メモリ３０２で記憶するフォワーディングテーブルは、パケット処理用プロセッサ３０３がパケットを処理する内容も含む。
【００５０】
パケット処理用プロセッサ３０３は、プログラム用メモリ３０４を含む。プログラム用メモリ３０４は、パケットを処理するプログラムが格納される。プログラム用メモリ３０４に格納されるプログラムは、例えば、カプセル化処理、暗号化処理及び／又は復号化処理等を行う。
【００５１】
また、プログラム用メモリ３０４に格納されるプログラムは、同一の規格で作成されることが好ましい。このようにすると、プログラム用メモリ３０４を効率的に利用できる。
【００５２】
パケット処理用プロセッサ３０３は、プログラム用メモリ３０４に格納されているプログラムを実行することによって、パケットに所定の処理を行う。
【００５３】
なお、プログラム用メモリ３０４に格納されるプログラムを変更することによって、パケット処理用プロセッサ３０３が実行する処理の内容を変更できる。
【００５４】
また、プログラム用メモリ３０４は、ＮＩＦ内メモリ３０２に代わって、フォワーディングテーブル（図４−２）を記憶していてもよい。
【００５５】
内部Ｉ／Ｆ３０５は、内部スイッチ１０９とＮＩＦ内部スイッチ３０７とを接続するインタフェースである。
【００５６】
外部Ｉ／Ｆ３０６は、外部ネットワーク１１０とＮＩＦ内部スイッチ３０７とを接続するインタフェースである。
【００５７】
ここで、外部Ｉ／Ｆ３０６からパケットを受信したＮＩＦ１０５の処理を説明する。
【００５８】
外部Ｉ／Ｆ３０６は、接続している外部ネットワーク１１０からパケットを受信する。すると、外部Ｉ／Ｆ３０６は、受信したパケットを、ＮＩＦ内部スイッチ３０５を介してＮＩＦ内メモリ３０２に送信する。
【００５９】
次に、ＮＩＦ内メモリ３０２は、受信したパケットを記憶する。
【００６０】
次に、パケット処理用プロセッサ３０３は、ＮＩＦ内メモリ３０２が記憶したパケットの内容を解析する。そして、パケット処理用プロセッサ３０３は、当該パケットに対して、解析した内容に対応する処理を行う。
【００６１】
例えば、パケット処理用プロセッサ３０３は、ＮＩＦ内メモリ３０２が記憶したパケットをＩＰパケットと解析する。すると、パケット処理用プロセッサ３０３は、ＮＩＦ内メモリ３０２が記憶するフォワーディングテーブル（図４−２）を参照して、当該パケットを外部に転送するＮＩＦ１０５を決定する。
【００６２】
次に、パケット処理用プロセッサ３０３は、決定したＮＩＦ１０５の内部アドレスを当該パケットに付加する。そして、パケット処理用プロセッサ３０３は、内部アドレスを付加したパケットを、ＮＩＦ内部スイッチ３０７及び内部Ｉ／Ｆ３０５を経由して、内部スイッチ１０９へ送信する。
【００６３】
図３−２は、本発明の実施の形態の機能拡張モジュール１０８のブロック図である。
【００６４】
機能拡張モジュール１０８は、モジュール内プロセッサ３０８、モジュール内メモリ３０９及びモジュール内部Ｉ／Ｆ３１０を備える。
【００６５】
モジュール内部Ｉ／Ｆ３１０は、パケットを内部スイッチ１０９と送受信するインタフェースである。
【００６６】
モジュール内メモリ３０９は、モジュール内プロセッサ３０８が使用する情報（プログラムを含む。）を記憶する。更に、モジュール内メモリ３０９は、ＮＩＦ１０５にインストールされるプログラムを記憶する。
【００６７】
モジュール内プロセッサ３０８は、モジュール内メモリ３０９が記憶するプログラムを実行することによって、モジュール内部Ｉ／Ｆ３１０から受信したパケットを処理する。また、モジュール内プロセッサ３０８は、機能拡張モジュール１０８の全体を管理する。
【００６８】
図４−１は、本発明の実施の形態のパケット通信装置１０１を構成する部位の内部アドレスの説明図である。
【００６９】
本実施の形態では、装置内のそれぞれの部位には、「１、２・・・」という内部アドレスが付与されている。
【００７０】
具体的には、ノード管理用プロセッサ１０２の内部アドレスは「１」である。また、内部スイッチの内部アドレスは「２」である。また、ＮＩＦ（１）１０５の内部アドレスは「３」であり、ＮＩＦ（２）１０５の内部アドレスは「４」である。また、モジュールＩ／Ｆ（１）１０６の内部アドレスは「７」であり、モジュールＩ／Ｆ（２）１０６の内部アドレスは「８」である。また、機能拡張モジュール（１）１０８の内部アドレスは「１１」であり、機能拡張モジュール（２）１０８の内部アドレスは「１２」であり
図４−２は、本発明の実施の形態のＮＩＦ（１）１０５のフォワーディングテーブル４０１の構成図である。
【００７１】
フォワーディングテーブル４０１は、ヘッダ情報４０２及び処理内容４０３を含む。
【００７２】
ヘッダ情報４０２は、宛先内部アドレス４０４、ペイロードタイプ４０５及びＩＰアドレス／プレフィックス長４０６を含む。
【００７３】
宛先内部アドレス４０４は、当該パケットを次に転送する装置内の部位の内部アドレスである。ペイロードタイプ４０５は、イーサネット（Ｅｔｈｅｒｎｅｔ)(登録商標、以下同じ）におけるヘッダ情報であり、ペイロードに格納された情報の種類である。ＩＰアドレス／プレフィックス長４０６には、当該パケットの送信先のＩＰアドレスが格納される。更に、ＩＰアドレス／プレフィックス長４０６には、当該ＩＰアドレスのネットワークアドレス部の長さ（プレフィックス長）が格納される。
【００７４】
処理内容４０３は、当該レコードに該当するパケットをＮＩＦ（１）１０５が処理する内容である。処理内容には、当該パケットの転送先及び当該パケットを処理するプログラム名が格納される。
【００７５】
ＮＩＦ（１）１０５は、内部Ｉ／Ｆ３０５又は外部Ｉ／Ｆ３０６からパケットを受信する。すると、ＮＩＦ（１）１０５は、受信したパケットからヘッダを抽出する。次に、ＮＩＦ（１）１０５は、抽出したヘッダとフォワーディングテーブル４０１のヘッダ情報４０２とが一致するレコードをフォワーディングテーブル４０１から選択する。次に、ＮＩＦ（１）１０５は、選択したレコードから、処理内容４０３を抽出する。
【００７６】
次に、ＮＩＦ（１）１０５は、抽出した処理内容４０３に格納されているプログラム名のプログラムを実行することによって、当該パケットを処理する。そして、ＮＩＦ（１）１０５は、処理したパケットを、抽出した処理内容４０３に格納されている転送先へ送信する。
【００７７】
図５−１は、本発明の実施の形態のノード管理用プロセッサ処理コード管理テーブル７００の構成図である。
【００７８】
ノード管理用プロセッサ処理コード管理テーブル７００は、ノード内メモリ１０４、ＮＩＦ１０５のＮＩＦ内メモリ３０２及び機能拡張モジュール１０８のモジュール内メモリ３０９に記憶される。
【００７９】
ノード管理用プロセッサ処理コード管理テーブル７００は、ノード管理用プロセッサ処理コード７０１及び処理内容７０２を含む。
【００８０】
ノード管理用プロセッサ処理コード７０１は、処理内容７０２の一意な識別子である。処理内容７０２は、ノード管理用プロセッサ１０２に要求する処理の内容である。
【００８１】
図５−２は、本発明の実施の形態のプログラム取得コード管理テーブル７１０の構成図である。
【００８２】
プログラム取得コード管理テーブル７１０は、ノード内メモリ１０４、ＮＩＦ１０５のＮＩＦ内メモリ３０２及び機能拡張モジュール１０８のモジュール内メモリ３０９に記憶される。
【００８３】
プログラム取得コード管理テーブル７１０は、プログラム取得コード７１１及び取得方法７１２を含む。
【００８４】
プログラム取得コード７１１は、取得方法７１２の一意な識別子である。
【００８５】
取得方法７１２は、ノード管理用プロセッサ１０２がプログラムを取得する方法である。
【００８６】
図５−３は、本発明の実施の形態のＮＩＦ指定コード管理テーブル７２０の構成図である。
【００８７】
ＮＩＦ指定コード管理テーブル７２０は、ノード内メモリ１０４及び機能拡張モジュール１０８のモジュール内メモリ３０９に記憶される。
【００８８】
ＮＩＦ指定コード管理テーブル７２０は、ＮＩＦ指定コード７２１及び送信先７２２を含む。
【００８９】
ＮＩＦ指定コード７２１は、送信先７２２の一意な識別子である。送信先７２２は、プログラムの送信先となるＮＩＦ１０５を示す。
【００９０】
図５−４は、本発明の実施の形態のパケット指定コード管理テーブル７３０の構成図である。
【００９１】
パケット指定コード管理テーブル７３０は、ノード内メモリ１０４、ＮＩＦ１０５のＮＩＦ内メモリ３０２及び機能拡張モジュール１０８のモジュール内メモリ３０９に記憶される。
【００９２】
パケット指定コード管理テーブル７３０は、パケット指定コード７３１及びパケットの種類７３２を含む。
【００９３】
パケット指定コード７３１は、パケットの種類７３２の一意な識別子である。パケットの種類７３２は、パケットのヘッダ等から判定される種類であり、例えば、ペイロードタイプやＩＰアドレス等である。
【００９４】
図６−１は、本発明の実施の形態のＮＩＦ−プログラム管理テーブル８００の構成図である。
【００９５】
ＮＩＦ−プログラム管理テーブル８００は、ノード内メモリ１０４及びＮＩＦ１０５のＮＩＦ内メモリ３０２に記憶される。
【００９６】
ＮＩＦ−プログラム管理テーブル８００は、ＮＩＦ１０５とプログラムとの対応を示す。
【００９７】
ＮＩＦ番号８０２は、ＮＩＦ１０５の一意な識別子である。プログラム名８０１は、プログラムの一意な識別子である。
【００９８】
ＮＩＦ番号８０２のＮＩＦ１０５にプログラム名８０１のプログラムがインストールされていると、ＮＩＦ−プログラム管理テーブル８００の該当するボックスに丸印が格納される。
【００９９】
更に、ＮＩＦ−プログラム管理テーブル８００は、リファレンスカウンタ（ｒｅｆ)８０３及びメモリ残存率（ｒｅｍ）８０４を含む。
【０１００】
リファレンスカウンタ８０３は、当該プログラムを使用している機能拡張モジュール１０８の数である。
【０１０１】
メモリ残存率８０４は、当該ＮＩＦ１０５のプログラム用メモリ３０４の未使用領域の割合である。
【０１０２】
なお、ＮＩＦ−プログラム管理テーブル８００は、機能拡張モジュール１０８とプログラムとの対応や、ＮＩＦ１０５と機能拡張モジュール１０８との対応等の情報を有していてもよい。
【０１０３】
図６−２は、本発明の実施の形態のＮＩＦ処理コード管理テーブル７４０の構成図である。
【０１０４】
ＮＩＦ処理コード管理テーブル７４０は、ノード内メモリ１０４及びＮＩＦ１０５のＮＩＦ内メモリ３０２に記憶される。
【０１０５】
ＮＩＦ処理コード管理テーブル７４０は、ＮＩＦ処理コード７４１及びＮＩＦ処理内容７４２を含む。
【０１０６】
ＮＩＦ処理コード７４１は、ＮＩＦ処理内容７４２の一意な識別子である。ＮＩＦ処理内容７４２は、ＮＩＦ１０５が行う処理の内容である。
【０１０７】
図６−３は、本発明の実施の形態の更新コード管理テーブル７５０の構成図である。
【０１０８】
更新コード管理テーブル７５０は、ノード内メモリ１０４及びＮＩＦ１０５のＮＩＦ内メモリ３０２に記憶される。
【０１０９】
更新コード管理テーブル７５０は、更新コード７５１及びＮＩＦ更新内容７５２を含む。
【０１１０】
更新コード７５１は、ＮＩＦ更新内容７５２の一意な識別子である。ＮＩＦ更新内容７５２は、ＮＩＦ１０５がフォワーディングテーブル４０１を更新する内容である。
【０１１１】
図７−１は、本発明の実施の形態のプログラム指定コード管理テーブル７６０の構成図である。
【０１１２】
プログラム指定コード管理テーブル７６０は、ノード内メモリ１０４及びＮＩＦ１０５のＮＩＦ内メモリ３０２に記憶される。
【０１１３】
プログラム指定コード管理テーブル７６０は、プログラム指定コード７６１及び送信プログラム７６２を含む。
【０１１４】
プログラム指定コード７６１は、送信プログラム７６２の一意な識別子である。送信プログラム７６２は、ＮＩＦ１０５にインストールされるプログラムを示す。
【０１１５】
図７−２は、本発明の実施の形態のモジュール処理コード管理テーブル７７０の構成図である。
【０１１６】
モジュール処理コード管理テーブル７７０は、ノード内メモリ１０４及び機能拡張モジュール１０８のモジュール内メモリ３０９に記憶される。
【０１１７】
モジュール処理コード管理テーブル７７０は、モジュール処理コード７７１及びモジュール処理内容７７２を含む。
【０１１８】
モジュール処理コード７７１は、モジュール処理内容７７２の一意な識別子である。モジュール処理内容７７２は、機能拡張モジュール１０８に要求する処理の内容である。
【０１１９】
図８は、本発明の実施の形態のパケット通信装置１０１の機能拡張モジュール追加処理のフローチャートである。
【０１２０】
機能拡張モジュール１０８が、モジュールＩ／Ｆ１０６に接続される。すると、パケット通信装置１０１は、機能拡張モジュール１０８の追加処理を開始する（５０１）。
【０１２１】
具体的には、機能拡張モジュール１０８は、自身のモジュール内部Ｉ／Ｆ３１０とパケット通信装置１０１のモジュールＩ／Ｆ１０６とが接続されたことを検知する。機能拡張モジュール１０８は、接続を検知すると、ノード管理用プロセッサ１０２にインストール要求内部パケットを送信する（５０２）。
【０１２２】
インストール要求内部パケットは、プログラムのインストールをＮＩＦ１０５へ要求するパケットであり、内部ヘッダ１１１及びペイロード１１２から構成される。
【０１２３】
図９−１は、本発明の実施の形態の内部ヘッダ１１１の構成図である。
【０１２４】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０１２５】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０１２６】
インストール要求内部パケットでは、宛先アドレス６０１がノード管理用プロセッサ１０２の内部アドレスである。また、送信元アドレス６０２が機能拡張モジュール１０８の内部アドレスである。
【０１２７】
なお、機能拡張モジュール１０８がノード管理用プロセッサ１０２の内部アドレスを知ることができないパケット通信装置１０１では、マルチキャストアドレスを予め設定しておく必要がある。そして、インストール要求内部パケットは、宛先アドレス６０１をマルチキャストアドレスとする。なお、マルチキャストアドレスを宛先アドレスとするパケットは、装置内のすべての部位に送信される。
【０１２８】
ただし、ノード管理用プロセッサ１０２以外の装置内の部位は、宛先アドレスがマルチキャストアドレスである内部パケットを受信すると、破棄する。または、内部スイッチ１０９は、宛先アドレス６０１がマルチキャストアドレスである内部パケットを受信すると、ノード管理用プロセッサ１０２だけにパケットを転送する。これによって、ノード管理用プロセッサ１０２のみが、インストール要求内部パケットを受信する。
【０１２９】
図９−２は、本発明の実施の形態のプログラムを含むインストール要求内部パケットのペイロード１１２の構成図である。
【０１３０】
本説明図のインストール要求内部パケットのペイロード１１２は、プログラム６０７を含む。更に、ノード管理用プロセッサ処理コード７０１、プログラム取得コード７１１、ＮＩＦ指定コード７２１及びパケット指定コード７３１を含む。
【０１３１】
機能拡張モジュール１０８は、以下のようにインストール要求内部パケットのペイロード１１２を作成する。
【０１３２】
まず、機能拡張モジュール１０８は、ノード管理用プロセッサ１０２に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル７００の処理内容７０２に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード７０１を抽出する。そして、抽出したノード管理用プロセッサ処理コード７０１をパケットのペイロード１１２に格納する。
【０１３３】
インストール要求内部パケットは、機能拡張モジュール１０８の追加をノード管理用プロセッサ１０２に要求する。よって、機能拡張モジュール１０８は、ノード管理用プロセッサ処理コード７０１を「０」として、パケットのペイロード１１２に格納する。
【０１３４】
次に、機能拡張モジュール１０８は、ノード管理用プロセッサ１０２がプログラムを取得する方法がプログラム取得コード管理テーブル７１０の取得方法７１２に合致するレコードを、プログラム取得コード管理テーブル７１０から選択する。次に、選択したレコードから、プログラム取得コード７１１を抽出する。そして、抽出したプログラム取得コード７１１をパケットのペイロード１１２に格納する。
【０１３５】
本説明図のペイロードは、プログラム６０７を含む。よって、機能拡張モジュール１０８は、プログラム取得コード７１１を「０」として、パケットのペイロード１１２に格納する。
【０１３６】
次に、機能拡張モジュール１０８は、プログラムをインストールさせるＮＩＦ１０５とＮＩＦ指定コード管理テーブル７２０の送信先７２２とが一致するレコードを、ＮＩＦ指定コード管理テーブル７２０から選択する。次に、選択したレコードから、ＮＩＦ指定コード７２１を抽出する。そして、抽出したＮＩＦ指定コード７２１をパケットのペイロード１１２に格納する。
【０１３７】
本説明図のインストール要求パケットは、プログラムをインストールするＮＩＦをオペレータに指定させる場合とする。よって、機能拡張モジュール１０８は、ＮＩＦ指定コード７２１を「１」として、パケットのペイロード１１２に格納する。
【０１３８】
次に、機能拡張モジュール１０８は、ＮＩＦ１０５にインストールさせるプログラム６０７をパケットのペイロードに格納する。プログラム６０７は、プログラム名６０８を含む。
【０１３９】
プログラム名６０８は、プログラムの一意な識別子である。なお、プログラム名６０８は、プログラムのバージョン及び特徴を示すものが好ましい。これによって、オペレータ制御端末１０３がプログラム名６０８を表示することによって、プログラムの種類をオペレータに理解させることができる。
【０１４０】
次に、機能拡張モジュール１０８は、ＮＩＦ１０５がプログラム６０７を実行するパケットの種類とパケット指定コード管理テーブル７３０のパケットの種類７３２とが一致するレコードを、パケット指定コード管理テーブル７３０から選択する。次に、選択したレコードから、パケット指定コード７３１を抽出する。そして、抽出したパケット指定コード７３１をパケットのペイロードに格納する。
【０１４１】
なお、インストール要求パケットは、複数のプログラム６０７を含んでいてもよい。この場合、インストール要求パケットは、それぞれのプログラム６０７に対応するパケット指定コード７３１を含む。
【０１４２】
例えば、プログラム名６０８が「４．０．１」のプログラム６０７に対応するパケット指定コード７３１は、「１」である。
【０１４３】
図９−３は、本発明の実施の形態のプログラムの所在情報を含むインストール要求内部パケットのペイロード１１２の構成図である。
【０１４４】
本説明図のインストール要求内部パケットのペイロード１１２は、プログラムの所在情報６０９を含む。それ以外の構成は、プログラムを含むインストール要求内部パケットのペイロード（図９−２）と同一である。同一の構成には同一の番号を付し、説明を省略する。
【０１４５】
プログラムの所在情報６０９は、ＮＩＦ１０５にインストールさせるプログラムの所在に関する情報である。プログラムの所在情報６０９は、例えば、当該プログラムを記憶しているサーバのＵＲＬ又は当該プログラムを記憶しているノードのＩＰアドレス等である。
【０１４６】
なお、本説明図のペイロードは、プログラム６０７の代わりに、プログラムの所在情報６０９を含む。よって、機能拡張モジュール１０８は、プログラム取得コード７１１を「１」として、パケットのペイロード１１２に格納する。
【０１４７】
ここで、図８に戻る。ノード管理用プロセッサ１０２は、機能拡張モジュール１０８からインストール要求内部パケットを受信する。
【０１４８】
次に、ノード管理用プロセッサ１０２は、受信したインストール要求内部パケットから、ノード管理用プロセッサ処理コードを抽出する。次に、ノード管理用プロセッサ１０２は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル７００のノード管理用プロセッサ処理コード７０１とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、ノード管理用プロセッサ１０２は、選択したレコードから、処理内容７０２を抽出する（５０３）。
【０１４９】
そして、ノード管理用プロセッサ１０２は、抽出した処理内容７０２に対応する処理を行う。ここでは、ノード管理用プロセッサ処理コード７０１が「０」なので、ノード管理用プロセッサ１０２は、機能拡張モジュール追加処理を行う。
【０１５０】
具体的には、ノード管理用プロセッサ１０２は、受信したインストール要求内部パケットの内部ヘッダ１１１から、宛先アドレス６０１を抽出する。次に、ノード管理用プロセッサ１０２は、抽出した宛先アドレス６０１を、新たに追加された機能拡張モジュール１０８の内部アドレスとして、ノード内メモリ１０４に記憶する（５０４）。
【０１５１】
ただし、内部アドレスがそれぞれの部位に固定的に割り当てられるアドレス（例えば、イーサネットのＭＡＣアドレス）でない場合には、ノード管理用プロセッサ１０２は、抽出した宛先アドレス６０１を内部アドレスとして記憶しない。この場合、ノード管理用プロセッサ１０２は、利用可能な内部アドレスを機能拡張モジュール１０８に割り当てる。次に、ノード管理用プロセッサ１０２は、割り当てた内部アドレスをノード内メモリ１０４に記憶する。そして、ノード管理用プロセッサ１０２は、割り当てた内部アドレスを機能拡張モジュール１０８の内部アドレスとして、内部スイッチ１０９に設定する。
【０１５２】
次に、ノード管理用プロセッサ１０２は、受信したインストール要求内部パケットから、プログラム取得コードを抽出する（５０５）。次に、抽出したプログラム取得コードとプログラム取得コード管理テーブル７１０のプログラム取得コード７１１とが一致するレコードを、プログラム取得管理テーブル７１０から選択する。次に、ノード管理用プロセッサ１０２は、選択したレコードから、取得方法７１２を抽出する。そして、ノード管理用プロセッサ１０２は、抽出した取得方法７１２に対応する処理によって、プログラムを取得する。
【０１５３】
具体的には、ノード管理用プロセッサ１０２は、抽出したプログラム取得コード７１１が「０」であると、インストール要求内部パケットのペイロード１１２にプログラム６０７が格納されていると判定する。よって、ノード管理用プロセッサ１０２は、プログラム６０７及びプログラム名６０８をインストール要求内部パケットのペイロード１１２から取得する（５０６−１）。
【０１５４】
また、ノード管理用プロセッサ１０２は、抽出したプログラム取得コード７１１が「１」であると、インストール要求内部パケットのペイロード１１２にプログラムの所在情報６０９が格納されていると判定する。よって、ノード管理用プロセッサ１０２は、ペイロード１１２に格納されているプログラムの所在情報６０９に基づいて、プログラム及びプログラム名を取得する（５０６−２）。
【０１５５】
また、ノード管理用プロセッサ１０２は、抽出したプログラム取得コード７１１が「２」であると、インストール要求内部パケットのペイロード１１２にプログラム名が格納されていると判定する。よって、ノード管理用プロセッサ１０２は、ペイロード１１２に格納されているプログラム名に関する情報を、ノード内メモリ１０４から検索する。
【０１５６】
そして、当該プログラム名のプログラムがノード内メモリ１０４に記憶されていると、ノード管理用プロセッサ１０２は、当該プログラムをノード内メモリ１０４から取得する（５０６−３）。
【０１５７】
一方、当該プログラム名のプログラムの所在情報がノード内メモリ１０４に記憶されていると、ノード管理用プロセッサ１０２は、当該所在情報をノード内メモリ１０４から取得する。そして、ノード管理用プロセッサ１０２は、取得した所在情報に基づいて、プログラムを取得する（５０６−３）。
【０１５８】
次に、ノード管理用プロセッサ１０２は、受信したインストール要求内部パケットのペイロード１１２から、パケット指定コード７３１を抽出する。そして、ノード管理用プロセッサ１０２は、取得したプログラム、取得したプログラム名及び抽出したパケット指定コード７３１をノード内メモリ１０４に記憶する（５０７）。
【０１５９】
次に、ノード管理用プロセッサ１０２は、受信したインストール要求内部パケットのペイロード１１２から、ＮＩＦ指定コードを抽出する（５０８）。
【０１６０】
次に、ノード管理用プロセッサ１０２は、抽出したＮＩＦ指定コードとＮＩＦ指定コード管理テーブル７２０のＮＩＦ指定コード７２１とが一致するレコードを、ＮＩＦ指定コード管理テーブル７２０から選択する。次に、ノード管理用プロセッサ１０２は、選択したレコードから、送信先７２２を抽出する。そして、ノード管理用プロセッサ１０２は、抽出した送信先７２２のＮＩＦ１０５に対して、プログラムを送信する。
【０１６１】
具体的には、ノード管理用プロセッサ１０２は、抽出したＮＩＦ指定コード７２１が「０」であると、すべてのＮＩＦ１０５をプログラムの送信先と決定する。よって、そのままステップ５１１に進む。
【０１６２】
一方、ノード管理用プロセッサ１０２は、抽出したＮＩＦ指定コード７２１が「１」であると、プログラムをインストールするＮＩＦ１０５をオペレータに指定させると判定する。そこで、ノード管理用プロセッサ１０２は、ＮＩＦ指定要求をオペレータ制御端末１０３に送信する（５０９）。ＮＩＦ指定要求は、ステップ５０７でノード内メモリ１０４が記憶したプログラム名を含む。
【０１６３】
すると、オペレータ制御端末１０３は、受信したＮＩＦ指定要求に対応する情報を表示部に表示する。
【０１６４】
図１０−１は、本発明の実施の形態のＮＩＦ指定要求を受信したオペレータ制御端末１０３の表示画面の説明図である。
【０１６５】
オペレータ制御端末１０３は、ＮＩＦ−プログラム管理テーブル８００（図６−１）及びメッセージ８０６等を表示する。
【０１６６】
具体的には、オペレータ制御端末１０３は、受信したＮＩＦ指定要求からプログラム名を抽出する。次に、オペレータ制御端末１０３は、抽出したプルグラム名のプログラムをインストールするＮＩＦ１０５の指定を要求するメッセージ８０６を表示する。
【０１６７】
更に、オペレータ制御端末１０３は、ノード内メモリ１０４からＮＩＦ−プログラム管理テーブル８００を取得する。そして、オペレータ制御端末は、取得したＮＩＦ−プログラム管理テーブル８００を表示する。
【０１６８】
オペレータは、オペレータ制御端末１０３の表示画面を確認することによって、ＮＩＦ１０５のプログラムインストール状況を視覚的に把握できる。
【０１６９】
ここで、図８に戻る。
【０１７０】
オペレータは、プログラムをインストールするＮＩＦ１０５をオペレータ制御端末１０３上で指定する（５１０）。
【０１７１】
オペレータ制御端末１０３は、オペレータに指定されたＮＩＦ１０５を、ノード管理用プロセッサ１０２に通知する。すると、ノード管理用プロセッサ１０２は、通知されたＮＩＦ１０５をプログラムの送信先と決定する。
【０１７２】
次に、ノード管理用プロセッサ１０２は、ＮＩＦ−プログラム管理テーブル８００を参照することによって、送信先と決定したＮＩＦ１０５に当該プログラムが既にインストールされているか否かを判定する（５１１）。
【０１７３】
具体的には、ノード管理用プロセッサ１０２は、インストールするプログラム名とＮＩＦ−プログラム管理テーブル８００のプログラム名８０１とが一致し、更に、送信先と決定したＮＩＦ１０５のＮＩＦ番号とＮＩＦ−プログラム管理テーブル８００のＮＩＦ番号８０４とが一致するブロックを抽出する。
【０１７４】
そして、ノード管理用プロセッサ１０２は、抽出したブロックに丸印が格納されていると、既にインストールされていると判定する。一方、抽出したブロックが空欄であると、インストールされていないと判定する。
【０１７５】
ノード管理用プロセッサ１０２は、プログラムがインストールされていないと判定すると、送信先と決定したＮＩＦ１０５にプログラムインストール要求パケットを送信する（５１２）。
【０１７６】
図１０−２は、本発明の実施の形態のプログラムインストール要求パケットの構成図である。
【０１７７】
プログラムインストール要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０１７８】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０１７９】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０１８０】
プログラムインストール要求パケットでは、宛先アドレス６０１がパケット送信先のＮＩＦ１０５の内部アドレスである。また、送信元アドレス６０２がノード管理用プロセッサ１０２の内部アドレスである。
【０１８１】
ペイロード１１２は、ＮＩＦ処理コード７４１、機能拡張モジュールの内部アドレス９０２、パケット指定コード７３１、プログラム９０３及びプログラム名９０４を含む。
【０１８２】
なお、ペイロード１１２は、複数のプログラム９０３を含んでいてもよい。この場合、ペイロード１１２は、それぞれのプログラム９０３に対応するパケット指定コード７３１及びプログラム名９０４を含む。
【０１８３】
ノード管理用プロセッサ１０２は、以下のようにプログラムインストール要求パケットのペイロード１１２を作成する。
【０１８４】
まず、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に要求する処理の内容がＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理内容７４２に合致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、選択したレコードから、ＮＩＦ処理コード７４１を抽出する。そして、抽出したＮＩＦ処理コード７４１をパケットのペイロード１１２に格納する。
【０１８５】
プログラムインストール要求パケットは、ペイロードに格納されているプログラム９０３のインストールをＮＩＦ１０５に要求する。よって、ノード管理用プロセッサ１０２は、ＮＩＦ処理コード７１４を「０」として、パケットのペイロード１１２に格納する。
【０１８６】
次に、ノード管理用プロセッサ１０２は、ステップ５０４でノード内メモリ１０４に記憶した内部アドレスを抽出する。次に、抽出した内部アドレスを、パケット通信装置１０１に追加された機能拡張モジュールの内部アドレス９０２として、パケットのペイロード１１２に格納する。
【０１８７】
次に、ノード管理用プロセッサ１０２は、ステップ５０７でノード内メモリ１０４に記憶したパケット指定コード７３１、プログラム及びプログラム名を抽出する。そして、抽出したパケット指定コード７３１、プログラム及びプログラム名をパケットのペイロード１１２に格納する。
【０１８８】
ここで、図８に戻る。
【０１８９】
一方、ノード管理用プロセッサ１０２は、ステップ５１１でプログラムが既にインストールされていると判定すると、プログラムをＮＩＦ１０５に送信する必要がない。よって、ノード管理用プロセッサ１０２は、送信先と決定したＮＩＦ１０５にフォワーディングテーブル更新要求パケットを送信する（５１３）。
【０１９０】
図１０−３は、本発明の実施の形態のフォワーディングテーブル更新要求パケットの構成図である。
【０１９１】
フォワーディングテーブル更新要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０１９２】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０１９３】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０１９４】
フォワーディングテーブル更新要求パケットでは、宛先アドレス６０１がパケット送信先のＮＩＦ１０５の内部アドレスである。また、送信元アドレス６０２がノード管理用プロセッサ１０２の内部アドレスである。
【０１９５】
ペイロード１１２は、ＮＩＦ処理コード７４１、更新コード７５１、内部アドレス９０２、パケット指定コード７３１及びプログラム名９０４を含む。
【０１９６】
なお、ペイロード１１２は、複数のプログラム名９０４を含んでいてもよい。この場合、ペイロード１１２は、それぞれのプログラム名９０４に対応するパケット指定コード７３１を含む。
【０１９７】
ノード管理用プロセッサ１０２は、以下のようにフォワーディングテーブル更新要求パケットのペイロード１１２を作成する。
【０１９８】
まず、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に要求する処理の内容がＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理内容７４２に合致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、選択したレコードから、ＮＩＦ処理コード７４１を抽出する。そして、抽出したＮＩＦ処理コード７４１をパケットのペイロード１１２に格納する。
【０１９９】
フォワーディングテーブル更新要求パケットは、フォワーディングテーブルの更新をＮＩＦ１０５に要求する。よって、ノード管理用プロセッサ１０２は、ＮＩＦ処理コード７４１を「１」として、パケットのペイロード１１２に格納する。
【０２００】
次に、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に要求するフォワーディングテーブルの更新の内容が更新コード管理テーブル７５０のＮＩＦ更新内容７５２に合致するレコードを、更新コード管理テーブル７５０から選択する。次に、選択したレコードから、更新コード７５１を抽出する。そして、抽出した更新コード７５１をパケットのペイロードに格納する。
【０２０１】
本説明図のフォワーディングテーブル更新要求パケットは、機能拡張モジュール１０８をパケット通信装置１０１に追加する処理で送信される。この場合、フォワーディングテーブル４０１は、経路を追加される。よって、ノード管理用プロセッサ１０２は、更新コード７５１を「０」として、パケットのペイロード１１２に格納する。
【０２０２】
次に、ノード管理用プロセッサ１０２は、ステップ５０４でノード内メモリ１０４に記憶した内部アドレスを抽出する。次に、抽出した内部アドレスを、パケット通信装置１０１に追加された機能拡張モジュールの内部アドレス９０２として、パケットのペイロード１１２に格納する。
【０２０３】
次に、ノード管理用プロセッサ１０２は、ステップ５０７のノード内メモリ１０４に記憶したパケット指定コード７３１及びプログラム名を抽出する。そして、抽出したパケット指定コード７３１及びプログラム名をパケットのペイロード１１２に格納する。
【０２０４】
ここで、図８に戻る。ノード管理用プロセッサ１０２は、プログラムインストール要求パケット又はフォワーディングテーブル更新要求パケットをＮＩＦ１０５に送信すると、ＮＩＦ−プログラム管理テーブル８００を更新する（５１４）。
【０２０５】
具体的には、ノード管理用プロセッサ１０２は、パケット（プログラムインストール要求パケット又はフォワーディングテーブル更新要求パケット）に格納したプログラム名９０４とＮＩＦ−プログラム管理テーブル８００のプログラム名８０１とが一致し、更に、パケットの送信先のＮＩＦ１０５のＮＩＦ番号とＮＩＦ−プログラム管理テーブル８００のＮＩＦ番号８０２とが一致するボックスに、丸印を格納する。
【０２０６】
次に、ノード管理用プロセッサ１０２は、パケットに格納したプログラム名９０４とＮＩＦ−プログラム管理テーブル８００のプログラム名８０１とが一致するレコードのリファレンスカウンタ８０３を選択する。そして、選択したリファレンスカウンタ８０３を増加させる。
【０２０７】
次に、ノード管理用プロセッサ１０２は、プログラムインストール要求パケットに格納したプログラム９０３のデータ量を測定する。次に、パケットの送信先のＮＩＦ１０５のＮＩＦ番号とＮＩＦ−プログラム管理テーブル８００のＮＩＦ番号８０２とが一致するレコードのメモリ残存率８０４を選択する。そして、測定したデータ量に基づいて、選択したメモリ残存率を変更する。
【０２０８】
次に、ノード管理用プロセッサ１０２は、プログラム記憶処理を行う（５１５）。なお、プログラム記憶処理は、図１１−２で詳細を説明する。
【０２０９】
一方、ＮＩＦ１０５は、ノード管理用プロセッサ１０２からパケットを受信する。次に、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、ＮＩＦ処理コードを抽出する（５１６）。
【０２１０】
次に、ＮＩＦ１０５は、抽出したＮＩＦ処理コードとＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理コード７４１とが一致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、ＮＩＦ１０５は、選択したレコードから、ＮＩＦ処理内容７４２を抽出する。そして、ＮＩＦ１０５は、抽出したＮＩＦ処理内容７４２に対応する処理を行う。
【０２１１】
具体的には、ＮＩＦ１０５は、抽出したＮＩＦ処理コード７４１が「０」であると、受信したパケットをプログラムインストール要求パケットと判定する。よって、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、プログラム９０３を抽出する。次に、ＮＩＦ１０５は、抽出したプログラム９０３をインストールする。
【０２１２】
次に、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（５１７−１）。
【０２１３】
具体的には、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、パケット指定コード７３１を抽出する。次に、ＮＩＦ１０５は、抽出したパケット指定コードとパケット指定コード管理テーブル７３０のパケット指定コード７３１とが一致するレコードを、パケット指定コード管理テーブル７３０から選択する。次に、選択したレコードから、パケットの種類７３２を抽出する。
【０２１４】
次に、ＮＩＦ１０５は、フォワーディングテーブル４０１に新たなレコードを追加する。次に、ＮＩＦ１０５は、抽出したパケットの種類７３２を、新たなレコードのペイロードタイプ４０５及びＩＰアドレス／プレフィックス長４０６に格納する。
【０２１５】
次に、ＮＩＦ１０５は、受信したパケットのペイロードから、機能拡張モジュールの内部アドレス９０２及びプログラム名９０４を抽出する。次に、ＮＩＦ１０５は、抽出した機能拡張モジュールの内部アドレス９０２及びプログラム名９０４を、追加した新たなレコードの処理内容４０３に格納する。
【０２１６】
このように、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する。そして、パケット通信装置１０１は、機能拡張モジュール１０８の追加処理を終了する（５１８）。
【０２１７】
また、ＮＩＦ１０５は、抽出したＮＩＦ処理コード７４１が「１」であると、受信したパケットをフォワーディングテーブル更新要求パケットと判定する。よって、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（５１７−２）。
【０２１８】
具体的には、ＮＩＦ１０５は、受信したパケットから、更新コードを抽出する。次に、ＮＩＦ１０５は、抽出した更新コードと更新コード管理テーブル７５０の更新コード７５１とが一致するレコードを、更新コード管理テーブル７５０から選択する。次に、選択したレコードからＮＩＦ更新内容７５２を抽出する。
【０２１９】
そして、ＮＩＦ１０５は、抽出したＮＩＦ更新内容７５２に基づいて、フォワーディングテーブル４０１を更新する内容を決定する。
【０２２０】
ここでは、ＮＩＦ１０５は、抽出した更新コード７５１が「０」であるので、フォワーディングテーブル４０１に経路を追加する。よって、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、パケット指定コード７３１を抽出する。次に、ＮＩＦ１０５は、抽出したパケット指定コードとパケット指定コード管理テーブル７３０のパケット指定コード７３１とが一致するレコードを、パケット指定コード管理テーブル７３０から選択する。次に、選択したレコードから、パケットの種類７３２を抽出する。
【０２２１】
次に、ＮＩＦ１０５は、フォワーディングテーブル４０１に新たなレコードを追加する。次に、ＮＩＦ１０５は、抽出したパケットの種類７３２を、新たなレコードのペイロードタイプ４０５及びＩＰアドレス／プレフィックス長４０６に格納する。
【０２２２】
次に、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、機能拡張モジュールの内部アドレス９０２及びプログラム名９０４を抽出する。次に、ＮＩＦ１０５は、抽出した機能拡張モジュールの内部アドレス９０２及びプログラム名９０４を、追加した新たなレコードの処理内容４０３に格納する。
【０２２３】
このように、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する。そして、パケット通信装置１０１は、機能拡張モジュール１０８の追加処理を終了する（５１８）。
【０２２４】
また、ＮＩＦ１０５は、抽出した処理コード７４１が「２」であると、受信したパケットをプログラムアンインストール要求パケットと判定する。よって、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、プログラム名９０４を抽出する。次に、ＮＩＦ１０５は、抽出したプログラム名９０４のプログラムを削除する。
【０２２５】
次に、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（５１７−３）。ここでは、ＮＩＦ１０５は、フォワーディングテーブル４０１から経路を削除する。
【０２２６】
具体的には、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、パケット指定コード７３１を抽出する。次に、ＮＩＦ１０５は、抽出したパケット指定コードとパケット指定コード管理テーブル７３０のパケット指定コード７３１とが一致するレコードを、パケット指定コード管理テーブル７３０から選択する。次に、選択したレコードから、パケットの種類７３２を抽出する。
【０２２７】
次に、ＮＩＦ１０５は、抽出したパケットの種類７３２がフォワーディングテーブル４０１のヘッダ情報４０２に合致するレコードを、フォワーディングテーブル４０１から選択する。そして、ＮＩＦ１０５は、選択したレコードを、フォワーディングテーブル４０１から削除する。
【０２２８】
このように、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する。そして、パケット通信装置１０１は、機能拡張モジュール１０８の追加処理を終了する（５１８）。
【０２２９】
図１１−１は、本発明の実施の形態のモジュール−プログラム管理テーブル８２０の構成図である。
【０２３０】
モジュール−プログラム管理テーブル８２０は、ノード内メモリ１０４に記憶される。
【０２３１】
モジュール−プログラム管理テーブル８２０は、機能拡張モジュール１０８とプログラムとの対応を示す。
【０２３２】
モジュール種類８２２は、機能拡張モジュール１０８が実現するサービスの一意な識別子である。プログラム名８２１は、プログラムの一意な識別子である。
【０２３３】
モジュール種類８２２の機能拡張モジュール１０８が、プログラム名８２１のプログラムを使用していると、モジュール−プログラム管理テーブル８２０の該当するボックスに丸印が格納される。
【０２３４】
更に、モジュール−プログラム管理テーブル８２０は、リファレンスカウンタ（ｒｅｆ)８２３、保存内容８２４及びパケット指定コード８２５を含む。
【０２３５】
リファレンスカウンタ８２３は、当該プログラムを使用している機能拡張モジュール１０８の数である。リファレンスカウンタ８２３は、当該プログラムに該当するレコードに格納されている丸印の数と同数になる。
【０２３６】
保存方法８２４は、当該プログラムを保存している方法を示す。
【０２３７】
具体的には、保存方法８２４が「１」であると、ノード内メモリ１０４がプログラムを記憶している。また、保存方法８２４が「２」であると、ノード内メモリ１０４がプログラムの所在情報を記憶している。また、保存方法８２４が「３」であると、ノード内メモリ１０４はプログラム及びプログラムの所在情報のどちらも記憶していないが、機能拡張モジュール１０８がプログラムを記憶している。また、保存方法８２４が「４」であると、ノード内メモリ１０４はプログラム及びプログラムの所在情報のどちらも記憶していないが、機能拡張モジュール１０８がプログラムの所在情報を記憶している。
【０２３８】
パケット指定コード８２５は、当該機能拡張モジュール８２２が処理するパケットの種類の一意な識別子である。なお、パケット指定コード８２５は、パケット指定コード管理テーブル７３０のパケット指定コード７３１と同一の識別子を用いる。
【０２３９】
ノード内メモリ１０４がプログラム管理テーブル１２１２を記憶することによって、ノード管理用プロセッサ１０２は、プログラムを取得する方法及び場所を迅速に判断できる。
【０２４０】
図１１−２は、本発明の実施の形態のノード管理用プロセッサ１０２のプログラム記憶処理のフローチャートである。
【０２４１】
ノード管理用プロセッサ１０２は、機能拡張モジュール追加処理（図８）のステップ５１４においてＮＩＦ−プログラム管理テーブル８００を更新すると、プログラム記憶処理（５１５）を開始する。
【０２４２】
まず、機能拡張モジュール追加処理（図８）のステップ５０６−１〜５０６−３で取得したプログラムを記憶する容量がノード内メモリ１０４に残っているか否かを判定する（１２０２）。
【０２４３】
記憶容量が残っていると、当該プログラムをノード内メモリ１０４に記憶する（１２０３）。そして、ステップ１２１０に進む。
【０２４４】
一方、記憶容量が残っていないと、当該プログラムのプログラム名とモジュール−プログラム管理テーブル８２０のプログラム名８２１とが一致するレコードを選択する。次に、選択したレコードから、リファレンスカウンタ８２３を抽出する。次に、モジュール−プログラム管理テーブル８２０の保存方法８２４が「１」であるレコードをすべて選択する。
【０２４５】
次に、抽出したリファレンスカウンタと、保存方法８２４が「１」であるすべてのレコードのリファレンスカウンタ８２３と、を比較する。そして、比較したすべてのリファレンスカウンタ８２３の中で、抽出したリファレンスカウンタが最小であるか否かを判定する（１２０４）。
【０２４６】
抽出したリファレンスカウンタが最小であると、当該プログラムを保存しないと判定する。よって、当該プログラムの所在情報を機能拡張モジュール１０８から取得できるか否かを判定する（１２０５）。
【０２４７】
プログラムの所在情報を取得できないと、そのままステップ１２１０に進む。
【０２４８】
一方、プログラムの所在情報を取得できると、取得したプログラムの所在情報をノード内メモリ１０４に記憶する（１２０６）。そして、ステップ１２１０に進む。
【０２４９】
一方、抽出したリファレンスカウンタが最小でないとステップ１２０４で判定すると、抽出したリファレンスカウンタより小さい値のリファレンスカウンタ８２３に対応するプログラム名８２１をモジュール−プログラム管理テーブル８２０からすべて抽出する。
【０２５０】
次に、抽出したプログラム名のプログラムをすべて削除した場合に、当該プログラムを記憶する容量をノード内メモリ１０４に確保できるか否かを判定する（１２０７）。
【０２５１】
当該プログラムの記憶容量を確保できないと判定すると、ステップ１２０５に進む。
【０２５２】
一方、当該プログラムの記憶容量を確保できると判定すると、モジュール−プログラム管理テーブル８２０のリファレンスカウンタ８２３が小さいプログラムから順に、ノード内メモリ１０４から削除する（１２０８）。そして、ノード内メモリ１０４に当該プログラムの記憶容量を確保するまで、プログラムの削除を繰り返す。
【０２５３】
なお、リファレンスカウンタ８２３が小さいプログラムから順に削除するのでなく、記憶した日時の古いプログラムから順に削除してもよい。
【０２５４】
ノード内メモリ１０４が当該プログラムの記憶容量を確保すると、当該プログラムをノード内メモリ１０４に記憶する（１２０９）。
【０２５５】
次に、ノード管理用プロセッサ１０２は、モジュール−プログラム管理テーブル８２０を更新する（１２１０）。
【０２５６】
具体的には、モジュール−プログラム管理テーブル８２０に新たなレコードを追加する。次に、ステップ５０１（図８）で追加された機能拡張モジュール１０８の種類を、新たなレコードのモジュール種類８２２に格納する。
【０２５７】
次に、ノード内メモリ１０４に記憶したプログラムのプログラム名とモジュール−プログラム管理テーブル８２０のプログラム名８２１とが一致するボックスを、新たなレコードから選択する。そして、選択したボックスに丸印を格納する。
【０２５８】
次に、ノード内メモリ１０４に記憶したプログラムのプログラム名とモジュール−プログラム管理テーブル８２０のプログラム名８２１とが一致するレコードを、モジュール−プログラム管理テーブル８２０から選択する。次に、選択したレコードのリファレンスカウンタ８２３を増加させる。
【０２５９】
次に、プログラムの保存方法に変更があった場合には、選択したレコードの保存方法８２４を該当する値に変更する。
【０２６０】
このようにモジュール−プログラム管理テーブル８２０を更新すると、プログラム記憶処理を終了する（１２１１）。
【０２６１】
ここで、ステップ５０６−１〜５０６−３（図８）で取得したプログラムが複数ある場合には、当該プログラム記憶処理をプログラム数と同じ回数繰り返す。
【０２６２】
以上のように、ノード内メモリ１０４は、ＮＩＦ１０５がインストールするプログラムを記憶する。これによって、ノード管理用プロセッサ１０２は、ＮＩＦ１０５にプログラムを送信する際に、機能拡張モジュール１０８又は外部の装置から、プログラムを取得する必要がなくなる。つまり、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に送信するプログラムをノード内メモリ１０４から取得するので、処理を高速化できる。
【０２６３】
また、ノード内メモリ１０４は、リファレンスカウンタ８０１の大きいプログラムを記憶している。つまり、ノード管理用プロセッサ１０２は、ＮＩＦ１０５へ送信する可能性が高いプログラムをノード内メモリ１０４から取得できる。よって、ノード管理用プロセッサ１０２は、機能拡張モジュール１０８からプログラムを取得する回数を減らすことができる。
【０２６４】
また、ノード内メモリ１０４は、プログラムを記憶できない場合、プログラムの所在情報を記憶する。これによって、ノード管理用プロセッサ１０２は、プログラムの所在情報を機能拡張モジュール１０８に問い合わせる処理を省略できる。
【０２６５】
図１２は、本発明の実施の形態のパケット通信装置１０１の機能拡張モジュール追加処理のシーケンス図である。
【０２６６】
このシーケンス図は、機能拡張モジュール１０８を追加されたパケット通信装置１０１の代表的な処理を示す。
【０２６７】
まず、機能拡張モジュール１０８がモジュールＩ／Ｆ１０６に追加される。すると、機能拡張モジュール１０８は、プログラムをペイロード１１２に格納したインストール要求内部パケットを作成する。そして、機能拡張モジュール１０８は、作成したインストール要求内部パケットをノード管理用プロセッサ１０２に送信する（１００１）。
【０２６８】
すると、ノード管理用プロセッサ１０２は、機能拡張モジュール１０８からインストール要求内部パケットを受信する。次に、ノード管理用プロセッサ１０２は、プログラムをインストールするＮＩＦ１０５の指定要求をオペレータ制御端末１０３に送信する（１００２）。
【０２６９】
すると、オペレータ制御端末１０３は、受信した指定要求の内容を表示する。オペレータ制御端末１０３は、ＮＩＦ１０５の指定をオペレータから入力される。ここでは、オペレータは、ＮＩＦ（１）１０５、ＮＩＦ（２）及びＮＩＦ（３）を指定したとする。すると、オペレータ制御端末１０３は、入力された内容を含むＮＩＦ指定応答をノード管理用プロセッサ１０２に送信する（１００３）。
【０２７０】
ノード管理用プロセッサ１０２は、オペレータ管理端末１０３からＮＩＦ指定応答を受信する。すると、ノード管理用プロセッサ１０２は、受信したＮＩＦ指定応答で指定されたＮＩＦ１０５の内部アドレスを宛先アドレスに格納し、更に、プログラムをペイロード１１２に格納したプログラムインストール要求パケットを作成する。
【０２７１】
そして、ノード管理用プロセッサ１０２は、作成したプログラムインストール要求パケットを、ＮＩＦ指定応答で指定されたすべてのＮＩＦ１０５に送信する（１００４）。つまり、ノード管理用プロセッサ１０２は、ＮＩＦ（１）１０５、ＮＩＦ（２）及びＮＩＦ（３）にプログラムインストール要求パケットを送信する。
【０２７２】
プログラムインストール要求パケットを受信したＮＩＦ１０５は、受信したパケットに格納されているプログラムをインストールする。
【０２７３】
そして、パケット通信装置１０１は、機能拡張モジュール１０８の追加処理を終了する。
【０２７４】
次に、本実施の形態のパケット通信装置１０１の効果を説明する。
【０２７５】
ここでは、追加される機能拡張モジュール１０８が、サービス拒否（ＤｏＳ）攻撃対処モジュールである場合を説明する。
【０２７６】
ＤｏＳ攻撃対処モジュールは、まず、パケットのヘッダからフロー統計情報を収集する。フロー統計情報は、アドレス及びポート番号等である。次に、ＤｏＳ攻撃対処モジュールは、収集したフロー統計情報を分析することによって、ＤｏＳ攻撃に関係するパケットの特徴を特定する。そして、ＤｏＳ攻撃対処モジュールは、特定した特徴を有するパケットを受信すると、転送せずに廃棄する。
【０２７７】
ここで、本発明の効果を明確にするため、ＤｏＳ攻撃対処モジュールを追加された従来の固定転送装置の処理を説明する。
【０２７８】
従来の固定転送装置の構成は、本実施の形態のパケット通信装置１０１（図１−１）と同一であってもよいし、同一でなくてもよい。ここでは、本実施の形態との対比を容易にするため、同一の構成の場合で説明する。
【０２７９】
図１３−１は、従来の固定転送装置のパケット転送処理のフローチャートである。
【０２８０】
まず、ＮＩＦ１０５は、外部ネットワーク１１０からパケットを受信する（１１０１）。
【０２８１】
次に、ＮＩＦ１０５は、受信したパケットをＮＩＦ内メモリ３０２に記憶する（１１０２）。
【０２８２】
次に、ＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットからヘッダを抽出する。次に、ＮＩＦ１０５は、抽出したヘッダとフォワーディングテーブル４０１とを比較することによって、パケットの転送先を決定する。ここでは、ＮＩＦ１０５は、ＤｏＳ攻撃対処モジュールを転送先に決定する。
【０２８３】
次に、ＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットに、ＤｏＳ攻撃対処モジュールの内部アドレスを宛先アドレスとする内部ヘッダを付加する。次に、ＮＩＦ１０５は、内部ヘッダを付加したパケットを、内部スイッチを１０９を介してＤｏＳ攻撃対処モジュールに送信する（１１０３）。
【０２８４】
ＤｏＳ攻撃対処モジュールは、パケットを受信すると、受信したパケットを処理する（１１０４）。具体的には、ＤｏＳ攻撃対処モジュールは、受信したパケットから内部ヘッダを削除する。次に、ＤｏＳ攻撃対処モジュールは、内部ヘッダを削除したパケットのヘッダからフロー統計情報を収集する。次に、ＤｏＳ攻撃対処モジュールは、収集したフロー統計情報を分析することによって、ＤｏＳ攻撃に関係するパケットの特徴を特定する。
【０２８５】
次に、ＤｏＳ攻撃対処モジュールは、当該パケットを装置内の他の部位に転送するか否かを判定する（１１０５）。具体的には、ＤｏＳ攻撃対処モジュールは、当該パケットがＤｏＳ攻撃に関係するパケットの特徴を有すると、当該パケットを装置内の他の部位に転送しないと判定する。
【０２８６】
ＤｏＳ攻撃対処モジュールは、パケットを転送しないと判定すると、当該パケットを破棄する。そして、固定転送装置は、パケット転送処理を終了する。
【０２８７】
一方、ＤｏＳ攻撃対処モジュールは、パケットを転送すると判定すると、当該パケットのヘッダとフォワーディングテーブルとを比較することによって、パケットの転送先を決定する。ここでは、ＤｏＳ攻撃対処モジュールは、ＮＩＦ１０５を転送先に決定する。
【０２８８】
次に、ＤｏＳ攻撃対処モジュールは、当該パケットに、転送先に決定したＮＩＦ１０５の内部アドレスを宛先アドレスとする内部ヘッダを付加する。次に、ＤｏＳ攻撃対処モジュールは、内部ヘッダを付加したパケットを、内部スイッチを１０９を介して転送先のＮＩＦ１０５に送信する（１１０６）。
【０２８９】
すると、ＮＩＦ１０５は、ＤｏＳ攻撃対処モジュールから受信したパケットをＮＩＦ内メモリ３０２に記憶する（１１０７）。
【０２９０】
ＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットから内部ヘッダを削除する。次に、ＮＩＦ１０５は、内部ヘッダを削除したパケットのヘッダとフォワーディングテーブル４０１とを比較することによって、パケットの転送先を決定する。ここでは、ＮＩＦ１０５は、外部ネットワーク１１０を転送先に決定する。
【０２９１】
次に、ＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットのヘッダを、外部ネットワーク１１０を宛先とするヘッダに付け替える。
【０２９２】
次に、ＮＩＦ１０５は、当該パケットを外部ネットワーク１１０へ送信する（１１０８）。そして、従来の固定転送装置は、パケット転送処理を終了する（１１０９）。
【０２９３】
従来の固定転送装置は、以上のようにパケットを転送する。
【０２９４】
従来の固定転送装置では、ＮＩＦ１０５は、受信したすべてのパケットをＤｏＳ攻撃対処モジュールに転送する必要があった。これは、固定転送装置に接続された機能拡張モジュールが、ＤｏＳ攻撃対処モジュールの場合だけでなく、パケットの解析又はフィルタリングを行うモジュールであれば同様である。
【０２９５】
ＤｏＳ攻撃対処モジュールは、転送されたすべてのパケットに対して、高度な解析処理を行う。よって、ＤｏＳ攻撃対処モジュールの処理が、装置全体のスループットを低下させていた。
【０２９６】
また、ＤｏＳ攻撃対処モジュールは、解析処理を行ったパケットをＮＩＦ１０５に転送する。そのため、ＤｏＳ攻撃対処モジュールは、フォワーディングテーブル４０１を備える必要があった。更に、ＤｏＳ攻撃対処モジュールは、パケットの転送経路を管理する必要があった。
【０２９７】
本実施の形態のパケット通信装置１０１は、これらの問題を解決したパケット転送処理を行うことができる。
【０２９８】
図１３−２は、本発明の実施の形態のパケット通信装置１０１のパケット転送処理のフローチャートである。
【０２９９】
本実施の形態のパケット通信装置１０１では、ＮＩＦ１０５にプログラムをインストールできる。ここでは、ＮＩＦ１０５は、ＤｏＳ攻撃対処モジュールに対応するプログラムをインストールされている。当該プログラムは、外部ネットワーク１１０から受信したパケットのヘッダをコピーして、コピーしたヘッダのみをＤｏＳ攻撃対処モジュールへ転送する。
【０３００】
以下、当該プログラムをインストールされたＮＩＦ１０５がパケットを受信した場合のパケット通信装置１０１のパケット転送処理を説明する。
【０３０１】
まず、ＮＩＦ１０５は、外部ネットワーク１１０からパケットを受信する（１１１１）。
【０３０２】
次に、ＮＩＦ１０５は、受信したパケットをＮＩＦ内メモリ３０２に記憶する（１１１２）。
【０３０３】
次に、ＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットからヘッダを抽出する。次に、ＮＩＦ１０５は、抽出したヘッダとフォワーディングテーブル４０１とを比較することによって、転送先及び処理内容を決定する（１１１３）。ここでは、ＮＩＦ１０５は、当該パケットを転送する外部ネットワーク１１０に接続されたＮＩＦ１０５を転送先に決定する。また、ＮＩＦ１０５は、ＤｏＳ攻撃対処モジュールに対応するプログラムの実行を、処理内容に決定する。
【０３０４】
次に、ＮＩＦ１０５は、当該プログラムを実行することによって、パケットを処理する。具体的には、ＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットのヘッダをコピーする。そして、ＮＩＦ１０５は、コピーしたヘッダのみをＤｏＳ攻撃対処モジュールへ転送する（１１１４）。
【０３０５】
次に、ＮＩＦ１０５は、ＮＩＦ内メモリ３０１に記憶したパケットに、ステップ１１１３で決定した転送先のＮＩＦ１０５の内部アドレスを宛先アドレスとする内部ヘッダを付加する。次に、ＮＩＦ１０５は、内部ヘッダを付加したパケットを、内部スイッチ１０９を介して転送先のＮＩＦ１０５に送信する（１１１６）。
【０３０６】
すると、転送先のＮＩＦ１０５は、受信したパケットをＮＩＦ内メモリ３０２に記憶する（１１１７）。
【０３０７】
転送先のＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットから内部ヘッダを削除する。次に、転送先のＮＩＦ１０５は、内部ヘッダを削除したパケットのヘッダとフォワーディングテーブル４０１とを比較することによって、パケットの転送先を決定する。ここでは、転送先のＮＩＦ１０５は、外部ネットワーク１１０を転送先に決定する。
【０３０８】
次に、転送先のＮＩＦ１０５は、ＮＩＦ内メモリ３０２に記憶したパケットのヘッダを、外部ネットワーク１１０を宛先とするヘッダに付け替える。
【０３０９】
次に、転送先のＮＩＦ１０５は、当該パケットを外部ネットワーク１１０へ送信する（１１１８）。そして、パケット通信装置１０１は、パケット転送処理を終了する（１１１９）。
【０３１０】
一方、ステップ１１１４においてＮＩＦ１０５からヘッダを受信したＤｏＳ攻撃対処モジュールは、受信したヘッダを処理する（１１１５）。具体的には、ＤｏＳ攻撃対処モジュールは、受信したヘッダからフロー統計情報を収集する。次に、ＤｏＳ攻撃対処モジュールは、収集したフロー統計情報を分析することによって、ＤｏＳ攻撃に関係するヘッダの特徴を特定する。
【０３１１】
そして、ＤｏＳ攻撃対処モジュールは、ＤｏＳ攻撃に関係するヘッダの特徴を特定すると、フォワーディングテーブル４０１の変更をＮＩＦ１０５に要求する。この要求には、ＤｏＳ攻撃に関係するヘッダの特徴が含まれる。
【０３１２】
ＮＩＦ１０５は、要求を受けると、フォワーディングテーブル４０１を変更する。このフォワーディングテーブル４０１では、ＤｏＳ攻撃に関係するヘッダの特徴を有するパケットに対応する処理内容４０３が破棄となる。
【０３１３】
本実施の形態のパケット通信装置１０１は、以上のようにパケットを転送する。
【０３１４】
本実施の形態のパケット通信装置１０１では、ＮＩＦ１０５がパケットのＤｏＳ攻撃に関連する重要な部分（例えば、ＳＹＮパケットのヘッダ）をコピーし、コピーした部分のみをＤｏＳ攻撃対処モジュールに転送する。
【０３１５】
つまり、ＮＩＦ１０５は、パケット自体をＤｏｓ攻撃対処モジュールに転送する必要がない。そのため、本実施の形態のパケット通信装置１０１は、ＤｏＳ攻撃対処モジュールの処理の影響を受けることなくパケットを転送するので、装置全体のスループットを維持できる。
【０３１６】
また、本実施の形態のパケット通信装置１０１に接続されるＤｏＳ攻撃対処モジュールは、パケットを転送しないので、フォワーディングテーブル４０１を備える必要がない。
【０３１７】
また、本実施の形態のパケット通信装置１０１に接続されるＤｏＳ攻撃対処モジュールは、処理に必要な情報のみを受信するため、負荷が軽減される。
【０３１８】
また、本実施の形態のパケット通信装置１０１のＮＩＦ１０５は、インストールされているプログラムを変更できる。例えば、パケットのＤｏＳ攻撃に関連する重要な部分が変化した場合、ＮＩＦ１０５は、インストールされているプログラムを変更する。よって、パケット通信装置１０１は、パケットのＤｏＳ攻撃に関連する重要な部分の変化に対し、迅速に対応できる。
【０３１９】
図１４−１は、本発明の実施の形態のパケット通信装置１０１の機能拡張モジュール削除処理のフローチャートである。
【０３２０】
機能拡張モジュール１０８が、モジュールＩ／Ｆ１０６から取り外される（１９０１）。これによって、パケット通信装置１０１は、機能拡張モジュール１０８の削除処理を開始する。
【０３２１】
具体的には、機能拡張モジュール１０８は、自身のモジュール内部Ｉ／Ｆ３１０がパケット通信装置１０１のモジュールＩ／Ｆ１０６から取り外されたことを検知する。機能拡張モジュール１０８は、取り外しを検知すると、ノード管理用プロセッサ１０２に機能拡張モジュール削除要求を送信する。
【０３２２】
ノード管理用プロセッサ１０２は、当該要求を受けると、モジュール−プログラム管理テーブル８２０を更新する（１９０２）。
【０３２３】
具体的には、ノード管理用プロセッサ１０２は、取り外された機能拡張モジュール１０８が実現するサービスとモジュール−プログラム管理テーブル８２０のモジュール種類８２２とが一致するレコードを、モジュール−プログラム管理テーブル８２０から削除する。
【０３２４】
また、ノード管理用プロセッサ１０２は、取り外された機能拡張モジュール１０８が対応するプログラム名とモジュール−プログラム管理テーブル８２０のプログラム名８２１とが一致するレコードを選択する。次に、選択したレコードのリファレンスカウンタ８２３を減少させる。
【０３２５】
次に、ノード管理用プロセッサ１０２は、更新したモジュール−プログラム管理テーブル８２０のリファレンスカウンタ８２３に一つでも「０」が存在するか否かを判定する（１９０３）。
【０３２６】
リファレンスカウンタ８２３に一つも「０」が存在しないと、ノード管理用プロセッサ１０２は、ＮＩＦ１０５からプログラムを削除する必要がないと判定する。よって、ノード管理用プロセッサ１０２は、フォワーディングテーブル更新要求パケットをＮＩＦ１０５に送信する（１９０４）。
【０３２７】
図１４−２は、本発明の実施の形態のフォワーディングテーブル更新要求パケットの構成図である。
【０３２８】
フォワーディングテーブル更新要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０３２９】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０３３０】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０３３１】
フォワーディングテーブル更新要求パケットでは、宛先アドレス６０１がＮＩＦ１０５の内部アドレスである。また、送信元アドレス６０２がノード管理用プロセッサ１０２の内部アドレスである。
【０３３２】
ペイロード１１２は、ＮＩＦ処理コード７４１、更新コード７５１及び内部アドレス９０２を含む。
【０３３３】
ノード管理用プロセッサ１０２は、以下のようにフォワーディングテーブル更新要求パケットのペイロード１１２を作成する。
【０３３４】
まず、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に要求する処理の内容がＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理内容７４２に合致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、選択したレコードから、ＮＩＦ処理コード７４１を抽出する。そして、抽出したＮＩＦ処理コード７４１をパケットのペイロード１１２に格納する。
【０３３５】
フォワーディングテーブル更新要求パケットは、フォワーディングテーブル４０１の更新をＮＩＦ１０５に要求する。よって、ノード管理用プロセッサ１０２は、ＮＩＦ処理コード７１４を「１」として、パケットのペイロード１１２に格納する。
【０３３６】
次に、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に要求するフォワーディングテーブル４０１の更新の内容が更新コード管理テーブル７５０のＮＩＦ更新内容７５２に合致するレコードを、更新コード管理テーブル７５０から選択する。次に、選択したレコードから、更新コード７５１を抽出する。そして、抽出した更新コード７５１をパケットのペイロードに格納する。
【０３３７】
本説明図のフォワーディングテーブル更新要求パケットは、機能拡張モジュール１０８をパケット通信装置１０１から削除する処理で送信される。この処理において、ＮＩＦ１０５は、フォワーディングテーブル４０１から経路を削除する。よって、ノード管理用プロセッサ１０２は、更新コード７５１を「１」として、パケットのペイロード１１２に格納する。
【０３３８】
次に、ノード管理用プロセッサ１０２は、ステップ１９０１で取り外された機能拡張モジュール１０８の内部アドレスを、経路を削除する機能拡張モジュールの内部アドレス９０２として、パケットのペイロード１１２に格納する。
【０３３９】
ここで、図１４−１に戻る。
【０３４０】
ＮＩＦ１０５は、フォワーディングテーブル更新要求パケットを受信する。
【０３４１】
次に、ＮＩＦ１０５は、受信したフォワーディングテーブル更新要求パケットのペイロード１１２から、ＮＩＦ処理コードを抽出する。
【０３４２】
次に、ＮＩＦ１０５は、抽出したＮＩＦ処理コードとＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理コード７４１とが一致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、ＮＩＦ１０５は、選択したレコードから、ＮＩＦ処理内容７４２を抽出する。そして、ＮＩＦ１０５は、抽出したＮＩＦ処理内容７４２に対応する処理を行う。
【０３４３】
つまり、ＮＩＦ１０５は、抽出したＮＩＦ処理コード７４１が「１」であるので、受信したパケットをフォワーディングテーブル更新要求パケットと判定する。よって、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（１９０５）。
【０３４４】
具体的には、ＮＩＦ１０５は、受信したパケットから、更新コードを抽出する。次に、ＮＩＦ１０５は、抽出した更新コードと更新コード管理テーブル７５０の更新コード７５１とが一致するレコードを、更新コード管理テーブル７５０から選択する。次に、選択したレコードからＮＩＦ更新内容７５２を抽出する。
【０３４５】
そして、ＮＩＦ１０５は、抽出したＮＩＦ更新内容７５２に基づいて、フォワーディングテーブル４０１を更新する内容を決定する。
【０３４６】
ここでは、ＮＩＦ１０５は、抽出した更新コード７５１が「１」であるので、フォワーディングテーブル４０１から経路を削除する。
【０３４７】
よって、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、機能拡張モジュールの内部アドレス９０２を抽出する。次に、ＮＩＦ１０５は、抽出した機能拡張モジュールの内部アドレス９０２がフォワーディングテーブル４０１の処理内容４０３に含まれるすべてのレコードを、フォワーディングテーブル４０１から削除する。
【０３４８】
このように、ＮＩＦ１０５は、取り外された機能拡張モジュール１０８への経路をフォワーディングテーブル４０１から削除する。
【０３４９】
そして、パケット通信装置１０１は、機能拡張モジュール削除処理を終了する（１９０８）。
【０３５０】
一方、ステップ１９０３においてリファレンスカウンタ８２３に「０」が存在すると、ＮＩＦ１０５は、すべての機能拡張モジュール１０８がまったく使用しないプログラムを記憶していることになる。よって、ノード管理用プロセッサ１０２は、リファレンスカウンタ８２３が「０」となったプログラムの削除をＮＩＦ１０５に要求する。つまり、ノード管理用プロセッサ１０２は、プログラム削除要求パケットをＮＩＦ１０５に送信する（１９０６）。
【０３５１】
なお、プログラム削除要求パケットには、ＮＩＦ処理コード７４１として「２」が格納されている。また、ＮＩＦ１０５に削除を要求するプログラム名が格納されている。更に、取り外された機能拡張モジュールの内部アドレスが格納されている。
【０３５２】
また、ＮＩＦ１０５に削除を要求するプログラムがノード内メモリ１０４に記憶されている場合、ノード管理用プロセッサ１０２は、当該プログラムをノード内メモリ１０４から削除してもよい。
【０３５３】
ＮＩＦ１０５は、プログラム削除要求パケットを受信する。次に、ＮＩＦ１０５は、受信したパケットからＮＩＦ処理コードを抽出する。
【０３５４】
次に、ＮＩＦ１０５は、抽出したＮＩＦ処理コードとＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理コード７４１とが一致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、ＮＩＦ１０５は、選択したレコードから、ＮＩＦ処理内容７４２を抽出する。そして、ＮＩＦ１０５は、抽出したＮＩＦ処理内容７４２に対応する処理を行う。
【０３５５】
つまり、ＮＩＦ１０５は、抽出したＮＩＦ処理コード７４１が「２」であるので、受信したパケットをプログラム削除要求パケットと判定する。よって、ＮＩＦ１０５は、プロプログラムを削除し、更に、フォワーディングテーブル４０１を更新する（１９０７）。
【０３５６】
具体的には、ＮＩＦ１０５は、受信したプログラム削除要求パケットからプログラム名を抽出する。そして、ＮＩＦ１０５は、抽出したプログラム名のプログラムをプログラム用メモリ３０４から削除する。
【０３５７】
次に、ＮＩＦ０１５は、受信したプログラム削除要求パケットから、機能拡張モジュールの内部アドレスを抽出する。そして、ＮＩＦ１０５は、抽出した機能拡張モジュールの内部アドレス９０２がフォワーディングテーブル４０１の処理内容４０３に含まれるすべてのレコードを、フォワーディングテーブル４０１から削除する。
【０３５８】
これによって、ＮＩＦ１０５は、取り外された機能拡張モジュール１０８への経路をフォワーディングテーブル４０１から削除する。
【０３５９】
そして、パケット通信装置１０１は、機能拡張モジュール削除処理を終了する（１９０８）。
【０３６０】
なお、ステップ１９０３において、ノード管理用プロセッサ１０２は、モジュール−プログラム管理テーブル８２０のリファレンスカウンタ８２３に基づいて、プログラムの削除をＮＩＦ１０５に要求するか否かを判定した。しかし、ノード管理用プロセッサ１０２は、リファレンスカウンタだけでなく、ＮＩＦ１０５のプログラム用メモリ３０４のメモリ容量等を含むＮＩＦ１０５の負荷状態に基づいて判定してもよい。
【０３６１】
図１５は、本発明の実施の形態のパケット通信装置１０１のＮＩＦ追加処理のフローチャートである。
【０３６２】
新たなＮＩＦ１０５が、内部スイッチ１０９に接続される（１３０１）。これによって、パケット通信装置１０１は、ＮＩＦ追加処理を開始する。
【０３６３】
具体的には、ＮＩＦ１０５は、自身の内部Ｉ／Ｆ３０５と内部スイッチ１０９とが接続されたことを検知する。ＮＩＦ１０５は、接続を検知すると、ノード管理用プロセッサ１０２にプログラム送信要求パケットを送信する（１３０２）。
【０３６４】
プログラム送信要求パケットは、プログラムの送信をノード管理用プロセッサ１０２に要求する。
【０３６５】
図１６−１は、本発明の実施の形態のプログラム送信要求パケットの構成図である。
【０３６６】
プログラム送信要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０３６７】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０３６８】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０３６９】
プログラム送信要求パケットでは、宛先アドレス６０１がノード管理用プロセッサ１０２の内部アドレスである。また、送信元アドレス６０２が追加された新たなＮＩＦ１０５の内部アドレスである。
【０３７０】
ペイロード１１２は、ノード管理用プロセッサ処理コード７０１及びプログラム指定コード７６１を含む。
【０３７１】
ＮＩＦ１０５は、以下のようにプログラム送信要求パケットのペイロード１１２を作成する。
【０３７２】
まず、ＮＩＦ１０５は、ノード管理用プロセッサ１０２に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル７００の処理内容７０２に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード７０１を抽出する。そして、抽出したノード管理用プロセッサ処理コード７０１をパケットのペイロード１１２に格納する。
【０３７３】
プログラム送信要求パケットは、ノード管理用プロセッサ１０２にプログラムの送信を要求する。よって、機能拡張モジュール１０８は、ノード管理用プロセッサ処理コード７０１を「１」として、パケットのペイロード１１２に格納する。
【０３７４】
次に、ＮＩＦ１０５は、インストールを要求するプログラムがプログラム指定コード管理テーブル７６０の送信プログラム７６２に合致するレコードを、プログラム指定コード管理テーブル７６０から選択する。次に、選択したレコードから、プログラム指定コード７６１を抽出する。そして、抽出したプログラム指定コード７６１をパケットのペイロード１１２に格納する。
【０３７５】
本説明図のプログラム送信要求パケットは、ＮＩＦ１０５がインストールするプログラムをオペレータに指定させる場合とする。よって、ＮＩＦ１０５は、プログラム指定コード７６１を「１」として、パケットのペイロード１１２に格納する。
【０３７６】
なお、ＮＩＦ１０５は、プログラム指定コード７６２を「２」としてパケットのペイロード１１２に格納する場合には、要求するプログラムのプログラム名をパケットのペイロードに併せて格納する。
【０３７７】
ここで、図１５に戻る。
【０３７８】
ノード管理用プロセッサ１０２は、プログラム送信要求パケットを受信する。すると、ノード管理用プロセッサ１０２は、受信したプログラム送信要求パケットのペイロード１１２から、ノード管理用プロセッサ処理コードを抽出する。
【０３７９】
次に、ノード管理用プロセッサ１０２は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル７００（図５−１）のノード管理用プロセッサ処理コード７０１とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、処理内容７０２を抽出する。
【０３８０】
そして、ノード管理用プロセッサ１０２は、抽出した処理内容７０２に対応する処理を行う（１３０３）。ここでは、ノード管理用プロセッサ処理コードが「１」なので、指定されたプログラムをＮＩＦ１０５に送信する。
【０３８１】
具体的には、ノード管理用プロセッサ１０２は、受信したプログラム送信要求パケットから、プログラム指定コードを抽出する。
【０３８２】
次に、ノード管理用プロセッサ１０２は、抽出したプログラム指定コードとプログラム指定コード管理テーブル７６０のプログラム指定コード７６１とが一致するレコードを、プログラム指定コード管理テーブル７６０から選択する。次に、選択したレコードから、送信プログラム７６２を抽出する。
【０３８３】
次に、ノード管理用プロセッサ１０２は、抽出した送信プログラム７６２に基づいて、ＮＩＦ１０５に送信するプログラムを判定する。
【０３８４】
具体的には、ノード管理用プロセッサ１０２は、抽出したプログラム指定コードが「０」であると、機能拡張モジュール１０８に関するすべてのプログラムを送信すると判定し、ステップ１３０７に進む。
【０３８５】
また、ノード管理用プロセッサ１０２は、抽出したプログラム指定コードが「２」であると、受信したプログラム送信要求パケットから、プログラム名を抽出する。そして、ノード管理用プロセッサ１０２は、抽出したプログラム名のプログラムを送信すると判定し、ステップ１３０７に進む。
【０３８６】
また、ノード管理用プロセッサ１０２は、抽出したプログラム指定コードが「１」であると、ＮＩＦ１０５に送信するプログラムをオペレータに指定させると判定する。そこで、ノード管理用プロセッサ１０２は、プログラム指定要求をオペレータ制御端末１０３に送信する。プログラム指定要求は、追加された新たなＮＩＦのＮＩＦ番号を含む。
【０３８７】
すると、オペレター制御端末１０３は、受信したプログラム指定要求に対応する情報を表示する。
【０３８８】
図１７は、本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末１０３の表示画面の説明図である。
【０３８９】
オペレータ制御端末１０３は、モジュール−プログラム管理テーブル８２０等を表示している。
【０３９０】
オペレータは、オペレータ制御端末１０３に表示されたモジュール−プログラム管理テーブル８２０を参照することによって、機能拡張モジュール１０８とプログラムとの対応を把握できる。そのため、オペレータは、新たに追加されたＮＩＦ１０５にインストールするプログラムを決定できる。そして、オペレータは、決定したプログラムを、オペレータ制御端末１０３上で指定する。
【０３９１】
しかし、この表示画面では、表示している情報量が多い。そのため、オペレータは、ＮＩＦ１０５にインストールするプログラムを直感的に判断するのは困難である。そこで、オペレータ制御端末１０３は、以下のような表示をしてもよい。
【０３９２】
図１８−１は、本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末１０３の表示画面の説明図である。
【０３９３】
オペレータ制御端末１０３は、機能拡張モジュール１０８が提供するサービスの種類をすべて表示している。
【０３９４】
そして、オペレータは、新たに追加されたＮＩＦ１０５で実現したいサービスを、オペレータ制御端末１０３上で選択する。
【０３９５】
すると、オペレータ制御端末１０３は、選択されたサービスを提供する機能拡張モジュールが使用するプログラムを、モジュールプログラム管理テーブル８２０から判定する。そして、判定したプログラムを、ユーザに指定されたプログラムとする。
【０３９６】
他にも、オペレータ制御端末１０３は、以下のような表示をしてもよい。
【０３９７】
図１８−２は、本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末１０３の表示画面の説明図である。
【０３９８】
オペレータ制御端末１０３は、ＮＩＦ−プログラム管理テーブル８００等を表示している。
【０３９９】
この場合、オペレータは、パケット通信装置１０１に既に接続されているＮＩＦ１０５（既存のＮＩＦ１０５）に記憶されているプログラムと同一のプログラムを指定できる。よって、オペレータは、簡便且つ設定ミスの少ないプログラム指定が可能となる。
【０４００】
例えば、オペレータは、既存のＮＩＦ１０５の一つをオペレータ制御端末１０３上で選択する。
【０４０１】
すると、オペレータ制御端末１０３は、選択されたＮＩＦ１０５に記憶されているプログラムを、ＮＩＦ−プログラム管理テーブル８００から判定する。そして、判定したプログラムを、ユーザに指定されたプログラムとする。
【０４０２】
ここで、図１５に戻る。
【０４０３】
次に、オペレータは、新たに追加されたＮＩＦ１０５にインストールするプログラムをオペレータ制御端末１０３上で指定する（１３０６）。すると、オペレータ制御端末１０３は、指定されたプログラムをノード管理用プロセッサ１０２に通知する。
【０４０４】
次に、ノード管理用プロセッサ１０２は、モジュール−プログラム管理テーブル８２０の保存方法８２４を参照することによって、通知されたプログラム又は通知されたプログラムの所在情報の記憶場所を判定する。
【０４０５】
そして、ノード管理用プロセッサ１０２は、指定されたプログラムがノード内メモリ１０４に記憶されているか否かを判定する（１３０７）。
【０４０６】
指定されたプログラムがノード内メモリ１０４に記憶されていると、ノード管理用プロセッサ１０２は、ノード内メモリ１０４から当該プログラムを取得する。そして、ステップ１３１５に進む。
【０４０７】
一方、指定されたプログラムがノード内メモリ１０４に記憶されていないと、ノード管理用プロセッサ１０２は、ノード内メモリ１０４から当該プログラムを取得できない。そこで、ノード管理用プロセッサ１０２は、指定されたプログラムの所在情報がノード内メモリ１０４に記憶されているか否かを判定する（１３０８）。
【０４０８】
所在情報がノード内メモリ１０４に記憶されていると、ノード管理用プロセッサ１０２は、当該所在情報に対応するサーバ又はノード等から、当該プログラムを取得する（１３０９）。そして、ステップ１３１５に進む。
【０４０９】
一方、所在情報がノード内メモリ１０４に記憶されていないと、ノード管理用プロセッサ１０２は、当該プログラムに関する情報がノード内メモリ１０４から取得できないと判定する。そこで、ノード管理用プロセッサ１０２は、モジュール−プログラム管理テーブル８２０を参照することによって、当該プログラムを記憶している機能拡張モジュール１０８を特定する。次に、ノード管理用プロセッサ１０２は、特定した機能拡張モジュール１０８へ、プログラム要求パケットを送信する（１３１０）。
【０４１０】
図１６−２は、本発明の実施の形態のプログラム要求パケットの構成図である。
【０４１１】
プログラム要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０４１２】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０４１３】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０４１４】
プログラム要求パケットでは、宛先アドレス６０１が機能拡張モジュール１０８の内部アドレスである。また、送信元アドレス６０２がノード管理用プロセッサ１０２の内部アドレスである。
【０４１５】
ペイロード１１２は、モジュール処理コード７７１及びプログラム名９０４を含む。
【０４１６】
ノード管理用プロセッサ１０２は、以下のようにプログラム要求パケットのペイロード１１２を作成する。
【０４１７】
まず、モジュール−プログラム管理テーブル８２０の保存方法８２４を参照することによって、当該プログラム又は当該プログラムの所在情報のどちらを機能拡張モジュール１０８が記憶しているかを判定する。
【０４１８】
具体的には、モジュール−プログラム管理テーブル８２０の保存方法８２４が「３」であると、機能拡張モジュール１０８がプログラムを記憶していると判定する。よって、機能拡張モジュール１０８にプログラムを要求するので、モジュール処理コード７７１を「１」として、パケットのペイロード１１２に格納する。
【０４１９】
一方、モジュール−プログラム管理テーブル８２０の保存方法８２４が「４」であると、機能拡張モジュール１０８がプログラムの所在情報を記憶していると判定する。よって、機能拡張モジュール１０８にプログラムの所在情報を要求するので、モジュール処理コード７７１を「２」として、パケットのペイロード１１２に格納する。
【０４２０】
更に、機能拡張モジュール１０８に要求するプログラムのプログラム名９０６を、パケットのペイロードに格納する。
【０４２１】
ここで、図１５に戻る。
【０４２２】
機能拡張モジュール１０８は、プログラム要求パケットを受信する。次に、機能拡張モジュール１０８は、受信したプログラム要求パケットのペイロード１１２から、モジュール処理コードを抽出する。
【０４２３】
次に、機能拡張モジュール１０８は、抽出したモジュール処理コードとモジュール処理コード管理テーブル７７０のモジュール処理コード７７１とが一致するレコードを、モジュール処理コード管理テーブル７７０から選択する。次に、選択したレコードから、モジュール処理内容７７２を抽出する。そして、機能拡張モジュール１０８は、抽出したモジュール処理内容７７２に対応する処理を行う。
【０４２４】
具体的には、機能拡張モジュール１０８は、抽出したモジュール処理コードが「０」又は「１」のどちらであるかを判定する（１３１１）。
【０４２５】
機能拡張モジュール１０８は、抽出したモジュール処理コードが「０」であると、プログラムの所在情報を要求されている。そこで、機能拡張モジュール１０８は、受信したプログラム要求パケットのペイロード１１２から、プログラム名９０４を抽出する。
【０４２６】
次に、機能拡張モジュール１０８は、抽出したプログラム名９０４のプログラムの所在情報を、ノード管理用プロセッサ１０２に送信する（１３１４）。
【０４２７】
すると、ノード管理用プロセッサ１０２は、受信したプログラムの所在情報をノード内メモリ１０４に記憶する。
【０４２８】
そして、ステップ１３０８に戻る。この場合、ノード管理用プロセッサ１０２は、プログラムの所在情報がノード内メモリに記憶されていると判定する。そこで、ノード管理用プロセッサ１０２は、当該所在情報に対応するサーバ又はノード等から、プログラムを取得する（１３０９）。そして、ステップ１３１５に進む。
【０４２９】
一方、機能拡張モジュール１０８は、抽出したモジュール処理コードが「１」であると、プログラムを要求されている。そこで、機能拡張オジュール１０８は、受信したプログラム要求パケットのペイロード１１２から、プログラム名９０４を抽出する。
【０４３０】
次に、機能拡張モジュール１０８は、抽出したプログラム名９０４のプログラムを、ノード管理用プロセッサ１０２に送信する（１３１２）。
【０４３１】
すると、ノード管理用プロセッサ１０２は、機能拡張モジュール１０８からプログラムを受信する（１３１３）。
【０４３２】
次に、ノード管理用プロセッサ１０２は、受信したプログラムを含むプログラムインストール要求パケットを、新たに追加されたＮＩＦ１０５に送信する（１３１５）。
【０４３３】
図１９−１は、本発明の実施の形態のプログラムインストール要求パケットの構成図である。
【０４３４】
プログラムインストール要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０４３５】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０４３６】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０４３７】
プログラムインストール要求パケットでは、宛先アドレス６０１が新たに追加されたＮＩＦ１０５の内部アドレスである。また、送信元アドレス６０２がノード管理用プロセッサ１０２の内部アドレスである。
【０４３８】
ペイロード１１２は、ＮＩＦ処理コード７４１、機能拡張モジュールの内部アドレス１７０１、パケット指定コード７３１、プログラム９０３及びプログラム名９０４を含む。なお、機能拡張モジュールの内部アドレス１７０１、パケット指定コード７３１、プログラム９０３及びプログラム名をまとめて、更新情報１７０２とする。
【０４３９】
なお、ペイロード１１２は、機能拡張モジュールの内部アドレス１７０１を複数含んでいてもよい。この場合、ペイロード１１２は、それぞれの機能拡張モジュール１０８が対応するパケット指定コード７３１を含む。
【０４４０】
ノード管理用プロセッサ１０２は、以下のようにプログラムインストール要求パケットのペイロード１１２を作成する。
【０４４１】
まず、ノード管理用プロセッサ１０２は、ＮＩＦ１０５に要求する処理の内容がＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理内容７４２に合致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、選択したレコードから、ＮＩＦ処理コード７４１を抽出する。そして、抽出したＮＩＦ処理コード７４１を、パケットのペイロード１１２に格納する。
【０４４２】
プログラムインストール要求パケットは、ペイロードに格納されているプログラム９０３のインストールをＮＩＦ１０５に要求する。よって、ノード管理用プロセッサ１０２は、ＮＩＦ処理コード７１４を「０」として、パケットのペイロード１１２に格納する。
【０４４３】
次に、ノード管理用プロセッサ１０２は、モジュール−プログラム管理テーブル８２０を参照して、当該プログラムを使用する機能拡張モジュール１０８を特定する。更に、ノード管理用プロセッサ１０２は、特定した機能拡張モジュール１０８が処理するパケットのパケット指定コードを特定する。そして、ノード管理用プロセッサ１０２は、特定した機能拡張モジュール１０８の内部アドレス９０２及びパケット指定コード７３１をパケットのペイロード１１２に格納する。
【０４４４】
また、ノード管理用プロセッサ１０２は、ノード内メモリ１０２又は機能拡張モジュール１０８等から取得したプログラムをパケットのペイロード１１２に格納する。
【０４４５】
図１９−２は、本発明の実施の形態のプログラムインストール要求パケットの構成図である。
【０４４６】
本説明図のプログラムインストール要求パケットは、複数の更新情報１７０２を含む。対して、図１９−１のプログラムインストール要求パケットは、更新情報１７０２を一つだけ含む。
【０４４７】
つまり、プログラムインストール要求パケットは、更新情報１７０２をいくつ含んでいてもよい。
【０４４８】
なお、本説明図のプログラムインストール要求パケットのそれ以外の構成は、図１９−１のプログラムインストール要求パケットと同一である。よって、同一の構成には同一の番号を付し、説明を省略する。
【０４４９】
ここで、図１５に戻る。
【０４５０】
ノード管理用プロセッサ１０２は、プログラムインストール要求パケットを送信すると、ＮＩＦ−プログラム管理テーブル８００を更新する（１３１６）。
【０４５１】
具体的には、ノード管理用プロセッサ１０２は、プログラムインストール要求パケットに格納したプログラム名９０４とＮＩＦ−プログラム管理テーブル８００のプログラム名８０１とが一致し、更に、パケットの送信先のＮＩＦ１０５のＮＩＦ番号とＮＩＦ−プログラム管理テーブル８００のＮＩＦ番号８０２とが一致するボックスに、丸印を格納する。
【０４５２】
次に、ノード管理用プロセッサ１０２は、プログラムインストール要求パケットに格納したプログラム９０３のデータ量を測定する。次に、パケットの送信先のＮＩＦ１０５のＮＩＦ番号とＮＩＦ−プログラム管理テーブル８００のＮＩＦ番号８０２とが一致するレコードのメモリ残存率８０４を選択する。そして、測定したデータ量に基づいて、選択したメモリ残存率を変更する。
【０４５３】
次に、ノード管理用プロセッサ１０２は、プログラム記憶処理（図１１−２）を行う（１３１７）。
【０４５４】
一方、ＮＩＦ１０５は、ノード管理用プロセッサ１０２からプログラムインストール要求パケットを受信する。すると、ＮＩＦ１０５は、受信したプログラムインストール要求パケットのペイロード１１２から、ＮＩＦ処理コードを抽出する。
【０４５５】
次に、ＮＩＦ１０５は、抽出したＮＩＦ処理コードとＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理コード７４１とが一致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、ＮＩＦ１０５は、選択したレコードから、ＮＩＦ処理内容７４２を抽出する。そして、ＮＩＦ１０５は、抽出したＮＩＦ処理内容７４２に対応する処理を行う。
【０４５６】
具体的には、ＮＩＦ１０５は、抽出したＮＩＦ処理コード７４１が「０」なので、受信したパケットをプログラムインストール要求パケットと判定する。よって、ＮＩＦ１０５は、受信したプログラムインストール要求パケットのペイロード１１２から、プログラム９０３を抽出する。次に、ＮＩＦ１０５は、抽出したプログラム９０３をインストールする。
【０４５７】
更に、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（１３１８）。
【０４５８】
具体的には、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、パケット指定コード７３１を抽出する。次に、ＮＩＦ１０５は、抽出したパケット指定コードとパケット指定コード管理テーブル７３０のパケット指定コード７３１とが一致するレコードを、パケット指定コード管理テーブル７３０から選択する。次に、選択したレコードから、パケットの種類７３２を抽出する。
【０４５９】
次に、ＮＩＦ１０５は、フォワーディングテーブル４０１に新たなレコードを追加する。次に、ＮＩＦ１０５は、抽出したパケットの種類７３２を、新たなレコードのペイロードタイプ４０５及びＩＰアドレス／プレフィックス長４０６に格納する。
【０４６０】
次に、ＮＩＦ１０５は、受信したパケットのペイロード１１２から、機能拡張モジュールの内部アドレス９０２及びプログラム名９０４を抽出する。次に、ＮＩＦ１０５は、抽出した機能拡張モジュールの内部アドレス９０２及びプログラム名９０４を、追加した新たなレコードの処理内容４０３に格納する。
【０４６１】
このように、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する。そして、パケット通信装置１０１は、機能拡張モジュール１０８の追加処理を終了する（１３１９）。
【０４６２】
図２０は、本発明の実施の形態のパケット通信装置のＮＩＦ追加処理のシーケンス図である。
【０４６３】
このシーケンス図は、ＮＩＦ１０５を追加されたパケット通信装置１０１の代表的な処理を示す。
【０４６４】
まず、ＮＩＦ１０５がパケット通信装置１０１に追加される。すると、追加されたＮＩＦ１０５は、プログラムをノード管理用プロセッサ１０２に要求する（１８０１）。
【０４６５】
すると、ノード管理用プロセッサ１０２は、ＮＩＦ１０５にインストールするプログラムの指定をオペレータ制御端末１０３に要求する（１８０２）。
【０４６６】
オペレータ制御端末１０３は、受信したプログラム指定要求の内容を表示する。オペレータは、ＮＩＦ１０５にインストールするプログラムの指定をオペレータ制御端末１０３に入力する。すると、オペレータ制御端末１０３は、入力された内容を含むプログラム指定応答をノード管理用プロセッサ１０２に送信する（１８０３）。
【０４６７】
ノード管理用プロセッサ１０２は、オペレータ制御端末１０３からプログラム指定応答を受信する。次に、ノード管理用プロセッサ１０２は、受信したプログラム指定応答から、オペレータによって指定されたプログラムを特定する。次に、ノード管理用プロセッサ１０２は、特定したプログラムを記憶している機能拡張モジュール１０８を判定する。そして、ノード管理用プロセッサ１０２は、判定した機能拡張モジュール１０８に、特定したプログラムを要求する（１８０４）。
【０４６８】
プログラムを要求された機能拡張モジュール１０８は、要求されたプログラムをノード管理用プロセッサ１０２に送信する（１８０５）。
【０４６９】
すると、ノード管理用プロセッサ１０２は、機能拡張モジュール１０８からプログラムを受信する。
【０４７０】
次に、ノード管理用プロセッサ１０２は、受信したプログラムをＮＩＦ１０５に送信する。更に、ノード管理用プロセッサ１０２は、送信したプログラムのインストールをＮＩＦ１０５に要求する（１８０６）。
【０４７１】
すると、ＮＩＦ１０５は、受信したプログラムをインストールする。
【０４７２】
そして、パケット通信装置１０１は、ＮＩＦ追加処理を終了する。
【０４７３】
次に、本実施の形態のパケット通信装置１０１の効果を説明する。
【０４７４】
ここでは、通知用プログラムをインストールされているＮＩＦ１０５を備えるパケット通信装置１０１で説明する。
【０４７５】
なお、通知用プログラムは、所定の条件に合致するイベントが発生すると、ＮＩＦ１０５に転送用プログラムをインストール又はアンインストールする。
【０４７６】
なお、所定の条件に合致するイベントには、インストール用イベント又はアンインストール用イベントがある。例えば、インストール用イベントは、特定の特徴を有するパケットをＮＩＦ１０５が受信した場合等である。また、アンインストール用イベントは、所定の時間が経過した場合又は所定の時刻となった場合等である。
【０４７７】
また、転送用プログラムは、ＮＩＦ１０５が受信したパケットを機能拡張モジュール１０８へ転送する。なお、転送用プログラムは、機能拡張モジュール１０８への転送前に、カプセル化、暗号化、復号化及び／又はコピー等の処理を行ってもよい。
【０４７８】
図２１−１は、本発明の実施の形態のパケット通信装置１０１のイベント処理のフローチャートである。
【０４７９】
まず、ＮＩＦ１０５が所定の条件に合致するイベントを検出すると、パケット通信装置１０１は、イベント処理を開始する（２００１）。ここで、ＮＩＦ１０５は、オペレータ制御端末１０３にイベントの発生を通知してもよい。
【０４８０】
ＮＩＦ１０５は、発生したイベントが、インストール用イベント又はアンインストール用イベントのどちらであるかを判定する（２００２）。
【０４８１】
インストール用イベントであると、ＮＩＦ１０５は、プログラム送信要求パケットをノード管理用プロセッサ１０２に送信する（２００３）。
【０４８２】
プログラム送信要求パケットは、転送用プログラムの送信をノード管理用プロセッサ１０２に要求する。
【０４８３】
図２１−２は、本発明の実施の形態のプログラム送信要求パケットの構成図である。
【０４８４】
プログラム送信要求パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０４８５】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０４８６】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０４８７】
プログラム送信要求パケットでは、宛先アドレス６０１がノード管理用プロセッサ１０２の内部アドレスである。また、送信元アドレス６０２がＮＩＦ１０５の内部アドレスである。
【０４８８】
ペイロード１１２は、ノード管理用プロセッサ処理コード７０１、プログラム指定コード７６１及びプログラム名９０４を含む。
【０４８９】
ＮＩＦ１０５は、以下のようにプログラム送信要求パケットのペイロード１１２を作成する。
【０４９０】
まず、ＮＩＦ１０５は、ノード管理用プロセッサ１０２に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル７００の処理内容７０２に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード７０１を抽出する。そして、抽出したノード管理用プロセッサ処理コード７０１をパケットのペイロード１１２に格納する。
【０４９１】
プログラム送信要求パケットは、ノード管理用プロセッサ１０２に転送用プログラムの送信を要求する。よって、機能拡張モジュール１０８は、ノード管理用プロセッサ処理コード７０１を「１」として、パケットのペイロード１１２に格納する。
【０４９２】
次に、ＮＩＦ１０５は、インストールを要求するプログラムがプログラム指定コード管理テーブル７６０の送信プログラム７６２に合致するレコードを、プログラム指定コード管理テーブル７６０から選択する。次に、選択したレコードから、プログラム指定コード７６１を抽出する。そして、抽出したプログラム指定コード７６１をパケットのペイロード１１２に格納する。
【０４９３】
本説明図のプログラム送信要求パケットは、転送用プログラムをペイロードで指定する。よって、ＮＩＦ１０５は、プログラム指定コード７６１を「２」として、パケットのペイロード１１２に格納する。
【０４９４】
また、ＮＩＦ１０５は、転送用プログラムのプログラム名９０４を、パケットのペイロード１１２に格納する。
【０４９５】
ここで、図２１−１に戻る。
【０４９６】
ノード管理用プロセッサ１０２は、プログラム送信要求パケットをＮＩＦ１０５から受信する。すると、ノード管理用プロセッサ１０２は、受信したプログラム送信要求パケットのペイロード１１２から、ノード管理用プロセッサ処理コードを抽出する。
【０４９７】
次に、ノード管理用プロセッサ１０２は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル７００（図５−１）のノード管理用プロセッサ処理コード７０１とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、処理内容７０２を抽出する。
【０４９８】
そして、ノード管理用プロセッサ１０２は、抽出した処理内容７０２に対応する処理を行う。ここでは、ノード管理用プロセッサ処理コードが「１」なので、プログラムをＮＩＦ１０５に送信する。
【０４９９】
具体的には、ノード管理用プロセッサ１０２は、受信したプログラム送信要求パケットのペイロードから、プログラム指定コードを抽出する。
【０５００】
次に、ノード管理用プロセッサ１０２は、抽出したプログラム指定コードとプログラム指定コード管理テーブル７６０のプログラム指定コード７６１とが一致するレコードを、プログラム指定コード管理テーブル７６０から選択する。次に、選択したレコードから、送信プログラム７６２を抽出する。
【０５０１】
次に、ノード管理用プロセッサ１０２は、抽出した送信プログラム７６２に基づいて、ＮＩＦ１０５に送信するプログラムを特定する。
【０５０２】
ここでは、ノード管理用プロセッサ１０２は、抽出したプログラム指定コードが「２」なので、受信したプログラム送信要求パケットからプログラム名９０４を抽出する。そして、ノード管理用プロセッサ１０２は、抽出したプログラム名９０４の転送用プログラムをＮＩＦ１０５へ送信する（２００４）。なお、ノード管理用プロセッサ１０２は、プログラムインストール要求パケット（図１９−１）を使って、転送用プログラムを送信する。
【０５０３】
次に、ノード管理用プロセッサ１０２は、プログラムインストール要求パケットを送信すると、ＮＩＦ−プログラム管理テーブル８００を更新する（２００５）。なお、このＮＩＦ−プログラム管理テーブル８００を更新処理は、ＮＩＦ追加処理（図１５）のステップ１３１６と同一である。よって、詳細の説明は省略する。
【０５０４】
一方、ＮＩＦ１０５は、ノード管理用プロセッサ１０２からプログラムインストール要求パケットを受信する。すると、ＮＩＦ１０５は、受信したプログラムインストール要求パケットのペイロード１１２から、ＮＩＦ処理コードを抽出する。
【０５０５】
次に、ＮＩＦ１０５は、抽出したＮＩＦ処理コードとＮＩＦ処理コード管理テーブル７４０のＮＩＦ処理コード７４１とが一致するレコードを、ＮＩＦ処理コード管理テーブル７４０から選択する。次に、ＮＩＦ１０５は、選択したレコードから、ＮＩＦ処理内容７４２を抽出する。そして、ＮＩＦ１０５は、抽出したＮＩＦ処理内容７４２に対応する処理を行う。
【０５０６】
具体的には、ＮＩＦ１０５は、抽出したＮＩＦ処理コード７４１が「０」なので、受信したパケットをプログラムインストール要求パケットと判定する。よって、ＮＩＦ１０５は、受信したプログラムインストール要求パケットのペイロード１１２から、プログラム９０３を抽出する。次に、ＮＩＦ１０５は、抽出したプログラム９０３をインストールする。
【０５０７】
更に、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（２００６）。なお、フォワーディングテーブル４０１の更新処理は、ＮＩＦ追加処理（図１５）のステップ１３１８と同一である。よって、詳細の説明は省略する。
【０５０８】
そして、パケット通信装置１０１は、イベント処理を終了する（２０１０）。
【０５０９】
一方、ステップ２００２でアンインストール用イベントであると、ＮＩＦ１０５は、プログラム用メモリ３０４に記憶されている転送用プログラムを削除する。更に、ＮＩＦ１０５は、フォワーディングテーブル４０１を更新する（２００７）。
【０５１０】
具体的には、ＮＩＦ１０５は、削除した転送用プログラムのプログラム名がフォワーディングテーブル４０１の処理内容４０３に格納されているレコードを、フォワーディングテーブル４０１から選択する。そして、選択したレコードをフォワーディングテーブル４０１から削除する。
【０５１１】
次に、ＮＩＦ１０５は、ノード管理用プロセッサ１０２にプログラム削除通知パケットを送信する（２００８）。
【０５１２】
図２１−３は、本発明の実施の形態のプログラム削除通知パケットの構成図である。
【０５１３】
プログラム削除通知パケットは、プログラムの削除をノード管理用プロセッサ１０２に通知する。
【０５１４】
プログラム削除通知パケットは、内部ヘッダ１１１及びペイロード１１２から構成される。
【０５１５】
内部ヘッダ１１１は、宛先アドレス６０１及び送信元アドレス６０２を含む。
【０５１６】
宛先アドレス６０１は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス６０２は、当該パケットを送信する装置内の部位の内部アドレスである。
【０５１７】
プログラム削除通知パケットでは、宛先アドレス６０１がノード管理用プロセッサ１０２の内部アドレスである。また、送信元アドレス６０２がＮＩＦ１０５の内部アドレスである。
【０５１８】
ペイロード１１２は、ノード管理用プロセッサ処理コード７０１及びプログラム名９０４を含む。
【０５１９】
ＮＩＦ１０５は、以下のようにプログラム削除通知パケットのペイロード１１２を作成する。
【０５２０】
まず、ＮＩＦ１０５は、ノード管理用プロセッサ１０２に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル７００の処理内容７０２に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード７０１を抽出する。そして、抽出したノード管理用プロセッサ処理コード７０１を、パケットのペイロード１１２に格納する。
【０５２１】
プログラム削除通知パケットは、ノード管理用プロセッサ１０２にプログラムの削除を通知し、ＮＩＦ−プログラム管理テーブル８００の更新を要求する。よって、ＮＩＦ１０５は、ノード管理用プロセッサ処理コード７０１を「３」として、パケットのペイロード１１２に格納する。
【０５２２】
次に、ＮＩＦ１０５は、プログラム用メモリ３０４から削除した転送用プログラムのプログラム名９０４を、パケットのペイロードに格納する。
【０５２３】
ここで、図２１−１に戻る。
【０５２４】
ノード管理用プロセッサ１０２は、ＮＩＦ１０５からプログラム削除通知パケットを受信する。すると、ノード管理用プロセッサ１０２は、受信したプログラム削除通知パケットから、ノード管理用プロセッサ処理コードを抽出する。
【０５２５】
次に、ノード管理用プロセッサ１０２は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル７００（図５−１）のノード管理用プロセッサ処理コード７０１とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル７００から選択する。次に、選択したレコードから、処理内容７０２を抽出する。
【０５２６】
そして、ノード管理用プロセッサ１０２は、抽出した処理内容７０２に対応する処理を行う。ここでは、ノード管理用プロセッサ１０２は、抽出したノード管理用プロセッサ処理コードが「３」なので、ＮＩＦ−プログラム管理テーブル８００を更新する（２００９）。
【０５２７】
具体的には、ノード管理用プロセッサ１０２は、受信したパケットのペイロード１１２からプログラム名９０４を抽出する。また、受信したパケットの内部ヘッダ１１１から、送信元アドレス６０２を抽出する。次に、ノード管理用プロセッサ１０２は、抽出したプログラム名９０４とＮＩＦ−プログラム管理テーブル８００のプログラム名８０１とが一致し、更に、抽出した送信元アドレス６０２に対応するＮＩＦ番号とＮＩＦ−プログラム管理テーブル８００のＮＩＦ番号８０２とが一致するボックスを、ＮＩＦ−プログラム管理テーブル８００から選択する。そして、選択したボックスに格納されている丸印を削除する。
【０５２８】
そして、パケット通信装置１０１は、イベント処理を終了する（２０１０）。
【０５２９】
以上のように、通知用プログラムをインストールされているＮＩＦ１０５は、転送用プログラムが必要なときだけ、インストールする。よって、プログラム用メモリ３０４を効率よく利用できる。
【０５３０】
また、通知用プログラムは、ＮＩＦ１０５が処理できないパケットを受信した場合、設定ミスの可能性がある旨をオペレータ制御端末１０３に通知することもできる。この場合、オペレータ制御端末１０３は、設定ミスの可能性がある旨の通知を受けると、通知の内容を表示する。よって、オペレータは、パケット通信装置１０１の設定ミスを早急に発見し、解消できる。
【０５３１】
また、通知用プログラムは、一定の時間が経過した場合又は所定の時刻になった場合等に、転送用プログラムをインストールすることもできる。この場合、すべてのＮＩＦ１０５に、転送用プログラムを一斉にインストールできる。よって、オペレータは、それぞれのＮＩＦ１０５の設定を変更する必要がないので、負担が軽減される。
【産業上の利用可能性】
【０５３２】
本発明のパケット通信装置は、ユーザに直接接続するノードに適用できる。
【図面の簡単な説明】
【０５３３】
【図１−１】本発明の実施の形態のパケット通信装置のブロック図である。
【図１−２】本発明の実施の形態のパケット通信装置の内部におけるパケットの構成図である。
【図２】本発明の実施の形態のパケット通信装置を適用したネットワークのブロック図である。
【図３−１】本発明の実施の形態のＮＩＦのブロック図である。
【図３−２】本発明の実施の形態の機能拡張モジュールのブロック図である。
【図４−１】本発明の実施の形態のパケット通信装置を構成する部位の内部アドレスの説明図である。
【図４−２】本発明の実施の形態のＮＩＦのフォワーディングテーブルの構成図である。
【図５−１】本発明の実施の形態のノード管理用プロセッサ処理コード管理テーブルの構成図である。
【図５−２】本発明の実施の形態のプログラム取得コード管理テーブルの構成図である。
【図５−３】本発明の実施の形態のＮＩＦ指定コード管理テーブルの構成図である。
【図５−４】本発明の実施の形態のパケット指定コード管理テーブルの構成図である。
【図６−１】本発明の実施の形態のＮＩＦ−プログラム管理テーブルの構成図である。
【図６−２】本発明の実施の形態のＮＩＦ処理コード管理テーブルの構成図である。
【図６−３】本発明の実施の形態の更新コード管理テーブルの構成図である。
【図７−１】本発明の実施の形態のプログラム指定コード管理テーブルの構成図である。
【図７−２】本発明の実施の形態のモジュール処理コード管理テーブルの構成図である。
【図８】本発明の実施の形態のパケット通信装置の機能拡張モジュール追加処理のフローチャートである。
【図９−１】本発明の実施の形態の内部ヘッダの構成図である。
【図９−２】本発明の実施の形態のプログラムを含むインストール要求内部パケットのペイロードの構成図である。
【図９−３】本発明の実施の形態のプログラムの所在を含むインストール要求内部パケットのペイロードの構成図である。
【図１０−１】本発明の実施の形態のＮＩＦ指定要求を受信したオペレータ制御端末の表示画面の説明図である。
【図１０−２】本発明の実施の形態のプログラムインストール要求パケットの構成図である。
【図１０−３】本発明の実施の形態のフォワーディングテーブル更新要求パケットの構成図である。
【図１１−１】本発明の実施の形態のモジュール−プログラム管理テーブルの構成図である。
【図１１−２】本発明の実施の形態のノード管理用プロセッサのプログラム記憶処理のフローチャートである。
【図１２】本発明の実施の形態のパケット通信装置の機能拡張モジュール追加処理のシーケンス図である。
【図１３−１】従来の固定転送装置のパケット転送処理のフローチャートである。
【図１３−２】本発明の実施の形態のパケット通信装置のパケット転送処理のフローチャートである。
【図１４−１】本発明の実施の形態のパケット通信装置の機能拡張モジュール削除処理のフローチャートである。
【図１４−２】本発明の実施の形態のフォワーディングテーブル更新要求パケットの構成図である。
【図１５】本発明の実施の形態のパケット通信装置のＮＩＦ追加処理のフローチャートである。
【図１６−１】本発明の実施の形態のプログラム送信要求パケットの構成図である。
【図１６−２】本発明の実施の形態のプログラム要求パケットの構成図である。
【図１７】本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末の表示画面の説明図である。
【図１８−１】本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末の表示画面の説明図である。
【図１８−２】本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末の表示画面の説明図である。
【図１９−１】本発明の実施の形態のプログラムインストール要求パケットの構成図である。
【図１９−２】本発明の実施の形態のプログラムインストール要求パケットの構成図である。
【図２０】本発明の実施の形態のパケット通信装置のＮＩＦ追加処理のシーケンス図である。
【図２１−１】本発明の実施の形態のパケット通信装置のイベント処理のフローチャートである。
【図２１−２】本発明の実施の形態のプログラム送信要求パケットの構成図である。
【図２１−３】本発明の実施の形態のプログラム削除通知パケットの構成図である。
【符号の説明】
【０５３４】
１０１  パケット通信装置
１０２  ノード管理用プロセッサ
１０３  オペレータ制御端末
１０４  ノード内メモリ
１０５  ＮＩＦ
１０６  モジュールＩ／Ｆ
１０７  制御用Ｉ／Ｆ
１０８  機能拡張モジュール
１０９  内部スイッチ
１１０  外部ネットワーク
３０１  ＮＩＦ管理用プロセッサ
３０２  ＮＩＦ内メモリ
３０３  パケット処理用プロセッサ
３０４  プログラム用メモリ
３０５  内部Ｉ／Ｆ
３０６  外部Ｉ／Ｆ
３０７  ＮＩＦ内部スイッチ
３０８  モジュール内プロセッサ
３０９  モジュール内メモリ
３１０  モジュール内部Ｉ／Ｆ
４０１  フォワーディングテーブル
【図１−１】
2006253899.tif 000003
【図１−２】
2006253899.tif 000004
【図２】
2006253899.tif 000005
【図３−１】
2006253899.tif 000006
【図３−２】
2006253899.tif 000007
【図４−１】
2006253899.tif 000008
【図４−２】
2006253899.tif 000009
【図５−１】
2006253899.tif 000010
【図５−２】
2006253899.tif 000011
【図５−３】
2006253899.tif 000012
【図５−４】
2006253899.tif 000013
【図６−１】
2006253899.tif 000014
【図６−２】
2006253899.tif 000015
【図６−３】
2006253899.tif 000016
【図７−１】
2006253899.tif 000017
【図７−２】
2006253899.tif 000018
【図８】
2006253899.tif 000019
【図９−１】
2006253899.tif 000020
【図９−２】
2006253899.tif 000021
【図９−３】
2006253899.tif 000022
【図１０−１】
2006253899.tif 000023
【図１０−２】
2006253899.tif 000024
【図１０−３】
2006253899.tif 000025
【図１１−１】
2006253899.tif 000026
【図１１−２】
2006253899.tif 000027
【図１２】
2006253899.tif 000028
【図１３−１】
2006253899.tif 000029
【図１３−２】
2006253899.tif 000030
【図１４−１】
2006253899.tif 000031
【図１４−２】
2006253899.tif 000032
【図１５】
2006253899.tif 000033
【図１６−１】
2006253899.tif 000034
【図１６−２】
2006253899.tif 000035
【図１７】
2006253899.tif 000036
【図１８−１】
2006253899.tif 000037
【図１８−２】
2006253899.tif 000038
【図１９−１】
2006253899.tif 000039
【図１９−２】
2006253899.tif 000040
【図２０】
2006253899.tif 000041
【図２１−１】
2006253899.tif 000042
【図２１−２】
2006253899.tif 000043
【図２１−３】
2006253899.tif 000044