JP4332079B2 - モジュール型パケット通信ノード装置 - Google Patents

モジュール型パケット通信ノード装置 Download PDF

Info

Publication number
JP4332079B2
JP4332079B2 JP2004195467A JP2004195467A JP4332079B2 JP 4332079 B2 JP4332079 B2 JP 4332079B2 JP 2004195467 A JP2004195467 A JP 2004195467A JP 2004195467 A JP2004195467 A JP 2004195467A JP 4332079 B2 JP4332079 B2 JP 4332079B2
Authority
JP
Japan
Prior art keywords
module
packet
address
control
extension
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004195467A
Other languages
English (en)
Other versions
JP2006020034A (ja
Inventor
敏明 鈴木
邦彦 東村
英樹 沖田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004195467A priority Critical patent/JP4332079B2/ja
Priority to US11/167,312 priority patent/US7443868B2/en
Priority to CNB2005100818143A priority patent/CN100574268C/zh
Publication of JP2006020034A publication Critical patent/JP2006020034A/ja
Application granted granted Critical
Publication of JP4332079B2 publication Critical patent/JP4332079B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、パケット通信ノード装置に関し、更に詳しくは、それぞれ特定の通信サービス機能を備えた拡張モジュールを追加的に収容可能なモジュール型のパケット通信ノード装置に関する。
ルータやパケットスイッチ等のパケット通信ノード装置は、基本的には、所定のルーティングプロトコルを実行して宛先テーブル(ルーティングテーブル)を更新する制御モジュールと、ネットワーク回線との間でパケットを送受信するための複数のネットワークインタフェースモジュールと、これらのモジュール間を相互接続するスイッチング部とからなり、各ネットワークインタフェースモジュールが、ネットワークからの受信パケットに宛先テーブルが示す内部ルーティング情報を付加し、上記スイッチング部が、各ネットワークインタフェースモジュールからの受信パケットを内部ルーティング情報に従って他の何れかのモジュールに転送する構成となっている。
IP(Internet Protocol)網が普及し、通信サービスが高速化、高度化するに従って、パケット通信ノード装置には、基本動作となるパケット交換機能の高速化以外に、特殊な通信サービスの提供機能が求められている。従って、パケット通信ノード装置を提供するメーカーにとっては、ユーザ(通信事業者)からの要求に迅速に対応するために、例えば、パケットスイッチング部に追加モジュール用の予備の接続ポートを用意しておき、ユーザから特定のサービス機能の追加を要望された場合、ユーザの要求に応じて設計した拡張モジュールをパケットスイッチング部に追加的に収容可能にしたモジュール型のパケット通信ノード装置が有効となる。この場合、拡張モジュールを動作させるために必要となるパケット通信ノード装置への制御データの設定が問題となる。
情報処理システムの分野では、例えば、特開2000−132487号公報(特許文献1)に記載されているように、ネットワークを介してサーバに接続される各周辺装置にサーバ側で必要とするドライバソフトを予め内蔵しておき、サーバ側で或る周辺装置を選択して、これを操作しようとした時、この辺装置の操作に必要なモジュール(ドライバソフト)がサーバに存在していなかった場合、サーバから周辺装置にドライバソフトの要求メッセージを送信し、周辺装置から受信したドライバソフトを保存、実行することによって、周辺装置を操作する方式が提案されている。
特開2000−132487号公報
特許文献1で提案された方式は、サーバに新たな周辺装置を追加した時、周辺装置の操作に必要なドライバソフトの不在に気づいたサーバ側から、周辺装置にドライバソフトの送信を要求することを特徴としており、新たにシステムに加わった周辺装置側が主体となって制御情報を送り込むものではない。従って、この方式を上述したパケット通信ノード装置に適用しようとすると、制御モジュールあるいは各ネットワークインタフェースが主体となって、新たに追加された拡張モジュールから制御データを取得することになるが、パケット通信ノード装置の場合、各ネットワークインタフェースは、パケット受信の都度、既に用意されている宛先テーブルを参照し、受信パケットに宛先アドレスと対応した内部ルーティング情報を付加して、スイッチング部に出力するよう動作しているだけであり、拡張モジュール用のルーティング情報の不在を検知して、それを拡張モジュールに求める機能はない。また、制御モジュールも、自分が拡張モジュール用の制御データを利用して拡張モジュールを操作する立場にはないため、拡張モジュール用の制御データの不在を検出することはできない。
本発明の目的は、新たに追加された拡張モジュールを動作させるための制御データの設定を容易にしたモジュール型のパケット通信ノード装置を提供することにある。
本発明の他の目的は、同一の通信サービス提供機能をもつ複数の拡張モジュールが共存した場合でも、各ネットワークインタフェースモジュールが、ネットワークからの受信パケットを適切な拡張モジュールに転送制御可能なモジュール型のパケット通信ノード装置を提供することにある。
上記目的を達成するため、本発明のモジュール型パケット通信ノード装置は、スイッチング部に拡張モジュールが追加された時、拡張モジュールからパケット通信ノード装置の制御モジュールに、該拡張モジュールで処理すべきパケットのフロー定義情報と内部アドレスとの対応関係を示す転送制御データ(制御パラメータ)の設定要求パケットを送信し、制御モジュールが、各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに上記フロー定義情報と拡張モジュールの内部アドレスとの対応関係を示すテーブルエントリを自動的に設定するようにしたことを特徴とする。上記転送制御データ設定要求パケットのヘッダに適用すべきアドレス情報は、拡張モジュールの接続が検知された時、パケット通信ノード装置側から拡張モジュールに自動的に通知される。
更に詳述すると、本発明のモジュール型パケット通信ノード装置は、制御モジュールと、それぞれネットワークとの間でパケットを送受信する複数のネットワークインタフェースモジュールと、拡張モジュールを追加的に接続可能な複数の拡張モジュール接続インタフェース部と、上記モジュールおよびインタフェース部を相互接続し、各モジュールからの受信パケットを該受信パケットに付加された内部ヘッダが示す内部アドレスで特定される他の何れかのモジュールまたはインタフェース部に転送するパケットスイッチング部とからなり、
上記各拡張モジュール接続インタフェース部が、拡張モジュールが接続された時、上記制御モジュールのパケットアドレスと、拡張モジュールに割り当てるべきパケットアドレスおよび内部アドレスとを示すアドレス設定メッセージを上記拡張モジュールに送信する制御部と、上記拡張モジュールから、該拡張モジュールで処理すべきパケットを識別するためのフロー定義情報と該拡張モジュールの内部アドレスとの対応関係を示し、上記制御モジュール宛のパケットアドレスをもつ制御データ登録要求パケットを受信した時、上記制御モジュール用の内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力する内部アドレス付加部とからなり、
上記制御モジュールが、上記パケットスイッチング部から上記制御データ登録要求パケットを受信した時、上記各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスとの対応関係を示すテーブルエントリを登録し、
上記各ネットワークインタフェースモジュールが、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当したヘッダ情報をもつパケットを受信した時、上記パケット転送制御テーブルが示す上記フロー定義情報と対応した内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力することを特徴とする。
本発明において、各拡張モジュールは、該拡張モジュールで処理すべき受信パケットを識別するためのフロー定義情報と、該拡張モジュールで提供するサービス処理の種類を示すサービス識別子とが予め格納されたメモリと、初期動作として転送制御データ登録要求パケットの発行機能を有し、定常動作として、上記フロー定義情報に該当するパケットの受信に応答してサービス処理を実行するモジュール制御部とからなる。
本発明の1実施例では、各拡張モジュール接続インタフェース部の制御部が、該拡張モジュール接続インタフェース部の内部アドレスの値と、制御モジュールから予め通知された該制御モジュールおよび拡張モジュールのパケットアドレス値とを記憶するためのメモリを有し、拡張モジュールが接続された時、上記メモリから読み出したアドレス値を適用して前記アドレス設定メッセージを生成し、上記拡張モジュールに送信する。
また、本発明の別の実施例では、各拡張モジュール接続インタフェース部の制御部が、拡張モジュール接続インタフェース部に拡張モジュールが接続されたこと制御モジュールに通知し、制御モジュールから受信した前記パケットアドレスおよび内部アドレスを示すアドレス設定メッセージを上記拡張モジュールに転送する。
本発明の1つの特徴は、各ネットワークインタフェースモジュールが、ネットワークからパケットが受信された時、上記パケット転送制御テーブルを参照し、受信パケットのヘッダ情報がフロー定義情報に該当しないと判明した場合に、パケット宛先アドレスと内部アドレスとの対応関係を記憶した宛先テーブルから受信パケットに適用すべき内部アドレスを検索し、該内部アドレスを含む内部ヘッダを付加した形で、受信パケットをスイッチング部に出力するフロー制御部を有することにある。
本発明の他の特徴は、拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールの動作モードを示す情報を含み、制御モジュールが、パケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスと動作モードとの関係を示すテーブルエントリを登録し、各ネットワークインタフェースモジュールのフロー制御部が、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、上記フロー定義情報を含むテーブルエントリが示す動作モードに従って、該テーブルエントリが示す拡張モジュール内部アドレスの有効性を判断するようにしたことにある。
本発明の更に他の特徴は、拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールが提供する通信サービスの識別子と、同一サービスを提供する他の拡張モジュールとの負荷分散の実行要否を示すロードバランスフラグを含み、各ネットワークインタフェースモジュールが、ネットワークから前記パケット転送制御テーブルが示す何れかのフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、該フロー定義情報を含む第1のテーブルエントリのロードバランスフラグをチェックし、ロードバランスフラグが負荷分散の実行を指示していた場合に、所定のアルゴリズムに従って、上記第1のテーブルエントリが示す拡張モジュール内部アドレスと、前記パケット転送制御テーブル内で上記第1のテーブルエントリと同一のサービス識別子をもつ第2のテーブルエントリが示す拡張モジュール内部アドレスとの一方を選択するロードバランス部を備えたことにある。
本発明によれば、ネットワークからの受信パケットのうち、拡張モジュールに転送すべきパケットを選択するために必要となるフロー定義情報と宛先内部アドレスとの関係を、拡張モジュールの追加時に、各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに自動的に登録することができる。また、パケット転送制御テーブルの各テーブルエントリに、上記フロー定義情報、宛先内部アドレス以外の情報項目として、例えば、拡張モジュールが提供するサービス種別、動作モードを含めておくによって、同一のサービス提供機能をもつ複数の拡張モジュールが共存した場合でも、動作モードに従って選択された適切な拡張モジュールに受信パケットを転送することが可能となる。
以下、本発明の実施例について、図面を参照して説明する。
図1は、本発明によるパケット通信ノード装置30の1実施例を示す。
パケット通信ノード装置30は、スイッチング部300に接続された制御モジュール31と、ネットワークインタフェースモジュール32〜3nおよび拡張モジュール接続インタフェース部41、42とからなり、特殊なサービス機能をもつ拡張モジュール51、52を拡張モジュール接続インタフェース部41、42を介してスイッチング部300に収容可能な構成となっている。ネットワークインタフェースモジュール32〜3nは、それぞれネットワークNW1〜NWnと接続されている。また、ネットワークNW1にはクライアント端末10、ネットワークNW2にはWebサーバ20が接続されている。図1では、2個の拡張モジュール接続インタフェース部41、42しか図示されていないが、スイッチング部300に接続される拡張モジュール接続インタフェース部の個数は3以上であってもよい。
ここで、スイッチング部300に付したP31〜P42は、スイッチング部の出力ポート番号を示している。本実施例では、ネットワークインタフェースモジュール32〜3nは、ネットワークNW1〜NWnとの間で、図7に示すように、ペイロードMにIPヘッダH1とTCPヘッダH2を付加したIPパケット形式でパケットを送受信するものとする。また、スイッチング部300は、IPヘッダの前に内部ヘッダH0を付加した内部パケットを受信し、内部ヘッダH0が示す内部アドレス(出力ポート番号P31〜P42)に従って、受信パケットを交換処理するものとする。
以下、拡張モジュール51、52としてWebキャッシュサービス機能を備えたモジュールを追加した場合を実施例として、本発明のパケット通信ノード装置30の特徴的な構成と動作を説明する。
本実施例では、クライアント端末10が発行したWebサーバ20宛のWebコンテンツ要求パケットが、ネットワークインタフェースモジュール32とスイッチング部300によって、拡張モジュール51(または52)に転送される。要求コンテンツがキャッシュメモリに存在していた場合、拡張モジュール51(または52)が発行したWeb応答パケットが、スイッチング部300によってネットワークインタフェースモジュール32に転送され、ネットワークNW1を介して要求元のクライアント装置10に返送される。
もし、要求コンテンツがキャッシュメモリに存在していなければ、拡張モジュール51が発行したWevコンテンツ要求パケットが、スイッチング部300によってネットワークインタフェースモジュール33に転送され、ネットワークNW2に送信される。また、上記コンテンツ要求に対するサーバ20からのWeb応答パケットは、ネットワークインタフェースモジュール33とスイッチング部300によって拡張モジュール51に転送される。拡張モジュール51は、受信コンテンツをキャッシュメモリに蓄積した後、クライアント装置10宛のWeb応答パケットを発行する。この応答パケットは、スイッチング部300によってネットワークインタフェースモジュール32に転送され、ネットワークNW1を介して要求元のクライアント装置10に転送される。
本発明の特徴の1つは、第1の拡張モジュール51が接続インタフェース部41に接続され、電源の投入によって稼動可能な状態となった時、制御モジュール31、接続インタフェース部41、拡張モジュール51の連携動作によって、各ネットワークインタフェースモジュール32〜3nに、拡張モジュール51でサービス提供すべき受信パケットを拡張モジュール51に転送させるためのフロー制御パラメータが自動的に設定されるようにした点にある。
第1の拡張モジュール51が既に稼動状態にある時、これと同一のサービス機能をもつ第2の拡張モジュール52が接続インタフェース部42に接続された場合、第2の拡張モジュール52の動作モードとしては、(1)第1の拡張モジュール51と負荷分散した形で並列的に動作するロードバランスモード、(2)第1の拡張モジュール51の代わってサービスを提供するリプレースモード、(3)予備系として待機し、第1の拡張モジュール51に障害が発生した場合に、第1の拡張モジュール51の代わってサービスを提供する冗長モードがある。
本発明の特徴の1つは、拡張モジュール51(52)が接続インタフェース部41(42)に接続され、電源の投入によって稼動可能な状態となった時、予め拡張モジュールのメモリに動作モードを指定しておくことによって、ネットワークインタフェースモジュール32〜3nが、拡張モジュールの動作モードに応じて、受信パケットの転送先を選択的に切り替えるようにした点にある。
図2は、制御モジュール31の詳細構造の1例を示す。
制御モジュール31は、モジュール制御部310と、スイッチング部300の出力ポート(ポート番号P31)に接続されたスイッチ受信インタフェース311と、スイッチング部300の入力ポートに接続されたスイッチ送信インタフェース312と、スイッチ受信インタフェース311から出力される内部受信パケットから内部ヘッダを除去し、受信パケットとしてモジュール制御部310に入力する内部ヘッダ除去部313と、モジュール制御部310から出力される送信パケットに内部ヘッダを付加し、スイッチ送信インタフェース312に内部送信パケットとして出力する内部ヘッダ付加部314と、モジュール制御部310に接続された入力部315、表示部316、転送制御テーブル317および宛先テーブル(ルーティングテーブル)318からなる。
転送制御テーブル317には、図11および図13に示すように、フロー定義情報3171と対応して、拡張モジュールで提供するサービスの識別子(サービスID)3172と、拡張モジュールの動作モードを指定するロードバランスフラグ3173および冗長フラグ3174と、転送先モジュール内部アドレス3175と、モジュールの処理能力3176と、リンクフラグ3177とを示す少なくとも1つエントリが登録される。
一方、宛先テーブル318は、図6に示すように、宛先IPアドレス318Aと内部アドレス318Bとの対応関係を示す複数のエントリRT−1、RT−2、…が登録されている。ここでは、各モジュールとの対応関係を容易に理解できるように、モジュールの引用符号と対応させて、例えば、制御モジュール31のIPアドレスは「IP31」、拡張モジュール51のIPアドレスは「IP51」と表記している。
宛先テーブル318と転送制御テーブル317の内容は、モジュール制御部310によって更新される。宛先テーブル318と転送制御テーブル317の内容変化は、それぞれ信号線L1、L2を介して、後述する拡張モジュール接続インタフェース41、42が備える宛先テーブルと、各ネットワークインタフェース32〜3nが備える宛先テーブルおよび転送制御テーブルに反映される。内部ヘッダ付加部314は、モジュール制御部310から送信パケットを受信すると、宛先テーブル318から送信パケットの宛先IPアドレスに対応する内部アドレスを検索し、該記内部アドレスを示す内部ヘッダを付加した形で、送信パケットをスイッチ送信インタフェース312に出力する。
図3は、ネットワークインタフェースモジュール32の詳細構造の1例を示す。他のネットワークインタフェースモジュール33〜34もこれと同様の構成となっている。
ネットワークインタフェースモジュール32は、スイッチング部300の出力ポート(ポート番号P32)に接続されたスイッチ受信インタフェース321と、スイッチング部300の入力ポートに接続されたスイッチ送信インタフェース322と、ネットワークNW1への出力回線に接続された出力回線インタフェース323と、ネットワークNW1からの入力回線に接続された入力回線インタフェース324と、スイッチ受信インタフェース321から出力される内部送信パケットから内部ヘッダを除去し、出力回線インタフェース323に送信パケットとして出力する内部ヘッダ除去部325と、スイッチ送信インタフェース322と入力回線インタフェース324との間に接続されたフロー制御部326と、信号線L2に接続された転送制御テーブル327と、信号線L1に接続された宛先テーブル328と、フロー制御部326に接続されたロードバランス制御部329とからなる。
ネットワークNW1からの受信パケットは、入力回線インタフェース324で受信され、フロー制御部326に入力される。フロー制御部326は、入力回線インタフェース324からパケットを受信すると、受信パケットのヘッダ情報をロードバランス制御部329に通知する。ロードバランス制御部329は、上記ヘッダ情報に基づいて転送制御テーブル327を検索し、検索結果をフロー制御部326に返送する。ヘッダ情報が転送制御テーブル327に登録された何れかのフロー定義3171に該当していた場合は、検索結果として、受信パケットの転送先を示す転送先モジュール内部アドレス3175が通知される。ヘッダ情報がフロー定義に該当しない場合は、転送制御テーブル327に受信パケットに該当するエントリがない旨の通知がフロー制御部326に返送される。
フロー制御部326は、ロードバランス制御部329から転送先モジュール内部アドレスを通知された場合は、上記転送先モジュール内部アドレスを示す内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース322に出力する。受信パケットに該当するエントリがない旨の通知を受けた場合は、フロー制御部326は、宛先テーブル328から受信パケットの宛先IPアドレスに対応する内部アドレスを検索し、該内部アドレスを示す内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース322に出力する。上記フロー制御部326とロードバランス制御部329の詳細動作については、図15と図16を参照して後述する。
図4は、拡張モジュール51と拡張モジュール接続インタフェース部41の詳細構造の1例を示す。拡張モジュール接続インタフェース部42も、上記接続インタフェース部41と同様の構造となっている。
本実施例では、拡張モジュール51は、Webキャッシュサービスを提供するためのものであり、モジュール制御部510と、モジュール制御部510に接続されたフロー判定部511、URL判定部512、表示部513、入力部514、キャッシュメモリ515および不揮発性のメモリ516と、コネクタ517とからなっている。キャッシュメモリ515には、Webサーバ20から受信したWebコンテンツが蓄積される。また、メモリ516には、転送制御テーブル317に登録すべきフロー制御パラメータ情報が記憶される。
一方、拡張モジュール接続インタフェース部41は、スイッチング部300の出力ポート(ポート番号P41)に接続されたスイッチ受信インタフェース411と、スイッチング部300の入力ポートに接続されたスイッチ送信インタフェース412と、スイッチ受信インタフェース411に接続された制御部413と、スイッチ送信インタフェース412に接続された内部ヘッダ付加部414と、制御部413に接続されたメモリ415、モジュール接続センサ416、コネクタ417および宛先テーブル418からなっている。
次に、図5〜図13を参照して、制御モジュール31、拡張モジュール接続インタフェース部41、42、拡張モジュール51、52の初期動作について詳述する。
図5は、制御モジュール31のモジュール制御部310が実行するテーブル更新処理ルーチン700のフローチャートを示す。
モジュール制御部310は、制御モジュール31の電源が投入されると、テーブル更新処理ルーチン700を実行し、先ず、表示部316に初期設定データの入力要求メッセージを出力して(ステップ701)、入力部315または内部ヘッダ削除部313からのデータ入力を待つ(702)。データを受信すると、受信データが宛先テーブル318に登録すべき宛先設定データか否かを判定する(703)。受信データが、宛先IPアドレスと内部アドレスとの関係を示す宛先設定データの場合は、宛先テーブル318に受信データと同一内容のルーティング情報エントリが既に登録済みか否かを判定する(710)。宛先テーブル318に同一エントリが存在していれば、受信データを無視して、次のデータ受信を待つ。宛先テーブル318に受信データと同一エントリがなければ、受信データを宛先テーブル318に新たなエントリとして追加し(711)、アドレス設定メッセージM0を生成して、信号線L3に出力する。
オペレータは、制御モジュール31と、拡張モジュール接続インタフェース部41、42のアドレスについて、上述した宛先設定データの入力動作を繰り返し、これによって、宛先テーブル318にルーティング情報エントリRT−1〜RT−3が登録される。ネットワークインタフェースモジュール32〜3n間でのパケット転送に必要となるルーティング情報エントリRT−4、RT−5、…は、モジュール制御部310が備えるルーティングプロトコル機能に従って自動的に追加される性格のものであり、ここでの説明は省略する。
オペレータからの宛先設定データの入力動作に付随して生成されるアドレス設定メッセージM0は、図8に示すように、アドレス設定メッセージであることを示すメッセージ種別600に続いて、内部アドレス(ポート番号)601と、制御モジュールIPアドレス602と、モジュールIPアドレス603を含んでいる。モジュールIPアドレス603と内部アドレス(ポート番号)601には、宛先テーブル318の追加エントリが示す宛先IPアドレス318Aと内部アドレス318Bの値が設定され、制御モジュールIPアドレス602には、常に制御モジュール31のIPアドレス(この例では“IP31”が設定される。図8は、宛先テーブル318にエントリRT−2が追加された時に生成されるアドレス設定メッセージM0を示している。
上記アドレス設定メッセージM0は、信号線L3を介して、拡張モジュール接続インタフェース部41、42の制御部413に入力される。各制御部413は、信号線L3からアドレス設定メッセージM0を受信すると、受信メッセージの内部アドレス601をチェックし、内部アドレス601の値が、予めメモリ415に記憶されている制御部413の割当てポート番号と一致するメッセージのみを有効メッセージと判断する。
従って、ポート番号“P41”をもつ拡張モジュール接続インタフェース部41の制御部413は、宛先テーブル318にエントリRT−2が追加された時に生成されるアドレス設定メッセージM0のみを有効メッセージとして扱い、受信メッセージM0が示す制御モジュールアドレス602の値“IP31”とモジュールIPアドレス603の値“IP51”をメモリ415に記憶する。モジュールIPアドレス603の値“IP51”は、拡張モジュール51が接続インタフェース部41に接続された時、拡張モジュール51への割り当てIPアドレスとして使用される。
同様に、ポート番号“P42”をもつ拡張モジュール接続インタフェース部42の制御部413は、宛先テーブル318にエントリRT−3が追加された時に信号線L3から受信するアドレス設定メッセージM0のみを有効メッセージとして扱い、受信メッセージが示す制御モジュールアドレス602の値“IP31”とモジュールIPアドレス603の値“IP52”をメモリ415に記憶する。
拡張モジュール接続インタフェース部41と42の制御部413は、それぞれ拡張モジュール51、52が接続されるのを待っている。ここで、オペレータが、拡張モジュール接続インタフェース部41に第1の拡張モジュール51を接続(プラグイン)すると、これがモジュール接続センサ416によって検出される。制御部413は、モジュール接続センサ416の出力の変化から、拡張モジュール51の接続を検知すると、既にメモリ415に記憶されているポート番号“P41”、制御モジュールIPアドレス値“IP31”、モジュールIPアドレス値“IP51”を適用して、図8に示したメッセージM0と同様のフォーマットのアドレス設定メッセージM1を生成する。このメッセージM1は、宛先IPアドレスとしてブロードキャストアドレスを設定したIPヘッダH1、TCPヘッダH2を付加して、拡張モジュール51に送信される。
拡張モジュール51のモジュール制御部510は、接続インタフェース部41と接続して電源が投入されると、図9に示す拡張モジュール制御ルーチン720を実行し、アドレス設定メッセージM1の受信を待っている(ステップ721)。
接続インタフェース部41の制御部413から送信されたアドレス設定メッセージM1を含むパケットは、拡張モジュール51のフロー判定部511で受信される。フロー判定部511は、受信パケットの宛先IPドレスを判定し、拡張モジュール宛の受信パケットとブロードキャストパケットはモジュール制御部510に出力し、それ以外の受信パケットはURL判定部512に出力する。従って、アドレス設定メッセージM1を含む受信パケットは、モジュール制御部510に入力される。
モジュール制御部510は、アドレス設定メッセージM1を受信すると、受信メッセージが示すポート番号“P41”、制御モジュールIPアドレス値“IP31”、モジュールIPアドレス値“IP51”をメモリ516に記憶する(722)。上記メモリ516には、拡張モジュール51が提供するサービス種類に応じて、ネットワークインタフェースモジュールから拡張モジュール51へのパケット転送を制御するためのフロー制御パラメータとして、フロー定義と、サービスIDと、動作モードを指定するためのロードバランスフラグおよび冗長フラグと、処理能力を示す値(Mbps)が予め記憶されている。
モジュール制御部510は、上記アドレス設定メッセージM1で受信したアドレス値の記憶(722)が完了すると、メモリ516からフロー制御パラメータを読み出し、これを初期設定パラメータ値として表示部513に表示し(723)、オペレータからの応答を待つ。オペレータは、表示されたパラメータ値を確認し、訂正すべきパラメータがあれば、入力部514によってパラメータの一部を訂正し、表示されたパラメータ値に問題がなければ、パラメータ設定の実行を指示する(724)。但し、ステップ723、724は、本発明にとって本質的な要件ではない。
モジュール制御部510は、パラメータ値に訂正があった場合は、訂正された値をメモリ516に記憶(725)した後、これらのフロー制御パラメータと、メモリ516から読み出したモジュール内部アドレス“P41”を適用して、図10に示す制御データ登録要求メッセージM2を生成し、これにIP/TCPヘッダを付加して、接続インタフェース部41に送信する(726)。IPヘッダには、宛先アドレスとして制御モジュールIPアドレス“IP31”、送信元アドレスとしてモジュールIPアドレス“IP51”が適用される。モジュール制御部510は、上記制御データ登録要求メッセージM2の送信を終えると、Webキャッシュ制御730の実行モードに移行し、Web応答パケットが受信されるのを待つ(731)。
制御データ登録要求メッセージM2は、図10に示すように、制御データ登録要求であることを示すメッセージ種別600に続いて、フロー定義611、サービスID612、ロードバランスフラグ613、冗長フラグ614、モジュール内部内部アドレス615、モジュール処理能力616を含む。ここで、フロー定義「TCP/D−PORT:80」は、TCPヘッダH2の宛先ポート番号が「80」のWeb要求パケットを意味しており、サービスID「1」は、拡張モジュール51で提供するサービスが、Webキャッシュサービスであることを意味している。また、ロードバランスフラグ「0」、冗長フラグ「0」は、拡張モジュール51が、フロー定義に該当する受信パケットの全てを受付け、単独でWebサービス処理を実行する動作モードを意味している。
上記制御データ登録要求メッセージM2を含むIPパケットは、信号線L510、コネクタ517、417を介して、接続インタフェース部41の内部ヘッダ付加部414に入力される。内部ヘッダ付加部414は、上記IPパケットを受信すると、宛先テーブル418から、受信パケットの宛先アドレス“IP31”と対応する内部アドレス“P31”を検索し、内部アドレス“P31”を含む内部ヘッダH0を付加して、受信パケットをスイッチ送信インタフェース412に出力する。従って、このパケットは、スイッチング部300によって制御モジュール31に転送され、内部ヘッダ削除部313で内部ヘッダH0を除去した後、モジュール制御部310に入力される。
モジュール制御部310は、上記制御データ登録要求メッセージM2を含むIPパケットを受信すると、図5に示すフローチャートのステップ704で、受信メッセージのメッセージ種別600から、転送制御データの受信と判断する。この場合、モジュール制御部310は、転送制御テーブル317を参照して、受信メッセージM2が示すサービスID612と同一のサービスID3172をもつエントリが既に登録済みか否かをチェックする(705)。この例では、拡張モジュール51がサービスID「1」のWebサービスを実行する最初のモジュールとなっているため、モジュール制御部310は、図11に示すように、転送制御テーブル317に、上記制御データ登録要求メッセージM2に基づく新たなエントリEN−1を追加し(714)、ステップ702に戻って、次のデータが受信されるのを待つ。尚、ステップ704で、受信データが転送制御データ以外のデータの場合は、受信データ種別に応じた他の処理が実行される(713)。
転送制御テーブル317へのエントリEN−1の追加は、信号線L2を介して、ネットワークインタフェースモジュール32〜3nに反映され、エントリEN−1が各ネットワークインタフェースモジュールに個別の転送制御テーブル327にも登録される。従って、クライアント端末10がサーバ20宛にWeb要求パケットを送信すると、このWeb要求パケットは、ネットワークインタフェースモジュール32によって、エントリEN−1の転送先モジュール内部アドレス3175が示す内部アドレス「P41」を含む内部ヘッダH0が付加した形で、スイッチング部300に入力され、スイッチング部300によって拡張モジュール51に転送されることになる。
次に、オペレータが、接続インタフェース部42に、第1の拡張モジュールと同一のサービス機能をもつ第2の拡張モジュール52を接続した場合のパケット通信ノード装置30の動作について説明する。第2の拡張モジュール52の構成要素は、第1の拡張モジュール51と同様のため、以下の説明では、図4に示した符号と図9のフローチャートを引用する。
第2の拡張モジュール52のプラグインは、例えば、第1の拡張モジュール51の処理能力が不足する場合に行われる。第2の拡張モジュール52は、第1の拡張モジュール51と負荷分散(ロードバランス)した形で運用される場合もあれば、第1の拡張モジュール51に置き換わる(リプレース)場合もある。ここでは、第2の拡張モジュール52が、第1の拡張モジュール51とロードバランスして運用される場合について説明する。
拡張モジュール接続インタフェース部42の制御部413も、第2の拡張モジュール52が接続されるのを待っている。接続インタフェース部42に第2の拡張モジュール52が接続(プラグイン)されると、接続インタフェース部41で説明したように、モジュール接続センサ416が、拡張モジュール52の接続を検出し、制御部413が、メモリ415に記憶されているポート番号“P42”、制御モジュールIPアドレス値“IP31”、モジュールIPアドレス値“IP52”を適用して、メッセージM0と同様のフォーマットのアドレス設定メッセージM1を生成し、ブロードキャストアドレスをもつIPパケットとして、拡張モジュール52に送信する。
拡張モジュール52のモジュール制御部510は、上記アドレス設定メッセージM1を受信すると、受信メッセージが示すポート番号“P42”、制御モジュールIPアドレス値“IP31”、モジュールIPアドレス値“IP52”をメモリ516に記憶する(図9のステップ722)。ここでは、拡張モジュール52のメモリ516には、フロー制御パラメータとして、拡張モジュール51と同じフロー定義およびサービスIDと、ロードバランスフラグ「1」、冗長フラグ「0」、処理能力「100」Mbpsが予め設定されているものとする。モジュール制御部510は、図9のステップ726において、これらのフロー制御パラメータと、メモリ516から読み出したモジュール内部アドレス“P42”を適用して、図12に示す制御データ登録要求メッセージM2を生成し、宛先アドレスに制御モジュールIPアドレス“IP31”、送信元アドレスにモジュールIPアドレス“IP52”を適用したIPパケットを接続インタフェース部42に送信する。
上記制御データ登録要求メッセージM2を含むIPパケットは、接続インタフェース部42において、内部アドレス“P31”を含む内部ヘッダH0が付加され、スイッチング部300によって制御モジュール31に転送され、内部ヘッダ削除部313で内部ヘッダH0を除去した後、モジュール制御部310に入力される。
モジュール制御部310は、上記制御データ登録要求メッセージM2を含むIPパケットを受信すると、図5に示すフローチャートのステップ704で、受信メッセージのメッセージ種別600から、転送制御データの受信と判断し、転送制御テーブル317を参照する(705)。今回は、転送制御テーブル317に、受信メッセージM2のサービスID612と同一のサービスID3172をもつエントリEN−1が既に登録済みとなっているため、モジュール制御部310は、受信メッセージM2のロードバランスフラグ613をチェックする(706)。
受信メッセージM2では、ロードバランスフラグが「1」となっているため、モジュール制御部310は、図13に示す如く、既存エントリEN−1のリンクフラグ3177に「1」を設定し、エントリEN−1のロードバランスフラグ3173を「1」に書き換えた後、転送制御テーブル317に、上記受信メッセージM2に基づく新たなエントリEN−2を追加する(715)。リンクフラグ3177を「1」に設定しておくことによって、転送制御テーブル317、327からエントリEN−1が検索された時、該エントリEN−1にリンクして、同一サービスIDをもつ関連エントリが存在することが判る。
ここで、もし、受信メッセージM2でロードバランスフラグが「0」となっていた場合は、モジュール制御部310は、受信メッセージの冗長フラグ614をチェックし(707)、冗長フラグ614が「1」であれば、既存エントリEN−1のリンクフラグ3177に「1」を設定した後、転送制御テーブル317に、上記受信メッセージM2に基づく新たなエントリEN−2を追加する(716)。この場合、第2の拡張モジュール52は、現在稼動中の第1の拡張モジュール51に対する待機系モジュールとして扱われる。
受信メッセージM2の冗長フラグ614が「0」の場合は、動作モードが全く一致する2つの拡張モジュールが存在することになる。通常、このようなケースは、既存の拡張モジュール41を後から追加した高性能モジュール51に置き換える際に発生するが、場合によっては、オペレータのミスで第2の拡張モジュールが不用意に接続された可能性もある。そこで、本実施例では、モジュール制御部310が、表示部316にモジュール交替要否の確認メッセージを表示し(708)、オペレータがモジュール交替(リプレース)を指示した時(709)、既存エントリEN−1の内容を受信メッセージM2の内容、すなわち、エントリEN−2に書き換える(717)。
尚、オペレータ操作を省略するために、制御データ登録要求メッセージM2にリプレース指示フラグを追加しておき、リプレース指示フラグが「1」であれば、自動的にステップ717を実行し、そうでなければ表示部316にエラーメッセージを出力するようにしてもよい。また、第1の拡張モジュールが第2の拡張モジュールに置き換えられた場合、第1の拡張モジュールを一旦、接続インタフェース部41から外し、メモリ516の冗長フラグを「1」に設定してから、接続インタフェース部41に再接続することによって、冗長モジュールとして運用することができる。
次に、図9と、図14〜図16を参照して、拡張モジュール51、52によるサービス実行時のノード装置動作について説明する。図14は、拡張モジュール51、52のURL判定部512が実行するURL処理ルーチン740の1実施例を示すフローチャート、図15は、ネットワークインタフェースモジュール32〜3nのフロー制御部326が実行するフロー制御ルーチン760の1実施例を示すフローチャート、図16は、ネットワークインタフェースモジュール32〜3nのロードバランス制御部329が実行するロードバランス制御ルーチン770の1実施例を示すフローチャートを示している。
ここでは、ネットワークNW1に接続されたクライント装置10が、Webコンテンツ要求メッセージを含むWebサーバ20宛のIPパケットを送信した場合を想定する。
上記Webコンテンツ要求パケットは、ネットワークインタフェースモジュール32の入力回線インタフェース324で受信され、フロー制御部326に入力される。
フロー制御部326は、図15に示すように、入力回線インタフェース324からのパケットの受信を待っており(761)、パケットを受信すると、受信パケットのヘッダ情報をロードバランス制御部329に通知し(762)、ロードバランス制御部329からの応答を待つ。
ロードバランス制御部329は、図16に示すように、フロー制御部326からのヘッダ情報の受信を待っており(771)、ヘッダ情報を受信すると、受信ヘッダ情報からフロー定義の検索キーとなるTCPヘッダの宛先ポート番号(D−PORT)の値を抽出し、転送制御テーブル327から検索キーに該当するエントリを検索する(772)。検索の結果(773)、検索キーに該当するエントリが見つからなければ、フロー制御部326に該当エントリなしの通知を返送する(780)。
検索キーに該当するエントリ(今回の例では、エントリEN−1)が見つかった場合は、検索エントリのロードバランスフラグ3173をチェックする(774)。ロードバランスフラグが「1」となっていた場合、ロードバランス制御部329は、検索エントリ(EN−1)が示す第1の拡張モジュールの処理能力と、該エントリにリンクしたエントリ(EN−2)が示す第2の拡張モジュールの処理能力に比例して処理負荷が分配されるように、負荷(受信パケット)を割当てるべきモジュールを決定し(781)、負荷割当てモジュールの内部アドレス3175をフロー制御部326に返送する(782)。
もし、ロードバランスフラグが「0」となっていた場合は、検索エントリの冗長フラグ3174をチェックする(775)。冗長フラグが「0」となっていた場合は、検索エントリが示す転送先モジュールの内部アドレス3175をフロー制御部326に返送する(783)。冗長フラグが「1」となっていた場合は、転送制御テーブル327から検索エントリにリンクしたエントリを検索し(776)、このエントリについてステップ775を繰り返す。検索エントリにリンクして冗長フラグが「0」のエントリが見つからなければ、フロー制御部326に該当エントリなしの通知を返送し(784)、制御モジュール31宛に、転送制御テーブルのデータエラーを示すエラー通知メッセージを送信する(785)。
転送制御テーブル327が図13の状態にある時、ロードバランス制御部329は、Webコンテンツ要求パケットの受信の都度、エントリEN−1とEN−2のパケット転送頻度を計算し、内部アドレス「P41]と「P42」の通知頻度が1対2の比率となるように、フロー制御部326に転送先モジュール内部アドレスを返送することになる。
図15に戻って、フロー制御部326は、ロードバランス制御部329からの応答を判定し(763)、転送先モジュール内部アドレスを受信した場合は、ロードバランス制御部が指定した内部アドレスを含む内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース322に送出する(764)。ロードバランス制御部329から転送先モジュール内部アドレスを取得できなかった場合、フロー制御部326は、受信パケットの宛先IPアドレスに従って、宛先テーブル328から受信パケットの宛先となる内部アドレスを検索する(765)。宛先内部アドレスが見つかった場合は、この内部アドレスを含む内部ヘッダを付加して、受信パケットをスイッチ送信インタフェース322に送出する(767)。宛先テーブル328から宛先内部アドレスが見つからなかった場合は、受信パケットを廃棄する(768)。
上述したフロー制御から明らかなように、ネットワークインタフェースモジュール32〜3nは、ヘッダ情報が転送制御テーブル327のフロー定義に該当する受信パケットは、テーブルエントリが示す動作モード情報に応じて、転送先モジュール内部アドレスが示すモジュール宛に選択的に転送し、ヘッダ情報がフロー定義に該当しない受信パケットは、宛先テーブルに従って制御モジュール31宛、または他のネットワークインタフェースモジュール宛に転送する。
内部アドレス「P41」を含む内部ヘッダを付加されたWebコンテンツ要求パケットは、スイッチング部300によって、拡張モジュール接続インタフェース部41に転送され、制御部413で内部ヘッダを除去した後、拡張モジュール51に出力される。
拡張モジュール51では、上記Webコンテンツ要求パケットがフロー判定部511に入力される。フロー判定部511は、受信パケットの宛先IPアドレスが、モジュール制御部510へのパケット転送条件に合致しないWebサーバ20のIPアドレス「IP20」となっているため、受信パケットをURL判定部512に転送する。
URL判定部512は、図14に示すように、パケットが受信されるのを待っており(741)、パケットを受信すると、受信パケットがWebコンテンツ要求パケットか否かを判定する(742)。受信パケットがWebコンテンツ要求パケットの場合、要求されたコンテンツがキャッシュメモリ515にキャッシュデータとして存在するか否かをチェックする(743)。
要求されたコンテンツがキャッシュデータとして蓄積されていた場合、URL判定部512は、キャッシュメモリから要求コンテンツを読み出し、該コンテンツを含む要求元クライアント装置宛のWeb応答パケットを生成し、これを拡張モジュール接続インタフェース41に送信する(744)。上記Web応答パケットは、拡張モジュール接続インタフェース41の内部ヘッダ付加部414で、内部アドレス「P32」を含む内部ヘッダを付加した形で、スイッチング部300に出力され、ネットワークインタフェースモジュール32からネットワークNW1に送信される。
要求コンテンツがキャッシュメモリ515にキャッシュデータとして存在していなかった場合、URL判定部512は、Web要求パケットをメモリ516に保存し(746)、IPアドレス「IP51」を送信元アドレスとするWebコンテンツ要求パケットを生成して、これを拡張モジュール接続インタフェース41に送信する(747)。Webコンテンツ要求パケットのTCPヘッダの宛先ポート番号(D−PORT)は「80」、送信元ポート番号(S−PORT)は「81」となっている。上記Webコンテンツ要求パケットは、拡張モジュール接続インタフェース41の内部ヘッダ付加部414で、内部アドレス「P33」を含む内部ヘッダを付加した形で、スイッチング部300に入力され、ネットワークインタフェースモジュール33からネットワークNW2に送信される。
上記Webコンテンツ要求パケットを受信したWebサーバ20は、要求コンテンツを含むWeb応答パケットをネットワークNW2に送信する。Web応答パケットの宛先アドレスは「IP51」、TCPヘッダの宛先ポート番号(D−PORT)は「81」となっている。
上記Web応答パケットは、ネットワークインタフェース部33で受信され、フロー制御部326に入力される。フロー制御部326は、図15に示したフローチャートに従って、受信Web応答パケットのヘッダ情報をロードバランス部329に転送する(ステップ762)。ロードバランス部329は、図16に示したフローチャートに従って、転送制御テーブルを検索(ステップ772)するが、受信したヘッダ情報は「D−PORT:81」となっているため、該当するフロー定義をもったエントリが転送制御テーブルには存在していない。従って、上記Web応答パケットは、ネットワークインタフェース部33でロードバランスされることはない。
フロー制御部326は、ロードバランス部329から、該当エントリなしの通知を受信すると、宛先テーブル328から検索した内部アドレス「P41」を含む内部ヘッダを付加した形で、上記Web応答パケットをスイッチング部300に出力する。上記Web応答パケットは、スイッチング部300によって、拡張モジュール接続インタフェース部41に入力され、拡張モジュール51に転送されて、フロー判定部511に入力される。
フロー判定部511は、受信パケットの宛先アドレスが「IP51]となっているため、これをモジュール制御部510に出力する。モジュール制御部510は、図9に示したように、Web応答パケットの受信を待っており(731)、Web応答パケットを受信すると、受信パケットから抽出したコンテンツデータをキャッシュメモリ515に蓄積(732)した後、受信パケットをURL判定部512に転送する(733)。
URL判定部512は、受信パケットがWeb応答パケットと判明すると(図14のステップ748)、受信したWeb応答パケットと対応するWebコンテンツ要求パケットがメモリ515に保存されているか否かをチェックし(749)、対応するWebコンテンツ要求パケットが存在した場合は、Web応答パケットの宛先IPヘッダを上記Webコンテンツ要求パケットの送信元IPアドレスに書き換えて、拡張モジュール接続インタフェース部41に送信する(750)。メモリ515に上記Web応答パケットと対応するWebコンテンツ要求パケットが存在しなかった場合、または、受信パケットがWebコンテンツ要求、Web応答以外のパケットの場合は、URL判定部512は、受信パケットを廃棄して(751)、次のパケットが受信されるのを待つ(741)。
以上の説明では、ネットワークインタフェースモジュール32が、Webコンテンツ要求パケットを第1の拡張モジュール51に転送した場合の動作について説明したが、ロードバランスの結果、Webコンテンツ要求パケットが第2の拡張モジュール52に転送された場合、拡張モジュール52が、拡張モジュール51と同様に動作すること明らかである。また、図16のフローチャートから、第2の拡張モジュール52が冗長モジュール(冗長フラグ=「1」)として追加された場合、各ネットワークインタフェースモジュールが、フロー定義に該当する受信パケットを現用系(冗長フラグ=「0」)として稼動中の第1の拡張モジュール51に転送することが判る。
尚、第2の拡張モジュール52が冗長モジュールとして追加された場合、例えば、制御モジュール31のモジュール制御部310が、冗長システム制御ルーチン(図示せず)を起動し、現用系の拡張モジュール51に定期的に診断メッセージを送信し、拡張モジュール51からの応答が途絶えた時、拡張モジュール51に障害が発生したものと判断して、転送制御テーブル317のエントリEN−1、EN−2の冗長フラグを書き換えることによって、待機中の拡張モジュール52を瞬時に現用系モジュールとして動作させることが可能となる。
以上の実施例から明らかなように、本発明によれば、拡張モジュールのプラグインによって、新たなサービス機能を迅速に開始可能なパケット通信ノード装置を提供できる。また、稼動中の拡張モジュールと同一サービス機能を備えた新たな拡張モジュールが追加された場合でも、追加モジュールに予め設定した動作モード情報に従って、複数のモジュール間に矛盾を発生させることなく、サービス機能を拡張することが可能となる。
実施例では、各ネットワークインタフェースモジュールに個別に宛先テーブル328と転送制御テーブル327を配置しているが、これらの個別テーブルを省略して、各ネットワークインタフェースモジュールが、信号線L1、L2を介して、制御モジュール31にある宛先テーブル318と転送制御テーブル317を参照する構成としてもよい。
また、実施例では、1例として、拡張モジュール51、52がWebキャッシュサービス機能を備えた場合のパケット通信ノード装置の動作について説明したが、本発明が、Webキャッシュサービス以外の他のサービス機能をもつ拡張モジュールの追加にも適用できることは明らかである。この場合、拡張モジュールに転送すべきパケットを識別するためのフロー定義は、ネットワーク受信パケットのヘッダから抽出可能な複数項目のヘッダ情報の組合せによって表現されてもよい。
更に、実施例では、オペレータからの宛先設定データの入力時に、制御モジュール31が信号線L3にアドレス設定メッセージM0を出力し、拡張モジュール接続インタフェース部41(42)が、内部アドレス601が自ポート番号と一致するアドレス設定メッセージM0の内容をメモリ415に保存しておき、拡張モジュール51(52)が接続された時、メモリ415から読み出した制御モジュールIPアドレスと拡張モジュールIPアドレスを示すアドレス設定メッセージM1を拡張モジュールに送信する構成となっているが、本発明の変形例として、拡張モジュール51(52)が接続された時点で、制御モジュール31が信号線L3にアドレス設定メッセージM0を発行し、拡張モジュール接続インタフェース部41(42)が、受信メッセージM0をアドレス設定メッセージM1として拡張モジュールに送信するようにしてもよい。
この場合、例えば、拡張モジュール51の接続を検知したインタフェース部41が、信号線L3に拡張モジュール接続検知メッセージを出力し、制御モジュール31が、宛先テーブル318から、上記検知メッセージの送信元内部アドレス「P41」と対応した宛先IPアドレス「IP51」を読出し、該宛先IPアドレスと制御モジュールIPアドレスを含むアドレス設定メッセージM0を信号線L3に発行するようにすればよい。
本発明のパケット通信ノード装置の1実施例を示すブロック構成図。 図1の制御モジュール31の詳細を示すブロック図。 図1のネットワークインタフェースモジュール32の詳細を示すブロック図。 図1の拡張モジュール51と拡張モジュール接続インタフェース部41の詳細を示すブロック図。 制御モジュール31のモジュール制御部310が実行するテーブル更新処理ルーチン700の1実施例を示すフローチャート。 制御モジュール31が備える宛先テーブル318を示す図。 ネットワークインタフェースモジュール32〜3nがネットワークとの間で送受信するIPパケットと、スイッチング部300が扱う内部パケットの構成を示す図。 アドレス設定メッセージM0、M1のフォーマットを示す図。 拡張モジュール51のモジュール制御部510が実行する拡張モジュール制御ルーチン720の1実施例を示すフローチャート。 第1の拡張モジュール51が送信する制御データ登録要求メッセージM2の1例を示す図。 図10のメッセージM2を受信した時点での転送制御テーブル317、327の状態を示す図。 第2の拡張モジュール52が送信する制御データ登録要求メッセージM2の1例を示す図。 図11のメッセージM2を受信した時点での転送制御テーブル317、327の状態を示す図。 拡張モジュール51、52のURL判定部512が実行するURL処理ルーチン740の1実施例を示すフローチャート。 ネットワークインタフェースモジュール32〜3nのフロー制御部326が実行するフロー制御ルーチン760の1実施例を示すフローチャート。 ネットワークインタフェースモジュール32〜3nのロードバランス制御部329が実行するロードバランス制御ルーチン770の1実施例を示すフローチャート。
符号の説明
10:クライアント装置、20:サーバ、30:パケット通信ノード装置、
31:制御モジュール、32〜3n:ネットワークインタフェースモジュール、
41、42:拡張モジュール接続インタフェース部、51、52:拡張モジュール、
300:スイッチング部、310:モジュール制御部、
311、321、411:スイッチ受信インタフェース、
312、322、412:スイッチ送信インタフェース、
313、325:内部ヘッダ除去部、314、414:内部ヘッダ付加部、
315、514:入力部、316、513:表示部、
317、327:転送制御テーブル、318、328、418:宛先テーブル、
323:出力回線インタフェース、324:入力回線インタフェース、
326:フロー制御部、329:ロードバランス制御部、413:制御部、
415、516:メモリ、416:モジュール接続センサ、417、517:コネクタ、510:モジュール制御部、511:フロー判定部、512:URL判定部、
515:キャッシュメモリ。

