(57)【要約】【課題】  新たに追加された拡張モジュールを動作させるための制御データの設定を容易にしたモジュール型のパケット通信ノード装置を提供する。【解決手段】  スイッチング部に拡張モジュールが追加された時、拡張モジュールからパケット通信ノード装置の制御モジュールに、該拡張モジュールで処理すべきパケットのフロー定義情報と内部アドレスとの対応関係を示す転送制御データ（制御パラメータ）の設定要求パケットを送信し、制御モジュールが、各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに上記フロー定義情報と拡張モジュールの内部アドレスとの対応関係を示すテーブルエントリを自動的に設定するようにしたモジュール型パケット通信ノード装置。【選択図】図１
2006020034.tif 000002
【特許請求の範囲】
【請求項１】
制御モジュールと、それぞれネットワークとの間でパケットを送受信する複数のネットワークインタフェースモジュールと、拡張モジュールを追加的に接続可能な複数の拡張モジュール接続インタフェース部と、上記モジュールおよびインタフェース部を相互接続し、各モジュールからの受信パケットを該受信パケットに付加された内部ヘッダが示す内部アドレスで特定される他の何れかのモジュールまたはインタフェース部に転送するパケットスイッチング部とからなるモジュール型パケット通信ノード装置であって、
上記各拡張モジュール接続インタフェース部が、
拡張モジュールが接続された時、上記制御モジュールのパケットアドレスと、拡張モジュールに割り当てるべきパケットアドレスおよび内部アドレスとを示すアドレス設定メッセージを上記拡張モジュールに送信する制御部と、
上記拡張モジュールから、該拡張モジュールで処理すべきパケットを識別するためのフロー定義情報と該拡張モジュールの内部アドレスとの対応関係を示し、上記制御モジュール宛のパケットアドレスをもつ制御データ登録要求パケットを受信した時、上記制御モジュール用の内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力する内部アドレス付加部とからなり、
上記制御モジュールが、上記パケットスイッチング部から上記制御データ登録要求パケットを受信した時、上記各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスとの対応関係を示すテーブルエントリを登録し、
上記各ネットワークインタフェースモジュールが、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当したヘッダ情報をもつパケットを受信した時、上記パケット転送制御テーブルが示す上記フロー定義情報と対応した内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力することを特徴とするパケット通信ノード装置。
【請求項２】
前記各拡張モジュール接続インタフェース部の制御部が、該拡張モジュール接続インタフェース部の内部アドレスの値と、前記制御モジュールから予め通知された該制御モジュールおよび拡張モジュールのパケットアドレス値とを記憶するためのメモリを有し、拡張モジュールが接続された時、上記メモリから読み出したアドレス値を適用して前記アドレス設定メッセージを生成し、上記拡張モジュールに送信することを特徴とする請求項１に記載のモジュール型パケット通信ノード装置。
【請求項３】
前記各拡張モジュール接続インタフェース部の制御部が、拡張モジュール接続インタフェース部に拡張モジュールが接続されたこと前記制御モジュールに通知し、前記制御モジュールから受信した前記パケットアドレスおよび内部アドレスを示すアドレス設定メッセージを上記拡張モジュールに転送することを特徴とする請求項１に記載のモジュール型パケット通信ノード装置。
【請求項４】
前記各ネットワークインタフェースモジュールが、ネットワークからパケットが受信された時、前記パケット転送制御テーブルを参照し、受信パケットのヘッダ情報が前記フロー定義情報に該当しないと判明した場合に、パケット宛先アドレスと内部アドレスとの対応関係を記憶した宛先テーブルから受信パケットに適用すべき内部アドレスを検索し、該内部アドレスを含む内部ヘッダを付加した形で、受信パケットを前記スイッチング部に出力するフロー制御部を有することを特徴とする請求項１〜請求項３の何れかに記載のモジュール型パケット通信ノード装置。
【請求項５】
前記拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールの動作モードを示す情報を含み、
前記制御モジュールが、前記パケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスと動作モードとの関係を示すテーブルエントリを登録し、
前記各ネットワークインタフェースモジュールのフロー制御部が、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、上記フロー定義情報を含むテーブルエントリが示す動作モードに従って、該テーブルエントリが示す拡張モジュール内部アドレスの有効性を判断するための手段を備えたことを特徴とする請求項４に記載のモジュール型パケット通信ノード装置。
【請求項６】
前記拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールが提供する通信サービスの識別子と、同一サービスを提供する他の拡張モジュールとの負荷分散の実行要否を示すロードバランスフラグを含み、
前記各ネットワークインタフェースモジュールが、ネットワークから前記パケット転送制御テーブルが示す何れかのフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、該フロー定義情報を含む第１のテーブルエントリのロードバランスフラグをチェックし、ロードバランスフラグが負荷分散の実行を指示していた場合に、所定のアルゴリズムに従って、上記第１のテーブルエントリが示す拡張モジュール内部アドレスと、前記パケット転送制御テーブル内で上記第１のテーブルエントリと同一のサービス識別子をもつ第２のテーブルエントリが示す拡張モジュール内部アドレスとの一方を選択するロードバランス部を備えたことを特徴とする請求項５に記載のモジュール型パケット通信ノード装置。
【請求項７】
前記拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールによる通信サービスの処理能力を示す情報を含み、
前記ロードバランス部が、前記第１、第２のテーブルエントリが示す処理能力の比率に従って、上記第１、第２のテーブルエントリが示す拡張モジュール内部アドレスの選択頻度を決定することを特徴とする請求項６に記載のモジュール型パケット通信ノード装置。
【請求項８】
制御モジュールと、それぞれネットワークとの間でパケットを送受信する複数のネットワークインタフェースモジュールと、拡張モジュールを追加的に接続可能な複数の拡張モジュール接続インタフェース部と、これらのモジュールおよびインタフェース部を相互接続し、各モジュールからの受信パケットを該受信パケットに付加された内部ヘッダが示す内部アドレスで特定される他の何れかのモジュールまたはインタフェース部に転送するパケットスイッチング部とからなり、上記複数の拡張モジュール接続インタフェース部のうちの少なくとも１つに拡張モジュールが接続されたモジュール型パケット通信ノード装置であって、
上記拡張モジュールが、
該拡張モジュールで処理すべき受信パケットを識別するためのフロー定義情報と、該拡張モジュールで提供するサービス処理の種類を示すサービス識別子とが予め格納されたメモリと、
初期動作として転送制御データ登録要求パケットの発行機能を有し、定常動作として、上記フロー定義情報に該当するパケットの受信に応答してサービス処理を実行するモジュール制御部とからなり、
上記各拡張モジュール接続インタフェース部が、
拡張モジュールが接続された時、上記制御モジュールのパケットアドレスと、拡張モジュールに割り当てるべきパケットアドレスおよび内部アドレスとを示すアドレス設定メッセージを上記拡張モジュールに送信する制御部と、
上記拡張モジュールから、フロー定義情報と、サービス識別子と、該拡張モジュールの内部アドレスとの対応関係を示し、上記制御モジュール宛のパケットアドレスをもつ制御データ登録要求パケットを受信した時、上記制御モジュール用の内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力する内部アドレス付加部とからなり、
上記制御モジュールが、上記パケットスイッチング部から上記制御データ登録要求パケットを受信した時、上記各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報とサービス識別子と拡張モジュール内部アドレスとの対応関係を示すテーブルエントリを登録し、
上記各ネットワークインタフェースモジュールが、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットを受信した時、上記パケット転送制御テーブルが示す上記フロー定義情報と対応する内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力することを特徴とするモジュール型パケット通信ノード装置。
【請求項９】
前記各ネットワークインタフェースモジュールが、ネットワークからパケットが受信された時、前記パケット転送制御テーブルを参照し、受信パケットのヘッダ情報が前記フロー定義情報に該当しないと判明した場合に、パケット宛先アドレスと内部アドレスとの対応関係を記憶した宛先テーブルから受信パケットに適用すべき内部アドレスを検索し、該内部アドレスを含む内部ヘッダを付加した形で、受信パケットを前記スイッチング部に出力するフロー制御部を有することを特徴とする請求項８に記載のモジュール型パケット通信ノード装置。
【請求項１０】
前記拡張モジュールの前記メモリに予め該拡張モジュールの動作モードを示すフラグ情報が格納してあり、前記モジュール制御部が、前記拡張モジュール接続インタフェース部から前記アドレス設定メッセージを受信した後、上記メモリから読み出されたフロー定義情報、サービス識別子、動作モード情報と、上記アドレス設定メッセージで指定された該拡張モジュールの内部アドレスとの対応関係を示す上記制御モジュール宛の制御データ登録要求パケットを発行し、
前記制御モジュールが、前記パケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスと動作モードの関係を示すテーブルエントリを登録し、
前記各ネットワークインタフェースモジュールのフロー制御部が、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、上記フロー定義情報を含むテーブルエントリが示す動作モードに従って、該テーブルエントリが示す拡張モジュール内部アドレスの有効性を判断するための手段を備えたことを特徴とする請求項９に記載のモジュール型パケット通信ノード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信ノード装置に関し、更に詳しくは、それぞれ特定の通信サービス機能を備えた拡張モジュールを追加的に収容可能なモジュール型のパケット通信ノード装置に関する。
【背景技術】
【０００２】
ルータやパケットスイッチ等のパケット通信ノード装置は、基本的には、所定のルーティングプロトコルを実行して宛先テーブル（ルーティングテーブル）を更新する制御モジュールと、ネットワーク回線との間でパケットを送受信するための複数のネットワークインタフェースモジュールと、これらのモジュール間を相互接続するスイッチング部とからなり、各ネットワークインタフェースモジュールが、ネットワークからの受信パケットに宛先テーブルが示す内部ルーティング情報を付加し、上記スイッチング部が、各ネットワークインタフェースモジュールからの受信パケットを内部ルーティング情報に従って他の何れかのモジュールに転送する構成となっている。
【０００３】
ＩＰ（Internet Protocol）網が普及し、通信サービスが高速化、高度化するに従って、パケット通信ノード装置には、基本動作となるパケット交換機能の高速化以外に、特殊な通信サービスの提供機能が求められている。従って、パケット通信ノード装置を提供するメーカーにとっては、ユーザ（通信事業者）からの要求に迅速に対応するために、例えば、パケットスイッチング部に追加モジュール用の予備の接続ポートを用意しておき、ユーザから特定のサービス機能の追加を要望された場合、ユーザの要求に応じて設計した拡張モジュールをパケットスイッチング部に追加的に収容可能にしたモジュール型のパケット通信ノード装置が有効となる。この場合、拡張モジュールを動作させるために必要となるパケット通信ノード装置への制御データの設定が問題となる。
【０００４】
情報処理システムの分野では、例えば、特開２０００−１３２４８７号公報（特許文献１）に記載されているように、ネットワークを介してサーバに接続される各周辺装置にサーバ側で必要とするドライバソフトを予め内蔵しておき、サーバ側で或る周辺装置を選択して、これを操作しようとした時、この辺装置の操作に必要なモジュール（ドライバソフト）がサーバに存在していなかった場合、サーバから周辺装置にドライバソフトの要求メッセージを送信し、周辺装置から受信したドライバソフトを保存、実行することによって、周辺装置を操作する方式が提案されている。
【０００５】
【特許文献１】特開２０００−１３２４８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１で提案された方式は、サーバに新たな周辺装置を追加した時、周辺装置の操作に必要なドライバソフトの不在に気づいたサーバ側から、周辺装置にドライバソフトの送信を要求することを特徴としており、新たにシステムに加わった周辺装置側が主体となって制御情報を送り込むものではない。従って、この方式を上述したパケット通信ノード装置に適用しようとすると、制御モジュールあるいは各ネットワークインタフェースが主体となって、新たに追加された拡張モジュールから制御データを取得することになるが、パケット通信ノード装置の場合、各ネットワークインタフェースは、パケット受信の都度、既に用意されている宛先テーブルを参照し、受信パケットに宛先アドレスと対応した内部ルーティング情報を付加して、スイッチング部に出力するよう動作しているだけであり、拡張モジュール用のルーティング情報の不在を検知して、それを拡張モジュールに求める機能はない。また、制御モジュールも、自分が拡張モジュール用の制御データを利用して拡張モジュールを操作する立場にはないため、拡張モジュール用の制御データの不在を検出することはできない。
【０００７】
本発明の目的は、新たに追加された拡張モジュールを動作させるための制御データの設定を容易にしたモジュール型のパケット通信ノード装置を提供することにある。
【０００８】
本発明の他の目的は、同一の通信サービス提供機能をもつ複数の拡張モジュールが共存した場合でも、各ネットワークインタフェースモジュールが、ネットワークからの受信パケットを適切な拡張モジュールに転送制御可能なモジュール型のパケット通信ノード装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明のモジュール型パケット通信ノード装置は、スイッチング部に拡張モジュールが追加された時、拡張モジュールからパケット通信ノード装置の制御モジュールに、該拡張モジュールで処理すべきパケットのフロー定義情報と内部アドレスとの対応関係を示す転送制御データ（制御パラメータ）の設定要求パケットを送信し、制御モジュールが、各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに上記フロー定義情報と拡張モジュールの内部アドレスとの対応関係を示すテーブルエントリを自動的に設定するようにしたことを特徴とする。上記転送制御データ設定要求パケットのヘッダに適用すべきアドレス情報は、拡張モジュールの接続が検知された時、パケット通信ノード装置側から拡張モジュールに自動的に通知される。
【００１０】
更に詳述すると、本発明のモジュール型パケット通信ノード装置は、制御モジュールと、それぞれネットワークとの間でパケットを送受信する複数のネットワークインタフェースモジュールと、拡張モジュールを追加的に接続可能な複数の拡張モジュール接続インタフェース部と、上記モジュールおよびインタフェース部を相互接続し、各モジュールからの受信パケットを該受信パケットに付加された内部ヘッダが示す内部アドレスで特定される他の何れかのモジュールまたはインタフェース部に転送するパケットスイッチング部とからなり、
上記各拡張モジュール接続インタフェース部が、拡張モジュールが接続された時、上記制御モジュールのパケットアドレスと、拡張モジュールに割り当てるべきパケットアドレスおよび内部アドレスとを示すアドレス設定メッセージを上記拡張モジュールに送信する制御部と、上記拡張モジュールから、該拡張モジュールで処理すべきパケットを識別するためのフロー定義情報と該拡張モジュールの内部アドレスとの対応関係を示し、上記制御モジュール宛のパケットアドレスをもつ制御データ登録要求パケットを受信した時、上記制御モジュール用の内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力する内部アドレス付加部とからなり、
上記制御モジュールが、上記パケットスイッチング部から上記制御データ登録要求パケットを受信した時、上記各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスとの対応関係を示すテーブルエントリを登録し、
上記各ネットワークインタフェースモジュールが、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当したヘッダ情報をもつパケットを受信した時、上記パケット転送制御テーブルが示す上記フロー定義情報と対応した内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力することを特徴とする。
【００１１】
本発明において、各拡張モジュールは、該拡張モジュールで処理すべき受信パケットを識別するためのフロー定義情報と、該拡張モジュールで提供するサービス処理の種類を示すサービス識別子とが予め格納されたメモリと、初期動作として転送制御データ登録要求パケットの発行機能を有し、定常動作として、上記フロー定義情報に該当するパケットの受信に応答してサービス処理を実行するモジュール制御部とからなる。
【００１２】
本発明の１実施例では、各拡張モジュール接続インタフェース部の制御部が、該拡張モジュール接続インタフェース部の内部アドレスの値と、制御モジュールから予め通知された該制御モジュールおよび拡張モジュールのパケットアドレス値とを記憶するためのメモリを有し、拡張モジュールが接続された時、上記メモリから読み出したアドレス値を適用して前記アドレス設定メッセージを生成し、上記拡張モジュールに送信する。
【００１３】
また、本発明の別の実施例では、各拡張モジュール接続インタフェース部の制御部が、拡張モジュール接続インタフェース部に拡張モジュールが接続されたこと制御モジュールに通知し、制御モジュールから受信した前記パケットアドレスおよび内部アドレスを示すアドレス設定メッセージを上記拡張モジュールに転送する。
【００１４】
本発明の１つの特徴は、各ネットワークインタフェースモジュールが、ネットワークからパケットが受信された時、上記パケット転送制御テーブルを参照し、受信パケットのヘッダ情報がフロー定義情報に該当しないと判明した場合に、パケット宛先アドレスと内部アドレスとの対応関係を記憶した宛先テーブルから受信パケットに適用すべき内部アドレスを検索し、該内部アドレスを含む内部ヘッダを付加した形で、受信パケットをスイッチング部に出力するフロー制御部を有することにある。
【００１５】
本発明の他の特徴は、拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールの動作モードを示す情報を含み、制御モジュールが、パケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスと動作モードとの関係を示すテーブルエントリを登録し、各ネットワークインタフェースモジュールのフロー制御部が、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、上記フロー定義情報を含むテーブルエントリが示す動作モードに従って、該テーブルエントリが示す拡張モジュール内部アドレスの有効性を判断するようにしたことにある。
【００１６】
本発明の更に他の特徴は、拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールが提供する通信サービスの識別子と、同一サービスを提供する他の拡張モジュールとの負荷分散の実行要否を示すロードバランスフラグを含み、各ネットワークインタフェースモジュールが、ネットワークから前記パケット転送制御テーブルが示す何れかのフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、該フロー定義情報を含む第１のテーブルエントリのロードバランスフラグをチェックし、ロードバランスフラグが負荷分散の実行を指示していた場合に、所定のアルゴリズムに従って、上記第１のテーブルエントリが示す拡張モジュール内部アドレスと、前記パケット転送制御テーブル内で上記第１のテーブルエントリと同一のサービス識別子をもつ第２のテーブルエントリが示す拡張モジュール内部アドレスとの一方を選択するロードバランス部を備えたことにある。
【発明の効果】
【００１７】
本発明によれば、ネットワークからの受信パケットのうち、拡張モジュールに転送すべきパケットを選択するために必要となるフロー定義情報と宛先内部アドレスとの関係を、拡張モジュールの追加時に、各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに自動的に登録することができる。また、パケット転送制御テーブルの各テーブルエントリに、上記フロー定義情報、宛先内部アドレス以外の情報項目として、例えば、拡張モジュールが提供するサービス種別、動作モードを含めておくによって、同一のサービス提供機能をもつ複数の拡張モジュールが共存した場合でも、動作モードに従って選択された適切な拡張モジュールに受信パケットを転送することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施例について、図面を参照して説明する。
【００１９】
図１は、本発明によるパケット通信ノード装置３０の１実施例を示す。
【００２０】
パケット通信ノード装置３０は、スイッチング部３００に接続された制御モジュール３１と、ネットワークインタフェースモジュール３２〜３ｎおよび拡張モジュール接続インタフェース部４１、４２とからなり、特殊なサービス機能をもつ拡張モジュール５１、５２を拡張モジュール接続インタフェース部４１、４２を介してスイッチング部３００に収容可能な構成となっている。ネットワークインタフェースモジュール３２〜３ｎは、それぞれネットワークＮＷ１〜ＮＷｎと接続されている。また、ネットワークＮＷ１にはクライアント端末１０、ネットワークＮＷ２にはＷｅｂサーバ２０が接続されている。図１では、２個の拡張モジュール接続インタフェース部４１、４２しか図示されていないが、スイッチング部３００に接続される拡張モジュール接続インタフェース部の個数は３以上であってもよい。
【００２１】
ここで、スイッチング部３００に付したＰ３１〜Ｐ４２は、スイッチング部の出力ポート番号を示している。本実施例では、ネットワークインタフェースモジュール３２〜３ｎは、ネットワークＮＷ１〜ＮＷｎとの間で、図７に示すように、ペイロードＭにＩＰヘッダＨ１とＴＣＰヘッダＨ２を付加したＩＰパケット形式でパケットを送受信するものとする。また、スイッチング部３００は、ＩＰヘッダの前に内部ヘッダＨ０を付加した内部パケットを受信し、内部ヘッダＨ０が示す内部アドレス（出力ポート番号Ｐ３１〜Ｐ４２）に従って、受信パケットを交換処理するものとする。
【００２２】
以下、拡張モジュール５１、５２としてＷｅｂキャッシュサービス機能を備えたモジュールを追加した場合を実施例として、本発明のパケット通信ノード装置３０の特徴的な構成と動作を説明する。
【００２３】
本実施例では、クライアント端末１０が発行したＷｅｂサーバ２０宛のＷｅｂコンテンツ要求パケットが、ネットワークインタフェースモジュール３２とスイッチング部３００によって、拡張モジュール５１（または５２）に転送される。要求コンテンツがキャッシュメモリに存在していた場合、拡張モジュール５１（または５２）が発行したＷｅｂ応答パケットが、スイッチング部３００によってネットワークインタフェースモジュール３２に転送され、ネットワークＮＷ１を介して要求元のクライアント装置１０に返送される。
【００２４】
もし、要求コンテンツがキャッシュメモリに存在していなければ、拡張モジュール５１が発行したＷｅｖコンテンツ要求パケットが、スイッチング部３００によってネットワークインタフェースモジュール３３に転送され、ネットワークＮＷ２に送信される。また、上記コンテンツ要求に対するサーバ２０からのＷｅｂ応答パケットは、ネットワークインタフェースモジュール３３とスイッチング部３００によって拡張モジュール５１に転送される。拡張モジュール５１は、受信コンテンツをキャッシュメモリに蓄積した後、クライアント装置１０宛のＷｅｂ応答パケットを発行する。この応答パケットは、スイッチング部３００によってネットワークインタフェースモジュール３２に転送され、ネットワークＮＷ１を介して要求元のクライアント装置１０に転送される。
【００２５】
本発明の特徴の１つは、第１の拡張モジュール５１が接続インタフェース部４１に接続され、電源の投入によって稼動可能な状態となった時、制御モジュール３１、接続インタフェース部４１、拡張モジュール５１の連携動作によって、各ネットワークインタフェースモジュール３２〜３ｎに、拡張モジュール５１でサービス提供すべき受信パケットを拡張モジュール５１に転送させるためのフロー制御パラメータが自動的に設定されるようにした点にある。
【００２６】
第１の拡張モジュール５１が既に稼動状態にある時、これと同一のサービス機能をもつ第２の拡張モジュール５２が接続インタフェース部４２に接続された場合、第２の拡張モジュール５２の動作モードとしては、（１）第１の拡張モジュール５１と負荷分散した形で並列的に動作するロードバランスモード、（２）第１の拡張モジュール５１の代わってサービスを提供するリプレースモード、（３）予備系として待機し、第１の拡張モジュール５１に障害が発生した場合に、第１の拡張モジュール５１の代わってサービスを提供する冗長モードがある。
【００２７】
本発明の特徴の１つは、拡張モジュール５１（５２）が接続インタフェース部４１（４２）に接続され、電源の投入によって稼動可能な状態となった時、予め拡張モジュールのメモリに動作モードを指定しておくことによって、ネットワークインタフェースモジュール３２〜３ｎが、拡張モジュールの動作モードに応じて、受信パケットの転送先を選択的に切り替えるようにした点にある。
【００２８】
図２は、制御モジュール３１の詳細構造の１例を示す。
【００２９】
制御モジュール３１は、モジュール制御部３１０と、スイッチング部３００の出力ポート（ポート番号Ｐ３１）に接続されたスイッチ受信インタフェース３１１と、スイッチング部３００の入力ポートに接続されたスイッチ送信インタフェース３１２と、スイッチ受信インタフェース３１１から出力される内部受信パケットから内部ヘッダを除去し、受信パケットとしてモジュール制御部３１０に入力する内部ヘッダ除去部３１３と、モジュール制御部３１０から出力される送信パケットに内部ヘッダを付加し、スイッチ送信インタフェース３１２に内部送信パケットとして出力する内部ヘッダ付加部３１４と、モジュール制御部３１０に接続された入力部３１５、表示部３１６、転送制御テーブル３１７および宛先テーブル（ルーティングテーブル）３１８からなる。  
転送制御テーブル３１７には、図１１および図１３に示すように、フロー定義情報３１７１と対応して、拡張モジュールで提供するサービスの識別子（サービスＩＤ）３１７２と、拡張モジュールの動作モードを指定するロードバランスフラグ３１７３および冗長フラグ３１７４と、転送先モジュール内部アドレス３１７５と、モジュールの処理能力３１７６と、リンクフラグ３１７７とを示す少なくとも１つエントリが登録される。
【００３０】
一方、宛先テーブル３１８は、図６に示すように、宛先ＩＰアドレス３１８Ａと内部アドレス３１８Ｂとの対応関係を示す複数のエントリＲＴ−１、ＲＴ−２、…が登録されている。ここでは、各モジュールとの対応関係を容易に理解できるように、モジュールの引用符号と対応させて、例えば、制御モジュール３１のＩＰアドレスは「ＩＰ３１」、拡張モジュール５１のＩＰアドレスは「ＩＰ５１」と表記している。
【００３１】
宛先テーブル３１８と転送制御テーブル３１７の内容は、モジュール制御部３１０によって更新される。宛先テーブル３１８と転送制御テーブル３１７の内容変化は、それぞれ信号線Ｌ１、Ｌ２を介して、後述する拡張モジュール接続インタフェース４１、４２が備える宛先テーブルと、各ネットワークインタフェース３２〜３ｎが備える宛先テーブルおよび転送制御テーブルに反映される。内部ヘッダ付加部３１４は、モジュール制御部３１０から送信パケットを受信すると、宛先テーブル３１８から送信パケットの宛先ＩＰアドレスに対応する内部アドレスを検索し、該記内部アドレスを示す内部ヘッダを付加した形で、送信パケットをスイッチ送信インタフェース３１２に出力する。
【００３２】
図３は、ネットワークインタフェースモジュール３２の詳細構造の１例を示す。他のネットワークインタフェースモジュール３３〜３４もこれと同様の構成となっている。
【００３３】
ネットワークインタフェースモジュール３２は、スイッチング部３００の出力ポート（ポート番号Ｐ３２）に接続されたスイッチ受信インタフェース３２１と、スイッチング部３００の入力ポートに接続されたスイッチ送信インタフェース３２２と、ネットワークＮＷ１への出力回線に接続された出力回線インタフェース３２３と、ネットワークＮＷ１からの入力回線に接続された入力回線インタフェース３２４と、スイッチ受信インタフェース３２１から出力される内部送信パケットから内部ヘッダを除去し、出力回線インタフェース３２３に送信パケットとして出力する内部ヘッダ除去部３２５と、スイッチ送信インタフェース３２２と入力回線インタフェース３２４との間に接続されたフロー制御部３２６と、信号線Ｌ２に接続された転送制御テーブル３２７と、信号線Ｌ１に接続された宛先テーブル３２８と、フロー制御部３２６に接続されたロードバランス制御部３２９とからなる。
【００３４】
ネットワークＮＷ１からの受信パケットは、入力回線インタフェース３２４で受信され、フロー制御部３２６に入力される。フロー制御部３２６は、入力回線インタフェース３２４からパケットを受信すると、受信パケットのヘッダ情報をロードバランス制御部３２９に通知する。ロードバランス制御部３２９は、上記ヘッダ情報に基づいて転送制御テーブル３２７を検索し、検索結果をフロー制御部３２６に返送する。ヘッダ情報が転送制御テーブル３２７に登録された何れかのフロー定義３１７１に該当していた場合は、検索結果として、受信パケットの転送先を示す転送先モジュール内部アドレス３１７５が通知される。ヘッダ情報がフロー定義に該当しない場合は、転送制御テーブル３２７に受信パケットに該当するエントリがない旨の通知がフロー制御部３２６に返送される。
【００３５】
フロー制御部３２６は、ロードバランス制御部３２９から転送先モジュール内部アドレスを通知された場合は、上記転送先モジュール内部アドレスを示す内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース３２２に出力する。受信パケットに該当するエントリがない旨の通知を受けた場合は、フロー制御部３２６は、宛先テーブル３２８から受信パケットの宛先ＩＰアドレスに対応する内部アドレスを検索し、該内部アドレスを示す内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース３２２に出力する。上記フロー制御部３２６とロードバランス制御部３２９の詳細動作については、図１５と図１６を参照して後述する。
【００３６】
図４は、拡張モジュール５１と拡張モジュール接続インタフェース部４１の詳細構造の１例を示す。拡張モジュール接続インタフェース部４２も、上記接続インタフェース部４１と同様の構造となっている。
【００３７】
本実施例では、拡張モジュール５１は、Ｗｅｂキャッシュサービスを提供するためのものであり、モジュール制御部５１０と、モジュール制御部５１０に接続されたフロー判定部５１１、ＵＲＬ判定部５１２、表示部５１３、入力部５１４、キャッシュメモリ５１５および不揮発性のメモリ５１６と、コネクタ５１７とからなっている。キャッシュメモリ５１５には、Ｗｅｂサーバ２０から受信したＷｅｂコンテンツが蓄積される。また、メモリ５１６には、転送制御テーブル３１７に登録すべきフロー制御パラメータ情報が記憶される。
【００３８】
一方、拡張モジュール接続インタフェース部４１は、スイッチング部３００の出力ポート（ポート番号Ｐ４１）に接続されたスイッチ受信インタフェース４１１と、スイッチング部３００の入力ポートに接続されたスイッチ送信インタフェース４１２と、スイッチ受信インタフェース４１１に接続された制御部４１３と、スイッチ送信インタフェース４１２に接続された内部ヘッダ付加部４１４と、制御部４１３に接続されたメモリ４１５、モジュール接続センサ４１６、コネクタ４１７および宛先テーブル４１８からなっている。
【００３９】
次に、図５〜図１３を参照して、制御モジュール３１、拡張モジュール接続インタフェース部４１、４２、拡張モジュール５１、５２の初期動作について詳述する。
【００４０】
図５は、制御モジュール３１のモジュール制御部３１０が実行するテーブル更新処理ルーチン７００のフローチャートを示す。
【００４１】
モジュール制御部３１０は、制御モジュール３１の電源が投入されると、テーブル更新処理ルーチン７００を実行し、先ず、表示部３１６に初期設定データの入力要求メッセージを出力して（ステップ７０１）、入力部３１５または内部ヘッダ削除部３１３からのデータ入力を待つ（７０２）。データを受信すると、受信データが宛先テーブル３１８に登録すべき宛先設定データか否かを判定する（７０３）。受信データが、宛先ＩＰアドレスと内部アドレスとの関係を示す宛先設定データの場合は、宛先テーブル３１８に受信データと同一内容のルーティング情報エントリが既に登録済みか否かを判定する（７１０）。宛先テーブル３１８に同一エントリが存在していれば、受信データを無視して、次のデータ受信を待つ。宛先テーブル３１８に受信データと同一エントリがなければ、受信データを宛先テーブル３１８に新たなエントリとして追加し（７１１）、アドレス設定メッセージＭ０を生成して、信号線Ｌ３に出力する。
【００４２】
オペレータは、制御モジュール３１と、拡張モジュール接続インタフェース部４１、４２のアドレスについて、上述した宛先設定データの入力動作を繰り返し、これによって、宛先テーブル３１８にルーティング情報エントリＲＴ−１〜ＲＴ−３が登録される。ネットワークインタフェースモジュール３２〜３ｎ間でのパケット転送に必要となるルーティング情報エントリＲＴ−４、ＲＴ−５、…は、モジュール制御部３１０が備えるルーティングプロトコル機能に従って自動的に追加される性格のものであり、ここでの説明は省略する。
【００４３】
オペレータからの宛先設定データの入力動作に付随して生成されるアドレス設定メッセージＭ０は、図８に示すように、アドレス設定メッセージであることを示すメッセージ種別６００に続いて、内部アドレス（ポート番号）６０１と、制御モジュールＩＰアドレス６０２と、モジュールＩＰアドレス６０３を含んでいる。モジュールＩＰアドレス６０３と内部アドレス（ポート番号）６０１には、宛先テーブル３１８の追加エントリが示す宛先ＩＰアドレス３１８Ａと内部アドレス３１８Ｂの値が設定され、制御モジュールＩＰアドレス６０２には、常に制御モジュール３１のＩＰアドレス（この例では“ＩＰ３１”が設定される。図８は、宛先テーブル３１８にエントリＲＴ−２が追加された時に生成されるアドレス設定メッセージＭ０を示している。
【００４４】
上記アドレス設定メッセージＭ０は、信号線Ｌ３を介して、拡張モジュール接続インタフェース部４１、４２の制御部４１３に入力される。各制御部４１３は、信号線Ｌ３からアドレス設定メッセージＭ０を受信すると、受信メッセージの内部アドレス６０１をチェックし、内部アドレス６０１の値が、予めメモリ４１５に記憶されている制御部４１３の割当てポート番号と一致するメッセージのみを有効メッセージと判断する。
【００４５】
従って、ポート番号“Ｐ４１”をもつ拡張モジュール接続インタフェース部４１の制御部４１３は、宛先テーブル３１８にエントリＲＴ−２が追加された時に生成されるアドレス設定メッセージＭ０のみを有効メッセージとして扱い、受信メッセージＭ０が示す制御モジュールアドレス６０２の値“ＩＰ３１”とモジュールＩＰアドレス６０３の値“ＩＰ５１”をメモリ４１５に記憶する。モジュールＩＰアドレス６０３の値“ＩＰ５１”は、拡張モジュール５１が接続インタフェース部４１に接続された時、拡張モジュール５１への割り当てＩＰアドレスとして使用される。
【００４６】
同様に、ポート番号“Ｐ４２”をもつ拡張モジュール接続インタフェース部４２の制御部４１３は、宛先テーブル３１８にエントリＲＴ−３が追加された時に信号線Ｌ３から受信するアドレス設定メッセージＭ０のみを有効メッセージとして扱い、受信メッセージが示す制御モジュールアドレス６０２の値“ＩＰ３１”とモジュールＩＰアドレス６０３の値“ＩＰ５２”をメモリ４１５に記憶する。
【００４７】
拡張モジュール接続インタフェース部４１と４２の制御部４１３は、それぞれ拡張モジュール５１、５２が接続されるのを待っている。ここで、オペレータが、拡張モジュール接続インタフェース部４１に第１の拡張モジュール５１を接続（プラグイン）すると、これがモジュール接続センサ４１６によって検出される。制御部４１３は、モジュール接続センサ４１６の出力の変化から、拡張モジュール５１の接続を検知すると、既にメモリ４１５に記憶されているポート番号“Ｐ４１”、制御モジュールＩＰアドレス値“ＩＰ３１”、モジュールＩＰアドレス値“ＩＰ５１”を適用して、図８に示したメッセージＭ０と同様のフォーマットのアドレス設定メッセージＭ１を生成する。このメッセージＭ１は、宛先ＩＰアドレスとしてブロードキャストアドレスを設定したＩＰヘッダＨ１、ＴＣＰヘッダＨ２を付加して、拡張モジュール５１に送信される。
【００４８】
拡張モジュール５１のモジュール制御部５１０は、接続インタフェース部４１と接続して電源が投入されると、図９に示す拡張モジュール制御ルーチン７２０を実行し、アドレス設定メッセージＭ１の受信を待っている（ステップ７２１）。
【００４９】
接続インタフェース部４１の制御部４１３から送信されたアドレス設定メッセージＭ１を含むパケットは、拡張モジュール５１のフロー判定部５１１で受信される。フロー判定部５１１は、受信パケットの宛先ＩＰドレスを判定し、拡張モジュール宛の受信パケットとブロードキャストパケットはモジュール制御部５１０に出力し、それ以外の受信パケットはＵＲＬ判定部５１２に出力する。従って、アドレス設定メッセージＭ１を含む受信パケットは、モジュール制御部５１０に入力される。
【００５０】
モジュール制御部５１０は、アドレス設定メッセージＭ１を受信すると、受信メッセージが示すポート番号“Ｐ４１”、制御モジュールＩＰアドレス値“ＩＰ３１”、モジュールＩＰアドレス値“ＩＰ５１”をメモリ５１６に記憶する（７２２）。上記メモリ５１６には、拡張モジュール５１が提供するサービス種類に応じて、ネットワークインタフェースモジュールから拡張モジュール５１へのパケット転送を制御するためのフロー制御パラメータとして、フロー定義と、サービスＩＤと、動作モードを指定するためのロードバランスフラグおよび冗長フラグと、処理能力を示す値（Ｍｂｐｓ）が予め記憶されている。
【００５１】
モジュール制御部５１０は、上記アドレス設定メッセージＭ１で受信したアドレス値の記憶（７２２）が完了すると、メモリ５１６からフロー制御パラメータを読み出し、これを初期設定パラメータ値として表示部５１３に表示し（７２３）、オペレータからの応答を待つ。オペレータは、表示されたパラメータ値を確認し、訂正すべきパラメータがあれば、入力部５１４によってパラメータの一部を訂正し、表示されたパラメータ値に問題がなければ、パラメータ設定の実行を指示する（７２４）。但し、ステップ７２３、７２４は、本発明にとって本質的な要件ではない。
【００５２】
モジュール制御部５１０は、パラメータ値に訂正があった場合は、訂正された値をメモリ５１６に記憶（７２５）した後、これらのフロー制御パラメータと、メモリ５１６から読み出したモジュール内部アドレス“Ｐ４１”を適用して、図１０に示す制御データ登録要求メッセージＭ２を生成し、これにＩＰ／ＴＣＰヘッダを付加して、接続インタフェース部４１に送信する（７２６）。ＩＰヘッダには、宛先アドレスとして制御モジュールＩＰアドレス“ＩＰ３１”、送信元アドレスとしてモジュールＩＰアドレス“ＩＰ５１”が適用される。モジュール制御部５１０は、上記制御データ登録要求メッセージＭ２の送信を終えると、Ｗｅｂキャッシュ制御７３０の実行モードに移行し、Ｗｅｂ応答パケットが受信されるのを待つ（７３１）。
【００５３】
制御データ登録要求メッセージＭ２は、図１０に示すように、制御データ登録要求であることを示すメッセージ種別６００に続いて、フロー定義６１１、サービスＩＤ６１２、ロードバランスフラグ６１３、冗長フラグ６１４、モジュール内部内部アドレス６１５、モジュール処理能力６１６を含む。ここで、フロー定義「ＴＣＰ／Ｄ−ＰＯＲＴ：８０」は、ＴＣＰヘッダＨ２の宛先ポート番号が「８０」のＷｅｂ要求パケットを意味しており、サービスＩＤ「１」は、拡張モジュール５１で提供するサービスが、Ｗｅｂキャッシュサービスであることを意味している。また、ロードバランスフラグ「０」、冗長フラグ「０」は、拡張モジュール５１が、フロー定義に該当する受信パケットの全てを受付け、単独でＷｅｂサービス処理を実行する動作モードを意味している。
【００５４】
上記制御データ登録要求メッセージＭ２を含むＩＰパケットは、信号線Ｌ５１０、コネクタ５１７、４１７を介して、接続インタフェース部４１の内部ヘッダ付加部４１４に入力される。内部ヘッダ付加部４１４は、上記ＩＰパケットを受信すると、宛先テーブル４１８から、受信パケットの宛先アドレス“ＩＰ３１”と対応する内部アドレス“Ｐ３１”を検索し、内部アドレス“Ｐ３１”を含む内部ヘッダＨ０を付加して、受信パケットをスイッチ送信インタフェース４１２に出力する。従って、このパケットは、スイッチング部３００によって制御モジュール３１に転送され、内部ヘッダ削除部３１３で内部ヘッダＨ０を除去した後、モジュール制御部３１０に入力される。
【００５５】
モジュール制御部３１０は、上記制御データ登録要求メッセージＭ２を含むＩＰパケットを受信すると、図５に示すフローチャートのステップ７０４で、受信メッセージのメッセージ種別６００から、転送制御データの受信と判断する。この場合、モジュール制御部３１０は、転送制御テーブル３１７を参照して、受信メッセージＭ２が示すサービスＩＤ６１２と同一のサービスＩＤ３１７２をもつエントリが既に登録済みか否かをチェックする（７０５）。この例では、拡張モジュール５１がサービスＩＤ「１」のＷｅｂサービスを実行する最初のモジュールとなっているため、モジュール制御部３１０は、図１１に示すように、転送制御テーブル３１７に、上記制御データ登録要求メッセージＭ２に基づく新たなエントリＥＮ−１を追加し（７１４）、ステップ７０２に戻って、次のデータが受信されるのを待つ。尚、ステップ７０４で、受信データが転送制御データ以外のデータの場合は、受信データ種別に応じた他の処理が実行される（７１３）。
【００５６】
転送制御テーブル３１７へのエントリＥＮ−１の追加は、信号線Ｌ２を介して、ネットワークインタフェースモジュール３２〜３ｎに反映され、エントリＥＮ−１が各ネットワークインタフェースモジュールに個別の転送制御テーブル３２７にも登録される。従って、クライアント端末１０がサーバ２０宛にＷｅｂ要求パケットを送信すると、このＷｅｂ要求パケットは、ネットワークインタフェースモジュール３２によって、エントリＥＮ−１の転送先モジュール内部アドレス３１７５が示す内部アドレス「Ｐ４１」を含む内部ヘッダＨ０が付加した形で、スイッチング部３００に入力され、スイッチング部３００によって拡張モジュール５１に転送されることになる。
【００５７】
次に、オペレータが、接続インタフェース部４２に、第１の拡張モジュールと同一のサービス機能をもつ第２の拡張モジュール５２を接続した場合のパケット通信ノード装置３０の動作について説明する。第２の拡張モジュール５２の構成要素は、第１の拡張モジュール５１と同様のため、以下の説明では、図４に示した符号と図９のフローチャートを引用する。
【００５８】
第２の拡張モジュール５２のプラグインは、例えば、第１の拡張モジュール５１の処理能力が不足する場合に行われる。第２の拡張モジュール５２は、第１の拡張モジュール５１と負荷分散（ロードバランス）した形で運用される場合もあれば、第１の拡張モジュール５１に置き換わる（リプレース）場合もある。ここでは、第２の拡張モジュール５２が、第１の拡張モジュール５１とロードバランスして運用される場合について説明する。
【００５９】
拡張モジュール接続インタフェース部４２の制御部４１３も、第２の拡張モジュール５２が接続されるのを待っている。接続インタフェース部４２に第２の拡張モジュール５２が接続（プラグイン）されると、接続インタフェース部４１で説明したように、モジュール接続センサ４１６が、拡張モジュール５２の接続を検出し、制御部４１３が、メモリ４１５に記憶されているポート番号“Ｐ４２”、制御モジュールＩＰアドレス値“ＩＰ３１”、モジュールＩＰアドレス値“ＩＰ５２”を適用して、メッセージＭ０と同様のフォーマットのアドレス設定メッセージＭ１を生成し、ブロードキャストアドレスをもつＩＰパケットとして、拡張モジュール５２に送信する。
【００６０】
拡張モジュール５２のモジュール制御部５１０は、上記アドレス設定メッセージＭ１を受信すると、受信メッセージが示すポート番号“Ｐ４２”、制御モジュールＩＰアドレス値“ＩＰ３１”、モジュールＩＰアドレス値“ＩＰ５２”をメモリ５１６に記憶する（図９のステップ７２２）。ここでは、拡張モジュール５２のメモリ５１６には、フロー制御パラメータとして、拡張モジュール５１と同じフロー定義およびサービスＩＤと、ロードバランスフラグ「１」、冗長フラグ「０」、処理能力「１００」Ｍｂｐｓが予め設定されているものとする。モジュール制御部５１０は、図９のステップ７２６において、これらのフロー制御パラメータと、メモリ５１６から読み出したモジュール内部アドレス“Ｐ４２”を適用して、図１２に示す制御データ登録要求メッセージＭ２を生成し、宛先アドレスに制御モジュールＩＰアドレス“ＩＰ３１”、送信元アドレスにモジュールＩＰアドレス“ＩＰ５２”を適用したＩＰパケットを接続インタフェース部４２に送信する。
【００６１】
上記制御データ登録要求メッセージＭ２を含むＩＰパケットは、接続インタフェース部４２において、内部アドレス“Ｐ３１”を含む内部ヘッダＨ０が付加され、スイッチング部３００によって制御モジュール３１に転送され、内部ヘッダ削除部３１３で内部ヘッダＨ０を除去した後、モジュール制御部３１０に入力される。
【００６２】
モジュール制御部３１０は、上記制御データ登録要求メッセージＭ２を含むＩＰパケットを受信すると、図５に示すフローチャートのステップ７０４で、受信メッセージのメッセージ種別６００から、転送制御データの受信と判断し、転送制御テーブル３１７を参照する（７０５）。今回は、転送制御テーブル３１７に、受信メッセージＭ２のサービスＩＤ６１２と同一のサービスＩＤ３１７２をもつエントリＥＮ−１が既に登録済みとなっているため、モジュール制御部３１０は、受信メッセージＭ２のロードバランスフラグ６１３をチェックする（７０６）。
【００６３】
受信メッセージＭ２では、ロードバランスフラグが「１」となっているため、モジュール制御部３１０は、図１３に示す如く、既存エントリＥＮ−１のリンクフラグ３１７７に「１」を設定し、エントリＥＮ−１のロードバランスフラグ３１７３を「１」に書き換えた後、転送制御テーブル３１７に、上記受信メッセージＭ２に基づく新たなエントリＥＮ−２を追加する（７１５）。リンクフラグ３１７７を「１」に設定しておくことによって、転送制御テーブル３１７、３２７からエントリＥＮ−１が検索された時、該エントリＥＮ−１にリンクして、同一サービスＩＤをもつ関連エントリが存在することが判る。
【００６４】
ここで、もし、受信メッセージＭ２でロードバランスフラグが「０」となっていた場合は、モジュール制御部３１０は、受信メッセージの冗長フラグ６１４をチェックし（７０７）、冗長フラグ６１４が「１」であれば、既存エントリＥＮ−１のリンクフラグ３１７７に「１」を設定した後、転送制御テーブル３１７に、上記受信メッセージＭ２に基づく新たなエントリＥＮ−２を追加する（７１６）。この場合、第２の拡張モジュール５２は、現在稼動中の第１の拡張モジュール５１に対する待機系モジュールとして扱われる。
【００６５】
受信メッセージＭ２の冗長フラグ６１４が「０」の場合は、動作モードが全く一致する２つの拡張モジュールが存在することになる。通常、このようなケースは、既存の拡張モジュール４１を後から追加した高性能モジュール５１に置き換える際に発生するが、場合によっては、オペレータのミスで第２の拡張モジュールが不用意に接続された可能性もある。そこで、本実施例では、モジュール制御部３１０が、表示部３１６にモジュール交替要否の確認メッセージを表示し（７０８）、オペレータがモジュール交替（リプレース）を指示した時（７０９）、既存エントリＥＮ−１の内容を受信メッセージＭ２の内容、すなわち、エントリＥＮ−２に書き換える（７１７）。
【００６６】
尚、オペレータ操作を省略するために、制御データ登録要求メッセージＭ２にリプレース指示フラグを追加しておき、リプレース指示フラグが「１」であれば、自動的にステップ７１７を実行し、そうでなければ表示部３１６にエラーメッセージを出力するようにしてもよい。また、第１の拡張モジュールが第２の拡張モジュールに置き換えられた場合、第１の拡張モジュールを一旦、接続インタフェース部４１から外し、メモリ５１６の冗長フラグを「１」に設定してから、接続インタフェース部４１に再接続することによって、冗長モジュールとして運用することができる。
【００６７】
次に、図９と、図１４〜図１６を参照して、拡張モジュール５１、５２によるサービス実行時のノード装置動作について説明する。図１４は、拡張モジュール５１、５２のＵＲＬ判定部５１２が実行するＵＲＬ処理ルーチン７４０の１実施例を示すフローチャート、図１５は、ネットワークインタフェースモジュール３２〜３ｎのフロー制御部３２６が実行するフロー制御ルーチン７６０の１実施例を示すフローチャート、図１６は、ネットワークインタフェースモジュール３２〜３ｎのロードバランス制御部３２９が実行するロードバランス制御ルーチン７７０の１実施例を示すフローチャートを示している。
【００６８】
ここでは、ネットワークＮＷ１に接続されたクライント装置１０が、Ｗｅｂコンテンツ要求メッセージを含むＷｅｂサーバ２０宛のＩＰパケットを送信した場合を想定する。
【００６９】
上記Ｗｅｂコンテンツ要求パケットは、ネットワークインタフェースモジュール３２の入力回線インタフェース３２４で受信され、フロー制御部３２６に入力される。
【００７０】
フロー制御部３２６は、図１５に示すように、入力回線インタフェース３２４からのパケットの受信を待っており（７６１）、パケットを受信すると、受信パケットのヘッダ情報をロードバランス制御部３２９に通知し（７６２）、ロードバランス制御部３２９からの応答を待つ。
【００７１】
ロードバランス制御部３２９は、図１６に示すように、フロー制御部３２６からのヘッダ情報の受信を待っており（７７１）、ヘッダ情報を受信すると、受信ヘッダ情報からフロー定義の検索キーとなるＴＣＰヘッダの宛先ポート番号（Ｄ−ＰＯＲＴ）の値を抽出し、転送制御テーブル３２７から検索キーに該当するエントリを検索する（７７２）。検索の結果（７７３）、検索キーに該当するエントリが見つからなければ、フロー制御部３２６に該当エントリなしの通知を返送する（７８０）。
【００７２】
検索キーに該当するエントリ（今回の例では、エントリＥＮ−１）が見つかった場合は、検索エントリのロードバランスフラグ３１７３をチェックする（７７４）。ロードバランスフラグが「１」となっていた場合、ロードバランス制御部３２９は、検索エントリ（ＥＮ−１）が示す第１の拡張モジュールの処理能力と、該エントリにリンクしたエントリ（ＥＮ−２）が示す第２の拡張モジュールの処理能力に比例して処理負荷が分配されるように、負荷（受信パケット）を割当てるべきモジュールを決定し（７８１）、負荷割当てモジュールの内部アドレス３１７５をフロー制御部３２６に返送する（７８２）。
【００７３】
もし、ロードバランスフラグが「０」となっていた場合は、検索エントリの冗長フラグ３１７４をチェックする（７７５）。冗長フラグが「０」となっていた場合は、検索エントリが示す転送先モジュールの内部アドレス３１７５をフロー制御部３２６に返送する（７８３）。冗長フラグが「１」となっていた場合は、転送制御テーブル３２７から検索エントリにリンクしたエントリを検索し（７７６）、このエントリについてステップ７７５を繰り返す。検索エントリにリンクして冗長フラグが「０」のエントリが見つからなければ、フロー制御部３２６に該当エントリなしの通知を返送し（７８４）、制御モジュール３１宛に、転送制御テーブルのデータエラーを示すエラー通知メッセージを送信する（７８５）。
【００７４】
転送制御テーブル３２７が図１３の状態にある時、ロードバランス制御部３２９は、Ｗｅｂコンテンツ要求パケットの受信の都度、エントリＥＮ−１とＥＮ−２のパケット転送頻度を計算し、内部アドレス「Ｐ４１］と「Ｐ４２」の通知頻度が１対２の比率となるように、フロー制御部３２６に転送先モジュール内部アドレスを返送することになる。
【００７５】
図１５に戻って、フロー制御部３２６は、ロードバランス制御部３２９からの応答を判定し（７６３）、転送先モジュール内部アドレスを受信した場合は、ロードバランス制御部が指定した内部アドレスを含む内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース３２２に送出する（７６４）。ロードバランス制御部３２９から転送先モジュール内部アドレスを取得できなかった場合、フロー制御部３２６は、受信パケットの宛先ＩＰアドレスに従って、宛先テーブル３２８から受信パケットの宛先となる内部アドレスを検索する（７６５）。宛先内部アドレスが見つかった場合は、この内部アドレスを含む内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース３２２に送出する（７６７）。宛先テーブル３２８から宛先内部アドレスが見つからなかった場合は、受信パケットを廃棄する（７６８）。
【００７６】
上述したフロー制御から明らかなように、ネットワークインタフェースモジュール３２〜３ｎは、ヘッダ情報が転送制御テーブル３２７のフロー定義に該当する受信パケットは、テーブルエントリが示す動作モード情報に応じて、転送先モジュール内部アドレスが示すモジュール宛に選択的に転送し、ヘッダ情報がフロー定義に該当しない受信パケットは、宛先テーブルに従って制御モジュール３１宛、または他のネットワークインタフェースモジュール宛に転送する。
【００７７】
内部アドレス「Ｐ４１」を含む内部ヘッダを付加されたＷｅｂコンテンツ要求パケットは、スイッチング部３００によって、拡張モジュール接続インタフェース部４１に転送され、制御部４１３で内部ヘッダを除去した後、拡張モジュール５１に出力される。
【００７８】
拡張モジュール５１では、上記Ｗｅｂコンテンツ要求パケットがフロー判定部５１１に入力される。フロー判定部５１１は、受信パケットの宛先ＩＰアドレスが、モジュール制御部５１０へのパケット転送条件に合致しないＷｅｂサーバ２０のＩＰアドレス「ＩＰ２０」となっているため、受信パケットをＵＲＬ判定部５１２に転送する。
【００７９】
ＵＲＬ判定部５１２は、図１４に示すように、パケットが受信されるのを待っており（７４１）、パケットを受信すると、受信パケットがＷｅｂコンテンツ要求パケットか否かを判定する（７４２）。受信パケットがＷｅｂコンテンツ要求パケットの場合、要求されたコンテンツがキャッシュメモリ５１５にキャッシュデータとして存在するか否かをチェックする（７４３）。
【００８０】
要求されたコンテンツがキャッシュデータとして蓄積されていた場合、ＵＲＬ判定部５１２は、キャッシュメモリから要求コンテンツを読み出し、該コンテンツを含む要求元クライアント装置宛のＷｅｂ応答パケットを生成し、これを拡張モジュール接続インタフェース４１に送信する（７４４）。上記Ｗｅｂ応答パケットは、拡張モジュール接続インタフェース４１の内部ヘッダ付加部４１４で、内部アドレス「Ｐ３２」を含む内部ヘッダを付加した形で、スイッチング部３００に出力され、ネットワークインタフェースモジュール３２からネットワークＮＷ１に送信される。
【００８１】
要求コンテンツがキャッシュメモリ５１５にキャッシュデータとして存在していなかった場合、ＵＲＬ判定部５１２は、Ｗｅｂ要求パケットをメモリ５１６に保存し（７４６）、ＩＰアドレス「ＩＰ５１」を送信元アドレスとするＷｅｂコンテンツ要求パケットを生成して、これを拡張モジュール接続インタフェース４１に送信する（７４７）。Ｗｅｂコンテンツ要求パケットのＴＣＰヘッダの宛先ポート番号（Ｄ−ＰＯＲＴ）は「８０」、送信元ポート番号（Ｓ−ＰＯＲＴ）は「８１」となっている。上記Ｗｅｂコンテンツ要求パケットは、拡張モジュール接続インタフェース４１の内部ヘッダ付加部４１４で、内部アドレス「Ｐ３３」を含む内部ヘッダを付加した形で、スイッチング部３００に入力され、ネットワークインタフェースモジュール３３からネットワークＮＷ２に送信される。
【００８２】
上記Ｗｅｂコンテンツ要求パケットを受信したＷｅｂサーバ２０は、要求コンテンツを含むＷｅｂ応答パケットをネットワークＮＷ２に送信する。Ｗｅｂ応答パケットの宛先アドレスは「ＩＰ５１」、ＴＣＰヘッダの宛先ポート番号（Ｄ−ＰＯＲＴ）は「８１」となっている。
【００８３】
上記Ｗｅｂ応答パケットは、ネットワークインタフェース部３３で受信され、フロー制御部３２６に入力される。フロー制御部３２６は、図１５に示したフローチャートに従って、受信Ｗｅｂ応答パケットのヘッダ情報をロードバランス部３２９に転送する（ステップ７６２）。ロードバランス部３２９は、図１６に示したフローチャートに従って、転送制御テーブルを検索（ステップ７７２）するが、受信したヘッダ情報は「Ｄ−ＰＯＲＴ：８１」となっているため、該当するフロー定義をもったエントリが転送制御テーブルには存在していない。従って、上記Ｗｅｂ応答パケットは、ネットワークインタフェース部３３でロードバランスされることはない。
【００８４】
フロー制御部３２６は、ロードバランス部３２９から、該当エントリなしの通知を受信すると、宛先テーブル３２８から検索した内部アドレス「Ｐ４１」を含む内部ヘッダを付加した形で、上記Ｗｅｂ応答パケットをスイッチング部３００に出力する。上記Ｗｅｂ応答パケットは、スイッチング部３００によって、拡張モジュール接続インタフェース部４１に入力され、拡張モジュール５１に転送されて、フロー判定部５１１に入力される。
【００８５】
フロー判定部５１１は、受信パケットの宛先アドレスが「ＩＰ５１］となっているため、これをモジュール制御部５１０に出力する。モジュール制御部５１０は、図９に示したように、Ｗｅｂ応答パケットの受信を待っており（７３１）、Ｗｅｂ応答パケットを受信すると、受信パケットから抽出したコンテンツデータをキャッシュメモリ５１５に蓄積（７３２）した後、受信パケットをＵＲＬ判定部５１２に転送する（７３３）。
【００８６】
ＵＲＬ判定部５１２は、受信パケットがＷｅｂ応答パケットと判明すると（図１４のステップ７４８）、受信したＷｅｂ応答パケットと対応するＷｅｂコンテンツ要求パケットがメモリ５１５に保存されているか否かをチェックし（７４９）、対応するＷｅｂコンテンツ要求パケットが存在した場合は、Ｗｅｂ応答パケットの宛先ＩＰヘッダを上記Ｗｅｂコンテンツ要求パケットの送信元ＩＰアドレスに書き換えて、拡張モジュール接続インタフェース部４１に送信する（７５０）。メモリ５１５に上記Ｗｅｂ応答パケットと対応するＷｅｂコンテンツ要求パケットが存在しなかった場合、または、受信パケットがＷｅｂコンテンツ要求、Ｗｅｂ応答以外のパケットの場合は、ＵＲＬ判定部５１２は、受信パケットを廃棄して（７５１）、次のパケットが受信されるのを待つ（７４１）。
【００８７】
以上の説明では、ネットワークインタフェースモジュール３２が、Ｗｅｂコンテンツ要求パケットを第１の拡張モジュール５１に転送した場合の動作について説明したが、ロードバランスの結果、Ｗｅｂコンテンツ要求パケットが第２の拡張モジュール５２に転送された場合、拡張モジュール５２が、拡張モジュール５１と同様に動作すること明らかである。また、図１６のフローチャートから、第２の拡張モジュール５２が冗長モジュール（冗長フラグ＝「１」）として追加された場合、各ネットワークインタフェースモジュールが、フロー定義に該当する受信パケットを現用系（冗長フラグ＝「０」）として稼動中の第１の拡張モジュール５１に転送することが判る。
【００８８】
尚、第２の拡張モジュール５２が冗長モジュールとして追加された場合、例えば、制御モジュール３１のモジュール制御部３１０が、冗長システム制御ルーチン（図示せず）を起動し、現用系の拡張モジュール５１に定期的に診断メッセージを送信し、拡張モジュール５１からの応答が途絶えた時、拡張モジュール５１に障害が発生したものと判断して、転送制御テーブル３１７のエントリＥＮ−１、ＥＮ−２の冗長フラグを書き換えることによって、待機中の拡張モジュール５２を瞬時に現用系モジュールとして動作させることが可能となる。
【００８９】
以上の実施例から明らかなように、本発明によれば、拡張モジュールのプラグインによって、新たなサービス機能を迅速に開始可能なパケット通信ノード装置を提供できる。また、稼動中の拡張モジュールと同一サービス機能を備えた新たな拡張モジュールが追加された場合でも、追加モジュールに予め設定した動作モード情報に従って、複数のモジュール間に矛盾を発生させることなく、サービス機能を拡張することが可能となる。
【００９０】
実施例では、各ネットワークインタフェースモジュールに個別に宛先テーブル３２８と転送制御テーブル３２７を配置しているが、これらの個別テーブルを省略して、各ネットワークインタフェースモジュールが、信号線Ｌ１、Ｌ２を介して、制御モジュール３１にある宛先テーブル３１８と転送制御テーブル３１７を参照する構成としてもよい。
【００９１】
また、実施例では、１例として、拡張モジュール５１、５２がＷｅｂキャッシュサービス機能を備えた場合のパケット通信ノード装置の動作について説明したが、本発明が、Ｗｅｂキャッシュサービス以外の他のサービス機能をもつ拡張モジュールの追加にも適用できることは明らかである。この場合、拡張モジュールに転送すべきパケットを識別するためのフロー定義は、ネットワーク受信パケットのヘッダから抽出可能な複数項目のヘッダ情報の組合せによって表現されてもよい。
【００９２】
更に、実施例では、オペレータからの宛先設定データの入力時に、制御モジュール３１が信号線Ｌ３にアドレス設定メッセージＭ０を出力し、拡張モジュール接続インタフェース部４１（４２）が、内部アドレス６０１が自ポート番号と一致するアドレス設定メッセージＭ０の内容をメモリ４１５に保存しておき、拡張モジュール５１（５２）が接続された時、メモリ４１５から読み出した制御モジュールＩＰアドレスと拡張モジュールＩＰアドレスを示すアドレス設定メッセージＭ１を拡張モジュールに送信する構成となっているが、本発明の変形例として、拡張モジュール５１（５２）が接続された時点で、制御モジュール３１が信号線Ｌ３にアドレス設定メッセージＭ０を発行し、拡張モジュール接続インタフェース部４１（４２）が、受信メッセージＭ０をアドレス設定メッセージＭ１として拡張モジュールに送信するようにしてもよい。
【００９３】
この場合、例えば、拡張モジュール５１の接続を検知したインタフェース部４１が、信号線Ｌ３に拡張モジュール接続検知メッセージを出力し、制御モジュール３１が、宛先テーブル３１８から、上記検知メッセージの送信元内部アドレス「Ｐ４１」と対応した宛先ＩＰアドレス「ＩＰ５１」を読出し、該宛先ＩＰアドレスと制御モジュールＩＰアドレスを含むアドレス設定メッセージＭ０を信号線Ｌ３に発行するようにすればよい。
【図面の簡単な説明】
【００９４】
【図１】本発明のパケット通信ノード装置の１実施例を示すブロック構成図。
【図２】図１の制御モジュール３１の詳細を示すブロック図。
【図３】図１のネットワークインタフェースモジュール３２の詳細を示すブロック図。
【図４】図１の拡張モジュール５１と拡張モジュール接続インタフェース部４１の詳細を示すブロック図。
【図５】制御モジュール３１のモジュール制御部３１０が実行するテーブル更新処理ルーチン７００の１実施例を示すフローチャート。
【図６】制御モジュール３１が備える宛先テーブル３１８を示す図。
【図７】ネットワークインタフェースモジュール３２〜３ｎがネットワークとの間で送受信するＩＰパケットと、スイッチング部３００が扱う内部パケットの構成を示す図。
【図８】アドレス設定メッセージＭ０、Ｍ１のフォーマットを示す図。
【図９】拡張モジュール５１のモジュール制御部５１０が実行する拡張モジュール制御ルーチン７２０の１実施例を示すフローチャート。
【図１０】第１の拡張モジュール５１が送信する制御データ登録要求メッセージＭ２の１例を示す図。
【図１１】図１０のメッセージＭ２を受信した時点での転送制御テーブル３１７、３２７の状態を示す図。
【図１２】第２の拡張モジュール５２が送信する制御データ登録要求メッセージＭ２の１例を示す図。
【図１３】図１１のメッセージＭ２を受信した時点での転送制御テーブル３１７、３２７の状態を示す図。
【図１４】拡張モジュール５１、５２のＵＲＬ判定部５１２が実行するＵＲＬ処理ルーチン７４０の１実施例を示すフローチャート。
【図１５】ネットワークインタフェースモジュール３２〜３ｎのフロー制御部３２６が実行するフロー制御ルーチン７６０の１実施例を示すフローチャート。
【図１６】ネットワークインタフェースモジュール３２〜３ｎのロードバランス制御部３２９が実行するロードバランス制御ルーチン７７０の１実施例を示すフローチャート。
【符号の説明】
【００９５】
１０：クライアント装置、２０：サーバ、３０：パケット通信ノード装置、
３１：制御モジュール、３２〜３ｎ：ネットワークインタフェースモジュール、
４１、４２：拡張モジュール接続インタフェース部、５１、５２：拡張モジュール、
３００：スイッチング部、３１０：モジュール制御部、
３１１、３２１、４１１：スイッチ受信インタフェース、
３１２、３２２、４１２：スイッチ送信インタフェース、
３１３、３２５：内部ヘッダ除去部、３１４、４１４：内部ヘッダ付加部、
３１５、５１４：入力部、３１６、５１３：表示部、
３１７、３２７：転送制御テーブル、３１８、３２８、４１８：宛先テーブル、
３２３：出力回線インタフェース、３２４：入力回線インタフェース、
３２６：フロー制御部、３２９：ロードバランス制御部、４１３：制御部、
４１５、５１６：メモリ、４１６：モジュール接続センサ、４１７、５１７：コネクタ、５１０：モジュール制御部、５１１：フロー判定部、５１２：ＵＲＬ判定部、
５１５：キャッシュメモリ。
【図１】
2006020034.tif 000003
【図２】
2006020034.tif 000004
【図３】
2006020034.tif 000005
【図４】
2006020034.tif 000006
【図５】
2006020034.tif 000007
【図６】
2006020034.tif 000008
【図７】
2006020034.tif 000009
【図８】
2006020034.tif 000010
【図９】
2006020034.tif 000011
【図１０】
2006020034.tif 000012
【図１１】
2006020034.tif 000013
【図１２】
2006020034.tif 000014
【図１３】
2006020034.tif 000015
【図１４】
2006020034.tif 000016
【図１５】
2006020034.tif 000017
【図１６】
2006020034.tif 000018