Claims (10)

  1. 制御モジュールと、それぞれネットワークとの間でパケットを送受信する複数のネットワークインタフェースモジュールと、拡張モジュールを追加的に接続可能な複数の拡張モジュール接続インタフェース部と、上記モジュールおよびインタフェース部を相互接続し、各モジュールからの受信パケットを該受信パケットに付加された内部ヘッダが示す内部アドレスで特定される他の何れかのモジュールまたはインタフェース部に転送するパケットスイッチング部とからなるモジュール型パケット通信ノード装置であって、
    上記各拡張モジュール接続インタフェース部が、
    拡張モジュールが接続された時、上記制御モジュールのパケットアドレスと、拡張モジュールに割り当てるべきパケットアドレスおよび内部アドレスとを示すアドレス設定メッセージを上記拡張モジュールに送信する制御部と、
    上記拡張モジュールから、該拡張モジュールで処理すべきパケットを識別するためのフロー定義情報と該拡張モジュールの内部アドレスとの対応関係を示し、上記制御モジュール宛のパケットアドレスをもつ制御データ登録要求パケットを受信した時、上記制御モジュール用の内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力する内部アドレス付加部とからなり、
    上記制御モジュールが、上記パケットスイッチング部から上記制御データ登録要求パケットを受信した時、上記各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスとの対応関係を示すテーブルエントリを登録し、
    上記各ネットワークインタフェースモジュールが、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当したヘッダ情報をもつパケットを受信した時、上記パケット転送制御テーブルが示す上記フロー定義情報と対応した内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力することを特徴とするパケット通信ノード装置。
  2. 前記各拡張モジュール接続インタフェース部の制御部が、該拡張モジュール接続インタフェース部の内部アドレスの値と、前記制御モジュールから予め通知された該制御モジュールおよび拡張モジュールのパケットアドレス値とを記憶するためのメモリを有し、拡張モジュールが接続された時、上記メモリから読み出したアドレス値を適用して前記アドレス設定メッセージを生成し、上記拡張モジュールに送信することを特徴とする請求項1に記載のモジュール型パケット通信ノード装置。
  3. 前記各拡張モジュール接続インタフェース部の制御部が、拡張モジュール接続インタフェース部に拡張モジュールが接続されたこと前記制御モジュールに通知し、前記制御モジュールから受信した前記パケットアドレスおよび内部アドレスを示すアドレス設定メッセージを上記拡張モジュールに転送することを特徴とする請求項1に記載のモジュール型パケット通信ノード装置。
  4. 前記各ネットワークインタフェースモジュールが、ネットワークからパケットが受信された時、前記パケット転送制御テーブルを参照し、受信パケットのヘッダ情報が前記フロー定義情報に該当しないと判明した場合に、パケット宛先アドレスと内部アドレスとの対応関係を記憶した宛先テーブルから受信パケットに適用すべき内部アドレスを検索し、該内部アドレスを含む内部ヘッダを付加した形で、受信パケットを前記スイッチング部に出力するフロー制御部を有することを特徴とする請求項1〜請求項3の何れかに記載のモジュール型パケット通信ノード装置。
  5. 前記拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールの動作モードを示す情報を含み、
    前記制御モジュールが、前記パケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスと動作モードとの関係を示すテーブルエントリを登録し、
    前記各ネットワークインタフェースモジュールのフロー制御部が、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、上記フロー定義情報を含むテーブルエントリが示す動作モードに従って、該テーブルエントリが示す拡張モジュール内部アドレスの有効性を判断するための手段を備えたことを特徴とする請求項4に記載のモジュール型パケット通信ノード装置。
  6. 前記拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールが提供する通信サービスの識別子と、同一サービスを提供する他の拡張モジュールとの負荷分散の実行要否を示すロードバランスフラグを含み、
    前記各ネットワークインタフェースモジュールが、ネットワークから前記パケット転送制御テーブルが示す何れかのフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、該フロー定義情報を含む第1のテーブルエントリのロードバランスフラグをチェックし、ロードバランスフラグが負荷分散の実行を指示していた場合に、所定のアルゴリズムに従って、上記第1のテーブルエントリが示す拡張モジュール内部アドレスと、前記パケット転送制御テーブル内で上記第1のテーブルエントリと同一のサービス識別子をもつ第2のテーブルエントリが示す拡張モジュール内部アドレスとの一方を選択するロードバランス部を備えたことを特徴とする請求項5に記載のモジュール型パケット通信ノード装置。
  7. 前記拡張モジュールから受信する制御データ登録要求パケットが、該拡張モジュールによる通信サービスの処理能力を示す情報を含み、
    前記ロードバランス部が、前記第1、第2のテーブルエントリが示す処理能力の比率に従って、上記第1、第2のテーブルエントリが示す拡張モジュール内部アドレスの選択頻度を決定することを特徴とする請求項6に記載のモジュール型パケット通信ノード装置。
  8. 制御モジュールと、それぞれネットワークとの間でパケットを送受信する複数のネットワークインタフェースモジュールと、拡張モジュールを追加的に接続可能な複数の拡張モジュール接続インタフェース部と、これらのモジュールおよびインタフェース部を相互接続し、各モジュールからの受信パケットを該受信パケットに付加された内部ヘッダが示す内部アドレスで特定される他の何れかのモジュールまたはインタフェース部に転送するパケットスイッチング部とからなり、上記複数の拡張モジュール接続インタフェース部のうちの少なくとも1つに拡張モジュールが接続されたモジュール型パケット通信ノード装置であって、
    上記拡張モジュールが、
    該拡張モジュールで処理すべき受信パケットを識別するためのフロー定義情報と、該拡張モジュールで提供するサービス処理の種類を示すサービス識別子とが予め格納されたメモリと、
    初期動作として転送制御データ登録要求パケットの発行機能を有し、定常動作として、上記フロー定義情報に該当するパケットの受信に応答してサービス処理を実行するモジュール制御部とからなり、
    上記各拡張モジュール接続インタフェース部が、
    拡張モジュールが接続された時、上記制御モジュールのパケットアドレスと、拡張モジュールに割り当てるべきパケットアドレスおよび内部アドレスとを示すアドレス設定メッセージを上記拡張モジュールに送信する制御部と、
    上記拡張モジュールから、フロー定義情報と、サービス識別子と、該拡張モジュールの内部アドレスとの対応関係を示し、上記制御モジュール宛のパケットアドレスをもつ制御データ登録要求パケットを受信した時、上記制御モジュール用の内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力する内部アドレス付加部とからなり、
    上記制御モジュールが、上記パケットスイッチング部から上記制御データ登録要求パケットを受信した時、上記各ネットワークインタフェースモジュールが参照するパケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報とサービス識別子と拡張モジュール内部アドレスとの対応関係を示すテーブルエントリを登録し、
    上記各ネットワークインタフェースモジュールが、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットを受信した時、上記パケット転送制御テーブルが示す上記フロー定義情報と対応する内部アドレスを含む内部ヘッダを付加した形で、受信パケットを上記パケットスイッチング部に出力することを特徴とするモジュール型パケット通信ノード装置。
  9. 前記各ネットワークインタフェースモジュールが、ネットワークからパケットが受信された時、前記パケット転送制御テーブルを参照し、受信パケットのヘッダ情報が前記フロー定義情報に該当しないと判明した場合に、パケット宛先アドレスと内部アドレスとの対応関係を記憶した宛先テーブルから受信パケットに適用すべき内部アドレスを検索し、該内部アドレスを含む内部ヘッダを付加した形で、受信パケットを前記スイッチング部に出力するフロー制御部を有することを特徴とする請求項8に記載のモジュール型パケット通信ノード装置。
  10. 前記拡張モジュールの前記メモリに予め該拡張モジュールの動作モードを示すフラグ情報が格納してあり、前記モジュール制御部が、前記拡張モジュール接続インタフェース部から前記アドレス設定メッセージを受信した後、上記メモリから読み出されたフロー定義情報、サービス識別子、動作モード情報と、上記アドレス設定メッセージで指定された該拡張モジュールの内部アドレスとの対応関係を示す上記制御モジュール宛の制御データ登録要求パケットを発行し、
    前記制御モジュールが、前記パケット転送制御テーブルに、上記制御データ登録要求パケットが示すフロー定義情報と拡張モジュール内部アドレスと動作モードの関係を示すテーブルエントリを登録し、
    前記各ネットワークインタフェースモジュールのフロー制御部が、ネットワークから上記パケット転送制御テーブルが示すフロー定義情報に該当するヘッダ情報をもつパケットが受信された時、上記フロー定義情報を含むテーブルエントリが示す動作モードに従って、該テーブルエントリが示す拡張モジュール内部アドレスの有効性を判断するための手段を備えたことを特徴とする請求項9に記載のモジュール型パケット通信ノード装置。
JP2004195467A 2004-07-01 2004-07-01 モジュール型パケット通信ノード装置 Expired - Fee Related JP4332079B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004195467A JP4332079B2 (ja) 2004-07-01 2004-07-01 モジュール型パケット通信ノード装置
US11/167,312 US7443868B2 (en) 2004-07-01 2005-06-28 Modular type node apparatus for packet communication
CNB2005100818143A CN100574268C (zh) 2004-07-01 2005-06-30 模块型分组通信节点设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004195467A JP4332079B2 (ja) 2004-07-01 2004-07-01 モジュール型パケット通信ノード装置

Publications (2)

Publication Number Publication Date
JP2006020034A JP2006020034A (ja) 2006-01-19
JP4332079B2 true JP4332079B2 (ja) 2009-09-16

Family

ID=35513782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004195467A Expired - Fee Related JP4332079B2 (ja) 2004-07-01 2004-07-01 モジュール型パケット通信ノード装置

Country Status (3)

Country Link
US (1) US7443868B2 (ja)
JP (1) JP4332079B2 (ja)
CN (1) CN100574268C (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4704729B2 (ja) * 2004-10-20 2011-06-22 株式会社日立製作所 パケットデータ処理ノード装置
JP4585944B2 (ja) * 2005-08-31 2010-11-24 株式会社日立製作所 パケット通信装置
JP4759389B2 (ja) * 2006-01-10 2011-08-31 アラクサラネットワークス株式会社 パケット通信装置
JP4609331B2 (ja) * 2006-01-27 2011-01-12 株式会社日立製作所 複合型情報プラットフォーム装置およびその通信帯域保証方法
JP4758302B2 (ja) * 2006-08-30 2011-08-24 アラクサラネットワークス株式会社 ネットワークノード
JP2008301060A (ja) * 2007-05-30 2008-12-11 Alaxala Networks Corp ネットワーク通信装置
JP5074217B2 (ja) * 2008-01-25 2012-11-14 株式会社日立製作所 通信制御装置
CN101527686B (zh) * 2009-04-07 2011-08-24 华为技术有限公司 一种数据交换方法和设备
JP5753372B2 (ja) * 2009-12-22 2015-07-22 キヤノン株式会社 データ処理装置およびその制御方法
KR20120002424A (ko) * 2010-06-30 2012-01-05 한국전자통신연구원 통신 노드 및 통신 방법
KR101574167B1 (ko) 2011-01-13 2015-12-03 닛본 덴끼 가부시끼가이샤 네트워크 시스템 및 경로 제어 방법
US8787283B2 (en) 2011-11-21 2014-07-22 Maxlinear, Inc. Method and system for providing reduced bandwidth acquisition latency
TWI461907B (zh) * 2012-10-11 2014-11-21 Mstar Semiconductor Inc 配合多個應用程式之整合系統和測試系統
JPWO2014192160A1 (ja) * 2013-05-31 2017-02-23 株式会社東芝 機能制御装置、及び機能追加装置
US8976666B2 (en) * 2013-07-25 2015-03-10 Iboss, Inc. Load balancing network adapter
CN106912153A (zh) * 2017-05-02 2017-06-30 陈法明 一种光明灯控制系统及其方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634043A (en) * 1994-08-25 1997-05-27 Intel Corporation Microprocessor point-to-point communication
US6175867B1 (en) * 1998-03-23 2001-01-16 Mci World Com, Inc. System and method for managing networks addressed via common network addresses
JP2000132487A (ja) 1998-10-28 2000-05-12 Fujitsu Ltd 情報処理システム、情報処理装置及び情報処理方法並びに記録媒体
JP3093740B2 (ja) * 1998-12-09 2000-10-03 日本電気株式会社 Cdma移動通信システムにおける無線チャネル多重通信方式
JP4023281B2 (ja) 2002-10-11 2007-12-19 株式会社日立製作所 パケット通信装置及びパケットスイッチ
JP4431315B2 (ja) 2003-01-14 2010-03-10 株式会社日立製作所 パケット通信方法およびパケット通信装置
US7380011B2 (en) * 2003-10-01 2008-05-27 Santera Systems, Inc. Methods and systems for per-session network address translation (NAT) learning and firewall filtering in media gateway
US7411945B2 (en) * 2004-02-02 2008-08-12 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive router architecture enabling efficient internal communication

Also Published As

Publication number Publication date
US20060002298A1 (en) 2006-01-05
JP2006020034A (ja) 2006-01-19
CN1716915A (zh) 2006-01-04
CN100574268C (zh) 2009-12-23
US7443868B2 (en) 2008-10-28

Similar Documents

Publication Publication Date Title
US7443868B2 (en) Modular type node apparatus for packet communication
JP3286584B2 (ja) 多重化ルータ装置
US6496510B1 (en) Scalable cluster-type router device and configuring method thereof
US9923812B2 (en) Triple-tier anycast addressing
US6577634B1 (en) Method for sharing network information and a router apparatus
JP4058014B2 (ja) パケット転送装置
JP3956685B2 (ja) ネットワーク間接続方法、仮想ネットワーク間接続装置およびその装置を用いたネットワーク間接続システム
JP4365672B2 (ja) パケット通信ノード装置
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
JP2005303501A6 (ja) パケット転送装置
US7110367B2 (en) Dynamic routing control system and method for radio access network
US7532620B2 (en) Routing table synchronization method, network apparatus, and routing table synchronization program
US7324439B2 (en) Application-transparent IP redundancy
JP2002057682A (ja) ネットワークインタフェース切替え方法及びネットワークに接続可能なコンピュータ
JP2000307657A (ja) ホスト・クラスタのためのネットワーク・ディスパッチャを利用するデータ伝送システムにおけるルータ監視システム
JP2008228150A (ja) スイッチ装置及びフレーム交換方法とそのプログラム
EP0969630B1 (en) Method for sharing network information and router apparatus
US7633885B2 (en) Route computing system
JP2001117899A (ja) マルチサーバシステム
KR20040062343A (ko) 분산형 라우터 및 그 분산형 라우터의 에이알피 패킷 처리방법
JP3895749B2 (ja) ネットワーク間接続方法、仮想ネットワーク間接続装置およびその装置を用いたネットワーク間接続システム
JP2003158541A (ja) ルーティング制御装置、及び、ルーティング制御方法
JP3085238B2 (ja) 通信システム
CN115442456B (zh) 一种基于工业协议的双主冗余备份方法及系统
CN116938936A (zh) 负载均衡集群中的数据包处理方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070307

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090616

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090619

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees